[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200915.154618.670584666009270972.davem@davemloft.net>
Date: Tue, 15 Sep 2020 15:46:18 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: dsahern@...nel.org
Cc: netdev@...r.kernel.org, kuba@...nel.org, mastertheknife@...il.com
Subject: Re: [PATCH net] ipv4: Update exception handling for multipath
routes via same device
From: David Ahern <dsahern@...nel.org>
Date: Mon, 14 Sep 2020 21:03:54 -0600
> Kfir reported that pmtu exceptions are not created properly for
> deployments where multipath routes use the same device.
>
> After some digging I see 2 compounding problems:
> 1. ip_route_output_key_hash_rcu is updating the flowi4_oif *after*
> the route lookup. This is the second use case where this has
> been a problem (the first is related to use of vti devices with
> VRF). I can not find any reason for the oif to be changed after the
> lookup; the code goes back to the start of git. It does not seem
> logical so remove it.
>
> 2. fib_lookups for exceptions do not call fib_select_path to handle
> multipath route selection based on the hash.
>
> The end result is that the fib_lookup used to add the exception
> always creates it based using the first leg of the route.
...
> Before this patch the cache always shows exceptions against the first
> leg in the multipath route; 192.168.252.250 per this example. Since the
> hash has an initial random seed, you may need to vary the final octet
> more than what is listed. In my tests, using addresses between 11 and 19
> usually found 1 that used both legs.
>
> With this patch, the cache will have exceptions for both legs.
>
> Fixes: 4895c771c7f0 ("ipv4: Add FIB nexthop exceptions")
> Reported-by: Kfir Itzhak <mastertheknife@...il.com>
> Signed-off-by: David Ahern <dsahern@...nel.org>
Applied and queued up for -stable, thanks David.
The example topology and commands look like a good addition for
selftests perhaps?
Thanks again.
Powered by blists - more mailing lists