ipv6: don't disable interface if last ipv6 address is removed
authorHannes Frederic Sowa <hannes@stressinduktion.org>
Sun, 23 Jun 2013 22:22:20 +0000 (00:22 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 25 Jun 2013 23:23:03 +0000 (16:23 -0700)
The reason behind this change is that as soon as we delete
the last ipv6 address of an interface we also lose the
/proc/sys/net/ipv6/conf/<interface> directory. This seems to be a
usability problem for me.

I don't see any reason why we should shutdown ipv6 on that interface in
such cases.

Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/addrconf.c

index c06bc76280b236f877beb1aad4aa9da3278ab768..e799a8838ed06dc88acbc972cabd604dba1f718b 100644 (file)
@@ -2507,12 +2507,6 @@ static int inet6_addr_del(struct net *net, int ifindex, const struct in6_addr *p
                        read_unlock_bh(&idev->lock);
 
                        ipv6_del_addr(ifp);
-
-                       /* If the last address is deleted administratively,
-                          disable IPv6 on this interface.
-                        */
-                       if (list_empty(&idev->addr_list))
-                               addrconf_ifdown(idev->dev, 1);
                        return 0;
                }
        }