chiark / gitweb /
networkd: dhcpv4 - add notion of 'CriticalConnection'
[elogind.git] / src / network / networkd-link.c
index d9622ac4b71df70a67f50f9fa5db801bb0c44602..9b5ebeda2072c960d125c5a202d864a519b1b716 100644 (file)
@@ -443,6 +443,12 @@ static void dhcp_handler(sd_dhcp_client *client, int event, void *userdata) {
 
         if (event == DHCP_EVENT_IP_CHANGE || event == DHCP_EVENT_EXPIRED ||
             event == DHCP_EVENT_STOP) {
+                if (link->network->dhcp_critical) {
+                        log_warning_link(link, "DHCPv4 connection considered system critical, "
+                                         "ignoring request to reconfigure it down.");
+                        return;
+                }
+
                 if (link->dhcp_address) {
                         address_drop(link->dhcp_address, link, address_drop_handler);