From: Yu Watanabe Date: Wed, 3 Jun 2020 08:07:16 +0000 (+0900) Subject: network: make link become configured state when at least one dynamic protocol provide... X-Git-Tag: v246-rc1~209 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3cd5924c850929b03bc8d4ba5db614d662edb49a;p=thirdparty%2Fsystemd.git network: make link become configured state when at least one dynamic protocol provide an address Before this, to speed up the system boot with IPv4 only network, we need to specify `IPv6AcceptRA=no`, as it is enabled by default. Closes #15469. --- diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index 6ca6bfa8e40..805aff3ab1d 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -1133,16 +1133,14 @@ void link_check_ready(Link *link) { in_addr_is_null(AF_INET6, (const union in_addr_union*) &link->ipv6ll_address)) return; - if ((link_dhcp4_enabled(link) || link_dhcp6_enabled(link)) && + if ((link_dhcp4_enabled(link) || link_dhcp6_enabled(link) || link_ipv6_accept_ra_enabled(link)) && !link->dhcp4_configured && !link->dhcp6_configured && + !link->ndisc_configured && !(link_ipv4ll_enabled(link, ADDRESS_FAMILY_FALLBACK_IPV4) && link->ipv4ll_address)) - /* When DHCP is enabled, at least one protocol must provide an address, or + /* When DHCP or RA is enabled, at least one protocol must provide an address, or * an IPv4ll fallback address must be configured. */ return; - - if (link_ipv6_accept_ra_enabled(link) && !link->ndisc_configured) - return; } if (link->state != LINK_STATE_CONFIGURED)