[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0d6c6732-ee1b-3533-fc06-f97c9a87eb1a@gmail.com>
Date: Sat, 2 Jun 2018 14:33:38 -0600
From: David Ahern <dsahern@...il.com>
To: Michal Kubecek <mkubecek@...e.cz>,
"David S. Miller" <davem@...emloft.net>
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
Nicolas Dichtel <nicolas.dichtel@...nd.com>,
Tom Herbert <tom@...bertland.com>,
Ido Schimmel <idosch@...sch.org>
Subject: Re: [PATCH net v2] ipv6: omit traffic class when calculating flow
hash
On 6/2/18 1:40 AM, Michal Kubecek wrote:
> Some of the code paths calculating flow hash for IPv6 use flowlabel member
> of struct flowi6 which, despite its name, encodes both flow label and
> traffic class. If traffic class changes within a TCP connection (as e.g.
> ssh does), ECMP route can switch between path. It's also incosistent with
> other code paths where ip6_flowlabel() (returning only flow label) is used
> to feed the key.
>
> Use only flow label everywhere, including one place where hash key is set
> using ip6_flowinfo().
>
> Fixes: 51ebd3181572 ("ipv6: add support of equal cost multipath (ECMP)")
> Fixes: f70ea018da06 ("net: Add functions to get skb->hash based on flow structures")
> Signed-off-by: Michal Kubecek <mkubecek@...e.cz>
> ---
> v2: introduce and use an inline helper as suggested by David Ahern
>
> include/net/ipv6.h | 5 +++++
> net/core/flow_dissector.c | 2 +-
> net/ipv6/route.c | 4 ++--
> 3 files changed, 8 insertions(+), 3 deletions(-)
>
Acked-by: David Ahern <dsahern@...il.com>
Powered by blists - more mailing lists