On 1/9/18 7:40 AM, Ido Schimmel wrote:
> This set aims to add support for IPv6 non-equal-cost multipath routes.
> The first three patches convert multipath selection to use the
> hash-threshold method (RFC 2992) instead of modulo-N. The same method is
> employed by the IPv4 routing code since commit 0e884c78ee19 ("ipv4: L3
> hash-based multipath").
>
> Unlike modulo-N, with hash-threshold only the flows near the region
> boundaries are affected when a nexthop is added or removed. In addition,
> it allows us to easily add support for non-equal-cost multipath in the
> last patch by sizing the different regions according to the provided
> weights.
>
> Ido Schimmel (4):
> ipv6: Calculate hash thresholds for IPv6 nexthops
> ipv6: Use a 31-bit multipath hash
> ipv6: Use hash-threshold instead of modulo-N
> ipv6: Add support for non-equal-cost multipath
>
> include/net/ip6_fib.h | 2 +
> include/net/ip6_route.h | 7 +++
> net/ipv6/ip6_fib.c | 8 +--
> net/ipv6/route.c | 141
> +++++++++++++++++++++++++++++++++++++++---------
> 4 files changed, 126 insertions(+), 32 deletions(-)
>
Also, have you considered support for sysctl_fib_multipath_hash_policy?