wireshark: Fix the Paging Configuration, fix the nanobts/bs11 setting

Introduce a TLV_TYPE_UNKNOWN to fallback to the right NM attributes
and mark paging configuration as fixed with the length of two.
This commit is contained in:
Holger Hans Peter Freyther 2010-06-06 21:33:52 +08:00
parent 3a7074615f
commit bdcf45c9aa
1 changed files with 16 additions and 11 deletions

View File

@ -1,21 +1,21 @@
From 61a4d5540a7860e7eddc67b3db0f2f80357f1da0 Mon Sep 17 00:00:00 2001
From b659280ff645354bb55529b05114419b9f0efd6f Mon Sep 17 00:00:00 2001
From: Holger Hans Peter Freyther <zecke@selfish.org>
Date: Mon, 19 Apr 2010 13:23:51 +0800
Subject: [PATCH 1/2] Add the Abis OML patch.
---
epan/dissectors/Makefile.common | 1 +
epan/dissectors/packet-gsm_abis_oml.c | 1402 +++++++++++++++++++++++++++++++++
epan/dissectors/packet-gsm_abis_oml.h | 798 +++++++++++++++++++
3 files changed, 2201 insertions(+), 0 deletions(-)
epan/dissectors/packet-gsm_abis_oml.c | 1405 +++++++++++++++++++++++++++++++++
epan/dissectors/packet-gsm_abis_oml.h | 800 +++++++++++++++++++
3 files changed, 2206 insertions(+), 0 deletions(-)
create mode 100644 epan/dissectors/packet-gsm_abis_oml.c
create mode 100644 epan/dissectors/packet-gsm_abis_oml.h
diff --git a/epan/dissectors/Makefile.common b/epan/dissectors/Makefile.common
index 4973c3b..65e6d01 100644
index b18f42e..115fa09 100644
--- a/epan/dissectors/Makefile.common
+++ b/epan/dissectors/Makefile.common
@@ -483,6 +483,7 @@ DISSECTOR_SRC = \
@@ -485,6 +485,7 @@ DISSECTOR_SRC = \
packet-gsm_a_gm.c \
packet-gsm_a_rp.c \
packet-gsm_a_rr.c \
@ -25,10 +25,10 @@ index 4973c3b..65e6d01 100644
packet-gsm_bssmap_le.c \
diff --git a/epan/dissectors/packet-gsm_abis_oml.c b/epan/dissectors/packet-gsm_abis_oml.c
new file mode 100644
index 0000000..dc53496
index 0000000..0f16f18
--- /dev/null
+++ b/epan/dissectors/packet-gsm_abis_oml.c
@@ -0,0 +1,1402 @@
@@ -0,0 +1,1405 @@
+/* packet-abis_oml.c
+ * Routines for packet dissection of GSM A-bis over IP (3GPP TS 12.21)
+ * Copyright 2009 by Harald Welte <laforge@gnumonks.org>
@ -70,6 +70,8 @@ index 0000000..dc53496
+#include "packet-gsm_abis_oml.h"
+#include "packet-gsm_a_common.h"
+
+#include <stdio.h>
+
+/* initialize the protocol and registered fields */
+static int proto_abis_oml = -1;
+
@ -621,7 +623,7 @@ index 0000000..dc53496
+ else
+ specific = &nm_att_tlvdev_bs11.def[tag];
+
+ if (specific->type != TLV_TYPE_FIXED)
+ if (specific->type != TLV_TYPE_UNKNOWN)
+ return specific;
+
+ return &nm_att_tlvdef_base.def[tag];
@ -811,6 +813,7 @@ index 0000000..dc53496
+ len = tvb_get_guint8(tvb, offset+1) << 8 |
+ tvb_get_guint8(tvb, offset+2);
+ break;
+ case TLV_TYPE_UNKNOWN: /* fall through */
+ default:
+ hlen = len_len = len = 0;
+ DISSECTOR_ASSERT_NOT_REACHED();
@ -1433,10 +1436,10 @@ index 0000000..dc53496
+}
diff --git a/epan/dissectors/packet-gsm_abis_oml.h b/epan/dissectors/packet-gsm_abis_oml.h
new file mode 100644
index 0000000..98aeb24
index 0000000..bdc414d
--- /dev/null
+++ b/epan/dissectors/packet-gsm_abis_oml.h
@@ -0,0 +1,798 @@
@@ -0,0 +1,800 @@
+/* GSM Network Management messages on the A-bis interface
+ * 3GPP TS 12.21 version 8.0.0 Release 1999 / ETSI TS 100 623 V8.0.0 */
+
@ -2047,6 +2050,7 @@ index 0000000..98aeb24
+
+/* From openbsc/include/openbsc/tlv.h */
+enum tlv_type {
+ TLV_TYPE_UNKNOWN,
+ TLV_TYPE_FIXED,
+ TLV_TYPE_T,
+ TLV_TYPE_TV,
@ -2229,6 +2233,7 @@ index 0000000..98aeb24
+ [NM_ATT_IPACC_CODING_SCHEMES] = { TLV_TYPE_TL16V, 0 },
+ [NM_ATT_IPACC_RLC_CFG_2] = { TLV_TYPE_TL16V, 0 },
+ [NM_ATT_IPACC_RLC_CFG_3] = { TLV_TYPE_TL16V, 0 },
+ [NM_ATT_IPACC_PAGING_CFG] = { TLV_TYPE_FIXED, 2 },
+ [NM_ATT_IPACC_FILE_DATA] = { TLV_TYPE_TL16V, 0 },
+ [NM_ATT_IPACC_CGI] = { TLV_TYPE_TL16V, 0 },
+ },