From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ido Schimmel Subject: [PATCH net-next 0/4] ipv6: Add support for non-equal-cost multipath Date: Tue, 9 Jan 2018 16:40:24 +0200 Message-ID: <20180109144028.30133-1-idosch@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain Cc: davem@davemloft.net, dsahern@gmail.com, roopa@cumulusnetworks.com, nikolay@cumulusnetworks.com, pch@ordbogen.com, jkbs@redhat.com, yoshfuji@linux-ipv6.org, mlxsw@mellanox.com, Ido Schimmel To: netdev@vger.kernel.org Return-path: Received: from mail-ve1eur01on0084.outbound.protection.outlook.com ([104.47.1.84]:11996 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752769AbeAIOlx (ORCPT ); Tue, 9 Jan 2018 09:41:53 -0500 Sender: netdev-owner@vger.kernel.org List-ID: 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(-) -- 2.14.3