From 182adecb983aeb632315871e0f5d47472d1e19db Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Thu, 17 Mar 2016 17:58:24 +0100 Subject: debug: log list of subscribers upon lookup --- openbsc/src/libmsc/iu_cs.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'openbsc') diff --git a/openbsc/src/libmsc/iu_cs.c b/openbsc/src/libmsc/iu_cs.c index 4ff7416f9..bc37d2c92 100644 --- a/openbsc/src/libmsc/iu_cs.c +++ b/openbsc/src/libmsc/iu_cs.c @@ -36,6 +36,40 @@ static int same_ue_conn(struct ue_conn_ctx *a, struct ue_conn_ctx *b) && (a->conn_id == b->conn_id); } +static inline void log_subscribers(struct gsm_network *network) +{ + if (!log_check_level(DIUCS, LOGL_DEBUG)) + return; + + struct gsm_subscriber_connection *conn; + int i = 0; + llist_for_each_entry(conn, &network->subscr_conns, entry) { + DEBUGP(DIUCS, "%3d: %s", i++, subscr_name(conn->subscr)); + switch (conn->via_iface) { + case IFACE_IU: + DEBUGPC(DIUCS, " Iu"); + if (conn->iu.ue_ctx) { + DEBUGPC(DIUCS, " link %p, conn_id %d", + conn->iu.ue_ctx->link, + conn->iu.ue_ctx->conn_id + ); + } + break; + case IFACE_A: + DEBUGPC(DIUCS, " A"); + break; + case IFACE_UNKNOWN: + DEBUGPC(DIUCS, " ?"); + break; + default: + DEBUGPC(DIUCS, " invalid"); + break; + } + DEBUGPC(DIUCS, "\n"); + } + DEBUGP(DIUCS, "subscribers registered: %d\n", i); +} + /* Return an existing IuCS subscriber connection record for the given link and * connection IDs, or return NULL if not found. */ static struct gsm_subscriber_connection *subscr_conn_lookup_iu(struct gsm_network *network, @@ -43,6 +77,8 @@ static struct gsm_subscriber_connection *subscr_conn_lookup_iu(struct gsm_networ { struct gsm_subscriber_connection *conn; + log_subscribers(network); + llist_for_each_entry(conn, &network->subscr_conns, entry) { if (conn->via_iface != IFACE_IU) continue; -- cgit v1.2.3