diff options
author | Alexander Chemeris <Alexander.Chemeris@gmail.com> | 2015-08-20 20:48:39 -0400 |
---|---|---|
committer | Alexander Chemeris <Alexander.Chemeris@gmail.com> | 2015-08-20 20:48:39 -0400 |
commit | 810d29aa03a5ab34917e759aa77d8b2afcaba58b (patch) | |
tree | 2da826dbe3164cd7b7a7b2f5362a68efa4cfee7b | |
parent | e77bfb9e22dc61a3b9089bf57bb1abfde9559096 (diff) |
msc: Add channel information to the meas_feed, bump version to v1.
-rw-r--r-- | openbsc/include/openbsc/meas_feed.h | 14 | ||||
-rw-r--r-- | openbsc/src/libmsc/meas_feed.c | 9 |
2 files changed, 22 insertions, 1 deletions
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 86d679abf..6a91886d4 100644 --- a/openbsc/src/libmsc/meas_feed.c +++ b/openbsc/src/libmsc/meas_feed.c @@ -60,6 +60,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); |