From 0e569a439a9511ef763337b5563da015f6ec5745 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 13 Oct 2020 16:47:10 +0900 Subject: [PATCH] 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. --- src/network/networkd-link.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index b32a436be5..24b3aab48b 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); }