diff options
author | Jiri Pirko <jiri@resnulli.us> | 2015-05-12 08:56:19 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-05-13 15:19:47 -0400 |
commit | 67a900cc0436d74e7ff89042371760def087680d (patch) | |
tree | fa8b25e4f6117d69c1714744fe8e0fdc67914408 /include/net/flow_dissector.h | |
parent | b924933cbbfbdcaa2831a39780c116ec6e48c397 (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.h | 13 |
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 | */ | ||
63 | struct 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 | |||
57 | enum flow_dissector_key_id { | 69 | enum 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 | }; |