[IPV6]: inet6_dev on loopback should be kept until namespace stop.
authorDenis V. Lunev <den@openvz.org>
Thu, 3 Apr 2008 20:31:53 +0000 (13:31 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 3 Apr 2008 20:31:53 +0000 (13:31 -0700)
In the other case it will be destroyed when last address will be removed
from lo inside a namespace. This will break IPv6 in several places. The
most obvious one is ip6_dst_ifdown.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/addrconf.c

index 4fa9da0..a65935a 100644 (file)
@@ -2456,7 +2456,7 @@ static int addrconf_ifdown(struct net_device *dev, int how)
 
        ASSERT_RTNL();
 
-       if (dev == init_net.loopback_dev && how == 1)
+       if ((dev->flags & IFF_LOOPBACK) && how == 1)
                how = 0;
 
        rt6_ifdown(dev);