[systemd-devel] [PATCH] networkd: fix systemd-networkd-wait-online with multiple NICs

Tom Gundersen teg at jklm.no
Mon Apr 20 14:31:20 PDT 2015


On Wed, Mar 25, 2015 at 9:49 PM,  <mischief at offblast.org> wrote:
> From: mischief <mischief at offblast.org>
>
> when checking interface status, systemd-networkd-wait-online
> will continue to wait if any interface is still configuring or
> being processed by udev. this patch allows it to return if any
> one interface is degraded/routable, as per the manual.

Sorry for the delay in getting back to you.

I believe this is currently behaving as intended. The intention is
that all devices managed by networkd must be fully configured (not
simply get a carrier), but if there are no devices managed by networkd
then we wait for at least one device to gain carrier (in this case
something else must be bringing the interface up as networkd is up, so
it makes sure that networkd-wait-online does not get in the way of say
NetworkManager).

Does that make sense?

Cheers,

Tom

> ---
>  src/network/networkd-wait-online-manager.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/network/networkd-wait-online-manager.c b/src/network/networkd-wait-online-manager.c
> index 1c997a5..1ac162a 100644
> --- a/src/network/networkd-wait-online-manager.c
> +++ b/src/network/networkd-wait-online-manager.c
> @@ -74,13 +74,13 @@ bool manager_all_configured(Manager *m) {
>                  if (!l->state) {
>                          log_debug("link %s has not yet been processed by udev",
>                                    l->ifname);
> -                        return false;
> +                        continue;
>                  }
>
>                  if (streq(l->state, "configuring")) {
>                          log_debug("link %s is being processed by networkd",
>                                    l->ifname);
> -                        return false;
> +                        continue;
>                  }
>
>                  if (l->operational_state &&
> --
> 2.0.5
>
> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel


More information about the systemd-devel mailing list