laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/32652 )
Change subject: nanobts: Request "supported features" attribute from BTS and BB_TRANSC ......................................................................
nanobts: Request "supported features" attribute from BTS and BB_TRANSC
The nanoBTS feature reporting works significantly different from what osmo-bts implements. They have a "Supported Features" IE in potentially each of their MOs, and within this have nested IEs expressing respective feature sets.
Let's start by requesting those for at least those MOs where we already implement a GET ATTRIBUTES call in the FSM.
Change-Id: I15116044fb354ec0a0682c62078fbfa907b318f3 --- M src/osmo-bsc/nm_bb_transc_fsm.c M src/osmo-bsc/nm_bts_fsm.c 2 files changed, 19 insertions(+), 2 deletions(-)
Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified
diff --git a/src/osmo-bsc/nm_bb_transc_fsm.c b/src/osmo-bsc/nm_bb_transc_fsm.c index f7d9e92..c70904b 100644 --- a/src/osmo-bsc/nm_bb_transc_fsm.c +++ b/src/osmo-bsc/nm_bb_transc_fsm.c @@ -113,7 +113,7 @@ if (!bb_transc->mo.get_attr_sent && !bb_transc->mo.get_attr_rep_received) { bb_transc->mo.get_attr_sent = true; /* N. B: we rely on attribute order when parsing response in abis_nm_rx_get_attr_resp() */ - const uint8_t trx_attr[] = { NM_ATT_MANUF_STATE, NM_ATT_SW_CONFIG, }; + const uint8_t trx_attr[] = { NM_ATT_MANUF_STATE, NM_ATT_SW_CONFIG, NM_ATT_IPACC_SUPP_FEATURES }; /* we should not request more attributes than we're ready to handle */ OSMO_ASSERT(sizeof(trx_attr) < MAX_BTS_ATTR); abis_nm_get_attr(trx->bts, NM_OC_BASEB_TRANSC, 0, trx->nr, 0xff, diff --git a/src/osmo-bsc/nm_bts_fsm.c b/src/osmo-bsc/nm_bts_fsm.c index 1cae6f4..dd05f9a 100644 --- a/src/osmo-bsc/nm_bts_fsm.c +++ b/src/osmo-bsc/nm_bts_fsm.c @@ -100,7 +100,7 @@ if (!bts->mo.get_attr_sent && !bts->mo.get_attr_rep_received) { bts->mo.get_attr_sent = true; /* N. B: we rely on attribute order when parsing response in abis_nm_rx_get_attr_resp() */ - const uint8_t bts_attr[] = { NM_ATT_MANUF_ID, NM_ATT_SW_CONFIG, }; + const uint8_t bts_attr[] = { NM_ATT_MANUF_ID, NM_ATT_SW_CONFIG, NM_ATT_IPACC_SUPP_FEATURES}; /* we should not request more attributes than we're ready to handle */ OSMO_ASSERT(sizeof(bts_attr) < MAX_BTS_ATTR); abis_nm_get_attr(bts, NM_OC_BTS, 0, 0xff, 0xff,