From: Yu Watanabe Date: Fri, 28 May 2021 16:24:44 +0000 (+0900) Subject: network: wait for all set-link requests are processed X-Git-Tag: v249-rc1~76^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F19639%2Fhead;p=thirdparty%2Fsystemd.git network: wait for all set-link requests are processed --- diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index 53df8f3b843..8f70d5da3af 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -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__);