From 08c508f84a8d088f8454d0f21f83ecc22e30d72d Mon Sep 17 00:00:00 2001 From: Alexander Chemeris Date: Thu, 20 Aug 2015 20:48:39 -0400 Subject: msc: Add channel information to the meas_feed, bump version to v1. --- openbsc/include/openbsc/meas_feed.h | 14 +++++++++++++- openbsc/src/libmsc/meas_feed.c | 9 +++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/openbsc/include/openbsc/meas_feed.h b/openbsc/include/openbsc/meas_feed.h index 65d09b896..f77ee075f 100644 --- a/openbsc/include/openbsc/meas_feed.h +++ b/openbsc/include/openbsc/meas_feed.h @@ -17,13 +17,25 @@ struct meas_feed_meas { char name[31+1]; char scenario[31+1]; struct gsm_meas_rep mr; + /* The logical channel type, enum gsm_chan_t */ + uint8_t lchan_type; + /* The physical channel type, enum gsm_phys_chan_config */ + uint8_t pchan_type; + /* number of ths BTS in network */ + uint8_t bts_nr; + /* number of this TRX in the BTS */ + uint8_t trx_nr; + /* number of this timeslot at the TRX */ + uint8_t ts_nr; + /* The logical subslot number in the TS */ + uint8_t ss_nr; }; enum meas_feed_msgtype { MEAS_FEED_MEAS = 0, }; -#define MEAS_FEED_VERSION 0 +#define MEAS_FEED_VERSION 1 #endif diff --git a/openbsc/src/libmsc/meas_feed.c b/openbsc/src/libmsc/meas_feed.c index 5fc7c4979..cd2b64842 100644 --- a/openbsc/src/libmsc/meas_feed.c +++ b/openbsc/src/libmsc/meas_feed.c @@ -62,6 +62,15 @@ static int process_meas_rep(struct gsm_meas_rep *mr) /* copy the entire measurement report */ memcpy(&mfm->mr, mr, sizeof(mfm->mr)); + /* copy channel information */ + /* we assume that the measurement report always belong to some timeslot */ + mfm->lchan_type = (uint8_t)mr->lchan->type; + mfm->pchan_type = (uint8_t)mr->lchan->ts->pchan; + mfm->bts_nr = mr->lchan->ts->trx->bts->nr; + mfm->trx_nr = mr->lchan->ts->trx->nr; + mfm->ts_nr = mr->lchan->ts->nr; + mfm->ss_nr = mr->lchan->nr; + /* and send it to the socket */ if (osmo_wqueue_enqueue(&g_mfs.wqueue, msg) != 0) msgb_free(msg); -- cgit v1.2.3