r = route_configure(route, link, dhcp6_pd_route_handler, &ret);
if (r < 0)
return log_link_error_errno(link, r, "Failed to set DHCPv6 prefix route: %m");
+ if (r > 0)
+ link->dhcp6_pd_route_configured = false;
link->dhcp6_pd_route_messages++;
r = address_configure(address, link, dhcp6_pd_address_handler, &ret);
if (r < 0)
return log_link_error_errno(link, r, "Failed to set DHCPv6 delegated prefix address: %m");
+ if (r > 0)
+ link->dhcp6_pd_address_configured = false;
link->dhcp6_pd_address_messages++;
if (!link_dhcp6_pd_is_enabled(link))
return 0;
- link->dhcp6_pd_address_configured = false;
- link->dhcp6_pd_route_configured = false;
link->dhcp6_pd_prefixes_assigned = true;
while ((address = set_steal_first(link->dhcp6_pd_addresses))) {
if (r < 0)
return log_link_error_errno(link, r, "Failed to set unreachable route for DHCPv6 delegated subnet %s/%u: %m",
strna(buf), prefixlen);
+ if (r > 0)
+ link->dhcp6_route_configured = false;
link->dhcp6_route_messages++;
if (r < 0)
return log_link_error_errno(link, r, "Failed to set DHCPv6 address %s/%u: %m",
strnull(buffer), addr->prefixlen);
+ if (r > 0)
+ link->dhcp6_address_configured = false;
link->dhcp6_address_messages++;
Route *rt;
int r;
- link->dhcp6_address_configured = false;
- link->dhcp6_route_configured = false;
-
while ((a = set_steal_first(link->dhcp6_addresses))) {
r = set_ensure_put(&link->dhcp6_addresses_old, &address_hash_ops, a);
if (r < 0)