From: Stephen Hemminger <stephen@networkplumber.org>
To: Roopa Prabhu <roopa@cumulusnetworks.com>
Cc: David Miller <davem@davemloft.net>,
Nikolay Aleksandrov <nikolay@cumulusnetworks.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
David Ahern <dsa@cumulusnetworks.com>,
jkbs@redhat.com, Eric Dumazet <edumazet@google.com>,
Peter Christensen <pch@ordbogen.com>
Subject: Re: [PATCH net-next v3] net: ipv4: add support for ECMP hash policy choice
Date: Tue, 14 Mar 2017 14:42:04 -0700 [thread overview]
Message-ID: <20170314144204.20d5c3a5@xeon-e3> (raw)
In-Reply-To: <CAJieiUjeYH=u6W5p18JA=RwKuFpX6HSrifD0fRE1rR2e0fsvhw@mail.gmail.com>
On Tue, 14 Mar 2017 14:10:22 -0700
Roopa Prabhu <roopa@cumulusnetworks.com> wrote:
> On Tue, Mar 14, 2017 at 1:25 PM, Stephen Hemminger
> <stephen@networkplumber.org> wrote:
> > On Tue, 14 Mar 2017 11:48:37 -0700 (PDT)
> > David Miller <davem@davemloft.net> wrote:
> >
> >> From: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
> >> Date: Tue, 14 Mar 2017 17:58:46 +0200
> >>
> >> > On 14/03/17 17:55, Stephen Hemminger wrote:
> >> >> On Tue, 14 Mar 2017 17:36:15 +0200
> >> >> Nikolay Aleksandrov <nikolay@cumulusnetworks.com> wrote:
> >> >>
> >> >>> This patch adds support for ECMP hash policy choice via a new sysctl
> >> >>> called fib_multipath_hash_policy and also adds support for L4 hashes.
> >> >>> The current values for fib_multipath_hash_policy are:
> >> >>> 0 - layer 3 (default)
> >> >>> 1 - layer 4
> >> >>> If there's an skb hash already set and it matches the chosen policy then it
> >> >>> will be used instead of being calculated (currently only for L4).
> >> >>> In L3 mode we always calculate the hash due to the ICMP error special
> >> >>> case, the flow dissector's field consistentification should handle the
> >> >>> address order thus we can remove the address reversals.
> >> >>>
> >> >>> Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
> >> >>
> >> >> It is good to see ECMP come back from the grave.
> >> >> Linux used to support it long ago but was abandoned after it was unstable
> >> >> and removed from iproute2 in 2012.
> >> >>
> >> >> The old API was through route attributes which makes more sense than
> >> >> doing it with sysctl. It makes more sense to use netlink instead.
> >> >> Therefore please go back and do something like the old API rather than doing it through
> >> >> sysctl.
> >> >>
> >> >
> >> > That's what my initial version did, but this was discussed during NetConf in Seville
> >> > and it was decided that it's best to make a global sysctl, thus the change.
> >>
> >> Correct, we discussed this, and we all agreed to only have a sysctl for now.
> >
> > Why? If you are going to have private discussions please post the rationale
> > in public.
>
> Stephen, is there any reason to have a per ecmp route multipath algo
> selection ?.
> All platforms have a global multipath selection algo. I also don't see
> routing daemons ready or willing to specify a per ecmp route multipath
> selection algo attribute.
There is no compelling reason to make the attribute per route. But the
issue is more that configuration through sysctl's is problematic. It doesn't
fit into the standard API paradigm. Sysctl's are like routing patches not
part of the real CLI. Trying to trap sysctl's for things like switchedev
offload is particularly problematic. I can see the case for either way,
and don't have a fixed opinion.
The bigger discussion is trying to keep a record of the rationale for decisions
such that there isn't buried tribal knowledge. This is why Dave has always been
quite insistent on having discussions on the mailing list. There doesn't seem to
be a good long term record other than Documentation/networking or commit logs.
next prev parent reply other threads:[~2017-03-14 21:42 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-06 14:59 [PATCH net-next] net: ipv4: add support for ECMP hash policy choice Nikolay Aleksandrov
2017-03-06 16:24 ` David Ahern
2017-03-06 16:52 ` Nikolay Aleksandrov
2017-03-07 6:16 ` Roopa Prabhu
2017-03-07 11:01 ` [PATCH net-next v2] " Nikolay Aleksandrov
2017-03-08 12:05 ` Jakub Sitnicki
2017-03-08 12:43 ` Nikolay Aleksandrov
2017-03-08 16:00 ` Jakub Sitnicki
2017-03-13 2:23 ` David Miller
2017-03-14 15:36 ` [PATCH net-next v3] " Nikolay Aleksandrov
2017-03-14 15:55 ` Stephen Hemminger
2017-03-14 15:58 ` Nikolay Aleksandrov
2017-03-14 18:48 ` David Miller
2017-03-14 20:25 ` Stephen Hemminger
2017-03-14 21:10 ` Roopa Prabhu
2017-03-14 21:42 ` Stephen Hemminger [this message]
2017-03-14 22:38 ` Roopa Prabhu
2017-03-14 23:27 ` Stephen Hemminger
2017-03-14 23:45 ` David Ahern
2017-03-15 9:17 ` Nicolas Dichtel
2017-03-15 10:46 ` Nikolay Aleksandrov
2017-03-15 11:18 ` Nicolas Dichtel
2017-03-15 11:27 ` Nikolay Aleksandrov
2017-03-15 15:01 ` David Ahern
2017-03-15 15:20 ` Stephen Hemminger
2017-03-15 0:24 ` David Miller
2017-03-15 2:30 ` Tom Herbert
2017-03-17 3:36 ` David Miller
2017-03-14 18:55 ` Nikolay Aleksandrov
2017-03-15 11:32 ` Jakub Sitnicki
2017-03-15 12:10 ` Nikolay Aleksandrov
2017-03-16 13:28 ` [PATCH net-next v4] " Nikolay Aleksandrov
2017-03-16 16:41 ` Stephen Hemminger
2017-03-16 16:49 ` Nikolay Aleksandrov
2017-03-17 10:06 ` Nikolay Aleksandrov
2017-03-21 22:28 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170314144204.20d5c3a5@xeon-e3 \
--to=stephen@networkplumber.org \
--cc=davem@davemloft.net \
--cc=dsa@cumulusnetworks.com \
--cc=edumazet@google.com \
--cc=jkbs@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=nikolay@cumulusnetworks.com \
--cc=pch@ordbogen.com \
--cc=roopa@cumulusnetworks.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).