wait-online: by default not all interface need to be online

Fixes an issue caused by ab3aed4a03 (v253).

By default, all managed interface need to be configured, and at least
one interface need to be online. Hence, offline interface should be ignored.

Fixes #29506.
This commit is contained in:
Yu Watanabe 2024-02-03 02:44:08 +09:00 committed by Luca Boccassi
parent 0119370cbb
commit 6f412c00cf

View File

@ -174,7 +174,9 @@ bool manager_configured(Manager *m) {
}
r = manager_link_is_online(m, l, /* state_range = */ NULL);
if (r < 0 && !m->any) /* Unlike the above loop, unmanaged interfaces are ignored here. */
/* Unlike the above loop, unmanaged interfaces are ignored here. Also, Configured but offline
* interfaces are ignored. See issue #29506. */
if (r < 0 && r != -EADDRNOTAVAIL && !m->any)
return false;
if (r > 0) {
if (m->any)