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/.
Vadim Yanitskiy gerrit-no-reply at lists.osmocom.orgVadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13709 Change subject: common/oml.c: fix: properly encode NM_ATT_SW_CONFIG ...................................................................... common/oml.c: fix: properly encode NM_ATT_SW_CONFIG According to 3GPP TS 52.021, sections 9.4.61-62, 'SW Configuration' shall contain a list of 'SW Descriptions' related to the MO. In other words, all 'NM_ATT_SW_DESCR' blobs shall be encapsulated into a single NM_ATT_SW_CONFIG attribute. For some reason, they were not encapsulated properly, so OsmoBSC were unable to parse the 'SW Descriptions'. However, unlike OsmoBSC the old OpenBSC does not expect this encapsulation, thus after this change it will be unable to parse the 'SW Descriptions'. Change-Id: Id26104719891944f3e2151df362bd45bb057a9c5 Related: OS#3938 --- M src/common/oml.c 1 file changed, 33 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/09/13709/1 diff --git a/src/common/oml.c b/src/common/oml.c index caff595..d8859db 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -142,11 +142,26 @@ static inline void add_bts_attrs(struct msgb *msg, const struct gsm_bts *bts) { - abis_nm_put_sw_file(msg, "osmobts", PACKAGE_VERSION, true); - abis_nm_put_sw_file(msg, btsatttr2str(BTS_TYPE_VARIANT), btsvariant2str(bts->variant), true); + uint16_t total_len = 0; + uint16_t *len; - if (strlen(bts->sub_model)) - abis_nm_put_sw_file(msg, btsatttr2str(BTS_SUB_MODEL), bts->sub_model, true); + /* Put NM_ATT_SW_CONFIG as per 9.4.61 "SW Configuration". */ + msgb_v_put(msg, NM_ATT_SW_CONFIG); + + /* We don't know the length yet, so we update it later. */ + len = (uint16_t *) msgb_put(msg, 2); + + total_len += abis_nm_put_sw_file(msg, "osmobts", PACKAGE_VERSION, true); + total_len += abis_nm_put_sw_file(msg, btsatttr2str(BTS_TYPE_VARIANT), + btsvariant2str(bts->variant), true); + + if (strlen(bts->sub_model)) { + total_len += abis_nm_put_sw_file(msg, btsatttr2str(BTS_SUB_MODEL), + bts->sub_model, true); + } + + /* Finally, update the length */ + *len = htons(total_len); } /* Add BTS features as 3GPP TS 52.021 §9.4.30 Manufacturer Id */ @@ -158,9 +173,21 @@ static inline void add_trx_attr(struct msgb *msg, const struct gsm_bts_trx *trx) { const struct phy_instance *pinst = trx_phy_instance(trx); + const char *phy_version; + uint16_t total_len; + uint16_t *len; - abis_nm_put_sw_file(msg, btsatttr2str(TRX_PHY_VERSION), pinst && strlen(pinst->version) ? pinst->version : "Unknown", - true); + /* Put NM_ATT_SW_CONFIG as per 9.4.61 "SW Configuration". */ + msgb_v_put(msg, NM_ATT_SW_CONFIG); + + /* We don't know the length yet, so we update it later. */ + len = (uint16_t *) msgb_put(msg, 2); + + phy_version = pinst && strlen(pinst->version) ? pinst->version : "Unknown"; + total_len = abis_nm_put_sw_file(msg, btsatttr2str(TRX_PHY_VERSION), phy_version, true); + + /* Finally, update the length */ + *len = htons(total_len); } /* The number of attributes in §9.4.26 List of Required Attributes is 2 bytes, -- To view, visit https://gerrit.osmocom.org/13709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Id26104719891944f3e2151df362bd45bb057a9c5 Gerrit-Change-Number: 13709 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy <axilirator at gmail.com> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190419/1bc57074/attachment.htm>