diff options
author | jmayer <jmayer@f5534014-38df-0310-8fa8-9805f1628bb7> | 2010-09-24 18:12:45 +0000 |
---|---|---|
committer | jmayer <jmayer@f5534014-38df-0310-8fa8-9805f1628bb7> | 2010-09-24 18:12:45 +0000 |
commit | d1e1fe87e94d7af93b60b9ce1d2f822aef81d038 (patch) | |
tree | 79f55ac8f0ebeeee2c1fe9555736cf7a3ad5b227 /epan/dissectors/packet-cisco-erspan.c | |
parent | 1e328cbb7d1327fc91ea2855cb5f72cf55b5bcb0 (diff) |
Comparing type II and III traces of the same packet
indicate that the last 4 bytes of both types are similar.
So the extra bytes in type III are inserted before those
last bytes.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@34238 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-cisco-erspan.c')
-rw-r--r-- | epan/dissectors/packet-cisco-erspan.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/epan/dissectors/packet-cisco-erspan.c b/epan/dissectors/packet-cisco-erspan.c index f5e1c283e7..a71c1cc0fc 100644 --- a/epan/dissectors/packet-cisco-erspan.c +++ b/epan/dissectors/packet-cisco-erspan.c @@ -82,6 +82,7 @@ static int hf_erspan_unknown4 = -1; static int hf_erspan_direction2 = -1; static int hf_erspan_unknown5 = -1; static int hf_erspan_unknown6 = -1; +static int hf_erspan_unknown7 = -1; #define PROTO_SHORT_NAME "ERSPAN" #define PROTO_LONG_NAME "Encapsulated Remote Switch Packet ANalysis" @@ -161,11 +162,7 @@ dissect_erspan(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) FALSE); offset += 2; - if (version == 1) { - proto_tree_add_item(erspan_tree, hf_erspan_unknown4, tvb, - offset, 4, FALSE); - offset += 4; - } else { /* version = 2 */ + if (version == 2) { proto_tree_add_item(erspan_tree, hf_erspan_timestamp, tvb, offset, 4, FALSE); offset += 4; @@ -181,9 +178,12 @@ dissect_erspan(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) offset += 2; proto_tree_add_item(erspan_tree, hf_erspan_unknown6, tvb, - offset, 8, FALSE); - offset += 8; + offset, 4, FALSE); + offset += 4; } + proto_tree_add_item(erspan_tree, hf_erspan_unknown7, tvb, offset, 4, + FALSE); + offset += 4; } else { offset += 8; @@ -252,6 +252,10 @@ proto_register_erspan(void) { "Unknown6", "erspan.unknown6", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_erspan_unknown7, + { "Unknown7", "erspan.unknown7", FT_BYTES, BASE_NONE, NULL, + 0, NULL, HFILL }}, + }; static gint *ett[] = { &ett_erspan, |