Perhaps it is sprained? But seriously...
If you upgrade when suggested (as I usually do) and then you follow the instructions given when upgrading (which I have learned to always read carefully) then you usually avoid problems.
Not this time.
udev-197 and newer introduces a new method of naming network
interfaces. The new names are a very significant change, so
they are disabled by default on live systems.
Ooh, better leave those alone then.
Upstream has removed the possibility of renaming to existing
network interfaces. For example, it's not possible to assign based
on MAC address to existing interface eth0.
Hmm, that sounds like how I sort out my three ethernet interfaces. Better read that 80-* rule file and see what to do!
From that file...
# This functionality has not been tested with gentoo. In fact, we are aware that
# things will break if you activate it.
#
# If you are not comfortable testing this, leave this file as is. We will
# publish a news item when you can migrate.
Holy crap! I don't want to break my server, better leave that alone then.
Reboot: renaming doesn't work now depending on what order the interfaces are detected.
Hmm, the old 70-persistent-net.rules file is making it try to do the (now) impossible!
Got rid of that and no more complaining or missing interfaces. Also no more knowing what interface will end up where. My system seems to randomly reorder every boot!
So. My choices according to the info so far seemed to be:
A. Leave old rules in place: randomly fails depending on detection order. Some interfaces work some times : No way!
or
B. Remove old persistent-net rules and go with unpredictable kernel names: random ethX devices! : No Way! (They invented that file for a reason.)
or
C. Remove old files and 80-* and go with new predictable names: "Untested on Gentoo. In fact, we are aware that things will break if you activate it." : Doesn't sound like a good idea either!
so...
D. Ask Google: After reading for about an hour, I deciphered the mess and went what I think is a much simpler way.
1. Leave the 80-* file as is. A reinstall of udev will apparently put it back anyway. (Surely that is broken? There must be a permanent way to set this on or off.)
2. Edit the old 70-persistent-net.rules file and simply change all ethX to netX. This gives predictable MAC->netX naming which doesn't trip over preexisting device names, because netX names are not used by the kernel. Detection order is no longer a problem.
3. Edit /etc/conf.d/net and other files (eg /var/lib/iptables/rules.save) that mention ethX and change them to use netX. (Is this what will break if you change to the new names?)
4. Reboot and live happily ever after! (Until the next unexpected udev change anyway.)
This way, everything works just the way it used to, only the eth's are all net's. I found that much easier to understand.