I've been using systemd's "predictable network interface names" for a
few days now. You know, the ones that go like "enp5s0".
After thinking about it for a while, I came to the conclusion that
these interface names are indeed a very good solution for most setups.
For me, though, they don't work very well. I'm better off with
statically assigned interface names depending on the MAC address.
Reason's simple: I use an USB ethernet adapter. Now, with systemd's
naming scheme, it gets named like this: "enp0s29u1u4". Hmmm. Yeah,
technically correct (the USB "slot" is encoded in this name), but
impractical. When I plug the adapter into another USB port, its name
changes! Bummer.
Interfaces that I *know* get a special name. Anything else is the
usual "eth0", "eth1", "wlan0", ...
I've also been playing with interface names depending on the MAC
address. Literally, the MAC is part of the interface name. You'd end
up with "en7207b9a89c19". Pretty clumsy, eh? But you wouldn't have to
worry about collisions or USB ports. Nah, too clumsy.