[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55B7F132.40006@alliedtelesis.co.nz>
Date: Tue, 28 Jul 2015 21:16:37 +0000
From: Richard Laing <Richard.Laing@...iedtelesis.co.nz>
To: Stephen Hemminger <stephen@...workplumber.org>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"jmorris@...ei.org" <jmorris@...ei.org>
Subject: Re: [RFC PATCH 1/1] net/ipv4: Enable flow-based ECMP
On 07/29/2015 07:51 AM, Stephen Hemminger wrote:
> On Tue, 28 Jul 2015 02:27:57 +0000
> 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.
>>
>> 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.
>>
>> This patch relies on the skb hash value to select between routes. The
>> selection uses a hash-threshold algorithm (see RFC2992).
>>
>> Signed-off-by: Richard Laing <richard.laing@...iedtelesis.co.nz>
> ECMP needs some work, glad to see someone has started again.
> A little bit of history, the original ECMP algorithm selection code was dropped years ago
> because it was buggy. The API was good, but the implemenation had problems.
>
> Somewhere in my dustbin, I have some patches from internal stuff that allows
> selecting the algorithm at runtime.
>
> Your implementation makes it a compile time choice. Although this is good
> for testing, it really needs to be a sysctl or route attribute to be
> useful in a distro environment.
>
> As others said, your mailer is mangling the lines by wrapping.
Thanks Stephen, not sure what happened with the formatting, I'll try and
find out. I will look at a sysctl option to enable the flow based ECMP
option.
Cheers
Richard
--
Richard Laing
Software Team Leader
Allied Telesis Labs| 27 Nazareth Ave | Christchurch 8024 | New Zealand
Phone: +64 3 339 9248
Web: www.alliedtelesis.com
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists