You are not logged in.
Hi,
After some time (upgrade to netplan?) my bond interface shows as "degraded" and subsequently systemd-networkd-wait-online fails.
I suspect (though I am not sure) this is because the bond interface gets an link-local IPv6 address assigned to it despite it should not get any (?), as the computer is in a VLAN and the bond should be "enslaved" if I've understood correctly.
Being a bit paranoid, I've obfusctaed IP and MAC addresses below;
Netplan .yaml:
network:
version: 2
renderer: networkd
ethernets:
eno3: {}
eno4: {}
bonds:
bond1:
dhcp4: no
dhcp6: no
accept-ra: no
interfaces: [ eno3, eno4 ]
parameters:
mode: 802.3ad
mii-monitor-interval: 1
transmit-hash-policy: layer3+4
vlans:
vlan000:
dhcp4: no
dhcp6: no
accept-ra: no
id: 000
link: bond1
addresses:
- XXX.XXX.XXX.20/25
- "ZZZZ:ZZZZ:ZZZZ:ZZZZ::20/64"
routes:
- to: default
via: XXX.XXX.XXX.1
- to: default
via: ZZZZ:ZZZZ:ZZZZ:ZZZZ::1
nameservers:
search: [ DOMAIN ]
addresses:
- XXX.XXX.XXX.1
- "ZZZZ:ZZZZ:ZZZZ:ZZZZ::53"
- XXX.XXX.XXX.7
- "ZZZZ:ZZZZ:ZZZZ:ZZZZ::54"The IP setup:
$ ip addr show:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether MACS:c6 brd ff:ff:ff:ff:ff:ff
altname enp1s0f0
altname MACS
3: eno2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether MACS:c8 brd ff:ff:ff:ff:ff:ff
altname enp1s0f1
altname MACS
4: eno3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond1 state UP group default qlen 1000
link/ether MACS brd ff:ff:ff:ff:ff:ff permaddr MACS:ca
altname enp1s0f2
altname MACS
5: eno4: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond1 state UP group default qlen 1000
link/ether MACS brd ff:ff:ff:ff:ff:ff permaddr MACS:cc
altname enp1s0f3
altname MACS
6: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether MACS brd ff:ff:ff:ff:ff:ff
inet6 fe80::e8ce:95ff:fe87:f45/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
7: vlan151@bond1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether MACS brd ff:ff:ff:ff:ff:ff
inet XXX.XXX.XXX.20/25 brd XXX.XXX.XXX.127 scope global vlan151
valid_lft forever preferred_lft forever
inet6 ZZZZ:ZZZZ:ZZZZ:ZZZZ::20/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::e8ce:95ff:fe87:f45/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever... yet networkctl says:
$ networkctl
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 eno1 ether off unmanaged
3 eno2 ether off unmanaged
4 eno3 ether enslaved configured
5 eno4 ether enslaved configured
6 bond1 bond degraded configured
7 vlan000 vlan routable configured
7 links listed.$ systemctl list-units --failed
UNIT LOAD ACTIVE SUB DESCRIPTION
● systemd-networkd-wait-online.service loaded failed failed Wait for Network to be Online
Legend: LOAD → Reflects whether the unit definition was properly loaded.
ACTIVE → The high-level unit activation state, i.e. generalization of SUB.
SUB → The low-level unit activation state, values depend on unit type.
1 loaded units listed.Last edited by Wild Penguin (2026-05-20 20:27:05)
Offline
The state "degraded" means that the interface bond0 only has an IPv6 LLA and no usable (routable) connection. That in itself may be considered cosmetic.
If you want to change this, you have to instruct systemd-networkd to drop the LLA:
[Network]
LinkLocalAddressing=noCan't help you with netplan.
Offline
-thc,
Yes, i know what degraded means - but, in this case, systemd should realize that interface should not be routable, but enslaved. For some reason, it doesn't. I suspect it is because it gets the LinkLocalAddress - but why only IPv6? Why not IPv4? Point is, it should not get neither! And it should be (indeed) cosmetic. It's not "degraded" at least!
The exercise here is, how to do what you suggest with netplan (I can not find an option via a quick glance in the netplan-yaml documentation, as that is what I've chosen for the current setup.
EDIT: Yup link-local option is there! After disabling link local, it's not degraded anymore!
$ networkctl
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 eno1 ether off unmanaged
3 eno2 ether off unmanaged
4 eno3 ether enslaved configured
5 eno4 ether enslaved configured
6 bond1 bond carrier configured
7 vlan151 vlan routable configuredLast edited by Wild Penguin (2026-05-20 20:16:56)
Offline
The reason network-wait-online was failing was a different one, though. For some reason systemd-resolved was disabled (I should have also looked at the service's journal in the first place).
However both issues fixed - marking as [SOLVED]!
Offline
"should" …
LLAs are mandatory on https://en.wikipedia.org/wiki/Link-local_address#IPv6
I assume the problem is that you changed https://wiki.archlinux.org/title/System … le_address ?
Did you see https://wiki.archlinux.org/title/System … l_the_time ?
Edit:
more shouldland - and I should™ have hit F5 ![]()
Last edited by seth (2026-05-20 20:30:14)
Online
The problem was:
May 20 23:17:06 sigma systemd-networkd-wait-online[22265]: Failed to connect to io.systemd.Resolve.Monitor: No such file or directory
May 20 23:17:06 sigma systemd-networkd-wait-online[22265]: Could not create manager: No such file or directoryWhich was caused by systemd-resolved not being enabled. The problem had nothing to do with the bond1 being labeled as "degraded", contrary to what I thought in the beginning.
This computer has very stable connection so I'm not assuming the ethernet ports would be disconnected ![]()
TIL about the local link addresses. It's purely cosmetic, but perhaps a small bug in systemd-networkd (I don't think correctly configured interfaced should ever have the "degraded" label, or maybe it's just me and I find that term a bit ... disturbing). Reading the Wikipedia page... I'm not sure should it still have any IPv6 local-link address, as it's linked with the vlan. It's a matter of correctness only.... FWIW I've re-enabled the IPv6 local link address on the interface, "just in case" it's actually needed (and despite causing the annoying yellow "degraded").
Last edited by Wild Penguin (2026-05-20 22:57:16)
Offline
(I don't think correctly configured interfaced should ever have the "degraded" label, or maybe it's just me and I find that term a bit ... disturbing)
You're not alone - but the developers of systemd chose to name that interface state (LLA only - non-routable) "degraded". So that's that.
as the computer is in a VLAN and the bond should be "enslaved" if I've understood correctly.
Reading the Wikipedia page... I'm not sure should it still have any IPv6 local-link address, as it's linked with the vlan. It's a matter of correctness only....
AFAIK the relationship between master and VLAN interface is not like that in a bridge (master/slave) - but more like the relationship between multiple IP configurations running on one physical interface (eth0, eth0:2, eth0:3 etc.).
In fact you can run a completely different IP setup on the master interface (bond0) - as long as the attached hardware (VLAN enabled switch) transports packets with and without a VLAN tag simultaneously.
Offline
In fact you can run a completely different IP setup on the master interface (bond0) - as long as the attached hardware (VLAN enabled switch) transports packets with and without a VLAN tag simultaneously.
Ah that makes sense. In this case, we (the community managing our VLAN) do not permit any addresses without the VLAN ID. Also, the bond was assigned the same link-local address as the VLAN. In my view the bond itself should not be addressable at all. So I presume it would be (also) correct to not just give it any link-local addresses. However, I don't think it really matters (in this case) ![]()
Offline