From 6f412c00cf06c883bf08f0e7d6f7eb7299d198e9 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sat, 3 Feb 2024 02:44:08 +0900 Subject: [PATCH] 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. --- src/network/wait-online/manager.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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)