if (!link->neighbors_configured)
return;
+ SET_FOREACH(a, link->addresses, i)
+ if (!address_is_ready(a))
+ return;
+
+ if (!link->addresses_ready) {
+ link->addresses_ready = true;
+ link_request_set_routes(link);
+ }
+
if (!link->static_routes_configured)
return;
return;
}
- SET_FOREACH(a, link->addresses, i)
- if (!address_is_ready(a))
- return;
-
if (link->state != LINK_STATE_CONFIGURED)
link_enter_configured(link);
if (link->address_messages == 0) {
log_link_debug(link, "Addresses set");
link->addresses_configured = true;
- link_request_set_routes(link);
+ link_check_ready(link);
}
return 1;
/* Reset all *_configured flags we are configuring. */
link->addresses_configured = false;
+ link->addresses_ready = false;
link->neighbors_configured = false;
link->static_routes_configured = false;
link->routing_policy_rules_configured = false;
if (link->address_messages == 0) {
link->addresses_configured = true;
- link_request_set_routes(link);
+ link_check_ready(link);
} else
log_link_debug(link, "Setting addresses");