Support 0.0.0.0 for 2.3 kernels.
authorDaniel Hokka Zakrisson <daniel@hozac.com>
Wed, 26 Mar 2008 22:22:26 +0000 (22:22 +0000)
committerDaniel Hokka Zakrisson <daniel@hozac.com>
Wed, 26 Mar 2008 22:22:26 +0000 (22:22 +0000)
git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@2708 94cd875c-1c1d-0410-91d2-eb244daf1a30

lib/syscall_netadd-netv2.hc

index d9489bf..60d3b7e 100644 (file)
@@ -27,10 +27,15 @@ vc_net_add_netv2(nid_t nid, struct vc_net_addr const *info)
     case VC_NXA_TYPE_IPV4: {
       struct vcmd_net_addr_ipv4_v1     k_info;
 
-      k_info.type        = info->vna_type & ~VC_NXA_TYPE_IPV4;
-      k_info.flags       = info->vna_flags;
-      k_info.ip.s_addr   = info->vna_v4_ip.s_addr;
-      k_info.mask.s_addr = info->vna_v4_mask.s_addr;
+      k_info.type          = info->vna_type & ~VC_NXA_TYPE_IPV4;
+      k_info.flags         = info->vna_flags;
+      k_info.ip.s_addr     = info->vna_v4_ip.s_addr;
+      k_info.mask.s_addr   = info->vna_v4_mask.s_addr;
+
+      if (k_info.ip.s_addr == 0) {
+       k_info.type        = VC_NXA_TYPE_MASK;
+       k_info.mask.s_addr = 0;
+      }
 
       return vserver(VCMD_net_add_ipv4, NID_USER2KERNEL(nid), &k_info);
     }