aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-l2tp.c
diff options
context:
space:
mode:
authorJörg Mayer <jmayer@loplof.de>2012-02-26 17:30:38 +0000
committerJörg Mayer <jmayer@loplof.de>2012-02-26 17:30:38 +0000
commit1e61547b45e420cb7ad3d251299eff8efab53034 (patch)
tree9c9d25b38ed486e8d1e06d77bc17dd85c9cd1b82 /epan/dissectors/packet-l2tp.c
parentf97ad440312f11893465d83a45f14c59f3f4229e (diff)
Harald Welte <laforge@gnumonks.org>
via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6792 This is a new dissector for the non-standard Ericsson OM2000 protocol, as it is used for the OML on A-bis of Ericsson RBS 2xxx BTSs. It also includes a dissector for a shim-layer protocol that Ericsson uses for IP-based A-bis like the RBS 2409. As the protocol is not publicly documented, I have invented the name "EHDLC" (Ericsson HLDC) for it. svn path=/trunk/; revision=41195
Diffstat (limited to 'epan/dissectors/packet-l2tp.c')
-rw-r--r--epan/dissectors/packet-l2tp.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/epan/dissectors/packet-l2tp.c b/epan/dissectors/packet-l2tp.c
index 23552b1f63..63a7edc535 100644
--- a/epan/dissectors/packet-l2tp.c
+++ b/epan/dissectors/packet-l2tp.c
@@ -153,6 +153,7 @@ static enum_val_t l2tpv3_cookies[] = {
#define L2TPv3_PROTOCOL_AAL5 6
#define L2TPv3_PROTOCOL_LAPD 7
#define L2TPv3_PROTOCOL_DOCSIS_DMPT 8
+#define L2TPv3_PROTOCOL_ERICSSON 9
static enum_val_t l2tpv3_protocols[] = {
{"eth", "Ethernet", L2TPv3_PROTOCOL_ETH},
@@ -164,6 +165,7 @@ static enum_val_t l2tpv3_protocols[] = {
{"aal5", "AAL5", L2TPv3_PROTOCOL_AAL5},
{"lapd", "LAPD", L2TPv3_PROTOCOL_LAPD},
{"docsis-dmpt", "DOCSIS-DMPT", L2TPv3_PROTOCOL_DOCSIS_DMPT},
+ {"ehdlc", "Ericsson HDLC", L2TPv3_PROTOCOL_ERICSSON},
{NULL, NULL, 0}
};
@@ -588,6 +590,7 @@ static dissector_handle_t atm_oam_handle;
static dissector_handle_t llc_handle;
static dissector_handle_t lapd_handle;
static dissector_handle_t mp2t_handle;
+static dissector_handle_t ehdlc_handle;
static dissector_handle_t data_handle;
/*
@@ -1494,6 +1497,9 @@ process_l2tpv3_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
case L2TPv3_PROTOCOL_LAPD:
call_dissector(lapd_handle, next_tvb, pinfo, tree);
break;
+ case L2TPv3_PROTOCOL_ERICSSON:
+ call_dissector(ehdlc_handle, next_tvb, pinfo, tree);
+ break;
default:
call_dissector(data_handle, next_tvb, pinfo, tree);
break;
@@ -2185,5 +2191,6 @@ proto_reg_handoff_l2tp(void)
llc_handle = find_dissector("llc");
lapd_handle = find_dissector("lapd");
mp2t_handle = find_dissector("mp2t");
+ ehdlc_handle = find_dissector("ehdlc");
data_handle = find_dissector("data");
}