summaryrefslogtreecommitdiff
path: root/net/core/flow_dissector.c
diff options
context:
space:
mode:
authorTom Herbert <tom@herbertland.com>2015-06-04 09:16:42 -0700
committerDavid S. Miller <davem@davemloft.net>2015-06-04 15:44:31 -0700
commit45b47fd00ca14df869979dbbe14324625ec93552 (patch)
tree9c4f0012bffb2be16c171db828a0957c126f60de /net/core/flow_dissector.c
parent9f24908901c5f4b1e3b07548106b1790af933476 (diff)
net: Get rid of IPv6 hash addresses flow keys
We don't need to return the IPv6 address hash as part of flow keys. In general, using the IPv6 address hash is risky in a hash value since the underlying use of xor provides no entropy. If someone really needs the hash value they can get it from the full IPv6 addresses in flow keys (e.g. from flow_get_u32_src). Signed-off-by: Tom Herbert <tom@herbertland.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/flow_dissector.c')
-rw-r--r--net/core/flow_dissector.c17
1 files changed, 0 insertions, 17 deletions
diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c
index 91861c3d45a7..5348a468de78 100644
--- a/net/core/flow_dissector.c
+++ b/net/core/flow_dissector.c
@@ -200,19 +200,6 @@ ipv6:
nhoff += sizeof(struct ipv6hdr);
if (skb_flow_dissector_uses_key(flow_dissector,
- FLOW_DISSECTOR_KEY_IPV6_HASH_ADDRS)) {
- key_addrs = skb_flow_dissector_target(flow_dissector,
- FLOW_DISSECTOR_KEY_IPV6_HASH_ADDRS,
- target_container);
-
- key_addrs->v4addrs.src =
- (__force __be32)ipv6_addr_hash(&iph->saddr);
- key_addrs->v4addrs.dst =
- (__force __be32)ipv6_addr_hash(&iph->daddr);
- key_control->addr_type = FLOW_DISSECTOR_KEY_IPV4_ADDRS;
- goto flow_label;
- }
- if (skb_flow_dissector_uses_key(flow_dissector,
FLOW_DISSECTOR_KEY_IPV6_ADDRS)) {
struct flow_dissector_key_ipv6_addrs *key_ipv6_addrs;
@@ -651,10 +638,6 @@ static const struct flow_dissector_key flow_keys_dissector_keys[] = {
.offset = offsetof(struct flow_keys, addrs.v6addrs),
},
{
- .key_id = FLOW_DISSECTOR_KEY_IPV6_HASH_ADDRS,
- .offset = offsetof(struct flow_keys, addrs.v4addrs),
- },
- {
.key_id = FLOW_DISSECTOR_KEY_TIPC_ADDRS,
.offset = offsetof(struct flow_keys, addrs.tipcaddrs),
},