summaryrefslogtreecommitdiff
path: root/src/network/networkd-wait-online.c
AgeCommit message (Collapse)Author
2015-09-29util: introduce common version() implementation and use it everywhereLennart Poettering
This also allows us to drop build.h from a ton of files, hence do so. Since we touched the #includes of those files, let's order them properly according to CODING_STYLE.
2015-07-26networkd-wait-online: fix -i argumentMartin Pitt
-i (aka --interface) takes an argument. Tell getopt_long() that, so that optarg isn't NULL.
2015-06-15everywhere: port everything to sigprocmask_many() and friendsLennart Poettering
This ports a lot of manual code over to sigprocmask_many() and friends. Also, we now consistly check for sigprocmask() failures with assert_se(), since the call cannot realistically fail unless there's a programming error. Also encloses a few sd_event_add_signal() calls with (void) when we ignore the return values for it knowingly.
2015-05-29util: split out signal-util.[ch] from util.[ch]Lennart Poettering
No functional changes.
2015-02-02networkd-wait-online: add timeoutTom Gundersen
Default to timing out after 120 seconds without a network connection. Setting a timeout of 0 disables the timeout.
2015-01-31networkd-wait-online: allow specific devices to be ignoredTom Gundersen
In addition to the loopback device, also explicitly configured devices to be ignored. Suggested by Charles Devereaux <systemd@guylhem.net>.
2014-11-28treewide: no need to negate errno for log_*_errno()Michal Schmidt
It corrrectly handles both positive and negative errno values.
2014-11-28treewide: auto-convert the simple cases to log_*_errno()Michal Schmidt
As a followup to 086891e5c1 "log: add an "error" parameter to all low-level logging calls and intrdouce log_error_errno() as log calls that take error numbers", use sed to convert the simple cases to use the new macros: find . -name '*.[ch]' | xargs sed -r -i -e \ 's/log_(debug|info|notice|warning|error|emergency)\("(.*)%s"(.*), strerror\(-([a-zA-Z_]+)\)\);/log_\1_errno(-\4, "\2%m"\3);/' Multi-line log_*() invocations are not covered. And we also should add log_unit_*_errno().
2014-08-26networkd-wait-online: add missing short option 'i' to optstringŁukasz Stelmach
2014-08-03Unify parse_argv styleZbigniew Jędrzejewski-Szmek
getopt is usually good at printing out a nice error message when commandline options are invalid. It distinguishes between an unknown option and a known option with a missing arg. It is better to let it do its job and not use opterr=0 unless we actually want to suppress messages. So remove opterr=0 in the few places where it wasn't really useful. When an error in options is encountered, we should not print a lengthy help() and overwhelm the user, when we know precisely what is wrong with the commandline. In addition, since help() prints to stdout, it should not be used except when requested with -h or --help. Also, simplify things here and there.
2014-07-17networkd-wait-online: track linksTom Gundersen
Rather than refetching the link information on ever event, we liston to rtnl to track them. Much code stolen from resolved. This will allow us to simplify the sd-network api and don't expose information available over rtnl.
2014-07-17sd-network: fix parameter order for sd_network_monitor_new()Lennart Poettering
Constructors should return the object they created as first parameter, except when they are generated as a child/member object of some other object in which case that should be first.
2014-05-24Fix several small typosJonathan Boulle
2014-05-19networkd-wait-online: wait for addresses to be configuredTom Gundersen
2014-05-08networkd-wait-online: flush monitor events after processingTom Gundersen
Otherwise the event will trigger immediately again.
2014-05-08networkd-wait-online: fix false positives when checking if a link is managed ↵Tom Gundersen
by networkd
2014-05-07networkd-wait-online: rely purely on sd-network events and drop rtnl hooksTom Gundersen
2014-04-26networkd-wait-online: refactor a bitTom Gundersen
Clarify that we are waiting for any link to reach 'carrier' state, regardless of who manages it. This will be useful when we add support for waiting for more operational states.
2014-04-26networkd-wait-online: drop config file and add commandline options insteadTom Gundersen
2014-04-24networkd-wait-online: improve interoptability and enable by defaultTom Gundersen
To make sure we don't delay boot on systems where (some) network links are managed by someone else we don't block if something else has successfully brought up a link. We will still block until all links we are aware of that are managed by networkd have been configured, but if no such links exist, and someone else have configured a link sufficiently that it has a carrier, it may be that the link is ready so we should no longer block. Note that in all likelyhood the link is not ready (no addresses/routes configured), so whatever network managment daemon configured it should provide a similar wait-online service to block network-online.target until it is ready. The aim is to block as long as we know networking is not fully configured, but no longer. This will allow systemd-networkd-wait-online.service to be enabled on any system, even if we don't know whether networkd is the main/only network manager. Even in the case networking is fully configured by networkd, the default behavior may not be sufficient: if two links need to be configured, but the first is fully configured before the second one appears we will assume the network is up. To work around that, we allow specifying specific devices to wait for before considering the network up. This unit is enabled by default, just like systemd-networkd, but will only be pulled in if anyone pulls in network-online.target.
2014-03-03networkd: wait-online - fix typoTom Gundersen
2014-03-01networkd-wait-online: use automatic cleanupThomas Hindoe Paaboel Andersen
2014-02-28sd-network: turn states 'unknown' and 'unmanaged' into errnosTom Gundersen
2014-02-28networkd: add networkd-wait-onlineTom Gundersen
This is mostly a proof of concept to try sd-network, so we don't hook it up with a .service file quite yet. We probably want it to be more clever about deciding when we are 'online'. The binary will wait for at least one network managed by networkd, and until all networks managed by networkd are configured.