]> git.proxmox.com Git - mirror_lxc.git/commitdiff
fix broadcast compution
authorDaniel Lezcano <daniel.lezcano@free.fr>
Sun, 6 Feb 2011 20:29:13 +0000 (21:29 +0100)
committerDaniel Lezcano <dlezcano@fr.ibm.com>
Sun, 6 Feb 2011 20:29:13 +0000 (21:29 +0100)
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
src/lxc/confile.c
src/lxc/network.c

index 4d81ac619f9cafdf11ecb8352ba3eb9d9dd4f262..7c7275238f124f6087f62071f6be6f95d350d707 100644 (file)
@@ -423,9 +423,8 @@ static int config_network_ipv4(const char *key, char *value,
         * prefix and address
         */
        if (!bcast) {
-               inetdev->bcast.s_addr =
-                       htonl(INADDR_BROADCAST << (32 - inetdev->prefix));
-               inetdev->bcast.s_addr &= inetdev->addr.s_addr;
+               int mask = htonl(INADDR_BROADCAST << (32 - inetdev->prefix));
+               inetdev->bcast.s_addr = (inetdev->addr.s_addr & mask) | ~mask;
        }
 
        lxc_list_add(&netdev->ipv4, list);
index b691dd6a5e87e2f8bea62e14f865c47a7b9dc5e3..a17296894b2fae01962c6bd8968d3cfcecd7772e 100644 (file)
@@ -742,7 +742,7 @@ static int ip_addr_add(int family, int ifindex,
        if (nla_put_buffer(nlmsg, IFA_ADDRESS, addr, addrlen))
                goto out;
 
-       if (bcast && nla_put_buffer(nlmsg, IFA_BROADCAST, bcast, addrlen))
+       if (nla_put_buffer(nlmsg, IFA_BROADCAST, bcast, addrlen))
                goto out;
 
        /* TODO : multicast, anycast with ipv6 */