From b2a0738765d35657ca7dc83de8e75680e40f63b8 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 17 Mar 2020 12:31:02 +0100 Subject: [PATCH] man: improve manual page for nm-online https://bugzilla.redhat.com/show_bug.cgi?id=1706646 --- man/nm-online.xml | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/man/nm-online.xml b/man/nm-online.xml index d40aef98c..87072ec3b 100644 --- a/man/nm-online.xml +++ b/man/nm-online.xml @@ -57,12 +57,17 @@ connection, or specified timeout expires. On exit, the returned status code should be checked (see the return codes below). - By default NetworkManager waits for IPv4 dynamic addressing to complete - but does not wait for the auto IPv6 dynamic addressing. To - wait for IPv6 addressing to complete, either (1) change the network - connection's IPv6 may-fail setting to no, - and/or (2) change the IPv6 addressing method to manual or - dhcp, to indicate that IPv6 connectivity is expected. + This tool is not very useful to call directly. It is however used by + NetworkManager-wait-online.service with + --wait-for-startup argument. This is used to delay + the service and indirectly network-online.target, + until networking is up. Don't order your own systemd services after + NetworkManager-wait-online.service directly. Instead + if necessary, order your services after network-online.target. + Even better is to have your services react to network changes dynamically + and don't order them with respect to network-online.target + at all. + Options @@ -99,10 +104,25 @@ Wait for NetworkManager startup to complete, rather than waiting for network connectivity specifically. Startup is considered complete once NetworkManager has activated (or attempted to activate) every auto-activate - connection which is available given the current network state. (This is - generally only useful at boot time; after startup has completed, + connection which is available given the current network state. This corresponds + to the moment when NetworkManager logs "startup complete". + This mode is generally only useful at boot time. After startup has completed, nm-online -s will just return immediately, regardless of the - current network state.) + current network state. + There are various ways to affect when startup complete is reached. + For example, by setting a connection profile to autoconnect, such a profile + possibly will activate during startup and thus delay startup complete being reached. + Also, a profile is considered ready when it fully reached the logical connected + state in NetworkManager. That means, properties like ipv4.may-fail and ipv6.may-fail + affect whether a certain address family is required. Also, the connection property + connection.wait-device-timeout affects whether to wait for + the driver to detect a certain device. Generally, a failure of NetworkManager-wait-online.service + indicates a configuration error, where NetworkManager won't be able to reach the + desired connectivity state during startup. An example for that are bridge or bond master + profiles, that get autoconnected but without activating any slaves. Such master devices + hang in activating state indefinitely, and cause NetworkManager-wait-online.service + to fail. +