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.
This commit is contained in:
Yu Watanabe
2020-06-04 10:49:26 +02:00
committed by Zbigniew Jędrzejewski-Szmek
parent 168561f2eb
commit 3cd5924c85
+3 -5
View File
@@ -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)