Feature changed by: Narendra K - (narendra_k) Feature #311365, revision 5 Title: Include 71-biosdevname.rules to rename network interfaces based on chassis labels openSUSE Distribution: Unconfirmed Priority Requester: Important Requested by: Narendra K - (narendra_k) + Developer: jordan hargrave (jhargrave) Partner organization: openSUSE.org Description: On a Dell PowerEdge server with multiple add-in cards, the naming of the network interfaces is non-deterministic. This results in 'eth0' not mapping to "Embedded NIC 1" as labeled on the server chassis. This issue is seen on Dell PowerEdge 10G above. This feature addresses this issue by renaming network interfaces based on their location on the system motherboard. The naming policy it suggests are as follows - Embedded devices: em<port> Add-in PCI cards: pci<slot>p<port>_<virtual function instance> Please refer to "Consistent Network device naming-Name network interfaces to match chassis labels" (https://features.opensuse.org/310896). Business case (Partner benefit): openSUSE.org: This allows system administrators to refer to the network interfaces by names based on their location on the motherboard. The naming becomes deterministic and there is no state such as HWADDR embedded into the configuration files. Discussion: #1: Narendra K - (narendra_k) (2011-03-01 16:28:05) This request is for the inclusion of 71-biosdevname.rules which define how the rename happens. 71-biosdevname.rules looks like this - SUBSYSTEM!="net", GOTO="netdevicename_end" KERNEL!="eth*", GOTO=" netdevicename_end" ACTION!="add", GOTO="netdevicename_end" NAME=="?*", GOTO="netdevicename_end" # kernel command line "biosdevname={0|1}" can turn off/on biosdevname IMPORT{cmdline}="biosdevname" ENV{biosdevname}=="?*", ENV {UDEV_BIOSDEVNAME}="$env{biosdevname}" # ENV{UDEV_BIOSDEVNAME} can be used for blacklist/whitelist # but will be overwritten by the kernel command line argument ENV{UDEV_BIOSDEVNAME}=="0", GOTO=" netdevicename_end" ENV{UDEV_BIOSDEVNAME}=="1", GOTO=" netdevicename_start" # uncomment the next line for biosdevname to be off by default # GOTO=" netdevicename_end" LABEL="netdevicename_start" # using NAME= instead of setting INTERFACE_NAME, so that persistent # names aren't generated for these devices, they are "named" on each boot. PROGRAM="/sbin/biosdevname --policy physical -i %k", NAME="%c", OPTIONS+="string_escape=replace" LABEL="netdevicename_end" -- openSUSE Feature: https://features.opensuse.org/311365