diff options
author | Martin KaFai Lau <kafai@fb.com> | 2017-12-01 23:52:30 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-12-03 18:18:28 +0300 |
commit | f0b1e64c1331dd8a2f0c30fcd0838db6cb406098 (patch) | |
tree | 6ce059baf578caa9114dfaa6951a242004eca20f /include/net/ip.h | |
parent | 76d013b20ba9a5f88eee7c90ac82cbc3ee64be18 (diff) | |
download | linux-f0b1e64c1331dd8a2f0c30fcd0838db6cb406098.tar.xz |
udp: Move udp[46]_portaddr_hash() to net/ip[v6].h
This patch moves the udp[46]_portaddr_hash()
to net/ip[v6].h. The function name is renamed to
ipv[46]_portaddr_hash().
It will be used by a later patch which adds a second listener
hashtable hashed by the address and port.
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/ip.h')
-rw-r--r-- | include/net/ip.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/net/ip.h b/include/net/ip.h index 9896f46cbbf1..fc9bf1b1fe2c 100644 --- a/include/net/ip.h +++ b/include/net/ip.h @@ -26,12 +26,14 @@ #include <linux/ip.h> #include <linux/in.h> #include <linux/skbuff.h> +#include <linux/jhash.h> #include <net/inet_sock.h> #include <net/route.h> #include <net/snmp.h> #include <net/flow.h> #include <net/flow_dissector.h> +#include <net/netns/hash.h> #define IPV4_MAX_PMTU 65535U /* RFC 2675, Section 5.1 */ @@ -521,6 +523,13 @@ static inline unsigned int ipv4_addr_hash(__be32 ip) return (__force unsigned int) ip; } +static inline u32 ipv4_portaddr_hash(const struct net *net, + __be32 saddr, + unsigned int port) +{ + return jhash_1word((__force u32)saddr, net_hash_mix(net)) ^ port; +} + bool ip_call_ra_chain(struct sk_buff *skb); /* |