Max has submitted this change and it was merged. Change subject: Prepare for BTS attribute reporting via OML ......................................................................
Prepare for BTS attribute reporting via OML * use define for number of attributes instead of magic number * add sub_model to gsm_bts struct * expand number of BTS features * mark attributes parameter to abis_nm_get_attr() as const Change-Id: I7ecb0c4339530d3a8354a2f94b34063dda87e030 Related: OS#1614 --- M openbsc/include/openbsc/abis_nm.h M openbsc/include/openbsc/gsm_data_shared.h M openbsc/src/libbsc/abis_nm.c 3 files changed, 13 insertions(+), 6 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/openbsc/include/openbsc/abis_nm.h b/openbsc/include/openbsc/abis_nm.h index 0fe9d8e..db2a659 100644 --- a/openbsc/include/openbsc/abis_nm.h +++ b/openbsc/include/openbsc/abis_nm.h @@ -28,6 +28,9 @@ #include <openbsc/gsm_data.h> +/* max number of attributes represented as 3GPP TS 52.021 §9.4.62 SW Description array */ +#define MAX_BTS_ATTR 5 + struct cell_global_id { uint16_t mcc; uint16_t mnc; @@ -85,7 +88,7 @@ uint8_t e1_subslot); int abis_nm_get_attr(struct gsm_bts *bts, uint8_t obj_class, uint8_t bts_nr, uint8_t trx_nr, uint8_t ts_nr, - uint8_t *attr, uint8_t attr_len); + const uint8_t *attr, uint8_t attr_len); int abis_nm_set_bts_attr(struct gsm_bts *bts, uint8_t *attr, int attr_len); int abis_nm_set_radio_attr(struct gsm_bts_trx *trx, uint8_t *attr, int attr_len); int abis_nm_set_channel_attr(struct gsm_bts_trx_ts *ts, uint8_t chan_comb); diff --git a/openbsc/include/openbsc/gsm_data_shared.h b/openbsc/include/openbsc/gsm_data_shared.h index 5c96a62..edc550e 100644 --- a/openbsc/include/openbsc/gsm_data_shared.h +++ b/openbsc/include/openbsc/gsm_data_shared.h @@ -545,6 +545,9 @@ BTS_FEAT_ECSD, BTS_FEAT_HOPPING, BTS_FEAT_MULTI_TSC, + BTS_FEAT_OML_ALERTS, + BTS_FEAT_AGCH_PCH_PROP, + BTS_FEAT_CBCH, }; /* @@ -676,6 +679,7 @@ struct gsm_bts_model *model; enum gsm_band band; char version[MAX_VERSION_LENGTH]; + char sub_model[MAX_VERSION_LENGTH]; /* Connected PCU version (if any) */ char pcu_version[MAX_VERSION_LENGTH]; diff --git a/openbsc/src/libbsc/abis_nm.c b/openbsc/src/libbsc/abis_nm.c index db0dbd2..5212f6a 100644 --- a/openbsc/src/libbsc/abis_nm.c +++ b/openbsc/src/libbsc/abis_nm.c @@ -439,6 +439,7 @@ return res; } +/* 3GPP TS 52.021 §6.2.5 */ static int abis_nm_rx_sw_act_req(struct msgb *mb) { struct abis_om_hdr *oh = msgb_l2(mb); @@ -447,7 +448,7 @@ struct tlv_parsed tp; const uint8_t *sw_config; int ret, sw_config_len, len; - struct abis_nm_sw_desc sw_descr[5]; + struct abis_nm_sw_desc sw_descr[MAX_BTS_ATTR]; abis_nm_debugp_foh(DNM, foh); @@ -1441,10 +1442,9 @@ } #endif -/* Chapter 8.11.1 */ -int abis_nm_get_attr(struct gsm_bts *bts, uint8_t obj_class, - uint8_t bts_nr, uint8_t trx_nr, uint8_t ts_nr, - uint8_t *attr, uint8_t attr_len) +/* 3GPP TS 52.021 § 8.11.1 */ +int abis_nm_get_attr(struct gsm_bts *bts, uint8_t obj_class, uint8_t bts_nr, uint8_t trx_nr, uint8_t ts_nr, + const uint8_t *attr, uint8_t attr_len) { struct abis_om_hdr *oh; struct msgb *msg = nm_msgb_alloc(); -- To view, visit https://gerrit.osmocom.org/2551 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I7ecb0c4339530d3a8354a2f94b34063dda87e030 Gerrit-PatchSet: 3 Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Owner: Max <msur...@sysmocom.de> Gerrit-Reviewer: Harald Welte <lafo...@gnumonks.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max <msur...@sysmocom.de>