From: Tom Herbert <tom@herbertland.com>
To: <davem@davemloft.net>, <jiri@resnulli.us>, <netdev@vger.kernel.org>
Subject: [PATCH v4 net-next 07/11] net: Get rid of IPv6 hash addresses flow keys
Date: Thu, 21 May 2015 17:11:42 -0700 [thread overview]
Message-ID: <1432253506-3646977-8-git-send-email-tom@herbertland.com> (raw)
In-Reply-To: <1432253506-3646977-1-git-send-email-tom@herbertland.com>
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>
---
include/net/flow_dissector.h | 1 -
net/core/flow_dissector.c | 17 -----------------
2 files changed, 18 deletions(-)
diff --git a/include/net/flow_dissector.h b/include/net/flow_dissector.h
index 3ee606a..59f00f9 100644
--- a/include/net/flow_dissector.h
+++ b/include/net/flow_dissector.h
@@ -103,7 +103,6 @@ enum flow_dissector_key_id {
FLOW_DISSECTOR_KEY_BASIC, /* struct flow_dissector_key_basic */
FLOW_DISSECTOR_KEY_IPV4_ADDRS, /* struct flow_dissector_key_ipv4_addrs */
FLOW_DISSECTOR_KEY_IPV6_ADDRS, /* struct flow_dissector_key_ipv6_addrs */
- FLOW_DISSECTOR_KEY_IPV6_HASH_ADDRS, /* struct flow_dissector_key_addrs */
FLOW_DISSECTOR_KEY_PORTS, /* struct flow_dissector_key_ports */
FLOW_DISSECTOR_KEY_ETH_ADDRS, /* struct flow_dissector_key_eth_addrs */
FLOW_DISSECTOR_KEY_TIPC_ADDRS, /* struct flow_dissector_key_tipc_addrs */
diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c
index 8d6f089..44e47c5 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_IPV6_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),
},
--
1.8.1
next prev parent reply other threads:[~2015-05-22 0:12 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-22 0:11 [PATCH v4 net-next 00/11] net: Increase inputs to flow_keys hashing Tom Herbert
2015-05-22 0:11 ` [PATCH v4 net-next 01/11] net: Simplify GRE case in flow_dissector Tom Herbert
2015-05-22 6:36 ` Jiri Pirko
2015-05-22 0:11 ` [PATCH v4 net-next 02/11] mpls: Add definition for IPPROTO_MPLS Tom Herbert
2015-05-22 6:37 ` Jiri Pirko
2015-05-22 0:11 ` [PATCH v4 net-next 03/11] net: Remove superfluous setting of key_basic Tom Herbert
2015-05-22 6:37 ` Jiri Pirko
2015-05-22 0:11 ` [PATCH v4 net-next 04/11] net: Get skb hash over flow_keys structure Tom Herbert
2015-05-22 6:52 ` Jiri Pirko
2015-05-22 0:11 ` [PATCH v4 net-next 05/11] net: Add full IPv6 addresses to flow_keys Tom Herbert
2015-05-22 4:16 ` Cong Wang
2015-05-22 7:57 ` Jiri Pirko
2015-05-22 15:08 ` Tom Herbert
2015-05-22 0:11 ` [PATCH v4 net-next 06/11] net: Add keys for TIPC address Tom Herbert
2015-05-22 8:05 ` Jiri Pirko
2015-05-22 0:11 ` Tom Herbert [this message]
2015-05-22 8:08 ` [PATCH v4 net-next 07/11] net: Get rid of IPv6 hash addresses flow keys Jiri Pirko
2015-05-22 0:11 ` [PATCH v4 net-next 08/11] net: Add VLAN ID to flow_keys Tom Herbert
2015-05-22 0:11 ` [PATCH v4 net-next 09/11] net: Add IPv6 flow label " Tom Herbert
2015-05-22 8:14 ` Jiri Pirko
2015-05-22 15:14 ` Tom Herbert
2015-05-22 15:22 ` Jiri Pirko
2015-05-22 20:12 ` Tom Herbert
2015-05-22 0:11 ` [PATCH v4 net-next 10/11] net: Add GRE keyid in flow_keys Tom Herbert
2015-05-22 0:11 ` [PATCH v4 net-next 11/11] mpls: Add MPLS entropy label " Tom Herbert
2015-05-22 8:19 ` Jiri Pirko
-- strict thread matches above, loose matches on Subject: below --
2015-05-28 18:18 [PATCH v4 net-next 00/11] net: Increase inputs to flow_keys hashing Tom Herbert
2015-05-28 18:19 ` [PATCH v4 net-next 07/11] net: Get rid of IPv6 hash addresses flow keys Tom Herbert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1432253506-3646977-8-git-send-email-tom@herbertland.com \
--to=tom@herbertland.com \
--cc=davem@davemloft.net \
--cc=jiri@resnulli.us \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).