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 <j...@ssi.bg> > Signed-off-by: David Ahern <d...@cumulusnetworks.com> > --- > 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 <niko...@cumulusnetworks.com> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html