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?