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, &req, RTM_DELADDR,
+ link->ifindex, address->family);
if (r < 0) {
log_error("Could not allocate RTM_DELADDR message: %s",
strerror(-r));
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, &req, RTM_NEWADDR,
+ link->ifindex, address->family);
if (r < 0) {
log_error("Could not allocate RTM_NEWADDR message: %s",
strerror(-r));
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,