summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2016-10-25 15:46:21 +0200
committerMichael Mann <mmann78@netscape.net>2016-10-26 15:09:29 +0000
commit61e3569c4d8b02010cac4ef1fad29e8ef59299f0 (patch)
tree512e5130623e21d88f5188c95e42dba3d4ebff18
parent88868c9ac6f35fca5ee48b4c8f7e921f1b62576b (diff)
downloadwireshark-61e3569c4d8b02010cac4ef1fad29e8ef59299f0.tar.gz
L2TP: Dissect three formerly unknown bytes in Ericsson Transport Cfg
The meaning of the last three bytes of a Transport configuration has been uncovered: They control the batching/bundling of signalling messages: All signalling messages are delayed + bundled until either the timeout expires, or the message exceeds the limit. Change-Id: I794658e99e3c66145627652de4269fb08bc74ca3 Reviewed-on: https://code.wireshark.org/review/18471 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
-rw-r--r--epan/dissectors/packet-l2tp.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/epan/dissectors/packet-l2tp.c b/epan/dissectors/packet-l2tp.c
index da618d0ccc..1d0b8793ec 100644
--- a/epan/dissectors/packet-l2tp.c
+++ b/epan/dissectors/packet-l2tp.c
@@ -173,6 +173,8 @@ static int hf_l2tp_ericsson_tcg_sapi = -1;
static int hf_l2tp_ericsson_tcg_ip = -1;
static int hf_l2tp_ericsson_tcg_dscp = -1;
static int hf_l2tp_ericsson_tcg_crc32_enable = -1;
+static int hf_l2tp_ericsson_tcg_bundling_tout = -1;
+static int hf_l2tp_ericsson_tcg_bundling_max_pkt = -1;
static int hf_l2tp_ericsson_tc_num_maps = -1;
static int hf_l2tp_ericsson_map_tei_low = -1;
static int hf_l2tp_ericsson_map_tei_high = -1;
@@ -1754,8 +1756,9 @@ static int dissect_l2tp_ericsson_transp_cfg(tvbuff_t *tvb, proto_tree *parent_tr
offset += 4;
proto_tree_add_item(tree, hf_l2tp_ericsson_tcg_dscp, tvb, offset++, 1, ENC_NA);
proto_tree_add_item(tree, hf_l2tp_ericsson_tcg_crc32_enable, tvb, offset++, 1, ENC_NA);
- /* Three more unknown bytes at the end of the group, like 05 01 2C */
- offset += 3;
+ proto_tree_add_item(tree, hf_l2tp_ericsson_tcg_bundling_tout, tvb, offset++, 1, ENC_NA);
+ proto_tree_add_item(tree, hf_l2tp_ericsson_tcg_bundling_max_pkt, tvb, offset, 2, ENC_BIG_ENDIAN);
+ offset += 2;
}
return offset;
@@ -3591,6 +3594,14 @@ proto_register_l2tp(void)
{ "CRC32 Enabled", "l2tp.ericsson.crc32_en", FT_BOOLEAN, BASE_NONE, NULL, 0x0,
NULL, HFILL }},
+ { &hf_l2tp_ericsson_tcg_bundling_tout,
+ { "TCG Bundling Timeout (ms)", "l2tp.ericsson.gcg.bundle_tout", FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_l2tp_ericsson_tcg_bundling_max_pkt,
+ { "TCG Bundling Max Packet Size", "l2tp.ericsson.tcg.bundle_max_pkt", FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
{ &hf_l2tp_ericsson_tc_num_maps,
{ "Number of TEI-SC Maps", "l2tp.ericsson.num_maps", FT_UINT8, BASE_DEC, NULL, 0x0,
NULL, HFILL }},