>>> KERNEL=="eth?", SYSFS{address}=="00:21:e9:17:64:b5", NAME="eth1" # >>> Now, all three network cards get assigned as eth0! eth1 and eth2 are >>> no longer found. The pci-express nics (onboard) get detected first, >>> and the pci nic is last, so it ends up "owning" the eth0 alias. >> Changing SYSFS to ATTR should do it. > Tom, > > Now I get in the syslog: Unknown key: ATTR{address} > > I also tried ATTRS{address} seen in some examples, same error. > > Digging around google a bit more I came up with different rules, and > fingers crossed, they seem to work! > > SUBSYSTEM=="net", SYSFS{address}=="00:1b:21:4d:c3:e8", NAME="eth0" # pro/1000gt > SUBSYSTEM=="net", SYSFS{address}=="00:e0:81:b5:7a:30", NAME="eth1" # internal 1 > SUBSYSTEM=="net", SYSFS{address}=="00:e0:81:b5:7a:31", NAME="eth2" # internal 2 Sorry. I was at an F12 box and udev uses there (and on U9.10) "ATTR{address}". For CentOS, it is "SYSFS{address}" as you are using... :(