On 07/29/2015 09:15 AM, Tom Herbert wrote: > On Tue, Jul 28, 2015 at 2:02 PM, Tom Herbert <t...@herbertland.com> wrote: >> On Mon, Jul 27, 2015 at 7:27 PM, Richard Laing >> <richard.la...@alliedtelesis.co.nz> wrote: >>> From: Richard Laing <richard.la...@alliedtelesis.co.nz> >>> >>> Enable flow-based ECMP. >>> >>> Currently if equal-cost multipath is enabled the kernel chooses between >>> equal cost paths for each matching packet, essentially packets are >>> round-robined between the routes. This means that packets from a single >>> flow can traverse different routes. If one of the routes experiences >>> congestion this can result in delayed or out of order packets arriving >>> at the destination. >>> >> Richard, someone was complaining to me just last week about the >> weakness of the round robin algorithm. Thanks for looking into this! >> >>> This patch allows packets to be routed based on their >>> flow - packets in the same flow will always use the same route. This >>> prevents out of order packets. There are other issues with round-robin >>> based ECMP routing related to variable path MTU handling and debugging. >>> See RFC2991 for more details on the problems associated with packet >>> based ECMP routing. >>> > btw, it looks like IPv6 is already doing the hash but is calculating > it by hand instead of using sk_txhash or skb->hash. It would be nice > if we could unify this between v4 and v6 at some point to both using > the existing hashes. > > Tom
Thanks Tom, yes IPv6 does work just fine currently. Assuming I get a version of this patch pushed updating the IPv6 version would seem like a good option. -- Richard Laing Software Team Leader Allied Telesis Labs| 27 Nazareth Ave | Christchurch 8024 | New Zealand Phone: +64 3 339 9248 Web: www.alliedtelesis.com