]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: wait for all set-link requests are processed 19639/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 28 May 2021 16:24:44 +0000 (01:24 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 7 Jun 2021 21:39:48 +0000 (06:39 +0900)
src/network/networkd-link.c

index 53df8f3b843744426cf6e23852d5ccd847514306..8f70d5da3af5328d6705f67259f9121a6c037fec 100644 (file)
@@ -409,7 +409,7 @@ void link_check_ready(Link *link) {
                 return (void) log_link_debug(link, "%s(): link is in %s state.", __func__, link_state_to_string(link->state));
 
         if (!link->network)
-                return;
+                return (void) log_link_debug(link, "%s(): link is unmanaged.", __func__);
 
         if (link->iftype == ARPHRD_CAN) {
                 /* let's shortcut things for CAN which doesn't need most of checks below. */
@@ -420,6 +420,12 @@ void link_check_ready(Link *link) {
                 return;
         }
 
+        if (link->set_link_messages > 0)
+                return (void) log_link_debug(link, "%s(): link layer is configuring.", __func__);
+
+        if (!link->activated)
+                return (void) log_link_debug(link, "%s(): link is not activated.", __func__);
+
         if (!link->static_addresses_configured)
                 return (void) log_link_debug(link, "%s(): static addresses are not configured.", __func__);