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/OpenBSC@lists.osmocom.org/.
Harald Welte laforge at gnumonks.orgRename NM_ATT_O_REDUCEPOWER to NM_ATT_OSMO_REDUCEPOWER, which makes it more clear that this is an osmcoom specific attribute. Also, we cannot simply overload 0x01 as an already defined OML attribute. The problem is quite simple: When we use abis_nm_att_tlvdef during the TLV parse, 0x01 will match to NM_ATT_ABIS_CHANNEL, which is defined as { TLV_TYPE_FIXED, 3 }. So instead, we need to introduce a new abis_nm_osmo_att_tlvdef[], which has to be patched into abis_nm_att_tlvdef[] by the means of tlv_def_patch(), exactly how we do it for bs-11 and nanobts specific attributes. I'm using 0xfe for the attribute, as 0xfe doesn't overlap with the IPA specific attribues (and we might want to combine/merge the 12.21 plus IPA plus osmocom spefici attributes) --- include/osmocom/gsm/protocol/gsm_12_21.h | 4 +++- src/gsm/abis_nm.c | 7 +++++++ src/gsm/libosmogsm.map | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/include/osmocom/gsm/protocol/gsm_12_21.h b/include/osmocom/gsm/protocol/gsm_12_21.h index b1725d5..ad0890c 100644 --- a/include/osmocom/gsm/protocol/gsm_12_21.h +++ b/include/osmocom/gsm/protocol/gsm_12_21.h @@ -487,7 +487,9 @@ enum abis_nm_attr { NM_ATT_BS11_PLL_MODE = 0xfc, NM_ATT_BS11_PASSWORD = 0xfd, - NM_ATT_O_REDUCEPOWER = 0x01, + /* osmocom (osmo-bts) specific attributes, used in combination + * with the "org.osmocom" manufacturer identification */ + NM_ATT_OSMO_REDUCEPOWER = 0xfe, /* TLV_TYPE_TV */ }; #define NM_ATT_BS11_FILE_DATA NM_ATT_EVENT_TYPE diff --git a/src/gsm/abis_nm.c b/src/gsm/abis_nm.c index 2c23a64..7a1f664 100644 --- a/src/gsm/abis_nm.c +++ b/src/gsm/abis_nm.c @@ -323,6 +323,13 @@ const struct tlv_definition abis_nm_att_tlvdef = { }, }; +/*! \brief org.osmocom GSM A-bis OML TLV parser definition */ +const struct tlv_definition abis_nm_osmo_att_tlvdef = { + .def = { + [NM_ATT_OSMO_REDUCEPOWER] = { TLV_TYPE_TV }, + }, +}; + /*! \brief Human-readable strings for A-bis OML Object Class */ const struct value_string abis_nm_obj_class_names[] = { { NM_OC_SITE_MANAGER, "SITE-MANAGER" }, diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 3c5025d..cab4fc4 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -10,6 +10,7 @@ abis_nm_event_type_name; abis_nm_nack_cause_name; abis_nm_nack_name; abis_nm_att_tlvdef; +abis_nm_osmo_att_tlvdef; abis_nm_obj_class_names; abis_nm_opstate_name; abis_nm_nacks; -- 2.0.0.rc2 --9Ek0hoCL9XbhcSqy--