aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-nflog.c
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2016-08-20 18:33:27 +0200
committerMichael Mann <mmann78@netscape.net>2016-08-21 23:49:23 +0000
commit928e90790609938cb90419244a86316f4abf6a8d (patch)
tree6e32033132ff7b54bddd86e1e32f76ffdc448024 /epan/dissectors/packet-nflog.c
parent767e1a26b8e8deaecc5130e381ee4a4b6b642757 (diff)
nflog: add fields for interface indices
Allows me to see the interface indices in a column. Change-Id: I0dd31d7ec06eb860e7c80a4273779ec9034ee42d Reviewed-on: https://code.wireshark.org/review/17193 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-nflog.c')
-rw-r--r--epan/dissectors/packet-nflog.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/epan/dissectors/packet-nflog.c b/epan/dissectors/packet-nflog.c
index 82df074dcc..6de5efc6ad 100644
--- a/epan/dissectors/packet-nflog.c
+++ b/epan/dissectors/packet-nflog.c
@@ -111,6 +111,18 @@ static header_field_info hfi_nflog_tlv_hwprotocol NFLOG_HFI_INIT =
static header_field_info hfi_nflog_tlv_hook NFLOG_HFI_INIT =
{ "Netfilter hook", "nflog.hook", FT_UINT8, BASE_DEC, VALS(netfilter_hooks_vals), 0x00, NULL, HFILL };
+static header_field_info hfi_nflog_tlv_ifindex_indev NFLOG_HFI_INIT =
+ { "IFINDEX_INDEV", "nflog.ifindex_indev", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL };
+
+static header_field_info hfi_nflog_tlv_ifindex_outdev NFLOG_HFI_INIT =
+ { "IFINDEX_OUTDEV", "nflog.ifindex_outdev", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL };
+
+static header_field_info hfi_nflog_tlv_ifindex_physindev NFLOG_HFI_INIT =
+ { "IFINDEX_PHYSINDEV", "nflog.ifindex_physindev", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL };
+
+static header_field_info hfi_nflog_tlv_ifindex_physoutdev NFLOG_HFI_INIT =
+ { "IFINDEX_PHYSOUTDEV", "nflog.ifindex_physoutdev", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL };
+
static header_field_info hfi_nflog_tlv_prefix NFLOG_HFI_INIT =
{ "Prefix", "nflog.prefix", FT_STRINGZ, BASE_NONE, NULL, 0x00, "TLV Prefix Value", HFILL };
@@ -203,6 +215,34 @@ dissect_nflog(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U
}
break;
+ case WS_NFULA_IFINDEX_INDEV:
+ if (value_len == 4) {
+ proto_tree_add_item(tlv_tree, &hfi_nflog_tlv_ifindex_indev, tvb, offset + 4, value_len, ENC_BIG_ENDIAN);
+ handled = TRUE;
+ }
+ break;
+
+ case WS_NFULA_IFINDEX_OUTDEV:
+ if (value_len == 4) {
+ proto_tree_add_item(tlv_tree, &hfi_nflog_tlv_ifindex_outdev, tvb, offset + 4, value_len, ENC_BIG_ENDIAN);
+ handled = TRUE;
+ }
+ break;
+
+ case WS_NFULA_IFINDEX_PHYSINDEV:
+ if (value_len == 4) {
+ proto_tree_add_item(tlv_tree, &hfi_nflog_tlv_ifindex_physindev, tvb, offset + 4, value_len, ENC_BIG_ENDIAN);
+ handled = TRUE;
+ }
+ break;
+
+ case WS_NFULA_IFINDEX_PHYSOUTDEV:
+ if (value_len == 4) {
+ proto_tree_add_item(tlv_tree, &hfi_nflog_tlv_ifindex_physoutdev, tvb, offset + 4, value_len, ENC_BIG_ENDIAN);
+ handled = TRUE;
+ }
+ break;
+
case WS_NFULA_PAYLOAD:
handled = TRUE;
break;
@@ -295,6 +335,10 @@ proto_register_nflog(void)
/* TLV values */
&hfi_nflog_tlv_hwprotocol,
&hfi_nflog_tlv_hook,
+ &hfi_nflog_tlv_ifindex_indev,
+ &hfi_nflog_tlv_ifindex_outdev,
+ &hfi_nflog_tlv_ifindex_physindev,
+ &hfi_nflog_tlv_ifindex_physoutdev,
&hfi_nflog_tlv_prefix,
&hfi_nflog_tlv_uid,
&hfi_nflog_tlv_gid,