I don't think that driver matching is still happening. Something else seems to be responsible for conditionally fixing the name to be eth0 when it's one of those well-known built-in ethernet drivers for rpi. AIUI, this is done because by convention, people like to take an sd card and move it from one rpi to another and expect things to just work.
For usb eth, we don't have the limited set of known on-board ethernet drivers, so as far as I've heard, there's not a good way to just "do the right thing" there, and currently requires manual configuration. Still, I have to wonder if there's something nicer we could do. I do see in the logs for systemd-networkd that something seems to be renaming my usb eth dongle to eth1 (this is currently connected to an RPI 4 that has its own eth0), and then later renames it back to a predictable name. Apr 21 23:28:29 ubuntu systemd[1]: Starting Network Service... Apr 21 23:28:29 ubuntu systemd-networkd[1685]: Enumeration completed Apr 21 23:28:29 ubuntu systemd-networkd[1685]: enx000ec6c41f57: Interface name change detected, enx000ec6c41f5 7 has been renamed to eth1. Apr 21 23:28:29 ubuntu systemd[1]: Started Network Service. Apr 21 23:28:29 ubuntu systemd-networkd[1685]: eth1: Interface name change detected, eth1 has been renamed to enx000ec6c41f57. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1900904 Title: netplan yaml for rpi groovy server prevents usb ethernet To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1900904/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs