[wireshark] Add config option to decide which flavor of OML to use

This option can currently toggle between BS11 and nanoBTS (in the
form of having BS11 default). The next step will be to make use of
this in the code.
This commit is contained in:
Holger Hans Peter Freyther 2009-12-29 04:22:12 +01:00
parent 304db15bd4
commit 615e650fd4
1 changed files with 22 additions and 4 deletions

View File

@ -10,14 +10,16 @@ Index: wireshark/epan/dissectors/Makefile.common
packet-gsm_ipa.c \
packet-gsm_bsslap.c \
packet-gsm_bssmap_le.c \
Index: wireshark/epan/dissectors/packet-gsm_abis_oml.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..2de9dca
--- /dev/null
+++ wireshark/epan/dissectors/packet-gsm_abis_oml.c
@@ -0,0 +1,1365 @@
+++ b/epan/dissectors/packet-gsm_abis_oml.c
@@ -0,0 +1,1382 @@
+/* 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>
+ * Copyright 2009 by Holger Hans Peter Freyther <zecke@selfish.org>
+ * based on A-bis OML code in OpenBSC
+ *
+ * $Id$
@ -50,6 +52,7 @@ Index: wireshark/epan/dissectors/packet-gsm_abis_oml.c
+#include <epan/packet.h>
+#include <epan/emem.h>
+#include <epan/lapd_sapi.h>
+#include <epan/prefs.h>
+
+#include "packet-gsm_abis_oml.h"
+#include "packet-gsm_a_common.h"
@ -128,6 +131,9 @@ Index: wireshark/epan/dissectors/packet-gsm_abis_oml.c
+static int ett_oml_fom = -1;
+static int ett_oml_fom_att = -1;
+
+/* Decode things as nanoBTS traces */
+static gboolean global_oml_use_nano_bts = FALSE;
+
+static proto_tree *top_tree;
+
+/* TS 12.21 Chapter 8.1 / TS 08.59 */
@ -1053,6 +1059,9 @@ Index: wireshark/epan/dissectors/packet-gsm_abis_oml.c
+}
+
+void
+proto_reg_handoff_abis_oml(void);
+
+void
+proto_register_abis_oml(void)
+{
+ static hf_register_info hf[] = {
@ -1362,6 +1371,8 @@ Index: wireshark/epan/dissectors/packet-gsm_abis_oml.c
+ &ett_oml_fom_att,
+ };
+
+ module_t *oml_module;
+
+ proto_abis_oml = proto_register_protocol("GSM A-bis OML", "OML",
+ "gsm_abis_oml");
+
@ -1370,6 +1381,13 @@ Index: wireshark/epan/dissectors/packet-gsm_abis_oml.c
+ proto_register_subtree_array(ett, array_length(ett));
+
+ register_dissector("gsm_abis_oml", dissect_abis_oml, proto_abis_oml);
+
+
+ oml_module = prefs_register_protocol(proto_abis_oml, proto_reg_handoff_abis_oml);
+ prefs_register_bool_preference(oml_module, "use_ipaccess_oml",
+ "Use nanoBTS definitions",
+ "Use ipaccess nanoBTS specific definitions for OML",
+ &global_oml_use_nano_bts);
+}
+
+void