Re: eth2: Failed to rename network interface 6 from 'eth2' to 'eno1': File exists

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 6, 2022 at 10:42 AM Harald Dunkel <harald.dunkel@xxxxxxxxxx> wrote:
On 2022-01-05 21:48:11, Michael Biebl wrote:
> Am Mi., 5. Jan. 2022 um 13:50 Uhr schrieb Mantas Mikulėnas <grawity@xxxxxxxxx>:
>> It does, yes, but note this part:
>>
>> Jan 03 11:30:14 nasl002b.example.com kernel: igb 0000:02:00.2 eth4: renamed from eth2
>> Jan 03 11:30:14 nasl002b.example.com kernel: igb 0000:02:00.3 eth5: renamed from eth3
>>
>> Here the kernel-assigned names (eth2, eth3) are being renamed to custom names (eth4, eth5). That's not something systemd or udev does by default. It suggests that you likely have old "70-persistent-net" udev rules (or something similar) that assign custom eth* names separately from the slot-based "predictable" naming – perhaps a leftover from Debian 7.
>>
>> These interfaces aren't being skipped due to an earlier conflict – they are intentionally skipped by 80-net-setup-link.rules because they already have a custom 'NAME=' assigned by an earlier rule, so the "predictable" name is not applied to avoid breaking existing configuration.
>
> Yes, please check if you have a leftover file
> /etc/udev/rules.d/70-persistent-net.rules
> See also the relevant NEWS entry in /usr/share/doc/udev/NEWS.Debian.gz
>

You are right about Debian 7 wrt 70-persistent-net.rules, but for Debian
10 I had used net.ifnames=0. It was changed to 1 after(!) the upgrade to
Debian 11:

That's really irrelevant to what I was saying. The net.ifnames= option only disables the "predictable naming" udev helper; it does nothing about custom udev rules that directly set NAME= on network interfaces (and are apparently setting NAME="eth4" on your system).

Grep your entire /etc for those interface names (starting with /etc/udev), find out where they're defined, and remove them – that should bring the enp* names back. (Also grep for "eno1" just in case.)

As for 'index' and 'acpi_index' attributes, they're in /sys on the parent PCI device of the network interface (e.g. /sys/class/net/eth2/../../{acpi_,}index or /sys/bus/pci/devices/0000:02:00.2/{acpi_,}index), another way to see them is `udevadm info -a /sys/class/net/eth2`.

--
Mantas Mikulėnas

[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux