diff options
author | Peter Wu <peter@lekensteyn.nl> | 2016-08-20 18:33:27 +0200 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2016-08-21 23:49:23 +0000 |
commit | 928e90790609938cb90419244a86316f4abf6a8d (patch) | |
tree | 6e32033132ff7b54bddd86e1e32f76ffdc448024 /epan/dissectors/packet-nflog.c | |
parent | 767e1a26b8e8deaecc5130e381ee4a4b6b642757 (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.c | 44 |
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, |