]> Git Repo - linux.git/commit - include/net/ipv6.h
ipv6: add ipv6_addr_hash() helper
authorEric Dumazet <[email protected]>
Wed, 18 Jul 2012 08:11:12 +0000 (08:11 +0000)
committerDavid S. Miller <[email protected]>
Wed, 18 Jul 2012 18:28:46 +0000 (11:28 -0700)
commitddbe503203855939946430e39bae58de11b70b69
tree1605a8d3b14a92819eb8ed47ae5a84c1b66e12f8
parentdc9059512c09d09b99de6cd3a8bc842507934cbb
ipv6: add ipv6_addr_hash() helper

Introduce ipv6_addr_hash() helper doing a XOR on all bits
of an IPv6 address, with an optimized x86_64 version.

Use it in flow dissector, as suggested by Andrew McGregor,
to reduce hash collision probabilities in fq_codel (and other
users of flow dissector)

Use it in ip6_tunnel.c and use more bit shuffling, as suggested
by David Laight, as existing hash was ignoring most of them.

Use it in sunrpc and use more bit shuffling, using hash_32().

Use it in net/ipv6/addrconf.c, using hash_32() as well.

As a cleanup, use it in net/ipv4/tcp_metrics.c

Signed-off-by: Eric Dumazet <[email protected]>
Reported-by: Andrew McGregor <[email protected]>
Cc: Dave Taht <[email protected]>
Cc: Tom Herbert <[email protected]>
Cc: David Laight <[email protected]>
Cc: Joe Perches <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
include/net/addrconf.h
include/net/ipv6.h
net/core/flow_dissector.c
net/ipv4/tcp_metrics.c
net/ipv6/addrconf.c
net/ipv6/ip6_tunnel.c
net/sunrpc/svcauth_unix.c
This page took 0.055091 seconds and 4 git commands to generate.