Edit: Originally I posted about systemd-networkd-wait-online. It is in fact NetworkManager-wait-online.service, sorry to everyone who spent their time answering my question, lol
I have a Fedora 40 KDE PC with one ethernet (Intel 2.5G) and WiFi. I want to use network bridge (so that other devices can access my libvirt VMs).
Using the KDE settings app, I deleted the default ethernet connection, then created a bridge connection (using the Intel 2.5G NIC as slave).
The bridge takes a lot time to boot up (~30 seconds). This causes the NetworkManager-wait-online.service to block me for 30 seconds before getting to the KDE login screen. I tried auto connecting the WiFi, but it doesn’t make NetworkManager-wait-online.service faster (maybe because it waits for all network devices to be up?).
I checked via systemd-analyze blame and is sure that NetworkManager-wait-online.service is the problem.
What can I do to make the bridge starts up faster? I have thought of disabling NetworkManager-wait-online.service, but I fear that it might cause some unintended consequences.
I think I am using NetworkManager. I remember that since the bridge starts up so slow, I used nmcli to check, and nmcli con returned the network devices inside the KDE network settings.
Thanks for you answer. I will check one more time to confirm which network daemon am I using.
I think I can symlink NetworkManager-wait-online.service to systemd-networkd-wait-online.service after disabling systemd-networkd-wait-online.service, so that the execution flow of other services are not changed.
Edit: Now that I think of it, the blocking service might actually be NetworkManager-wait-online.service. I am not at home and I only remember the wait-online.service part of the name of the service, sorry for the confusion
Don’t do that. To enable a service, run systemctl enable NetworkManager-wait-online.service and it will do the right thing. Similar, systemctl disable systemd-networkd-wait-online.service to disable a service.
What you suggest above is the wrong thing to do and will not have the desired result.
Also, I noticed that if I manaully disconnect the bridge interface, then reconnect again, the slave 2.5G NIC won’t start by itself.
I have to manually start the 2.5G NIC with nmcli con up br0_enp6s0, otherwise the bridge interface just wait for it indefinitely. Not sure if this is relevant.