aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bsc/abis_om2000.c
diff options
context:
space:
mode:
authorKeith <keith@rhizomatica.org>2022-06-27 21:22:06 -0500
committerKeith <keith@rhizomatica.org>2022-06-27 21:42:05 -0500
commit61cbc5b3229efcbfdce38febbb9a7e8c2289dec6 (patch)
tree7f59b5580e3eca961e983bec050e3667bf80c68d /src/osmo-bsc/abis_om2000.c
parent152f0586c52e0232ebbecd2c97d860239f2115c1 (diff)
Improve parsing of om2000 fault reports
Fault Reports are commonly oberved with a TLV id 0xd2 as are reports with up to 20 TLVs. Let's not have these cause logging at level ERROR. Closes: OS#5593 Change-Id: Ibe0b38835362c59d1576a206b2f64cea4427295f
Diffstat (limited to 'src/osmo-bsc/abis_om2000.c')
-rw-r--r--src/osmo-bsc/abis_om2000.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c
index 1deab1364..84fb7ac3e 100644
--- a/src/osmo-bsc/abis_om2000.c
+++ b/src/osmo-bsc/abis_om2000.c
@@ -310,6 +310,7 @@ enum abis_om2k_dei {
OM2K_DEI_MAX_ALLOWED_POWER = 0xa9,
OM2K_DEI_MAX_ALLOWED_NUM_TRXCS = 0xaa,
OM2K_DEI_MCTR_FEAT_STATUS_BMAP = 0xab,
+ OM2K_DEI_SEEN_UNKNOWN_D2 = 0xd2,
};
enum abis_om2k_mostate {
@@ -388,6 +389,7 @@ const struct tlv_definition om2k_att_tlvdef = {
[OM2K_DEI_FS_OFFSET] = { TLV_TYPE_FIXED, 5 },
[OM2K_DEI_EXT_COND_MAP_2_EXT] = { TLV_TYPE_FIXED, 4 },
[OM2K_DEI_TSS_MO_STATE] = { TLV_TYPE_FIXED, 4 },
+ [OM2K_DEI_SEEN_UNKNOWN_D2] = { TLV_TYPE_FIXED, 6 },
},
};
@@ -2882,7 +2884,7 @@ static void display_fault_maps(const uint8_t *src, unsigned int src_len,
/* Bail if an the maximum number of TLV fields
* have been parsed */
- if (tlv_count >= 11) {
+ if (tlv_count >= 20) {
LOGP(DNM, LOGL_ERROR, "Rx MO=%s Fault Report: too many tlv elements!\n",
abis_om2k_mo_name(mo));
return;