[PATCH 32/33] Remove obsolete gsmtap handling from osmo-bts-sysmo part.

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/OpenBSC@lists.osmocom.org/.

Harald Welte laforge at gnumonks.org
Wed Aug 27 21:54:51 UTC 2014


From: Andreas Eversberg <jolly at eversberg.eu>

---
 src/osmo-bts-sysmo/l1_if.c | 101 ---------------------------------------------
 src/osmo-bts-sysmo/l1_if.h |   3 --
 2 files changed, 104 deletions(-)

diff --git a/src/osmo-bts-sysmo/l1_if.c b/src/osmo-bts-sysmo/l1_if.c
index b4ae300..2ba7c3c 100644
--- a/src/osmo-bts-sysmo/l1_if.c
+++ b/src/osmo-bts-sysmo/l1_if.c
@@ -33,8 +33,6 @@
 #include <osmocom/core/select.h>
 #include <osmocom/core/timer.h>
 #include <osmocom/core/write_queue.h>
-#include <osmocom/core/gsmtap.h>
-#include <osmocom/core/gsmtap_util.h>
 #include <osmocom/gsm/gsm_utils.h>
 #include <osmocom/gsm/lapdm.h>
 
@@ -67,97 +65,6 @@ extern int pcu_direct;
 #define MIN_QUAL_RACH	 5.0f	/* at least  5 dB C/I */
 #define MIN_QUAL_NORM	-0.5f	/* at least -1 dB C/I */
 
-/* mapping from femtobts L1 SAPI to GSMTAP channel type */
-static const uint8_t l1sapi2gsmtap_cht[GsmL1_Sapi_NUM] = {
-	[GsmL1_Sapi_Idle] = 255,
-	[GsmL1_Sapi_Fcch] = 255,
-	[GsmL1_Sapi_Sch] = 255,
-	[GsmL1_Sapi_Sacch] = GSMTAP_CHANNEL_SDCCH | GSMTAP_CHANNEL_ACCH,
-	[GsmL1_Sapi_Sdcch] = GSMTAP_CHANNEL_SDCCH,
-	[GsmL1_Sapi_Bcch] = GSMTAP_CHANNEL_BCCH,
-	[GsmL1_Sapi_Pch] = GSMTAP_CHANNEL_PCH,
-	[GsmL1_Sapi_Agch] = GSMTAP_CHANNEL_AGCH,
-	[GsmL1_Sapi_Cbch] = GSMTAP_CHANNEL_CBCH51,
-	[GsmL1_Sapi_Rach] = GSMTAP_CHANNEL_RACH,
-	[GsmL1_Sapi_TchF] = 255,
-	[GsmL1_Sapi_FacchF] = GSMTAP_CHANNEL_TCH_F,
-	[GsmL1_Sapi_TchH] = 255,
-	[GsmL1_Sapi_FacchH] = GSMTAP_CHANNEL_TCH_H,
-	[GsmL1_Sapi_Nch] = GSMTAP_CHANNEL_CCCH,
-	[GsmL1_Sapi_Pdtch] = GSMTAP_CHANNEL_PACCH,
-	[GsmL1_Sapi_Pacch] = GSMTAP_CHANNEL_PACCH,
-	[GsmL1_Sapi_Pbcch] = 255,
-	[GsmL1_Sapi_Pagch] = 255,
-	[GsmL1_Sapi_Ppch] = 255,
-	[GsmL1_Sapi_Pnch] = 255,
-	[GsmL1_Sapi_Ptcch] = GSMTAP_CHANNEL_PTCCH,
-	[GsmL1_Sapi_Prach] = 255,
-};
-
-static void tx_to_gsmtap(struct femtol1_hdl *fl1h, struct msgb *msg)
-{
-	struct gsm_bts_trx *trx = fl1h->priv;
-	GsmL1_Prim_t *l1p = msgb_l1prim(msg);
-	GsmL1_PhDataReq_t *data_req = &l1p->u.phDataReq;
-
-	if (fl1h->gsmtap) {
-		uint8_t ss, chan_type;
-		if (data_req->subCh == 0x1f)
-			ss = 0;
-		else
-			ss = data_req->subCh;
-
-		if (!(fl1h->gsmtap_sapi_mask & (1 << data_req->sapi)))
-			return;
-
-		chan_type = l1sapi2gsmtap_cht[data_req->sapi];
-		if (chan_type == 255)
-			return;
-
-		gsmtap_send(fl1h->gsmtap, trx->arfcn, data_req->u8Tn,
-				chan_type, ss, data_req->u32Fn, 0, 0,
-				data_req->msgUnitParam.u8Buffer,
-				data_req->msgUnitParam.u8Size);
-	}
-}
-
-static void ul_to_gsmtap(struct femtol1_hdl *fl1h, struct msgb *msg)
-{
-	struct gsm_bts_trx *trx = fl1h->priv;
-	GsmL1_Prim_t *l1p = msgb_l1prim(msg);
-	GsmL1_PhDataInd_t *data_ind = &l1p->u.phDataInd;
-	int skip = 0;
-
-	if (fl1h->gsmtap) {
-		uint8_t ss, chan_type;
-		if (data_ind->subCh == 0x1f)
-			ss = 0;
-		else
-			ss = data_ind->subCh;
-
-		if (!(fl1h->gsmtap_sapi_mask & (1 << data_ind->sapi)))
-			return;
-
-		chan_type = l1sapi2gsmtap_cht[data_ind->sapi];
-		if (chan_type == 255)
-			return;
-		if (chan_type == GSMTAP_CHANNEL_PACCH
-		 || chan_type == GSMTAP_CHANNEL_PDCH) {
-			if (data_ind->msgUnitParam.u8Buffer[0]
-					!= GsmL1_PdtchPlType_Full)
-				return;
-			skip = 1;
-		}
-
-		gsmtap_send(fl1h->gsmtap, trx->arfcn | GSMTAP_ARFCN_F_UPLINK,
-				data_ind->u8Tn, chan_type, ss, data_ind->u32Fn,
-				data_ind->measParam.fRssi,
-				data_ind->measParam.fLinkQuality,
-				data_ind->msgUnitParam.u8Buffer + skip,
-				data_ind->msgUnitParam.u8Size - skip);
-	}
-}
-
 
 struct wait_l1_conf {
 	struct llist_head list;		/* internal linked list */
@@ -872,8 +779,6 @@ static int handle_ph_readytosend_ind(struct femtol1_hdl *fl1,
 	}
 tx:
 
-	tx_to_gsmtap(fl1, resp_msg);
-
 	/* transmit */
 	osmo_wqueue_enqueue(&fl1->write_q[MQ_L1_WRITE], resp_msg);
 
@@ -921,8 +826,6 @@ static int handle_ph_data_ind(struct femtol1_hdl *fl1, GsmL1_PhDataInd_t *data_i
 	uint8_t *data, len;
 	int rc = 0;
 
-	ul_to_gsmtap(fl1, l1p_msg);
-
 	lchan = l1if_hLayer_to_lchan(fl1->priv, data_ind->hLayer2);
 	if (!lchan) {
 		LOGP(DL1C, LOGL_ERROR,
@@ -1624,10 +1527,6 @@ struct femtol1_hdl *l1if_open(void *priv)
 		return NULL;
 	}
 
-	fl1h->gsmtap = gsmtap_source_init("localhost", GSMTAP_UDP_PORT, 1);
-	if (fl1h->gsmtap)
-		gsmtap_source_add_sink(fl1h->gsmtap);
-
 	return fl1h;
 }
 
diff --git a/src/osmo-bts-sysmo/l1_if.h b/src/osmo-bts-sysmo/l1_if.h
index a425776..dba608c 100644
--- a/src/osmo-bts-sysmo/l1_if.h
+++ b/src/osmo-bts-sysmo/l1_if.h
@@ -53,9 +53,6 @@ struct femtol1_hdl {
 	char *calib_path;
 	struct llist_head wlc_list;
 
-	struct gsmtap_inst *gsmtap;
-	uint32_t gsmtap_sapi_mask;
-
 	void *priv;			/* user reference */
 
 	struct osmo_timer_list alive_timer;
-- 
2.1.0





More information about the OpenBSC mailing list