Re: [systemd-devel] Predictable Network Interface Name Bug?

2021-12-18 Thread Tim Safe
Thanks!

I've never had to beg the Ubuntu package maintainers for patches, so I'll
have to learn the process.

Alternatively, it looks like copying
/lib/udev/rules.d/80-net-setup-link.rules to /etc/udev/rules.d/ and
changing 'NAME="$env{ID_NET_NAME}"' to 'NAME="$env{ID_NET_NAME_PATH}"'
would also work. Is there any issue with this approach?

Thanks for your help!

On Fri, Dec 17, 2021 at 4:20 AM Zbigniew Jędrzejewski-Szmek <
zbys...@in.waw.pl> wrote:

> As Lennart wrote, some of the changes since v245 are likely to fix
> your issue.  I'd put my money on
> https://github.com/systemd/systemd/commit/2c8ec0095e i.e. systemd 247,
> but it's probably best to try systemd 249.
>
> Zbyszek
>


Re: [systemd-devel] Predictable Network Interface Name Bug?

2021-12-17 Thread Zbigniew Jędrzejewski-Szmek
As Lennart wrote, some of the changes since v245 are likely to fix
your issue.  I'd put my money on
https://github.com/systemd/systemd/commit/2c8ec0095e i.e. systemd 247,
but it's probably best to try systemd 249.

Zbyszek


Re: [systemd-devel] Predictable Network Interface Name Bug?

2021-12-16 Thread Tim Safe
thanks!

$ udevadm info /sys/class/net/*
P: /devices/pci:00/:00:1f.6/net/eno1
L: 0
E: DEVPATH=/devices/pci:00/:00:1f.6/net/eno1
E: INTERFACE=eno1
E: IFINDEX=3
E: SUBSYSTEM=net
E: USEC_INITIALIZED=1182514
E: ID_MM_CANDIDATE=1
E: ID_NET_NAMING_SCHEME=v245
E: ID_NET_NAME_MAC=enx5065f34d8a34
E: ID_OUI_FROM_DATABASE=Hewlett Packard
E: ID_NET_NAME_ONBOARD=eno1
E: ID_NET_LABEL_ONBOARD=Onboard Lan
E: ID_NET_NAME_PATH=enp0s31f6
E: ID_BUS=pci
E: ID_VENDOR_ID=0x8086
E: ID_MODEL_ID=0x15b7
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
E: ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-LM
E: ID_PATH=pci-:00:1f.6
E: ID_PATH_TAG=pci-_00_1f_6
E: ID_NET_DRIVER=e1000e
E: ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/eno1
E: TAGS=:systemd:

P:
/devices/pci:00/:00:1d.0/:03:00.0/:04:02.0/:05:00.0/net/ens8f0
L: 0
E:
DEVPATH=/devices/pci:00/:00:1d.0/:03:00.0/:04:02.0/:05:00.0/net/ens8f0
E: INTERFACE=ens8f0
E: IFINDEX=2
E: SUBSYSTEM=net
E: USEC_INITIALIZED=1746487
E: ID_MM_CANDIDATE=1
E: ID_NET_NAMING_SCHEME=v245
E: ID_NET_NAME_MAC=enx001b21708410
E: ID_OUI_FROM_DATABASE=Intel Corporate
E: ID_NET_NAME_PATH=enp5s0f0
E: ID_NET_NAME_SLOT=ens8f0
E: ID_BUS=pci
E: ID_VENDOR_ID=0x8086
E: ID_MODEL_ID=0x10e8
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
E: ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Quad
Port Server Adapter)
E: ID_PATH=pci-:05:00.0
E: ID_PATH_TAG=pci-_05_00_0
E: ID_NET_DRIVER=igb
E: ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/ens8f0
E: TAGS=:systemd:

P:
/devices/pci:00/:00:1d.0/:03:00.0/:04:02.0/:05:00.1/net/ens8f1
L: 0
E:
DEVPATH=/devices/pci:00/:00:1d.0/:03:00.0/:04:02.0/:05:00.1/net/ens8f1
E: INTERFACE=ens8f1
E: IFINDEX=4
E: SUBSYSTEM=net
E: USEC_INITIALIZED=1770489
E: ID_MM_CANDIDATE=1
E: ID_NET_NAMING_SCHEME=v245
E: ID_NET_NAME_MAC=enx001b21708411
E: ID_OUI_FROM_DATABASE=Intel Corporate
E: ID_NET_NAME_PATH=enp5s0f1
E: ID_NET_NAME_SLOT=ens8f1
E: ID_BUS=pci
E: ID_VENDOR_ID=0x8086
E: ID_MODEL_ID=0x10e8
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
E: ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Quad
Port Server Adapter)
E: ID_PATH=pci-:05:00.1
E: ID_PATH_TAG=pci-_05_00_1
E: ID_NET_DRIVER=igb
E: ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/ens8f1
E: TAGS=:systemd:

P:
/devices/pci:00/:00:1d.0/:03:00.0/:04:04.0/:06:00.0/net/eth2
L: 0
E:
DEVPATH=/devices/pci:00/:00:1d.0/:03:00.0/:04:04.0/:06:00.0/net/eth2
E: INTERFACE=eth2
E: IFINDEX=5
E: SUBSYSTEM=net

P:
/devices/pci:00/:00:1d.0/:03:00.0/:04:04.0/:06:00.1/net/eth3
L: 0
E:
DEVPATH=/devices/pci:00/:00:1d.0/:03:00.0/:04:04.0/:06:00.1/net/eth3
E: INTERFACE=eth3
E: IFINDEX=6
E: SUBSYSTEM=net

P: /devices/virtual/net/lo
L: 0
E: DEVPATH=/devices/virtual/net/lo
E: INTERFACE=lo
E: IFINDEX=1
E: SUBSYSTEM=net
E: USEC_INITIALIZED=1019476
E: ID_MM_CANDIDATE=1
E: ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link

P: /devices/virtual/net/lxdbr0
L: 0
E: DEVPATH=/devices/virtual/net/lxdbr0
E: DEVTYPE=bridge
E: INTERFACE=lxdbr0
E: IFINDEX=7
E: SUBSYSTEM=net
E: USEC_INITIALIZED=136341357
E: ID_MM_CANDIDATE=1
E: ID_NET_NAMING_SCHEME=v245
E: ID_NET_DRIVER=bridge
E: ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/lxdbr0
E: TAGS=:systemd:

P: /devices/virtual/net/piholelxd
L: 0
E: DEVPATH=/devices/virtual/net/piholelxd
E: INTERFACE=piholelxd
E: IFINDEX=10
E: SUBSYSTEM=net
E: USEC_INITIALIZED=149466251
E: ID_MM_CANDIDATE=1
E: ID_NET_DRIVER=veth
E: ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/piholelxd
E: TAGS=:systemd:


On Thu, Dec 16, 2021 at 7:45 AM Zbigniew Jędrzejewski-Szmek <
zbys...@in.waw.pl> wrote:

> On Thu, Dec 16, 2021 at 07:27:44AM -0500, Tim Safe wrote:
> > Thanks for the reply! Here's the output:
> >
> > $ udevadm test-builtin net_id /sys/class/net/ens8f0
> > ID_NET_NAME_SLOT=ens8f0
> >
> > $ udevadm test-builtin net_id /sys/class/net/ens8f1
> > ID_NET_NAME_SLOT=ens8f1
> >
> > $ udevadm test-builtin net_id /sys/class/net/eth2
> > ID_NET_NAME_SLOT=ens8f0
> >
> > $ udevadm test-builtin net_id /sys/class/net/eth3
> > ID_NET_NAME_SLOT=ens8f1
>
> Thanks. What does 'udevadm info /sys/class/net/*' say?
>
> Zbyszek
>
>


Re: [systemd-devel] Predictable Network Interface Name Bug?

2021-12-16 Thread Lennart Poettering
On Mi, 15.12.21 21:37, Tim Safe (timsafeem...@gmail.com) wrote:

> Hello-
>
> I have an Ubuntu Server 20.04 (systemd 245 (245.4-4ubuntu3.13)) box that I
> recently installed a Intel quad-port Gigabit ethernet adapter (E1G44ETBLK).
>
> It appears that the predictable interface naming is only renaming the first
> two interfaces (ens8f0, ens8f1) and the second two fail to be renamed
> (eth2, eth3).

Consider updating your systemd version to a newer version (or ask your
distro to backport the relevant patches). The predictable network
interface naming received a number of tweaks since 245, and it's
pretty likely this has since been fixed. Specifically, the
NAMING_SLOT_FUNCTION_ID feature flag introduced with v249 will likely
fix your case.

Lennart

--
Lennart Poettering, Berlin


Re: [systemd-devel] Predictable Network Interface Name Bug?

2021-12-16 Thread Zbigniew Jędrzejewski-Szmek
On Thu, Dec 16, 2021 at 07:27:44AM -0500, Tim Safe wrote:
> Thanks for the reply! Here's the output:
> 
> $ udevadm test-builtin net_id /sys/class/net/ens8f0
> ID_NET_NAME_SLOT=ens8f0
> 
> $ udevadm test-builtin net_id /sys/class/net/ens8f1
> ID_NET_NAME_SLOT=ens8f1
> 
> $ udevadm test-builtin net_id /sys/class/net/eth2
> ID_NET_NAME_SLOT=ens8f0
> 
> $ udevadm test-builtin net_id /sys/class/net/eth3
> ID_NET_NAME_SLOT=ens8f1

Thanks. What does 'udevadm info /sys/class/net/*' say?

Zbyszek



Re: [systemd-devel] Predictable Network Interface Name Bug?

2021-12-16 Thread Tim Safe
Thanks for the reply! Here's the output:

$ udevadm test-builtin net_id /sys/class/net/ens8f0
Load module index
Parsed configuration file /usr/lib/systemd/network/99-default.link
Parsed configuration file /usr/lib/systemd/network/73-usb-net-by-mac.link
Created link configuration context.
Using default interface naming scheme 'v245'.
ID_NET_NAMING_SCHEME=v245
ID_NET_NAME_MAC=enx001b21708410
ID_OUI_FROM_DATABASE=Intel Corporate
ID_NET_NAME_PATH=enp5s0f0
ID_NET_NAME_SLOT=ens8f0
Unload module index
Unloaded link configuration context.

$ udevadm test-builtin net_id /sys/class/net/ens8f1
Load module index
Parsed configuration file /usr/lib/systemd/network/99-default.link
Parsed configuration file /usr/lib/systemd/network/73-usb-net-by-mac.link
Created link configuration context.
Using default interface naming scheme 'v245'.
ID_NET_NAMING_SCHEME=v245
ID_NET_NAME_MAC=enx001b21708411
ID_OUI_FROM_DATABASE=Intel Corporate
ID_NET_NAME_PATH=enp5s0f1
ID_NET_NAME_SLOT=ens8f1
Unload module index
Unloaded link configuration context.

$ udevadm test-builtin net_id /sys/class/net/eth2
Load module index
Parsed configuration file /usr/lib/systemd/network/99-default.link
Parsed configuration file /usr/lib/systemd/network/73-usb-net-by-mac.link
Created link configuration context.
Using default interface naming scheme 'v245'.
ID_NET_NAMING_SCHEME=v245
ID_NET_NAME_MAC=enx001b21708412
ID_OUI_FROM_DATABASE=Intel Corporate
ID_NET_NAME_PATH=enp6s0f0
ID_NET_NAME_SLOT=ens8f0
Unload module index
Unloaded link configuration context.

$ udevadm test-builtin net_id /sys/class/net/eth3
Load module index
Parsed configuration file /usr/lib/systemd/network/99-default.link
Parsed configuration file /usr/lib/systemd/network/73-usb-net-by-mac.link
Created link configuration context.
Using default interface naming scheme 'v245'.
ID_NET_NAMING_SCHEME=v245
ID_NET_NAME_MAC=enx001b21708413
ID_OUI_FROM_DATABASE=Intel Corporate
ID_NET_NAME_PATH=enp6s0f1
ID_NET_NAME_SLOT=ens8f1
Unload module index
Unloaded link configuration context.

On Thu, Dec 16, 2021 at 3:03 AM Zbigniew Jędrzejewski-Szmek <
zbys...@in.waw.pl> wrote:

> On Wed, Dec 15, 2021 at 09:37:41PM -0500, Tim Safe wrote:
> > Hello-
> >
> > I have an Ubuntu Server 20.04 (systemd 245 (245.4-4ubuntu3.13)) box that
> I
> > recently installed a Intel quad-port Gigabit ethernet adapter
> (E1G44ETBLK).
> >
> > It appears that the predictable interface naming is only renaming the
> first
> > two interfaces (ens8f0, ens8f1) and the second two fail to be renamed
> > (eth2, eth3).
> >
> > From the logs, I see the following messages:
> >
> > systemd-udevd[456]: eth2: Failed to rename network interface 5 from
> 'eth2'
> > to 'ens8f0': File exists
> > systemd-udevd[456]: eth2: Failed to process device, ignoring: File exists
> > systemd-udevd[459]: ethtool: autonegotiation is unset or enabled, the
> speed
> > and duplex are not writable.
> > systemd-udevd[459]: eth3: Failed to rename network interface 6 from
> 'eth3'
> > to 'ens8f1': File exists
> > systemd-udevd[459]: eth3: Failed to process device, ignoring: File exists
> >
> > Taking a closer look at the PCI bus, I see:
> >
> > 05:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network
> > Connection (rev 01)
> > 05:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network
> > Connection (rev 01)
> > 06:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network
> > Connection (rev 01)
> > 06:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network
> > Connection (rev 01)
> >
> > It looks like the adapter has two instances ending in '0' and two
> instances
> > ending in '1'; they differ by the higher number ('05' vs '06') in the
> lspci
> > output.
> >
> > Is this a bug? I'd expect to see the 3rd and 4th interfaces to be named
> > ens8f2, ens8f3.
>
> Can you provide the output from 'udevadm test-builtin net_id
> /sys/class/net/'
> for each of the four interfaces?
>
> Zbyszek
>


Re: [systemd-devel] Predictable Network Interface Name Bug?

2021-12-16 Thread Zbigniew Jędrzejewski-Szmek
On Wed, Dec 15, 2021 at 09:37:41PM -0500, Tim Safe wrote:
> Hello-
> 
> I have an Ubuntu Server 20.04 (systemd 245 (245.4-4ubuntu3.13)) box that I
> recently installed a Intel quad-port Gigabit ethernet adapter (E1G44ETBLK).
> 
> It appears that the predictable interface naming is only renaming the first
> two interfaces (ens8f0, ens8f1) and the second two fail to be renamed
> (eth2, eth3).
> 
> From the logs, I see the following messages:
> 
> systemd-udevd[456]: eth2: Failed to rename network interface 5 from 'eth2'
> to 'ens8f0': File exists
> systemd-udevd[456]: eth2: Failed to process device, ignoring: File exists
> systemd-udevd[459]: ethtool: autonegotiation is unset or enabled, the speed
> and duplex are not writable.
> systemd-udevd[459]: eth3: Failed to rename network interface 6 from 'eth3'
> to 'ens8f1': File exists
> systemd-udevd[459]: eth3: Failed to process device, ignoring: File exists
> 
> Taking a closer look at the PCI bus, I see:
> 
> 05:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network
> Connection (rev 01)
> 05:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network
> Connection (rev 01)
> 06:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network
> Connection (rev 01)
> 06:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network
> Connection (rev 01)
> 
> It looks like the adapter has two instances ending in '0' and two instances
> ending in '1'; they differ by the higher number ('05' vs '06') in the lspci
> output.
> 
> Is this a bug? I'd expect to see the 3rd and 4th interfaces to be named
> ens8f2, ens8f3.

Can you provide the output from 'udevadm test-builtin net_id 
/sys/class/net/'
for each of the four interfaces?

Zbyszek


[systemd-devel] Predictable Network Interface Name Bug?

2021-12-15 Thread Tim Safe
Hello-

I have an Ubuntu Server 20.04 (systemd 245 (245.4-4ubuntu3.13)) box that I
recently installed a Intel quad-port Gigabit ethernet adapter (E1G44ETBLK).

It appears that the predictable interface naming is only renaming the first
two interfaces (ens8f0, ens8f1) and the second two fail to be renamed
(eth2, eth3).

>From the logs, I see the following messages:

systemd-udevd[456]: eth2: Failed to rename network interface 5 from 'eth2'
to 'ens8f0': File exists
systemd-udevd[456]: eth2: Failed to process device, ignoring: File exists
systemd-udevd[459]: ethtool: autonegotiation is unset or enabled, the speed
and duplex are not writable.
systemd-udevd[459]: eth3: Failed to rename network interface 6 from 'eth3'
to 'ens8f1': File exists
systemd-udevd[459]: eth3: Failed to process device, ignoring: File exists

Taking a closer look at the PCI bus, I see:

05:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network
Connection (rev 01)
05:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network
Connection (rev 01)
06:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network
Connection (rev 01)
06:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network
Connection (rev 01)

It looks like the adapter has two instances ending in '0' and two instances
ending in '1'; they differ by the higher number ('05' vs '06') in the lspci
output.

Is this a bug? I'd expect to see the 3rd and 4th interfaces to be named
ens8f2, ens8f3.

Any help would be greatly appreciated - thanks!

Tim L