diff options
author | Daniel Lezcano <daniel.lezcano@free.fr> | 2011-02-06 21:29:13 +0100 |
---|---|---|
committer | Daniel Lezcano <dlezcano@fr.ibm.com> | 2011-02-06 21:29:13 +0100 |
commit | d8948a52c3055d6c06bea9551a622ebcc8a32e4b (patch) | |
tree | ef2d47d726312eecf9683b33bf5066088b6346a6 | |
parent | fix empty network configuration (diff) | |
download | lxc-d8948a52c3055d6c06bea9551a622ebcc8a32e4b.tar.gz lxc-d8948a52c3055d6c06bea9551a622ebcc8a32e4b.tar.bz2 lxc-d8948a52c3055d6c06bea9551a622ebcc8a32e4b.zip |
fix broadcast compution
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
-rw-r--r-- | src/lxc/confile.c | 5 | ||||
-rw-r--r-- | src/lxc/network.c | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/src/lxc/confile.c b/src/lxc/confile.c index 4d81ac6..7c72752 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 b691dd6..a172968 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 */ |