return log_link_warning_errno(link, r, "Could not acquire IPv4 link-local address: %m");
}
+ if (link->network->dhcp_critical) {
+ log_link_notice(link, "DHCPv4 connection considered critical, ignoring request to reconfigure it.");
+ return 0;
+ }
+
if (link->network->dhcp_send_release)
(void) sd_dhcp_client_send_release(client);
- _fallthrough_;
+ if (link->dhcp_lease) {
+ r = dhcp_lease_lost(link);
+ if (r < 0) {
+ link_enter_failed(link);
+ return r;
+ }
+ }
+
+ break;
case SD_DHCP_CLIENT_EVENT_EXPIRED:
case SD_DHCP_CLIENT_EVENT_IP_CHANGE:
if (link->network->dhcp_critical) {
- log_link_notice(link, "DHCPv4 connection considered system critical, ignoring request to reconfigure it.");
+ log_link_notice(link, "DHCPv4 connection considered critical, ignoring request to reconfigure it.");
return 0;
}