From 9de84a6c67f4d6be6d2b7e3ceaf1d7edf9f30c65 Mon Sep 17 00:00:00 2001 From: Daniel Hokka Zakrisson Date: Wed, 26 Mar 2008 22:22:26 +0000 Subject: [PATCH] Support 0.0.0.0 for 2.3 kernels. git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@2708 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- lib/syscall_netadd-netv2.hc | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/syscall_netadd-netv2.hc b/lib/syscall_netadd-netv2.hc index d9489bf..60d3b7e 100644 --- a/lib/syscall_netadd-netv2.hc +++ b/lib/syscall_netadd-netv2.hc @@ -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); } -- 1.8.1.5