[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55B7F27E.6040706@alliedtelesis.co.nz>
Date: Tue, 28 Jul 2015 21:22:07 +0000
From: Richard Laing <Richard.Laing@...iedtelesis.co.nz>
To: Tom Herbert <tom@...bertland.com>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"jmorris@...ei.org" <jmorris@...ei.org>, Martin Lau <kafai@...com>
Subject: Re: [RFC PATCH 1/1] net/ipv4: Enable flow-based ECMP
On 07/29/2015 09:15 AM, Tom Herbert wrote:
> On Tue, Jul 28, 2015 at 2:02 PM, Tom Herbert <tom@...bertland.com> wrote:
>> On Mon, Jul 27, 2015 at 7:27 PM, Richard Laing
>> <Richard.Laing@...iedtelesis.co.nz> wrote:
>>> From: Richard Laing <richard.laing@...iedtelesis.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
Powered by blists - more mailing lists