From c1a3890410f043fe09af8b139eb6bfe2832089be Mon Sep 17 00:00:00 2001 From: Mathieu Trudel-Lapierre Date: Thu, 30 Nov 2017 12:03:50 -0500 Subject: Add a "RequiredForOnline=" Link attribute for .network files (#7347) RequiredForOnline= denotes a link/network that does/does not require being up for systemd-networkd-wait-online to consider the system online; this makes it possible to ignore devices without modifying parameters to wait-online. --- src/libsystemd/sd-network/sd-network.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/libsystemd/sd-network') diff --git a/src/libsystemd/sd-network/sd-network.c b/src/libsystemd/sd-network/sd-network.c index e0f38b62aa..f6460b9f7c 100644 --- a/src/libsystemd/sd-network/sd-network.c +++ b/src/libsystemd/sd-network/sd-network.c @@ -172,6 +172,21 @@ _public_ int sd_network_link_get_operational_state(int ifindex, char **state) { return network_link_get_string(ifindex, "OPER_STATE", state); } +_public_ int sd_network_link_get_required_for_online(int ifindex) { + _cleanup_free_ char *s = NULL; + int r; + + r = network_link_get_string(ifindex, "REQUIRED_FOR_ONLINE", &s); + if (r < 0) { + /* Handle -ENODATA as RequiredForOnline=yes, for compatibility */ + if (r == -ENODATA) + return true; + return r; + } + + return parse_boolean(s); +} + _public_ int sd_network_link_get_llmnr(int ifindex, char **llmnr) { return network_link_get_string(ifindex, "LLMNR", llmnr); } -- cgit v1.2.1