[PATCH] openbsc[master]: logging: use central filter and ctx consts from libosmocore

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Sat Feb 18 21:33:27 UTC 2017


Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/1845

to look at the new patch set (#2).

logging: use central filter and ctx consts from libosmocore

The LCHAN and BTS filter contexts are actually never used, so drop them until
someone adds them properly.

For now use only LOGGING_{FILTER,CTX}_BSC_SUBSCR. Some of these will change to
_VLR_SUBSCR once struct vlr_subscr is introduced.

Depends: libosmocore change-id I5c343630020f4b108099696fd96c2111614c8067
Change-Id: Ifa82f6a461ad4c0eeddb8a38fb3833460432d16b
---
M openbsc/include/openbsc/debug.h
M openbsc/src/libbsc/abis_rsl.c
M openbsc/src/libbsc/e1_config.c
M openbsc/src/libbsc/paging.c
M openbsc/src/libcommon/debug.c
M openbsc/src/libmsc/gsm_04_08.c
M openbsc/src/libmsc/smpp_openbsc.c
7 files changed, 32 insertions(+), 55 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/45/1845/2

diff --git a/openbsc/include/openbsc/debug.h b/openbsc/include/openbsc/debug.h
index ca3d4ad..ca00fe9 100644
--- a/openbsc/include/openbsc/debug.h
+++ b/openbsc/include/openbsc/debug.h
@@ -41,21 +41,6 @@
 	Debug_LastEntry,
 };
 
-/* context */
-#define BSC_CTX_LCHAN	0
-#define BSC_CTX_SUBSCR	1
-#define BSC_CTX_BTS	2
-#define BSC_CTX_SCCP	3
-
-/* target */
-
-enum {
-	//DEBUG_FILTER_ALL = 1 << 0,
-	LOG_FILTER_IMSI = 1 << 1,
-	LOG_FILTER_NSVC = 1 << 2,
-	LOG_FILTER_BVC  = 1 << 3,
-};
-
 /* we don't need a header dependency for this... */
 struct gprs_nsvc;
 struct bssgp_bvc_ctx;
diff --git a/openbsc/src/libbsc/abis_rsl.c b/openbsc/src/libbsc/abis_rsl.c
index 541a86d..30781d0 100644
--- a/openbsc/src/libbsc/abis_rsl.c
+++ b/openbsc/src/libbsc/abis_rsl.c
@@ -158,9 +158,8 @@
 		LOGP(DRSL, LOGL_ERROR, "%s %smismatching chan_nr=0x%02x\n",
 		     gsm_ts_and_pchan_name(lchan->ts), log_name, chan_nr);
 
-	log_set_context(BSC_CTX_LCHAN, lchan);
 	if (lchan->conn)
-		log_set_context(BSC_CTX_SUBSCR, lchan->conn->subscr);
+		log_set_context(LOGGING_CTX_BSC_SUBSCR, lchan->conn->subscr);
 
 	return lchan;
 }
diff --git a/openbsc/src/libbsc/e1_config.c b/openbsc/src/libbsc/e1_config.c
index f1962c7..8910d21 100644
--- a/openbsc/src/libbsc/e1_config.c
+++ b/openbsc/src/libbsc/e1_config.c
@@ -134,7 +134,6 @@
 	struct e1inp_sign_link *link = msg->dst;
 	struct gsm_bts *bts;
 
-	log_set_context(BSC_CTX_BTS, link->trx->bts);
 	switch (link->type) {
 	case E1INP_SIGN_OML:
 		bts = link->trx->bts;
diff --git a/openbsc/src/libbsc/paging.c b/openbsc/src/libbsc/paging.c
index 8c30637..1c0c9c8 100644
--- a/openbsc/src/libbsc/paging.c
+++ b/openbsc/src/libbsc/paging.c
@@ -77,7 +77,7 @@
 	if (!bts->oml_link)
 		return;
 
-	log_set_context(BSC_CTX_SUBSCR, request->subscr);
+	log_set_context(LOGGING_CTX_BSC_SUBSCR, request->subscr);
 
 	LOGP(DPAG, LOGL_INFO, "Going to send paging commands: imsi: %s tmsi: "
 	     "0x%x for ch. type %d (attempt %d)\n", request->subscr->imsi,
@@ -91,7 +91,7 @@
 	page_group = gsm0502_calc_paging_group(&bts->si_common.chan_desc,
 						str_to_imsi(request->subscr->imsi));
 	gsm0808_page(bts, page_group, mi_len, mi, request->chan_type);
-	log_set_context(BSC_CTX_SUBSCR, NULL);
+	log_set_context(LOGGING_CTX_BSC_SUBSCR, NULL);
 }
 
 static void paging_schedule_if_needed(struct gsm_bts_paging_state *paging_bts)
@@ -255,7 +255,7 @@
 	gsm_cbfn *cbfn;
 	int msg;
 
-	log_set_context(BSC_CTX_SUBSCR, req->subscr);
+	log_set_context(LOGGING_CTX_BSC_SUBSCR, req->subscr);
 
 	LOGP(DPAG, LOGL_INFO, "T3113 expired for request %p (%s)\n",
 		req, req->subscr->imsi);
@@ -394,7 +394,7 @@
 {
 	struct gsm_bts *bts;
 
-	log_set_context(BSC_CTX_SUBSCR, subscr);
+	log_set_context(LOGGING_CTX_BSC_SUBSCR, subscr);
 
 	/* Stop this first and dispatch the request */
 	if (_bts)
diff --git a/openbsc/src/libcommon/debug.c b/openbsc/src/libcommon/debug.c
index cf5beeb..5f623ce 100644
--- a/openbsc/src/libcommon/debug.c
+++ b/openbsc/src/libcommon/debug.c
@@ -177,32 +177,25 @@
 	},
 };
 
-enum log_filter {
-	_FLT_ALL = LOG_FILTER_ALL,	/* libosmocore */
-	FLT_IMSI = 1,
-	FLT_NSVC = 2,
-	FLT_BVC  = 3,
-};
-
 static int filter_fn(const struct log_context *ctx,
 		     struct log_target *tar)
 {
-	struct gsm_subscriber *subscr = ctx->ctx[BSC_CTX_SUBSCR];
-	const struct gprs_nsvc *nsvc = ctx->ctx[GPRS_CTX_NSVC];
-	const struct gprs_nsvc *bvc = ctx->ctx[GPRS_CTX_BVC];
+	const struct gsm_subscriber *subscr = ctx->ctx[LOGGING_CTX_BSC_SUBSCR];
+	const struct gprs_nsvc *nsvc = ctx->ctx[LOGGING_CTX_GB_NSVC];
+	const struct gprs_nsvc *bvc = ctx->ctx[LOGGING_CTX_GB_BVC];
 
-	if ((tar->filter_map & (1 << FLT_IMSI)) != 0
-	    && subscr && subscr == tar->filter_data[FLT_IMSI])
+	if ((tar->filter_map & (1 << LOGGING_FILTER_BSC_SUBSCR)) != 0
+	    && subscr && subscr == tar->filter_data[LOGGING_FILTER_BSC_SUBSCR])
 		return 1;
 
 	/* Filter on the NS Virtual Connection */
-	if ((tar->filter_map & (1 << FLT_NSVC)) != 0
-	    && nsvc && (nsvc == tar->filter_data[FLT_NSVC]))
+	if ((tar->filter_map & (1 << LOGGING_FILTER_GB_NSVC)) != 0
+	    && nsvc && (nsvc == tar->filter_data[LOGGING_FILTER_GB_NSVC]))
 		return 1;
 
 	/* Filter on the NS Virtual Connection */
-	if ((tar->filter_map & (1 << FLT_BVC)) != 0
-	    && bvc && (bvc == tar->filter_data[FLT_BVC]))
+	if ((tar->filter_map & (1 << LOGGING_FILTER_GB_BVC)) != 0
+	    && bvc && (bvc == tar->filter_data[LOGGING_FILTER_GB_BVC]))
 		return 1;
 
 	return 0;
@@ -216,16 +209,17 @@
 
 void log_set_imsi_filter(struct log_target *target, struct gsm_subscriber *subscr)
 {
+	struct gsm_subscriber **fsub = (void*)&target->filter_data[LOGGING_FILTER_BSC_SUBSCR];
+
 	/* free the old data */
-	if (target->filter_data[FLT_IMSI]) {
-		subscr_put(target->filter_data[FLT_IMSI]);
-		target->filter_data[FLT_IMSI] = NULL;
+	if (*fsub) {
+		subscr_put(*fsub);
+		*fsub = NULL;
 	}
 
 	if (subscr) {
-		target->filter_map |= (1 << FLT_IMSI);
-		target->filter_data[FLT_IMSI] = subscr_get(subscr);
-	} else {
-		target->filter_map &= ~(1 << FLT_IMSI);
-	}
+		target->filter_map |= (1 << LOGGING_FILTER_BSC_SUBSCR);
+		*fsub = subscr_get(subscr);
+	} else
+		target->filter_map &= ~(1 << LOGGING_FILTER_BSC_SUBSCR);
 }
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c
index 1a64731..bae4590 100644
--- a/openbsc/src/libmsc/gsm_04_08.c
+++ b/openbsc/src/libmsc/gsm_04_08.c
@@ -1457,7 +1457,7 @@
 		/* FIXME: request id? close channel? */
 		return -EINVAL;
 	}
-	log_set_context(BSC_CTX_SUBSCR, subscr);
+	log_set_context(LOGGING_CTX_BSC_SUBSCR, subscr);
 	DEBUGP(DRR, "<- Channel was requested by %s\n",
 		subscr->name && strlen(subscr->name) ? subscr->name : subscr->imsi);
 
@@ -1982,7 +1982,7 @@
 		return -EIO;
 
 	/* Which subscriber do we want to track trans1 or trans2? */
-	log_set_context(BSC_CTX_SUBSCR, trans1->subscr);
+	log_set_context(LOGGING_CTX_BSC_SUBSCR, trans1->subscr);
 
 	/* through-connect channel */
 	return tch_map(trans1->conn->lchan, trans2->conn->lchan);
@@ -2003,7 +2003,7 @@
 	if (!trans->conn)
 		return 0;
 
-	log_set_context(BSC_CTX_SUBSCR, trans->subscr);
+	log_set_context(LOGGING_CTX_BSC_SUBSCR, trans->subscr);
 	lchan = trans->conn->lchan;
 	bts = lchan->ts->trx->bts;
 
@@ -3339,7 +3339,7 @@
 		mncc_recv_rtp_err(net, callref, MNCC_RTP_CREATE);
 		return -EIO;
 	}
-	log_set_context(BSC_CTX_SUBSCR, trans->subscr);
+	log_set_context(LOGGING_CTX_BSC_SUBSCR, trans->subscr);
 	if (!trans->conn) {
 		LOGP(DMNCC, LOGL_NOTICE, "RTP create for trans without conn\n");
 		mncc_recv_rtp_err(net, callref, MNCC_RTP_CREATE);
@@ -3395,7 +3395,7 @@
 		mncc_recv_rtp_err(net, rtp->callref, MNCC_RTP_CONNECT);
 		return -EIO;
 	}
-	log_set_context(BSC_CTX_SUBSCR, trans->subscr);
+	log_set_context(LOGGING_CTX_BSC_SUBSCR, trans->subscr);
 	if (!trans->conn) {
 		LOGP(DMNCC, LOGL_ERROR, "RTP connect for trans without conn\n");
 		mncc_recv_rtp_err(net, rtp->callref, MNCC_RTP_CONNECT);
@@ -3572,7 +3572,7 @@
 			LOGP(DMNCC, LOGL_ERROR, "TCH frame for non-existing trans\n");
 			return -EIO;
 		}
-		log_set_context(BSC_CTX_SUBSCR, trans->subscr);
+		log_set_context(LOGGING_CTX_BSC_SUBSCR, trans->subscr);
 		if (!trans->conn) {
 			LOGP(DMNCC, LOGL_NOTICE, "TCH frame for trans without conn\n");
 			return 0;
@@ -3646,7 +3646,7 @@
 						    data->imsi);
 
 		/* update the subscriber we deal with */
-		log_set_context(BSC_CTX_SUBSCR, subscr);
+		log_set_context(LOGGING_CTX_BSC_SUBSCR, subscr);
 
 		/* If subscriber is not found */
 		if (!subscr) {
@@ -3724,7 +3724,7 @@
 		subscr_put(subscr);
 	} else {
 		/* update the subscriber we deal with */
-		log_set_context(BSC_CTX_SUBSCR, trans->subscr);
+		log_set_context(LOGGING_CTX_BSC_SUBSCR, trans->subscr);
 	}
 
 	if (trans->conn)
diff --git a/openbsc/src/libmsc/smpp_openbsc.c b/openbsc/src/libmsc/smpp_openbsc.c
index 657272e..ac86230 100644
--- a/openbsc/src/libmsc/smpp_openbsc.c
+++ b/openbsc/src/libmsc/smpp_openbsc.c
@@ -67,7 +67,7 @@
 	}
 
 	/* tag the context in case we know it */
-	log_set_context(BSC_CTX_SUBSCR, subscr);
+	log_set_context(LOGGING_CTX_BSC_SUBSCR, subscr);
 	return subscr;
 }
 

-- 
To view, visit https://gerrit.osmocom.org/1845
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ifa82f6a461ad4c0eeddb8a38fb3833460432d16b
Gerrit-PatchSet: 2
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder



More information about the gerrit-log mailing list