From: Daniel Lezcano Date: Sun, 6 Feb 2011 20:29:13 +0000 (+0100) Subject: fix broadcast compution X-Git-Tag: lxc-0.7.4~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d8948a52c3055d6c06bea9551a622ebcc8a32e4b;p=thirdparty%2Flxc.git fix broadcast compution Signed-off-by: Daniel Lezcano --- diff --git a/src/lxc/confile.c b/src/lxc/confile.c index 4d81ac619..7c7275238 100644 --- a/src/lxc/confile.c +++ b/src/lxc/confile.c @@ -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); diff --git a/src/lxc/network.c b/src/lxc/network.c index b691dd6a5..a17296894 100644 --- a/src/lxc/network.c +++ b/src/lxc/network.c @@ -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 */