link_dirty(link);
}
-int link_stop_clients(Link *link, bool may_keep_dhcp) {
+int link_stop_engines(Link *link, bool may_keep_dhcp) {
int r = 0, k;
assert(link);
if (k < 0)
r = log_link_warning_errno(link, k, "Could not stop IPv4 ACD client for DHCPv4: %m");
+ k = sd_dhcp_server_stop(link->dhcp_server);
+ if (k < 0)
+ r = log_link_warning_errno(link, k, "Could not stop DHCPv4 server: %m");
+
k = sd_ipv4ll_stop(link->ipv4ll);
if (k < 0)
r = log_link_warning_errno(link, k, "Could not stop IPv4 link-local: %m");
link_set_state(link, LINK_STATE_FAILED);
- (void) link_stop_clients(link, false);
+ (void) link_stop_engines(link, false);
link_dirty(link);
}
log_link_info(link, "Re-configuring with %s", network->filename);
/* Dropping old .network file */
- r = link_stop_clients(link, false);
+ r = link_stop_engines(link, false);
if (r < 0)
return r;
- (void) sd_dhcp_server_stop(link->dhcp_server);
-
r = link_drop_config(link);
if (r < 0)
return r;
if (link->setting_mtu)
return 0;
- r = link_stop_clients(link, false);
+ r = link_stop_engines(link, false);
if (r < 0) {
link_enter_failed(link);
return r;
}
- (void) sd_dhcp_server_stop(link->dhcp_server);
-
r = link_drop_config(link);
if (r < 0)
return r;
bool link_ipv4ll_enabled(Link *link, AddressFamily mask);
-int link_stop_clients(Link *link, bool may_keep_dhcp);
+int link_stop_engines(Link *link, bool may_keep_dhcp);
const char* link_state_to_string(LinkState s) _const_;
LinkState link_state_from_string(const char *s) _pure_;
free(m->state_file);
HASHMAP_FOREACH(link, m->links)
- (void) link_stop_clients(link, true);
+ (void) link_stop_engines(link, true);
m->dhcp6_prefixes = hashmap_free_with_destructor(m->dhcp6_prefixes, dhcp6_pd_free);
m->dhcp6_pd_prefixes = set_free_with_destructor(m->dhcp6_pd_prefixes, dhcp6_pd_free);