[PATCH] libosmocore[master]: Add OML definitions from OsmoBTS

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/gerrit-log@lists.osmocom.org/.

Max gerrit-no-reply at lists.osmocom.org
Mon Jan 2 13:17:53 UTC 2017


Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/1517

to look at the new patch set (#2).

Add OML definitions from OsmoBTS

Change-Id: I9c3bc15662949654e7bba6aad5488c69ee7d0c45
Related: OS#1615
---
M include/osmocom/gsm/abis_nm.h
M include/osmocom/gsm/protocol/gsm_12_21.h
M src/gsm/abis_nm.c
M src/gsm/libosmogsm.map
4 files changed, 76 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/17/1517/2

diff --git a/include/osmocom/gsm/abis_nm.h b/include/osmocom/gsm/abis_nm.h
index 04bca43..14dbc08 100644
--- a/include/osmocom/gsm/abis_nm.h
+++ b/include/osmocom/gsm/abis_nm.h
@@ -34,6 +34,7 @@
 const char *abis_nm_avail_name(uint8_t avail);
 const char *abis_nm_test_name(uint8_t test);
 extern const struct tlv_definition abis_nm_osmo_att_tlvdef;
+extern const struct tlv_definition abis_nm_att_tlvdef_ipa;
 
 /*! \brief write a human-readable OML header to the debug log
  *  \param[in] ss Logging sub-system
diff --git a/include/osmocom/gsm/protocol/gsm_12_21.h b/include/osmocom/gsm/protocol/gsm_12_21.h
index 3c3a2c9..ed53dc6 100644
--- a/include/osmocom/gsm/protocol/gsm_12_21.h
+++ b/include/osmocom/gsm/protocol/gsm_12_21.h
@@ -615,6 +615,19 @@
 	uint8_t	subslot;	/*!< \brief E1 sub-slot */
 } __attribute__ ((packed));
 
+/*! \brief 3GPP TS 12.21 9.4.53 T200 index */
+enum abis_nm_t200_idx {
+	T200_SDCCH		= 0,
+	T200_FACCH_F		= 1,
+	T200_FACCH_H		= 2,
+	T200_SACCH_TCH_SAPI0	= 3,
+	T200_SACCH_SDCCH	= 4,
+	T200_SDCCH_SAPI3	= 5,
+	T200_SACCH_TCH_SAPI3	= 6
+};
+
+extern const uint8_t abis_nm_t200_ms[];
+
 /*! \brief Siemens BS-11 specific objects in the SienemsHW (0xA5) object class */
 enum abis_bs11_objtype {
 	BS11_OBJ_ALCO		= 0x01,
diff --git a/src/gsm/abis_nm.c b/src/gsm/abis_nm.c
index e607d30..c085e06 100644
--- a/src/gsm/abis_nm.c
+++ b/src/gsm/abis_nm.c
@@ -227,6 +227,17 @@
 	return get_value_string(severity_names, cause);
 }
 
+/*! \brief 3GPP TS 12.21 9.4.53 T200 values (in msec) */
+const uint8_t abis_nm_t200_ms[] = {
+	[T200_SDCCH]		= 5,
+	[T200_FACCH_F]		= 5,
+	[T200_FACCH_H]		= 5,
+	[T200_SACCH_TCH_SAPI0]	= 10,
+	[T200_SACCH_SDCCH]	= 10,
+	[T200_SDCCH_SAPI3]	= 5,
+	[T200_SACCH_TCH_SAPI3]	= 10
+};
+
 /*! \brief Attributes that the BSC can set, not only get, according to Section 9.4 */
 const enum abis_nm_attr abis_nm_att_settable[] = {
 	NM_ATT_ADD_INFO,
@@ -256,6 +267,55 @@
 	NM_ATT_MEAS_TYPE,
 };
 
+/*! \brief GSM A-bis OML IPA TLV parser definition */
+const struct tlv_definition abis_nm_att_tlvdef_ipa = {
+	.def = {
+		/* ip.access specifics */
+		[NM_ATT_IPACC_DST_IP] =		{ TLV_TYPE_FIXED, 4 },
+		[NM_ATT_IPACC_DST_IP_PORT] =	{ TLV_TYPE_FIXED, 2 },
+		[NM_ATT_IPACC_STREAM_ID] =	{ TLV_TYPE_TV, },
+		[NM_ATT_IPACC_SEC_OML_CFG] =	{ TLV_TYPE_FIXED, 6 },
+		[NM_ATT_IPACC_IP_IF_CFG] =	{ TLV_TYPE_FIXED, 8 },
+		[NM_ATT_IPACC_IP_GW_CFG] =	{ TLV_TYPE_FIXED, 12 },
+		[NM_ATT_IPACC_IN_SERV_TIME] =	{ TLV_TYPE_FIXED, 4 },
+		[NM_ATT_IPACC_LOCATION] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_PAGING_CFG] =	{ TLV_TYPE_FIXED, 2 },
+		[NM_ATT_IPACC_UNIT_ID] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_UNIT_NAME] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_SNMP_CFG] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_PRIM_OML_CFG_LIST] = { TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_NV_FLAGS] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_FREQ_CTRL] =	{ TLV_TYPE_FIXED, 2 },
+		[NM_ATT_IPACC_PRIM_OML_FB_TOUT] = { TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_CUR_SW_CFG] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_TIMING_BUS] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_CGI] =		{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_RAC] =		{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_OBJ_VERSION] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_GPRS_PAGING_CFG]= { TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_NSEI] =		{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_BVCI] =		{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_NSVCI] =		{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_NS_CFG] =		{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_BSSGP_CFG] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_NS_LINK_CFG] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_RLC_CFG] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_ALM_THRESH_LIST]=	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_MONIT_VAL_LIST] = { TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_TIB_CONTROL] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_SUPP_FEATURES] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_CODING_SCHEMES] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_RLC_CFG_2] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_HEARTB_TOUT] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_UPTIME] =		{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_RLC_CFG_3] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_SSL_CFG] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_SEC_POSSIBLE] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_IML_SSL_STATE] =	{ TLV_TYPE_TL16V },
+		[NM_ATT_IPACC_REVOC_DATE] =	{ TLV_TYPE_TL16V },
+	},
+};
+
 /*! \brief GSM A-bis OML TLV parser definition */
 const struct tlv_definition abis_nm_att_tlvdef = {
 	.def = {
diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map
index a3d224f..199d05a 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -10,11 +10,13 @@
 abis_nm_nack_cause_name;
 abis_nm_nack_name;
 abis_nm_att_tlvdef;
+abis_nm_att_tlvdef_ipa;
 abis_nm_osmo_att_tlvdef;
 abis_nm_msg_disc_names;
 abis_nm_obj_class_names;
 abis_nm_opstate_name;
 abis_nm_nacks;
+abis_nm_t200_ms;
 abis_nm_no_ack_nack;
 abis_nm_pchan4chcomb;
 abis_nm_reports;

-- 
To view, visit https://gerrit.osmocom.org/1517
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9c3bc15662949654e7bba6aad5488c69ee7d0c45
Gerrit-PatchSet: 2
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder



More information about the gerrit-log mailing list