From: Yu Watanabe Date: Tue, 13 Oct 2020 07:47:10 +0000 (+0900) Subject: network: start dynamic addressing clients like DHCP after setting netdevs X-Git-Tag: v247-rc1~84 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0e569a439a9511ef763337b5563da015f6ec5745;p=thirdparty%2Fsystemd.git network: start dynamic addressing clients like DHCP after setting netdevs The function link_acquire_conf() may make the link state 'configuring' when DHCP6 PD is enabled. Previously link_acquire_conf() was called before link_enter_join_netdev(), and thus the assertion in the function might be triggered. Fixes #17329. --- diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index b32a436be50..24b3aab48b0 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -1758,6 +1758,11 @@ static int link_joined(Link *link) { return 0; link_set_state(link, LINK_STATE_CONFIGURING); + + r = link_acquire_conf(link); + if (r < 0) + return r; + return link_set_static_configs(link); } @@ -2038,12 +2043,6 @@ static int link_configure_continue(Link *link) { if (r < 0) log_link_warning_errno(link, r, "Cannot set IPv6 MTU for interface, ignoring: %m"); - if (link_has_carrier(link) || link->network->configure_without_carrier) { - r = link_acquire_conf(link); - if (r < 0) - return r; - } - return link_enter_join_netdev(link); }