diff options
author | Harald Welte <laforge@gnumonks.org> | 2016-10-25 15:46:21 +0200 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2016-10-26 15:09:29 +0000 |
commit | 61e3569c4d8b02010cac4ef1fad29e8ef59299f0 (patch) | |
tree | 512e5130623e21d88f5188c95e42dba3d4ebff18 | |
parent | 88868c9ac6f35fca5ee48b4c8f7e921f1b62576b (diff) | |
download | wireshark-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.c | 15 |
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 }}, |