]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit - net/ipv6/route.c
ipv6: Calculate hash thresholds for IPv6 nexthops
authorIdo Schimmel <idosch@mellanox.com>
Tue, 9 Jan 2018 14:40:25 +0000 (16:40 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 10 Jan 2018 20:14:44 +0000 (15:14 -0500)
commitd7dedee184e775f77d321cfa1c660a7680cf6588
tree7d59d50b661562ccf2cfad936be59b37f7f69b99
parente2b3b35eb9896f26c98b9a2c047d9111638059a2
ipv6: Calculate hash thresholds for IPv6 nexthops

Before we convert IPv6 to use hash-threshold instead of modulo-N, we
first need each nexthop to store its region boundary in the hash
function's output space.

The boundary is calculated by dividing the output space equally between
the different active nexthops. That is, nexthops that are not dead or
linkdown.

The boundaries are rebalanced whenever a nexthop is added or removed to
a multipath route and whenever a nexthop becomes active or inactive.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Acked-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/ip6_fib.h
include/net/ip6_route.h
net/ipv6/ip6_fib.c
net/ipv6/route.c