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

Reply via email to