network: check at least one dynamic address is assigned when DHCP is enabled

This commit is contained in:
Yu Watanabe 2020-07-23 21:18:24 +09:00
parent 1633c45731
commit 15797d6a2b
1 changed files with 4 additions and 2 deletions

View File

@ -1183,8 +1183,10 @@ void link_check_ready(Link *link) {
return;
}
if ((link_dhcp4_enabled(link) || link_dhcp6_enabled(link)) && set_isempty(link->addresses)) {
log_link_debug(link, "%s(): DHCP4 or DHCP6 is enabled but no address is assigned yet.", __func__);
if ((link_dhcp4_enabled(link) || link_dhcp6_enabled(link)) &&
!link->dhcp_address && set_isempty(link->dhcp6_addresses) && set_isempty(link->ndisc_addresses) &&
!(link_ipv4ll_enabled(link, ADDRESS_FAMILY_FALLBACK_IPV4) && link->ipv4ll_address_configured)) {
log_link_debug(link, "%s(): DHCP4 or DHCP6 is enabled but no dynamic address is assigned yet.", __func__);
return;
}