Review at  https://gerrit.osmocom.org/2551

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, 11 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/51/2551/1

diff --git a/openbsc/include/openbsc/abis_nm.h 
b/openbsc/include/openbsc/abis_nm.h
index 0fe9d8e..5355b1c 100644
--- a/openbsc/include/openbsc/abis_nm.h
+++ b/openbsc/include/openbsc/abis_nm.h
@@ -28,6 +28,8 @@
 
 #include <openbsc/gsm_data.h>
 
+#define MAX_BTS_ATTR 5
+
 struct cell_global_id {
        uint16_t mcc;
        uint16_t mnc;
@@ -85,7 +87,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..714d46f 100644
--- a/openbsc/src/libbsc/abis_nm.c
+++ b/openbsc/src/libbsc/abis_nm.c
@@ -447,7 +447,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 +1441,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: newchange
Gerrit-Change-Id: I7ecb0c4339530d3a8354a2f94b34063dda87e030
Gerrit-PatchSet: 1
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Max <msur...@sysmocom.de>

Reply via email to