From: Yu Watanabe Date: Fri, 2 Feb 2024 17:44:08 +0000 (+0900) Subject: wait-online: by default not all interface need to be online X-Git-Tag: v256-rc1~959 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6f412c00cf06c883bf08f0e7d6f7eb7299d198e9;p=thirdparty%2Fsystemd.git wait-online: by default not all interface need to be online Fixes an issue caused by ab3aed4a0349bbaa26f53340770c1b59b463e05d (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. --- diff --git a/src/network/wait-online/manager.c b/src/network/wait-online/manager.c index 0d1fdc372f6..ab1e753d50a 100644 --- a/src/network/wait-online/manager.c +++ b/src/network/wait-online/manager.c @@ -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)