Running Ubuntu 22.04 with a TrendNet 2.5Gbe PCIe card I'm binding my NIC enp3s0 to a bridge br0 to use with a KVM that I'd like to have access to my local network. Configuring the bridge with systemd-networkd works (br0 is master to enp3s0 and receives a DHCP lease) until I reboot the host. The bridge will have some self-assigned IP like 172.19.0.x in ip a. If I restart the networkd service, the bridge will properly receive a DHCP lease. The weird thing is that when checking jounralctl after boot and before resetting the networkd service it shows br0 recieving a DHCP lease. Does anyone have any idea what is going wrong? Here's my journalctl -eu systemd-networkd starting from a reboot and showing a networkd service restart
-- Boot b5d8c30dd45c4118a5532486410ae807 --
Apr 22 22:50:34 theheartofgold systemd[1]: Starting Network Configuration...
Apr 22 22:50:34 theheartofgold systemd-networkd[1898]: br0: netdev ready
Apr 22 22:50:34 theheartofgold systemd-networkd[1898]: lo: Link UP
Apr 22 22:50:34 theheartofgold systemd-networkd[1898]: lo: Gained carrier
Apr 22 22:50:34 theheartofgold systemd-networkd[1898]: Enumeration completed
Apr 22 22:50:34 theheartofgold systemd[1]: Started Network Configuration.
Apr 22 22:50:34 theheartofgold systemd-networkd[1898]: br0: Link UP
Apr 22 22:50:34 theheartofgold systemd-networkd[1898]: enp3s0: Link UP
Apr 22 22:50:38 theheartofgold systemd-networkd[1898]: enp3s0: Gained carrier
Apr 22 22:50:38 theheartofgold systemd-networkd[1898]: br0: Gained carrier
Apr 22 22:50:40 theheartofgold systemd-networkd[1898]: br0: Gained IPv6LL
Apr 22 22:50:41 theheartofgold systemd-networkd[1898]: br0: DHCPv6 address 2601:240:8100:9810::cd19/128 (valid for 1w, preferred for 1w)
Apr 22 22:50:42 theheartofgold systemd-networkd[1898]: br0: DHCPv4 address 10.0.0.172/24 via 10.0.0.1 <------ Says that br0 received a lease but "ip a" does not reflect this and no network access
Apr 22 22:50:44 theheartofgold systemd-networkd[1898]: nebula1: Link UP
Apr 22 22:50:44 theheartofgold systemd-networkd[1898]: nebula1: Gained carrier
Apr 22 22:50:44 theheartofgold systemd-networkd[1898]: nebula1: Gained IPv6LL
Apr 22 22:50:46 theheartofgold systemd-networkd[1898]: br-f1781ea40a8c: Link UP
Apr 22 22:50:46 theheartofgold systemd-networkd[1898]: br-89c82a376cdf: Link UP
Apr 22 22:50:47 theheartofgold systemd-networkd[1898]: vethb69aed5: Link UP
Apr 22 22:50:47 theheartofgold systemd-networkd[1898]: veth8dbe0f6: Link UP
Apr 22 22:50:47 theheartofgold systemd-networkd[1898]: br-89c82a376cdf: Gained carrier
Apr 22 22:50:47 theheartofgold systemd-networkd[1898]: br-89c82a376cdf: Lost carrier
Apr 22 22:50:48 theheartofgold systemd-networkd[1898]: vethb69aed5: Gained carrier
Apr 22 22:50:48 theheartofgold systemd-networkd[1898]: veth8dbe0f6: Gained carrier
Apr 22 22:50:48 theheartofgold systemd-networkd[1898]: br-89c82a376cdf: Gained carrier
Apr 22 22:50:49 theheartofgold systemd-networkd[1898]: br-89c82a376cdf: Gained IPv6LL
Apr 22 22:50:49 theheartofgold systemd-networkd[1898]: vethb69aed5: Gained IPv6LL
Apr 22 22:50:50 theheartofgold systemd-networkd[1898]: veth8dbe0f6: Gained IPv6LL
Apr 22 22:51:49 theheartofgold systemd[1]: Stopping Network Configuration... <---- This is when I reset networkd-systemd.service
Apr 22 22:51:49 theheartofgold systemd-networkd[1898]: br0: DHCPv6 lease lost
Apr 22 22:51:49 theheartofgold systemd[1]: systemd-networkd.service: Deactivated successfully.
Apr 22 22:51:49 theheartofgold systemd[1]: Stopped Network Configuration.
Apr 22 22:51:49 theheartofgold systemd[1]: Starting Network Configuration...
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: veth8dbe0f6: Link UP
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: veth8dbe0f6: Gained carrier
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: vethb69aed5: Link UP
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: vethb69aed5: Gained carrier
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: br-89c82a376cdf: Link UP
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: br-89c82a376cdf: Gained carrier
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: br-f1781ea40a8c: Link UP
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: nebula1: Link UP
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: nebula1: Gained carrier
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: br0: netdev ready
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: br0: Link UP
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: br0: Gained carrier
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: enp3s0: Link UP
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: enp3s0: Gained carrier
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: lo: Link UP
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: lo: Gained carrier
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: veth8dbe0f6: Gained IPv6LL
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: vethb69aed5: Gained IPv6LL
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: br-89c82a376cdf: Gained IPv6LL
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: nebula1: Gained IPv6LL
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: br0: Gained IPv6LL
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: Enumeration completed
Apr 22 22:51:49 theheartofgold systemd[1]: Started Network Configuration.
Apr 22 22:51:49 theheartofgold systemd-networkd[4856]: br0: netdev exists, using existing without changing its parameters
Apr 22 22:51:50 theheartofgold systemd-networkd[4856]: br0: DHCPv4 address 10.0.0.172/24 via 10.0.0.1 <---- DHCP Lease now shows up in "ip a" and have network access
Apr 22 22:51:50 theheartofgold systemd-networkd[4856]: br0: DHCPv6 address 2601:240:8100:9810::cd19/128 (valid for 1w, preferred for 1w)
I believe those other br and veth devices are being created by docker.
Here are my networkd configs as well.
theheartofgold:/etc/systemd/network$ cat 20-wired.network
[Match]
Name=enp3s0
[Network]
DHCP=ipv4
theheartofgold:/etc/systemd/network$ cat br0.network
[Match]
Name=br0
[Network]
DHCP=ipv4
theheartofgold:/etc/systemd/network$ cat br0.netdev
[NetDev]
Name=br0
Kind=bridge
theheartofgold:/etc/systemd/network$ cat 10-bind.network
[Match]
Name=enp3s0
[Network]
Bridge=br0