summaryrefslogtreecommitdiff
path: root/dissector.h
diff options
context:
space:
mode:
Diffstat (limited to 'dissector.h')
-rw-r--r--dissector.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/dissector.h b/dissector.h
index 5580110..226d2bc 100644
--- a/dissector.h
+++ b/dissector.h
@@ -17,6 +17,7 @@
#include "ring.h"
#include "tprintf.h"
#include "linktype.h"
+#include "proto_vlan.h"
#define PRINT_NORM 0
#define PRINT_LESS 1
@@ -91,6 +92,17 @@ static inline void __show_frame_hdr(uint8_t *packet, size_t len, int linktype,
tpacket_uhdr(hdr, tp_nsec, v3),
count,
v3 ? "" : __show_ts_source(hdr.h2->tp_status));
+
+ if (tpacket_has_vlan_info(&hdr)) {
+ uint16_t tci = tpacket_uhdr_vlan_tci(&hdr, v3);
+
+ tprintf(" [ tpacketv3 VLAN ");
+ tprintf("Prio (%u), ", vlan_tci2prio(tci));
+ tprintf("CFI (%u), ", vlan_tci2cfi(tci));
+ tprintf("ID (%u), ", vlan_tci2vid(tci));
+ tprintf("Proto (0x%.4x)", tpacket_uhdr_vlan_proto(&hdr, v3));
+ tprintf(" ]\n");
+ }
break;
}
}