From 5b5650f3de0213a459b4184bab3ab2d0d833c4a4 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 19 May 2014 11:25:46 +0200 Subject: 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) --- src/gsm/abis_nm.c | 7 +++++++ src/gsm/libosmogsm.map | 1 + 2 files changed, 8 insertions(+) (limited to 'src/gsm') diff --git a/src/gsm/abis_nm.c b/src/gsm/abis_nm.c index 2c23a648..7a1f6648 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 3c5025df..cab4fc40 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; -- cgit v1.2.3