Commit d8948a52 by Daniel Lezcano Committed by Daniel Lezcano

fix broadcast compution

parent 7b57e8b6
......@@ -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);
......
......@@ -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 */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment