# Use MAC based names for network interfaces which are directly or indirectly # on USB and have an universally administered (stable) MAC address (second bit # is 0). Don't do this when ifnames is disabled via kernel command line or # customizing/disabling 99-default.link (or previously 80-net-setup-link.rules). IMPORT{cmdline}="net.ifnames" ENV{net.ifnames}=="0", GOTO="usb_net_by_mac_end" ACTION=="add", SUBSYSTEM=="net", SUBSYSTEMS=="usb", NAME=="", \ ATTR{address}=="?[014589cd]:*", \ TEST!="/etc/udev/rules.d/80-net-setup-link.rules", \ TEST!="/etc/systemd/network/99-default.link", \ IMPORT{builtin}="net_id", NAME="$env{ID_NET_NAME_MAC}" # Some Dell BIOS perform "MAC passthrough" which forces the same MAC address # for the onboard nic and the in-dock nic, which obviously prevents naming # the interfaces by mac. Since those nics are usb, we have to prevent trying # to rename both of them to the same name. This sets a value that will # cause udevd to skip its repeated attempts at renaming the interface if the # first rename attempt fails. ACTION=="add", SUBSYSTEM=="net", SUBSYSTEMS=="usb", \ ATTR{[dmi/id]sys_vendor}=="Dell Inc.", \ ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="8153", \ ENV{DELL_MAC_PASSTHROUGH}="1" LABEL="usb_net_by_mac_end"