Feature changed by: Narendra K - (narendra_k)
Feature #311365, revision 4
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)
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>
+ The naming policy it suggests are as follows -
+ Embedded devices: em<port> Add-in PCI cards: pci<slot>p<port>_
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