summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaap Keuter <jaap.keuter@xs4all.nl>2017-03-22 00:32:14 +0100
committerAnders Broman <a.broman58@gmail.com>2017-03-22 09:51:23 +0000
commit9477e47f794e5ce70db9c66ddc0c85b2a145e61a (patch)
treedf8b14c31d36b666535ab9e0348be0b3314ea72d
parentaf79cf1700fc4acc8933a409d8a5cc56327d448c (diff)
downloadwireshark-9477e47f794e5ce70db9c66ddc0c85b2a145e61a.tar.gz
Netlink: update some values used in netlink
Change-Id: Id12caf9d40b0f53880ea4cc9200c340086e0b39b Reviewed-on: https://code.wireshark.org/review/20661 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
-rw-r--r--epan/arptypes.h3
-rw-r--r--epan/dissectors/packet-arp.c4
-rw-r--r--epan/dissectors/packet-netlink-sock_diag.c34
-rw-r--r--epan/dissectors/packet-netlink.h2
4 files changed, 38 insertions, 5 deletions
diff --git a/epan/arptypes.h b/epan/arptypes.h
index f59f2e4f62..7ff4ffc38d 100644
--- a/epan/arptypes.h
+++ b/epan/arptypes.h
@@ -75,8 +75,9 @@ extern "C" {
#define ARPHDR_HW_EXP2 256 /* HW_EXP2 */
/* Virtual ARP types for non ARP hardware used in Linux cooked mode. */
+#define ARPHRD_LOOPBACK 772 /* Loopback */
#define ARPHRD_IPGRE 778 /* GRE over IP */
-#define ARPHRD_NETLINK 824 /* netlink */
+#define ARPHRD_NETLINK 824 /* netlink */
#ifdef __cplusplus
}
diff --git a/epan/dissectors/packet-arp.c b/epan/dissectors/packet-arp.c
index 1efa3df028..0bf8003f5c 100644
--- a/epan/dissectors/packet-arp.c
+++ b/epan/dissectors/packet-arp.c
@@ -506,6 +506,10 @@ const value_string arp_hrd_vals[] = {
{ARPHDR_HW_EXP1, "Experimental 1" },
{ARPHDR_HFI, "HFI" },
{ARPHDR_HW_EXP2, "Experimental 2" },
+ /* Virtual ARP types for non ARP hardware used in Linux cooked mode. */
+ {ARPHRD_LOOPBACK, "Loopback" },
+ {ARPHRD_IPGRE, "GRE over IP" },
+ {ARPHRD_NETLINK, "Netlink" },
{0, NULL } };
/* Offsets of fields within an ARP packet. */
diff --git a/epan/dissectors/packet-netlink-sock_diag.c b/epan/dissectors/packet-netlink-sock_diag.c
index c680ac267d..b118a0f87e 100644
--- a/epan/dissectors/packet-netlink-sock_diag.c
+++ b/epan/dissectors/packet-netlink-sock_diag.c
@@ -53,7 +53,8 @@ enum {
WS_DCCPDIAG_GETSOCK = 19,
/* <linux/sock_diag.h> */
- WS_SOCK_DIAG_BY_FAMILY = 20
+ WS_SOCK_DIAG_BY_FAMILY = 20,
+ WS_SOCK_DESTROY = 21
};
enum {
@@ -101,7 +102,15 @@ enum ws_inet_diag_attr_type {
WS_INET_DIAG_TOS = 5,
WS_INET_DIAG_TCLASS = 6,
WS_INET_DIAG_SKMEMINFO = 7,
- WS_INET_DIAG_SHUTDOWN = 8
+ WS_INET_DIAG_SHUTDOWN = 8,
+ WS_INET_DIAG_DCTCPINFO = 9,
+ WS_INET_DIAG_PROTOCOL = 10,
+ WS_INET_DIAG_SKV6ONLY = 11,
+ WS_INET_DIAG_LOCALS = 12,
+ WS_INET_DIAG_PEERS = 13,
+ WS_INET_DIAG_PAD = 14,
+ WS_INET_DIAG_MARK = 15,
+ WS_INET_DIAG_BBRINFO = 16,
};
enum ws_netlink_diag_show_type {
@@ -153,7 +162,8 @@ enum {
WS_CLOSE_WAIT = 8,
WS_LAST_ACK = 9,
WS_LISTEN = 10,
- WS_CLOSING = 11
+ WS_CLOSING = 11,
+ WS_NEW_SYNC_RECV = 12
};
static int ett_netlink_sock_diag = -1;
@@ -193,6 +203,7 @@ static const value_string socket_state_vals[] = {
{ WS_LAST_ACK, "LAST_ACK" },
{ WS_LISTEN, "LISTEN" },
{ WS_CLOSING, "CLOSING" },
+ { WS_NEW_SYNC_RECV, "NEW_SYNC_RECV" },
{ 0, NULL }
};
@@ -534,6 +545,14 @@ static const value_string netlink_sock_diag_inet_attr_vals[] = {
{ WS_INET_DIAG_TCLASS, "tclass" },
{ WS_INET_DIAG_SKMEMINFO, "skmeminfo" },
{ WS_INET_DIAG_SHUTDOWN, "shutdown" },
+ { WS_INET_DIAG_DCTCPINFO, "dctcpinfo" },
+ { WS_INET_DIAG_PROTOCOL, "protocol" },
+ { WS_INET_DIAG_SKV6ONLY, "skv6only" },
+ { WS_INET_DIAG_LOCALS, "locals" },
+ { WS_INET_DIAG_PEERS, "peers" },
+ { WS_INET_DIAG_PAD, "pad" },
+ { WS_INET_DIAG_MARK, "mark" },
+ { WS_INET_DIAG_BBRINFO, "bbrinfo" },
{ 0, NULL }
};
@@ -579,6 +598,14 @@ dissect_sock_diag_inet_attributes(tvbuff_t *tvb, void *data, proto_tree *tree, i
case WS_INET_DIAG_CONG:
case WS_INET_DIAG_TOS:
case WS_INET_DIAG_TCLASS:
+ case WS_INET_DIAG_DCTCPINFO:
+ case WS_INET_DIAG_PROTOCOL:
+ case WS_INET_DIAG_SKV6ONLY:
+ case WS_INET_DIAG_LOCALS:
+ case WS_INET_DIAG_PEERS:
+ case WS_INET_DIAG_PAD:
+ case WS_INET_DIAG_MARK:
+ case WS_INET_DIAG_BBRINFO:
default:
return 0;
}
@@ -1065,6 +1092,7 @@ static const value_string netlink_sock_diag_type_vals[] = {
{ WS_TCPDIAG_GETSOCK, "TCPDIAG_GETSOCK" },
{ WS_DCCPDIAG_GETSOCK, "DCCPDIAG_GETSOCK" },
{ WS_SOCK_DIAG_BY_FAMILY, "SOCK_DIAG_BY_FAMILY" },
+ { WS_SOCK_DESTROY, "SOCK_DESTROY" },
{ 0, NULL }
};
diff --git a/epan/dissectors/packet-netlink.h b/epan/dissectors/packet-netlink.h
index 1e9601f527..ce0a8259a5 100644
--- a/epan/dissectors/packet-netlink.h
+++ b/epan/dissectors/packet-netlink.h
@@ -62,7 +62,7 @@ enum {
/* Modifiers to Get request */
WS_NLM_F_ROOT = 0x100, /* specify tree root */
WS_NLM_F_MATCH = 0x200, /* return all matching */
- WS_NLM_F_ATOMIC = 0x400, /* = (NETLINK_MSG_F_ROOT | NETLINK_MSG_F_MATCH) */
+ WS_NLM_F_ATOMIC = 0x400, /* return an atomic snapshot of the table */
/* Modifiers to NEW request */
WS_NLM_F_REPLACE = 0x100, /* Override existing */