Subject: Re: [PATCH net v2] net: Flush local routes when device changes vrf association

From: Nikolay Aleksandrov <[email-masked]>
Date: Thu, 10 Dec 2015 19:30:18 +0100

On 12/10/2015 07:25 PM, David Ahern wrote:
> The VRF driver cycles netdevs when an interface is enslaved or released:
> the down event is used to flush neighbor and route tables and the up
> event (if the interface was already up) effectively moves local and
> connected routes to the proper table.
> 
> As of 4f823defdd5b the local route is left hanging around after a link
> down, so when a netdev is moved from one VRF to another (or released
> from a VRF altogether) local routes are left in the wrong table.
> 
> Fix by handling the NETDEV_CHANGEUPPER event. When the upper dev is
> an L3mdev then call fib_disable_ip to flush all routes, local ones
> to.
> 
> Fixes: 4f823defdd5b ("ipv4: fix to not remove local route on link down")
> Cc: Julian Anastasov <[email-masked]>
> Signed-off-by: David Ahern <[email-masked]>
> ---
> v2
> - key off NETDEV_CHANGEUPPER event vs using a new event
> 
>  net/ipv4/fib_frontend.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 

Looks much better to me, thanks!

Signed-off-by: Nikolay Aleksandrov <[email-masked]>