Yu Watanabe [Sat, 22 May 2021 07:01:13 +0000 (16:01 +0900)]
Merge pull request #19594 from yuwata/network-nexthop-group
network: nexthop: add Group= setting to configure multipath route with group nexthop
Yu Watanabe [Sat, 22 May 2021 06:59:17 +0000 (15:59 +0900)]
Merge pull request #19691 from poettering/read-virtual-file-tweaks
tweaks to read_virtual_file()
Zbigniew Jędrzejewski-Szmek [Fri, 21 May 2021 08:53:25 +0000 (10:53 +0200)]
units: skip some units in the initrd
I'm working on building initramfs images directly from normal packages, and it
doesn't make sense for those units to be started. Pristine system rpms need to
behave correctly as much as possible also in the initrd, and those units are
enabled by the rpms. There usually isn't enough time for the timer to actually
fire, but starting it gives a line on the console and generally looks confusing
and sloppy. Flushing the journal means that its actually lost, since the real
/var is not available yet.
Another approach would be not enable those units, but right now they are
statically enabled, and changing that would be more work, and doesn't really
seem necessary, since the condition checks are very quick.
Checking for /etc/initrd-release is the standard condition that the initrd
units use, so let's do the same here.
Yu Watanabe [Thu, 13 May 2021 02:11:48 +0000 (11:11 +0900)]
test-network: add a test case for nexthop Group= setting
Yu Watanabe [Fri, 14 May 2021 01:15:23 +0000 (10:15 +0900)]
network: nexthop: add Group= setting to configure multipath route with group nexthop
Yu Watanabe [Tue, 18 May 2021 03:20:46 +0000 (12:20 +0900)]
network: nexthop: IFF_UP flag is required for nexthops which attached to a link
Yu Watanabe [Wed, 12 May 2021 19:59:56 +0000 (04:59 +0900)]
network: make nexthop_add(), nexthop_configure() and friends return 0 on success
After request queue is introduced, the return value on success is unused.
Lennart Poettering [Fri, 21 May 2021 15:40:19 +0000 (17:40 +0200)]
fileio: read_virtual_file(): on last attempt ignore file size
Apparently the reported file size was misleading on this file, hence
ignore it on our last loop attempt and just pretend it wasn't reported
at all.
Lennart Poettering [Fri, 21 May 2021 15:36:40 +0000 (17:36 +0200)]
test-fileio: run read_virtual_file() for a couple of more interesting sizes
Lennart Poettering [Fri, 21 May 2021 15:35:12 +0000 (17:35 +0200)]
test-fileio: fix confusing log output
Previously we'd pass all return values of read_virtual_file() to
log_info_errno() as error, but that makes no sense, given that we
sometimes return positive one with means "not truncated" but we'd show
as "Permission denied. Let's fix this, and log differently for sucess
and error.
Lennart Poettering [Fri, 21 May 2021 15:33:32 +0000 (17:33 +0200)]
fileio: read_virtual_file() don't tweak buffer for returning it when we aren't returning it
Let's avoid some redundant work.
Moreover, let' not check for NUL bytes in the buffer if we don't return
the buffer.
Lennart Poettering [Fri, 21 May 2021 14:32:37 +0000 (16:32 +0200)]
fileio: fix typo in comment
Lennart Poettering [Fri, 21 May 2021 14:31:52 +0000 (16:31 +0200)]
fileio: read_virtual_file(): exit once the max_size limit is reached
Alternative to: #19682
Lennart Poettering [Fri, 21 May 2021 14:30:52 +0000 (16:30 +0200)]
fileio: if we try to read a file larger than SIZE_MAX this is not a problem if a max_size is specified
i.e. 32bit userspace reading /proc/kcore on a 64bit kernel with max_size
should not needlessly fail.
Yu Watanabe [Thu, 13 May 2021 06:07:35 +0000 (15:07 +0900)]
network: route: make stored multipath route weight equivalent to hop of nexthop
Luca Boccassi [Fri, 21 May 2021 12:39:24 +0000 (13:39 +0100)]
test-env-util: use streq_ptr when comparing directly the result of getenv
It might return NULL.
Fixes CID #
1453247
Lennart Poettering [Mon, 10 May 2021 14:41:46 +0000 (16:41 +0200)]
sd-device: use strjoina() more again in sd_device_new_from_subsystem_sysname()
This reverts a major part of:
e17c95af8e450caacde692875b30675cea75211f
Using format strings for concatenating strings is pretty unefficient,
and using PATH_MAX buffers unpretty as well. Let's revert to using
strjoina() as before.
However, to fix the fuzz issue at hand, let's explicitly verify the two
input strings ensuring they are valid path names. This includes a length
check (to 2K each), thus making things prettier, faster and using less
memory again.
Lennart Poettering [Fri, 21 May 2021 15:52:36 +0000 (17:52 +0200)]
Merge pull request #19676 from bluca/coverity
Fix two new coverity issues
Lennart Poettering [Fri, 21 May 2021 15:52:14 +0000 (17:52 +0200)]
Merge pull request #19672 from yuwata/strextend
tree-wide: introduce strextendf_with_separator() and use strextend() or freinds
Lennart Poettering [Fri, 21 May 2021 14:35:16 +0000 (16:35 +0200)]
Merge pull request #19647 from ddstreet/test-oomd-failure
handle lack of kernel support for some cgroup files
Yu Watanabe [Thu, 20 May 2021 07:14:17 +0000 (16:14 +0900)]
network: fix an infinite loop
Fixes #19467.
asavah [Wed, 19 May 2021 20:58:02 +0000 (23:58 +0300)]
man: prevent race condition when generating systemd.directives.xml
Dan Streetman [Fri, 14 May 2021 12:08:33 +0000 (08:08 -0400)]
oom: log one-time warning if kernel doesn't provide memory.swap.current
The kernel can be compiled without support for any memory.swap.* files, or
it can be disabled at boot time with the 'swapaccount=0' boot parameter,
so if the file doesn't exist log warning indicating the kernel doesn't
support the file and the user may need to try using the 'swapaccount=1'
boot param.
Note that the actual error from the call to fopen() is ENOENT, but
that is translated into ENODATA in cg_get_attribute_as_uint64()
Dan Streetman [Wed, 19 May 2021 18:22:28 +0000 (14:22 -0400)]
psi: update is_pressure_supported to read file
The kernel still provides the /proc and cgroup pressure files even
if its psi support is disabled, so we need to actually read the files
to verify they don't return -EOPNOTSUPP
Dan Streetman [Wed, 19 May 2021 14:22:21 +0000 (10:22 -0400)]
log: add log_once() and log_once_errno() macros
These macros will log a message at the specified level only the first time
they are called. On all later calls, if the specified level is debug, the
logs will be suppressed; otherwise the message will be logged at debug.
Dan Streetman [Wed, 19 May 2021 14:01:59 +0000 (10:01 -0400)]
macro: add ONCE macro that evaluates to 1 one time
Every location that this macro is used, it will be true the first
time it's checked, then false each time after that.
This can be useful for things such as one-time logging.
Lennart Poettering [Thu, 20 May 2021 19:26:56 +0000 (21:26 +0200)]
fileio: make return parameters of read_virtual_file() optional
Prompted by: #19647
Lennart Poettering [Thu, 20 May 2021 19:37:59 +0000 (21:37 +0200)]
Merge pull request #19551 from cgzones/fix_reload
selinux: reload label db on policy load with libselinux 3.2
Lennart Poettering [Thu, 20 May 2021 19:33:14 +0000 (21:33 +0200)]
Merge pull request #19605 from yuwata/network-fdb-outgoing-interface
network: bridge-fdb: add support to specify outgoing interface
Yu Watanabe [Thu, 20 May 2021 06:55:06 +0000 (15:55 +0900)]
man: mention that drop-in files are merged in alphanumeric order
This addresses the request in https://github.com/systemd/systemd/issues/19467#issuecomment-
829332877.
Yu Watanabe [Thu, 20 May 2021 05:54:32 +0000 (14:54 +0900)]
sysv-generator: use strextend_with_separator()
Yu Watanabe [Thu, 20 May 2021 05:58:12 +0000 (14:58 +0900)]
systemctl: use strextend_with_separator()
Yu Watanabe [Thu, 20 May 2021 05:41:48 +0000 (14:41 +0900)]
run: use strextend_with_separator()
Yu Watanabe [Thu, 20 May 2021 05:36:14 +0000 (14:36 +0900)]
nspawn: use strextendf_with_separator()
Luca Boccassi [Thu, 20 May 2021 09:36:18 +0000 (10:36 +0100)]
resolved: check return value of gcrypt APIs
Coverity complains about missing error check.
CID #
1453234
Luca Boccassi [Thu, 20 May 2021 09:35:36 +0000 (10:35 +0100)]
journal: fix uninitialized variable use
If the journal file being processed is archivied, seqnum_id will not be
initialized before being passed on, and coverity complains.
Initialize it to zero.
CID #
1453235
Yu Watanabe [Fri, 14 May 2021 05:52:32 +0000 (14:52 +0900)]
test-network: add a testcase for OutgoingInterface= in [BridgeFDB]
Susant Sahani [Fri, 14 May 2021 05:28:18 +0000 (14:28 +0900)]
network: bridge-fdb: add support to specify outgoing interface
Yu Watanabe [Fri, 14 May 2021 05:05:00 +0000 (14:05 +0900)]
network: use queue to configure bridge FDB
Yu Watanabe [Fri, 14 May 2021 04:24:48 +0000 (13:24 +0900)]
network: bridgeFDB: rename FdbEntry -> BridgeFDB
Yu Watanabe [Thu, 20 May 2021 05:28:20 +0000 (14:28 +0900)]
networkctl: use strextend()
Yu Watanabe [Thu, 20 May 2021 05:24:57 +0000 (14:24 +0900)]
sd-bus: use strextend()
Yu Watanabe [Thu, 20 May 2021 05:22:58 +0000 (14:22 +0900)]
escape: use strextend()
Yu Watanabe [Thu, 20 May 2021 05:19:22 +0000 (14:19 +0900)]
pid1: use strextend_with_separator()
Yu Watanabe [Thu, 20 May 2021 05:15:34 +0000 (14:15 +0900)]
env-util: use strextend()
Yu Watanabe [Thu, 20 May 2021 05:07:34 +0000 (14:07 +0900)]
network: route: make log_route_debug() show weight for multipath route
Yu Watanabe [Thu, 20 May 2021 04:56:37 +0000 (13:56 +0900)]
string-util: introduce strextendf_with_separator()
Luca Boccassi [Thu, 20 May 2021 09:14:30 +0000 (10:14 +0100)]
Merge pull request #19669 from mrc0mmand/ci-mkosi-arch
ci: work around #19442 to make CI happy again
Yu Watanabe [Thu, 20 May 2021 06:04:15 +0000 (15:04 +0900)]
nspawn: fix build failure
This fixes a conflict between #19555 and #19653.
Anita Zhang [Wed, 19 May 2021 07:33:59 +0000 (00:33 -0700)]
man: document default rlimits
Fixes #19645
Zbigniew Jędrzejewski-Szmek [Wed, 19 May 2021 14:44:13 +0000 (16:44 +0200)]
test: enable fuzz regression tests by default
This ensures that the fuzz test code is also built by default.
It also increases the test coverage a bit. Compiling the tests
*with* sanitizers is painfully slow, so this is not enabled. But
just compiling them sauté is hardly noticable. Running the tests
increases the test count and runtime:
622 tests, 26 s
to
922 tests, 35 s
I think this is acceptable.
Lennart Poettering [Thu, 20 May 2021 05:33:51 +0000 (07:33 +0200)]
Merge pull request #19555 from poettering/nspawn-bind-user
nspawn: add --bind-user= feature for binding host user+homedir into a container
Lennart Poettering [Thu, 20 May 2021 05:33:21 +0000 (07:33 +0200)]
Merge pull request #19591 from poettering/terminal-fixes
five terminal handling fixes
Luca Boccassi [Wed, 19 May 2021 13:45:47 +0000 (14:45 +0100)]
build tests: check that Github pages can be built successfully
Lennart Poettering [Wed, 19 May 2021 21:24:55 +0000 (23:24 +0200)]
Merge pull request #19662 from yuwata/memdup
util: make memdup() or friends safer
Lennart Poettering [Wed, 19 May 2021 21:22:44 +0000 (23:22 +0200)]
Merge pull request #19653 from poettering/greedy-realloc-more
malloc_usable_size() tweaks
Frantisek Sumsal [Wed, 19 May 2021 20:03:38 +0000 (22:03 +0200)]
ci: skip root tty login
We use the `autologin` mkosi option (see
mkosi.default.d/10-systemd.conf), so the pexpect root login throws
a (harmless) error:
```
Arch Linux (built from systemd tree)
Kernel 5.4.0-1047-azure on an x86_64 (console)
image login: root (automatic login)
root
root
[root@image ~]# systemctl poweroff
root
-bash: root: command not found
[root@image ~]# systemctl poweroff
```
Frantisek Sumsal [Wed, 19 May 2021 19:29:42 +0000 (21:29 +0200)]
ci: show image summary
Frantisek Sumsal [Wed, 19 May 2021 18:15:53 +0000 (20:15 +0200)]
ci: work around #19442 to make CI happy again
Let's introduce a somewhat ugly workaround for #19442 and retry
the systemd-nspawn image boot test up to three times in case it dies
with the dissect timeout. Since this issue occurs only in the Arch job,
limit the workaround to this job only.
Lennart Poettering [Wed, 19 May 2021 19:35:48 +0000 (21:35 +0200)]
Merge pull request #19603 from yuwata/network-link-get-by-name
network: introduce link_get_by_name() and use it in resolving interface name specifier in MultiPathRoute=
Lennart Poettering [Wed, 19 May 2021 19:34:59 +0000 (21:34 +0200)]
Merge pull request #19656 from yuwata/network-trivial-cleanups
network: several trivial cleanups
Franck Bui [Wed, 19 May 2021 08:18:21 +0000 (10:18 +0200)]
kbd-model-map: add mapping 'es-dvorak'
And update test-keymap-util accordingly.
While at it, make sure to use tabs everywhere.
Yu Watanabe [Wed, 19 May 2021 08:08:59 +0000 (17:08 +0900)]
test: reduce debugging logs in test-event
The logs mostly give no information, but fill CI results.
Lennart Poettering [Fri, 14 May 2021 16:20:32 +0000 (18:20 +0200)]
systemctl: re-align colon in status output
Lennart Poettering [Wed, 12 May 2021 14:05:40 +0000 (16:05 +0200)]
terminal: don't hardcode major number of PTYs
Hardcoding major numbers sucks. And we generally don't do it, except
when determining whether something is a PTY. Thing though is that we
don't actually need to do that here either, hence don#t.
Lennart Poettering [Fri, 7 May 2021 09:44:26 +0000 (11:44 +0200)]
man: document new nspawn --bind-user= feature
Lennart Poettering [Wed, 5 May 2021 10:45:22 +0000 (12:45 +0200)]
nspawn: add new --bind-user= option for binding a host user into the container
This new option does three things for a host user specified via
--bind-user=:
1. Bind mount the home directory from the host directory into
/run/host/home/<username>
2. Install an additional user namepace UID/GID mapping mapping the host
UID/GID of the host user to an unused one from the container in the range
60514…60577.
3. Synthesize a user/group record for the user/group under the same name
as on the host, with minimized information, and the UID/GID set to
the mapped UID/GID. This data is written to /run/host/userdb/ where
nss-system will pick it up.
This should make sharing users and home directories from host into the
container pretty seamless, under some conditions:
1. User namespacing must be used.
2. The host UID/GID of the user/group cannot be in the range assigned to
the container (kernel already refuses this, as this would mean two
host UIDs/GIDs might end up being mapped to the same continer
UID/GID.
3. There's a free UID/GID in the aforementioned range in the container,
and the name of the user/group is not used in the container.
4. Container payload is new enough to include an nss-systemd version
that picks up records from /run/host/userdb/
Lennart Poettering [Wed, 5 May 2021 10:29:01 +0000 (12:29 +0200)]
nspawn: export userns_mkdir() + userns_lchown() so that it can be used elsewhere in nspawn
Lennart Poettering [Wed, 5 May 2021 08:45:48 +0000 (10:45 +0200)]
user-record: optionally, allow parsing empty user record JSON objects
Lennart Poettering [Wed, 12 May 2021 12:00:07 +0000 (14:00 +0200)]
execute: don't chown/chmod non-TTY inodes thinking they were TTYs
Fixes: #19213
This is a safety net for invalid configurations, see the original bug
report.
Lennart Poettering [Wed, 12 May 2021 11:49:37 +0000 (13:49 +0200)]
core: use GID_INVALID instead of -1 where appropriate
Lennart Poettering [Wed, 12 May 2021 11:47:45 +0000 (13:47 +0200)]
terminal-util: use _cleanup_close_ where appropriate
Lennart Poettering [Wed, 12 May 2021 11:45:48 +0000 (13:45 +0200)]
terminal-util: add extra validity checks that we operate on a TTY before doing so
Prompted by #19213, but not fixing it.
This is mostly paranoia that we don't do stuff on inodes that aren't
actually ttys.
Lennart Poettering [Wed, 12 May 2021 11:45:01 +0000 (13:45 +0200)]
terminal-util: add debug logging for when TTY ioctls fail
Lennart Poettering [Tue, 18 May 2021 21:01:32 +0000 (23:01 +0200)]
alloc-util: simplify GREEDY_REALLOC() logic by relying on malloc_usable_size()
We recently started making more use of malloc_usable_size() and rely on
it (see the string_erase() story). Given that we don't really support
sytems where malloc_usable_size() cannot be trusted beyond statistics
anyway, let's go fully in and rework GREEDY_REALLOC() on top of it:
instead of passing around and maintaining the currenly allocated size
everywhere, let's just derive it automatically from
malloc_usable_size().
I am mostly after this for the simplicity this brings. It also brings
minor efficiency improvements I guess, but things become so much nicer
to look at if we can avoid these allocation size variables everywhere.
Note that the malloc_usable_size() man page says relying on it wasn't
"good programming practice", but I think it does this for reasons that
don't apply here: the greedy realloc logic specifically doesn't rely on
the returned extra size, beyond the fact that it is equal or larger than
what was requested.
(This commit was supposed to be a quick patch btw, but apparently we use
the greedy realloc stuff quite a bit across the codebase, so this ends
up touching *a*lot* of code.)
Lennart Poettering [Tue, 18 May 2021 20:30:10 +0000 (22:30 +0200)]
alloc-util: add MALLOC_ELEMENTSOF() helper
This is a wrapper around malloc_usable_size() but is typesafe, and
divides by the element size.
A test it is also added ensuring what it does it does correcly.
Lennart Poettering [Tue, 18 May 2021 20:27:24 +0000 (22:27 +0200)]
alloc-util: introduce MALLOC_SIZEOF_SAFE() helper
It's a wrapper around malloc_usable_size() that is supposed to be
compatible with _FORTIFY_SOURCES=1, by taking the
__builtin_object_size() data into account, the same way as the
_FORTIFY_SOURCES=1 logic does.
Fixes: #19203
Lennart Poettering [Wed, 19 May 2021 14:35:16 +0000 (16:35 +0200)]
Merge pull request #19608 from keszybz/resolved-pahole
Pahole optimization for resolved's DnsQuery
Yu Watanabe [Wed, 19 May 2021 14:08:18 +0000 (23:08 +0900)]
Merge pull request #19163 from sipraga/online-if-required
network: introduce an online state that respects RequiredForOnline=
Luca Boccassi [Wed, 19 May 2021 13:33:56 +0000 (14:33 +0100)]
Merge pull request #19659 from keszybz/mkosi-naming-adjustment
Mkosi dependency naming adjustment
Yu Watanabe [Wed, 19 May 2021 12:21:28 +0000 (21:21 +0900)]
alloc-util: use memcpy_safe() in memdup() or friends
Yu Watanabe [Wed, 19 May 2021 12:20:49 +0000 (21:20 +0900)]
memory-util: make memcpy_safe() return pointer to destination
Frantisek Sumsal [Wed, 19 May 2021 11:58:35 +0000 (13:58 +0200)]
Merge pull request #19661 from keszybz/restore-liquid-compatibility
Restore liquid compatibility
Zbigniew Jędrzejewski-Szmek [Wed, 19 May 2021 11:53:41 +0000 (13:53 +0200)]
docs: prettify two external links
Zbigniew Jędrzejewski-Szmek [Wed, 19 May 2021 11:22:25 +0000 (13:22 +0200)]
docs: use {% raw %} to wrap jinja2 tags in documentation
As reported by @mrc0mmand:
> Since https://github.com/systemd/systemd/commit/
89f52a780e54b2eb0905a6e613f6d4afcb22256b#diff-b842e6ab4a95a695d9449d106f091e6a134d9eac8d2aee1cd8b169fcb6b3a98bR109
> the GH pages fail to build, since they use the Liquid templating language,
> which coincidentally uses a very similar tags as jinja:
> https://shopify.github.io/liquid/tags/control-flow/
>
>> The tag elif on line 112 in HACKING.md is not a recognized Liquid tag.
Frantisek Sumsal [Wed, 19 May 2021 08:49:56 +0000 (10:49 +0200)]
test: reintroduce m4 dependency for TEST-06-SELINUX
m4 is required to build the test SELinux module:
```
[ 31.321789] sh[483]: /bin/sh: line 1: m4: command not found
[ 31.882668] sh[488]: Compiling targeted systemd_test module
[ 32.120862] sh[492]: /bin/sh: line 1: m4: command not found
[ 32.159897] sh[458]: make: *** [/usr/share/selinux/devel/include/Makefile:156: tmp/systemd_test.mod] Error 127
```
Zbigniew Jędrzejewski-Szmek [Wed, 19 May 2021 08:53:32 +0000 (10:53 +0200)]
mkosi: stop pulling in vi
We have 'nano' everywhere, and it's enough for a casual edit.
Zbigniew Jędrzejewski-Szmek [Wed, 19 May 2021 08:52:17 +0000 (10:52 +0200)]
mkosi/fedora: use pkgconfig virtual provides to refer to packages
... and /usr/bin/ path for a library package which provides an executable we
care about (libxslt).
This way the mkosi dependency list corresponds directly to the names which are
used in the dependency() and find_program() lines in meson.build. It also makes
the thing more resilient to package splits and renames.
Zbigniew Jędrzejewski-Szmek [Wed, 19 May 2021 08:44:45 +0000 (10:44 +0200)]
mkosi/fedora: drop python3-devel req
I think it was only used for building the python wrappers.
C.f. https://src.fedoraproject.org/rpms/systemd/c/
ec9ca01d16bf6eda50b77f64dccf1caa06d29374?branch=rawhide.
Yu Watanabe [Thu, 13 May 2021 07:47:42 +0000 (16:47 +0900)]
network: route: check validity of interface name in MultiPathRoute=
Yu Watanabe [Fri, 14 May 2021 02:58:20 +0000 (11:58 +0900)]
network: route: parse earlier if device specifier in MultiPathRoute= is ifindex
Yu Watanabe [Fri, 14 May 2021 07:00:52 +0000 (16:00 +0900)]
network: introduce link_get_by_name()
Yu Watanabe [Mon, 17 May 2021 19:52:53 +0000 (04:52 +0900)]
network: drop redundant condition
When Network::unmanaged is set, then the Network object is not assigned
to any Link object. Hence, the condition is always false.
Yu Watanabe [Wed, 19 May 2021 07:17:19 +0000 (16:17 +0900)]
network: drop unnecessary call of manager_rtnl_process_address()
The reply should be NLMSG_DONE or NLMSG_ERROR.
Moreover, calling the function for reply of address label configuration
is completely wrong.
Yu Watanabe [Mon, 17 May 2021 07:32:46 +0000 (16:32 +0900)]
network: drop unused "callback" arguments in route_remove() and address_remove()
Yu Watanabe [Mon, 17 May 2021 06:57:11 +0000 (15:57 +0900)]
network: dhcp4: re-request DHCP4 address and routes immediately
It is not necessary to wait for removal is finished, as network queue
already do the same thing.
Alvin Šipraga [Tue, 27 Apr 2021 08:58:18 +0000 (10:58 +0200)]
man: describe overall online status in networkctl(1)
Alvin Šipraga [Fri, 23 Apr 2021 12:19:56 +0000 (14:19 +0200)]
networkd-test: support online state in networkctl status output
networkctl status now outputs an online state. Fix up the tests to
account for this.
Alvin Šipraga [Tue, 6 Apr 2021 13:40:46 +0000 (15:40 +0200)]
network: show online state in networkctl status output
In case the link online state is invalid, networkctl will print
"unknown", which is sufficiently neutral. The same goes for the overall
manager online state if there are no managed links, or if
RequiredForOnline=no for all managed links.
Example output:
$ networkctl status
● State: routable
Online state: partial
Address: 172.22.0.130 on wlan0
...
$ networkctl status wlan0
● 3: wlan0
Link File: /lib/systemd/network/99-default.link
Network File: /etc/systemd/network/50-wlan0.network
Type: wlan
State: routable (configured)
Online state: online
...
Alvin Šipraga [Fri, 16 Apr 2021 13:04:24 +0000 (15:04 +0200)]
man: clarify RequiredFamilyForOnline= behaviour for online state
With new "online state" semantics in networkd, make the description of
RequiredFamilyForOnline= a little more broad. Some rewording has been
done to make the passage easier to understand.