aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-cisco-erspan.c
diff options
context:
space:
mode:
authorJörg Mayer <jmayer@loplof.de>2010-09-24 18:12:45 +0000
committerJörg Mayer <jmayer@loplof.de>2010-09-24 18:12:45 +0000
commitc749fe000ce2452865ef09c1677b2d60e47a39aa (patch)
tree79f55ac8f0ebeeee2c1fe9555736cf7a3ad5b227 /epan/dissectors/packet-cisco-erspan.c
parentf442f4fe49d7b7478ac992d0791b911bc446cd92 (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. svn path=/trunk/; revision=34238
Diffstat (limited to 'epan/dissectors/packet-cisco-erspan.c')
-rw-r--r--epan/dissectors/packet-cisco-erspan.c18
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,