Cleaner remove-all-of-AF_x
authorDaniel Hokka Zakrisson <dhokka@cs.princeton.edu>
Thu, 26 Jul 2007 23:06:47 +0000 (23:06 +0000)
committerDaniel Hokka Zakrisson <dhokka@cs.princeton.edu>
Thu, 26 Jul 2007 23:06:47 +0000 (23:06 +0000)
include/linux/vserver/network.h
kernel/vserver/network.c

index 6195c32..b51efa4 100644 (file)
@@ -39,6 +39,7 @@
 #define NXA_TYPE_IPV6          2
 
 #define NXA_MOD_BCAST          (1<<8)
+#define NXA_MOD_ALL            (1<<9)
 
 #define NXA_TYPE_ANY           ((uint16_t)-1)
 
index 5388efc..da08ddc 100644 (file)
@@ -909,6 +909,11 @@ int vc_net_remove(struct nx_info * nxi, void __user *data)
                }
                break;
 
+       case NXA_TYPE_IPV4|NXA_MOD_ALL:
+               ret = nxi->nbipv4;
+               nxi->nbipv4 = 0;
+               break;
+
 #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
        case NXA_TYPE_IPV6:
                index = 0;
@@ -929,6 +934,11 @@ int vc_net_remove(struct nx_info * nxi, void __user *data)
                        index++;
                }
                break;
+
+       case NXA_TYPE_IPV6|NXA_MOD_ALL:
+               ret = nxi->nbipv6;
+               nxi->nbipv6 = 0;
+               break;
 #endif /* CONFIG_IPV6 || CONFIG_IPV6_MODULE */
 
        default: