aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/flow_dissector.h
diff options
context:
space:
mode:
authorJiri Pirko <jiri@resnulli.us>2015-05-12 08:56:19 -0400
committerDavid S. Miller <davem@davemloft.net>2015-05-13 15:19:47 -0400
commit67a900cc0436d74e7ff89042371760def087680d (patch)
treefa8b25e4f6117d69c1714744fe8e0fdc67914408 /include/net/flow_dissector.h
parentb924933cbbfbdcaa2831a39780c116ec6e48c397 (diff)
flow_dissector: introduce support for Ethernet addresses
Signed-off-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/flow_dissector.h')
-rw-r--r--include/net/flow_dissector.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/net/flow_dissector.h b/include/net/flow_dissector.h
index 586b12306a52..5eac9870689c 100644
--- a/include/net/flow_dissector.h
+++ b/include/net/flow_dissector.h
@@ -4,6 +4,7 @@
4#include <linux/types.h> 4#include <linux/types.h>
5#include <linux/skbuff.h> 5#include <linux/skbuff.h>
6#include <linux/in6.h> 6#include <linux/in6.h>
7#include <uapi/linux/if_ether.h>
7 8
8/** 9/**
9 * struct flow_dissector_key_basic: 10 * struct flow_dissector_key_basic:
@@ -54,12 +55,24 @@ struct flow_dissector_key_ipv6_addrs {
54 struct in6_addr dst; 55 struct in6_addr dst;
55}; 56};
56 57
58/**
59 * struct flow_dissector_key_eth_addrs:
60 * @src: source Ethernet address
61 * @dst: destination Ethernet address
62 */
63struct flow_dissector_key_eth_addrs {
64 /* (dst,src) must be grouped, in the same way than in ETH header */
65 unsigned char dst[ETH_ALEN];
66 unsigned char src[ETH_ALEN];
67};
68
57enum flow_dissector_key_id { 69enum flow_dissector_key_id {
58 FLOW_DISSECTOR_KEY_BASIC, /* struct flow_dissector_key_basic */ 70 FLOW_DISSECTOR_KEY_BASIC, /* struct flow_dissector_key_basic */
59 FLOW_DISSECTOR_KEY_IPV4_ADDRS, /* struct flow_dissector_key_addrs */ 71 FLOW_DISSECTOR_KEY_IPV4_ADDRS, /* struct flow_dissector_key_addrs */
60 FLOW_DISSECTOR_KEY_IPV6_HASH_ADDRS, /* struct flow_dissector_key_addrs */ 72 FLOW_DISSECTOR_KEY_IPV6_HASH_ADDRS, /* struct flow_dissector_key_addrs */
61 FLOW_DISSECTOR_KEY_PORTS, /* struct flow_dissector_key_ports */ 73 FLOW_DISSECTOR_KEY_PORTS, /* struct flow_dissector_key_ports */
62 FLOW_DISSECTOR_KEY_IPV6_ADDRS, /* struct flow_dissector_key_ipv6_addrs */ 74 FLOW_DISSECTOR_KEY_IPV6_ADDRS, /* struct flow_dissector_key_ipv6_addrs */
75 FLOW_DISSECTOR_KEY_ETH_ADDRS, /* struct flow_dissector_key_eth_addrs */
63 76
64 FLOW_DISSECTOR_KEY_MAX, 77 FLOW_DISSECTOR_KEY_MAX,
65}; 78};