Persistent names of certain network interfaces changed after upgrading to SLES 15 SP6
This document (000021650) is provided subject to the disclaimer at the end of this document.
Environment
SUSE Linux Enterprise Server 15 Service Pack 6
Situation
A setup with Intel XXV710 (i40e) and E810-C (ice) network interfaces has been using predictable interface naming in SLES 15 SP4 and SP5.
Network drivers for these devices are i40e and ice respectively.
On SLES 15 SP6 the interface names for the i40e and ice devices have been appended with an additional 'np{digit}' part.
During boot of a SLES 15 SP5 system with i40e driver loaded, messages like the following would be logged :i40e 0000:5e:00.0 enp94s0f0: renamed from eth6
i40e 0000:5e:00.1 enp94s0f1: renamed from eth7
Similar system on SLES 15 SP6 :i40e 0000:5e:00.0 enp94s0f0np0: renamed from eth6
i40e 0000:5e:00.1 enp94s0f1np1: renamed from eth7
Resolution
If you are in need of the fix before the update being released, please open a ticket with SUSE Support and reference bsc#1234015 in order to get a temporary fix.
These lists can be supplied as an hwdb entry in a file named <something>.hwdb stored in
/etc/udev/hwdb.d/
. 'man systemd.net-naming-scheme'
contains the section "LIMITING THE USE OF SPECIFIC SYSFS ATTRIBUTES" : When creating names for network cards, some naming schemes use data from
sysfs populated by the kernel. This means that although a specific naming
scheme in udev is picked, the network card's name can still change when a
new kernel version adds a new sysfs attribute. For example if kernel starts
setting the phys_port_name, udev will append the "nphys_port_name" suffix
to the device name.
....
Example 11. Set a denylist so that specified sysfs attribute are ignored
/etc/udev/hwdb.d/50-net-naming-denylist.hwdb
net:naming:drvirtio_net:*
ID_NET_NAME_ALLOW=1
ID_NET_NAME_ALLOW_DEV_PORT=0
ID_NET_NAME_ALLOW_PHYS_PORT_NAME=0
net:naming:dr<driver-name>:*'
is the value of the ID_NET_DRIVER property (prepended by 'dr').net:naming:dri40e:*
/etc/udev/hwdb.d/50-net-naming-denylist.hwdb
with the following content :
net:naming:dri40e:*
ID_NET_NAME_ALLOW=1
ID_NET_NAME_ALLOW_PHYS_PORT_NAME=0
net:naming:drice:*
ID_NET_NAME_ALLOW=1
ID_NET_NAME_ALLOW_PHYS_PORT_NAME=0
# systemd-hwdb update
3. Test that the changes are active with the 'systemd-hwdb query' command for each driver. For our example :
# systemd-hwdb query net:naming:dri40e:
ID_NET_NAME_ALLOW=1
ID_NET_NAME_ALLOW_PHYS_PORT_NAME=0
# systemd-hwdb query net:naming:drice:
ID_NET_NAME_ALLOW=1
ID_NET_NAME_ALLOW_PHYS_PORT_NAME=0
Cause
One example of such a driver change is the upstream commit
which changes the behavior for i40e.
Additional Information
Regarding persistent interfact naming setup, see also
https://www.suse.com/support/kb/doc/?id=000020541
Disclaimer
This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.
- Document ID:000021650
- Creation Date: 18-Dec-2024
- Modified Date:18-Dec-2024
-
- SUSE Linux Enterprise Server
For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com