X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-address.c;h=28dcf14c6e1cf1955b75c627dd667694053813b9;hb=11a7f22939d21558df919cab44b8fbe36ab5dae0;hp=edae62c802cc6b5b64aecc96d40950bc7d7698a7;hpb=d595c5cc9e894c3608ed634052b0ba93aa94bf2f;p=elogind.git diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index edae62c80..28dcf14c6 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -105,7 +105,8 @@ int address_drop(Address *address, Link *link, assert(link->manager); assert(link->manager->rtnl); - r = sd_rtnl_message_new_addr(RTM_DELADDR, link->ifindex, address->family, &req); + r = sd_rtnl_message_new_addr(link->manager->rtnl, RTM_DELADDR, + link->ifindex, address->family, &req); if (r < 0) { log_error("Could not allocate RTM_DELADDR message: %s", strerror(-r)); @@ -149,8 +150,8 @@ int address_configure(Address *address, Link *link, assert(link->manager); assert(link->manager->rtnl); - r = sd_rtnl_message_new_addr(RTM_NEWADDR, link->ifindex, - address->family, &req); + r = sd_rtnl_message_new_addr(link->manager->rtnl, RTM_NEWADDR, + link->ifindex, address->family, &req); if (r < 0) { log_error("Could not allocate RTM_NEWADDR message: %s", strerror(-r)); @@ -274,6 +275,13 @@ int config_parse_broadcast(const char *unit, if (r < 0) return r; + if (n->family == AF_INET6) { + log_syntax(unit, LOG_ERR, filename, line, EINVAL, + "Broadcast is not valid for IPv6 addresses, " + "ignoring assignment: %s", address); + return 0; + } + r = net_parse_inaddr(address, &n->family, &n->broadcast); if (r < 0) { log_syntax(unit, LOG_ERR, filename, line, EINVAL,