Fix introducing osmocom speficic OML attributes

Rename 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)
This commit is contained in:
Harald Welte 2014-05-19 11:25:46 +02:00
parent c22d72cded
commit 5b5650f3de
3 changed files with 11 additions and 1 deletions

View File

@ -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

View File

@ -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" },

View File

@ -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;