Re: [systemd-devel] eth2: Failed to rename network interface 6 from 'eth2' to 'eno1': File exists

2022-01-05 Thread Michael Biebl
Am Mi., 5. Jan. 2022 um 13:50 Uhr schrieb Mantas Mikulėnas :
> It does, yes, but note this part:
>
> Jan 03 11:30:14 nasl002b.example.com kernel: igb :02:00.2 eth4: renamed 
> from eth2
> Jan 03 11:30:14 nasl002b.example.com kernel: igb :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

systemd (220-7) unstable; urgency=medium

  The mechanism for providing stable network interface names changed.
  Previously they were kept in /etc/udev/rules.d/70-persistent-net.rules
  which mapped device MAC addresses to the (arbitrary) name they got when
  they first appeared (i. e. mostly at the time of installation). As this
  had several problems and is not supported any more, this is deprecated in
  favor of the "net.ifnames" mechanism. With this most of your network
  interfaces will get location-based names. If you have ifupdown, firewall,
  or other configuration that relies on the old names, you need to update
  these by Debian 10/Ubuntu 18.04 LTS, and then remove
  /etc/udev/rules.d/70-persistent-net.rules. Please see
  /usr/share/doc/udev/README.Debian.gz for details about this.

 -- Martin Pitt   Mon, 15 Jun 2015 15:30:29 +0200


Re: [systemd-devel] eth2: Failed to rename network interface 6 from 'eth2' to 'eno1': File exists

2022-01-05 Thread Harald Dunkel

On 2022-01-05 13:50:29, Mantas Mikulėnas wrote:

On Wed, Jan 5, 2022 at 9:46 AM Harald Dunkel 


AFAICS the kernel of today still assigns the "legacy" interface names,
which are renamed by udev later. I would suggest to improve conflict



It does, yes, but note this part:

Jan 03 11:30:14 nasl002b.example.com kernel: igb :02:00.2 eth4: renamed
from eth2
Jan 03 11:30:14 nasl002b.example.com kernel: igb :02:00.3 eth5: renamed
from eth3




BTW:

# lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 Processor Family DRAM 
Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core 
Processor Family PCI Express Root Port (rev 09)
00:01.1 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core 
Processor Family PCI Express Root Port (rev 09)
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network 
Connection (Lewisville) (rev 05)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family 
USB Enhanced Host Controller #2 (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI 
Express Root Port 1 (rev b5)
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI 
Express Root Port 5 (rev b5)
00:1c.5 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI 
Express Root Port 6 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family 
USB Enhanced Host Controller #1 (rev 05)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation C204 Chipset LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 
6 port Desktop SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus 
Controller (rev 05)
02:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection 
(rev 01)
02:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection 
(rev 01)
02:00.2 Ethernet controller: Intel Corporation I350 Gigabit Network Connection 
(rev 01)
02:00.3 Ethernet controller: Intel Corporation I350 Gigabit Network Connection 
(rev 01)
04:00.0 RAID bus controller: 3ware Inc 9750 SAS2/SATA-II RAID PCIe (rev 05)
05:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
06:00.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200e 
[Pilot] ServerEngines (SEP1) (rev 04)

Sorry, I should have included this list right from the start.


Regards
Harri


Re: [systemd-devel] eth2: Failed to rename network interface 6 from 'eth2' to 'eno1': File exists

2022-01-05 Thread Harald Dunkel

On 2022-01-05 11:17:20, Martin Wilck wrote:


This is default behavior. To disable it, you need to use
"net.ifnames=0". If you see the same value multiple times for either
"acpi_index" or "index", it'd be a firmware problem. I suppose it can
happen that one device has acpi_index==1 and another one has index==1
(IIRC the first is derived from ACPI _DSM, the second from SMBIOS / DMI
type 41).



I wonder where I can find these acpi_index and index attributes?

Regards
Harri


Re: [systemd-devel] eth2: Failed to rename network interface 6 from 'eth2' to 'eno1': File exists

2022-01-05 Thread Mantas Mikulėnas
On Wed, Jan 5, 2022 at 9:46 AM Harald Dunkel 
wrote:

> On 2022-01-04 16:14:16, Andrei Borzenkov wrote:
> >
> > You have two interfaces which export the same onboard interface index.
> > There is not much udev can do here; the only option is to disable
> > onboard interface name policy. The attributes that are used by udev
> > are "acpi_index"  and "index". Check values of these attributes for
> > all interfaces.
> >
>
> I will check, but please note that I didn't enable this. AFAIU Debian
> uses the settings according to the guidelines of upstream.
>
> >
> > As is obvious from the log you provided, they did not "keep" their
> > names but were renamed. Whether this is correct depends on rules your
> > distribution is using.
> >
>
> AFAICS the kernel of today still assigns the "legacy" interface names,
> which are renamed by udev later. I would suggest to improve conflict
>

It does, yes, but note this part:

Jan 03 11:30:14 nasl002b.example.com kernel: igb :02:00.2 eth4: renamed
from eth2
Jan 03 11:30:14 nasl002b.example.com kernel: igb :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.

It also makes me wonder whether one of your interfaces might actually have
the "eno1" name assigned manually (through another udev rule) and not
really through the "predictable" naming.

-- 
Mantas Mikulėnas


Re: [systemd-devel] eth2: Failed to rename network interface 6 from 'eth2' to 'eno1': File exists

2022-01-05 Thread Martin Wilck
On Wed, 2022-01-05 at 08:39 +0100, Harald Dunkel wrote:
> On 2022-01-04 16:14:16, Andrei Borzenkov wrote:
> > 
> > You have two interfaces which export the same onboard interface
> > index.
> > There is not much udev can do here; the only option is to disable
> > onboard interface name policy. The attributes that are used by udev
> > are "acpi_index"  and "index". Check values of these attributes for
> > all interfaces.
> > 
> 
> I will check, but please note that I didn't enable this. AFAIU Debian
> uses the settings according to the guidelines of upstream.

This is default behavior. To disable it, you need to use
"net.ifnames=0". If you see the same value multiple times for either
"acpi_index" or "index", it'd be a firmware problem. I suppose it can
happen that one device has acpi_index==1 and another one has index==1
(IIRC the first is derived from ACPI _DSM, the second from SMBIOS / DMI
type 41).


Martin