summaryrefslogtreecommitdiff
path: root/units
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2022-01-28 15:30:01 +0900
committerDaan De Meyer <daan.j.demeyer@gmail.com>2022-01-28 12:52:52 +0000
commit674df18a32e6bb865ae84d39eaf8a5e5f10c7adc (patch)
treea4f35f7d415fc4b2e6352a4a2fffaf5b515701bb /units
parent6c66575f0b96f7afa44c9d30ca3bab50bc55c44d (diff)
downloadsystemd-674df18a32e6bb865ae84d39eaf8a5e5f10c7adc.tar.gz
unit: introduce wait-online@.service for specific interface
This should be useful when a host has multiple interfaces. Inspired by #22246.
Diffstat (limited to 'units')
-rw-r--r--units/meson.build1
-rw-r--r--units/systemd-networkd-wait-online@.service.in25
2 files changed, 26 insertions, 0 deletions
diff --git a/units/meson.build b/units/meson.build
index 3184433b8f..2bb0a8e845 100644
--- a/units/meson.build
+++ b/units/meson.build
@@ -220,6 +220,7 @@ in_units = [
['systemd-network-generator.service', ''],
['systemd-networkd.service', 'ENABLE_NETWORKD'],
['systemd-networkd-wait-online.service', 'ENABLE_NETWORKD'],
+ ['systemd-networkd-wait-online@.service','ENABLE_NETWORKD'],
['systemd-nspawn@.service', ''],
['systemd-oomd.service', 'ENABLE_OOMD'],
['systemd-portabled.service', 'ENABLE_PORTABLED',
diff --git a/units/systemd-networkd-wait-online@.service.in b/units/systemd-networkd-wait-online@.service.in
new file mode 100644
index 0000000000..949695f53e
--- /dev/null
+++ b/units/systemd-networkd-wait-online@.service.in
@@ -0,0 +1,25 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+#
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Wait for Network Interface %i to be Configured
+Documentation=man:systemd-networkd-wait-online.service(8)
+DefaultDependencies=no
+Conflicts=shutdown.target
+Requires=systemd-networkd.service
+After=systemd-networkd.service
+Before=network-online.target shutdown.target
+
+[Service]
+Type=oneshot
+ExecStart={{ROOTLIBEXECDIR}}/systemd-networkd-wait-online -i %i
+RemainAfterExit=yes
+
+[Install]
+WantedBy=network-online.target