Udev Rename NIC Failed

Home » CentOS » Udev Rename NIC Failed
CentOS 1 Comment

Hi,

Sometimes, I found one of my Mellanox NIC renamed to rename6, instead of eth1. The right names of NICs in my system should be:
eth0 Mellanox NIC
eth1 Mellanox NIC
eth2 Intel NIC
eth3 Intel NIC
eth4 Intel NIC
eth5 Intel NIC
eth0 and eth1 will combined as bond1 with mode 4. However, the current names are:
eth0 Mellanox NIC
rename6 Mellanox NIC
eth1 Intel NIC
eth2 Intel NIC
eth4 Intel NIC
eth5 Intel NIC
And bond1 still consist of eth0 and eth1, but eth1 is Intel NIC, instead of Mellanox NIC.

Following is selected log from /var/log/messages:

kernel: [ 23.098148] i40e: Intel(R) 40-10 Gigabit Ethernet Connection Network Driver – version 2.2.4
kernel: [ 23.098554] i40e: Copyright(c) 2013 – 2017 Intel Corporation.
kernel: [ 23.114270] i40e 0000:1a:00.0: fw 3.1.57069 api 1.5 nvm 3.33 0x80000f09 255.65535.255
kernel: [ 23.118320] i40e 0000:1a:00.0: MAC address: 28:41:c6:fb:c3:a2
kernel: [ 23.128007] i40e 0000:1a:00.0: MSI-X vector limit reached, attempting to redistribute vectors
kernel: [ 23.133699] i40e 0000:1a:00.0: Added LAN device PF0 bus=0x1a dev=0x00 func=0x00
kernel: [ 23.134414] i40e 0000:1a:00.0: Features: PF-id[0] VFs: 32 VSIs: 34 QP: 56 RSS FD_ATR FD_SB NTUPLE CloudF DCB VxLAN NVGRE PTP VEPA
kernel: [ 23.148085] i40e 0000:1a:00.1: fw 3.1.57069 api 1.5 nvm 3.33 0x80000f09 255.65535.255
kernel: [ 23.151729] i40e 0000:1a:00.1: MAC address: 28:41:c6:fb:c3:a3
kernel: [ 23.160694] i40e 0000:1a:00.1: MSI-X vector limit reached, attempting to redistribute vectors
kernel: [ 23.166232] i40e 0000:1a:00.1: Added LAN device PF1 bus=0x1a dev=0x00 func=0x01
kernel: [ 23.167280] i40e 0000:1a:00.1: Features: PF-id[1] VFs: 32 VSIs: 34 QP: 56 RSS FD_ATR FD_SB NTUPLE CloudF DCB VxLAN NVGRE PTP VEPA
kernel: [ 23.185771] i40e 0000:1a:00.2: fw 3.1.57069 api 1.5 nvm 3.33 0x80000f09 255.65535.255
kernel: [ 23.193232] i40e 0000:1a:00.2: MAC address: 28:41:c6:fb:c3:a4
kernel: [ 23.207420] i40e 0000:1a:00.2: MSI-X vector limit reached, attempting to redistribute vectors
kernel: [ 23.217474] i40e 0000:1a:00.2: Added LAN device PF2 bus=0x1a dev=0x00 func=0x02
kernel: [ 23.219339] i40e 0000:1a:00.2: Features: PF-id[2] VFs: 32 VSIs: 34 QP: 56 RSS FD_ATR FD_SB NTUPLE CloudF DCB VxLAN NVGRE PTP VEPA
kernel: [ 23.237958] i40e 0000:1a:00.3: fw 3.1.57069 api 1.5 nvm 3.33 0x80000f09 255.65535.255
kernel: [ 23.242039] i40e 0000:1a:00.3: MAC address: 28:41:c6:fb:c3:a5
kernel: [ 23.258645] i40e 0000:1a:00.3: MSI-X vector limit reached, attempting to redistribute vectors
kernel: [ 23.270395] i40e 0000:1a:00.3: Added LAN device PF3 bus=0x1a dev=0x00 func=0x03
kernel: [ 23.271911] i40e 0000:1a:00.3: Features: PF-id[3] VFs: 32 VSIs: 34 QP: 56 RSS FD_ATR FD_SB NTUPLE CloudF DCB VxLAN NVGRE PTP

kernel: [ 250.279739] Compat-mlnx-ofed backport release: f8de107
kernel: [ 250.280006] Backport based on mlnx_ofed/mlnx-ofa_kernel-4.0.git f8de107
kernel: [ 250.280261] compat.git: mlnx_ofed/mlnx-ofa_kernel-4.0.git
kernel: [ 250.287865] mlx5_core 0000:3b:00.0: firmware version: 14.23.1020
kernel: [ 250.293492] tun: Universal TUN/TAP device driver, 1.6
kernel: [ 250.293731] tun: (C) 1999-2004 Max Krasnyansky
kernel: [ 250.360407] nbd: registered device at major 43
kernel: [ 250.367659] nf_conntrack version 0.5.0 (65536 buckets, 262144 max)
kernel: [ 250.373103] VFIO – User Level meta-driver version: 0.3
kernel: [ 250.455352] EXT4-fs (sda2): re-mounted. Opts: (null)
kernel: [ 250.489486] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
kernel: [ 251.202430] (0000:3b:00.0): E-Switch: Total vports 9, per vport: max uc(1024) max mc(16384)
kernel: [ 251.343924] mlx5_core 0000:3b:00.1: firmware version: 14.23.1020
kernel: [ 252.273017] (0000:3b:00.1): E-Switch: Total vports 9, per vport: max uc(1024) max mc(16384)
kernel: [ 252.411436] mlx5_core 0000:3b:00.0: MLX5E: StrdRq(1) RqSz(8) StrdSz(64) RxCqeCmprss(0)
kernel: [ 252.575886] mlx5_core 0000:3b:00.1: MLX5E: StrdRq(1) RqSz(8) StrdSz(64) RxCqeCmprss(0)
kernel: [ 252.814797] mlx5_ib: Mellanox Connect-IB Infiniband driver v4.2-1.2.0
kernel: [ 343.507623] Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
kernel: [ 343.508800] bonding: bond1 is being created…
kernel: [ 343.525710] bond1: Setting MII monitoring interval to 100
kernel: [ 343.526101] bond1: Setting xmit hash policy to layer2+3 (2)
kernel: [ 343.528088] IPv6: ADDRCONF(NETDEV_UP): bond1: link is not ready
kernel: [ 343.543330] bond1: Adding slave eth0
kernel: [ 343.834246] mlx5_core 0000:3b:00.0 eth0: mlx5e_update_carrier:153: Link up
kernel: [ 343.837195] bond1: Enslaving eth0 as a backup interface with an up link
kernel: [ 343.852012] bond1: Adding slave eth1
kernel: [ 343.852264] i40e 0000:1a:00.1 eth1: set new mac address 98:03:9b:83:cd:5e
kernel: [ 343.860085] bond1: Enslaving eth1 as a backup interface with a down link

udevd-work[15328]: error changing netif name ‘eth1’ to ‘eth3’: Device or resource busy
….

It seems that udevd failed to rename eth1 to eth3, because eth1 has been enslaved by bond1. Does anyone know how to handle this problem?

i40e: 2.2.4
CentOS: 6.3
mlx5_core: 4.2

Thanks.

One thought on - Udev Rename NIC Failed

  • My hamfisted approach: under both CentOS 6 and 7, I wrote an additional service (starting before ‘network’), that iterated over the probed NICs, and reconfigured bonding upon startup.