Stephen Hemminger <[email protected]> writes:

> When loopback device is being brought down, then keep the route table
> entries because they are special. The entries in the local table for
> linklocal routes and ::1 address should not be purged.
>
> This is a sub optimal solution to the problem and should be replaced
> by a better fix in future.
>
> Signed-off-by: Stephen Hemminger <[email protected]>

Stephen thanks for this.  This patch looks good to me.  I just tested
this against 2.6.37-rc6 and my simple tests show it to be working
without problems.

Acked-by: "Eric W. Biederman" <[email protected]>


> ---
> patch versus current net-next tree, but if this acceptable
> it should be applied to net-2.6 as well.
>
> --- a/net/ipv6/addrconf.c     2010-12-16 10:29:34.035408392 -0800
> +++ b/net/ipv6/addrconf.c     2010-12-16 10:30:37.366834482 -0800
> @@ -2669,7 +2669,9 @@ static int addrconf_ifdown(struct net_de
>  
>       ASSERT_RTNL();
>  
> -     rt6_ifdown(net, dev);
> +     /* Flush routes if device is being removed or it is not loopback */
> +     if (how || !(dev->flags & IFF_LOOPBACK))
> +             rt6_ifdown(net, dev);
>       neigh_ifdown(&nd_tbl, dev);
>  
>       idev = __in6_dev_get(dev);

_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to