]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: use link_start_dhcp4_server() at one more place
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 13 Mar 2024 17:01:15 +0000 (02:01 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 14 Mar 2024 17:28:38 +0000 (02:28 +0900)
Otherwise, even if the persistent storage is not ready, the DHCP server
may be started e.g. by unplugging and plugging cable.

Follow-up for 5582b36c384fc522c23ef1ac032001882d033aff.

src/network/networkd-dhcp-server.c
src/network/networkd-dhcp-server.h
src/network/networkd-link.c

index 57019400e6a28effc4c0021297194be236c3bc07..eddbaad917ce5e92ff440e1a2628b3305168a3d9 100644 (file)
@@ -144,7 +144,7 @@ int network_adjust_dhcp_server(Network *network, Set **addresses) {
         return 0;
 }
 
-static int link_start_dhcp4_server(Link *link) {
+int link_start_dhcp4_server(Link *link) {
         int r;
 
         assert(link);
index b845a6d1c777f41467dc909eb512e161277ee71c..dbc7d95cadba470a3f94f01f8ba99f19c5e607a5 100644 (file)
@@ -12,6 +12,7 @@ int network_adjust_dhcp_server(Network *network, Set **addresses);
 
 int link_request_dhcp_server(Link *link);
 
+int link_start_dhcp4_server(Link *link);
 void manager_toggle_dhcp4_server_state(Manager *manager, bool start);
 
 CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_server_relay_agent_suboption);
index 650e94c31378626b3bb38dcfc8fd78bb1d5a1a91..3e8aa9e37aaadedf31dd6799558a7b8bfd1cc513 100644 (file)
@@ -713,11 +713,9 @@ static int link_acquire_dynamic_ipv4_conf(Link *link) {
                 log_link_debug(link, "Acquiring IPv4 link-local address.");
         }
 
-        if (link->dhcp_server) {
-                r = sd_dhcp_server_start(link->dhcp_server);
-                if (r < 0)
-                        return log_link_warning_errno(link, r, "Could not start DHCP server: %m");
-        }
+        r = link_start_dhcp4_server(link);
+        if (r < 0)
+                return log_link_warning_errno(link, r, "Could not start DHCP server: %m");
 
         r = ipv4acd_start(link);
         if (r < 0)