2023-12-10 22:35:06

by Julia Lawall

[permalink] [raw]
Subject: Failed to start Raise network interfaces error

Hello,

Starting with the commit:

commit 9e479d64dc58f11792f638ea2e8eff3304edaabf
Author: Ivan Vecera <[email protected]>
Date: Fri Oct 13 19:07:51 2023 +0200

i40e: Add initial devlink support

I am not able to boot normally. The console shows the message

Failed to start Raise network interfaces

Searching for this message on th internet produces some old discussions
that suggest to look at the file /etc/network/interfaces. That file on my
system contains:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp24s0f0
iface enp24s0f0 inet dhcp

-------------------------------

The machine in question is part of a cluster, and may be set up in a
specific way. It actually does boot, in the sense that I get a
login prompt, but it doesn't seem to be reachable from the outside.

The above failure message is followed by a message about the inability to
retrieve a file that is part of the local setup process. I can find out
more about what is supposed to be done with this file.

Please let me know if there is any further information I can provide.

thanks,
julia


2023-12-12 14:46:23

by Julia Lawall

[permalink] [raw]
Subject: Re: Failed to start Raise network interfaces error



On Sun, 10 Dec 2023, Julia Lawall wrote:

> Hello,
>
> Starting with the commit:
>
> commit 9e479d64dc58f11792f638ea2e8eff3304edaabf
> Author: Ivan Vecera <[email protected]>
> Date: Fri Oct 13 19:07:51 2023 +0200
>
> i40e: Add initial devlink support
>
> I am not able to boot normally. The console shows the message
>
> Failed to start Raise network interfaces
>
> Searching for this message on th internet produces some old discussions
> that suggest to look at the file /etc/network/interfaces. That file on my
> system contains:
>
> # This file describes the network interfaces available on your system
> # and how to activate them. For more information, see interfaces(5).
>
> source /etc/network/interfaces.d/*
>
> # The loopback network interface
> auto lo
> iface lo inet loopback
>
> auto enp24s0f0
> iface enp24s0f0 inet dhcp
>
> -------------------------------
>
> The machine in question is part of a cluster, and may be set up in a
> specific way. It actually does boot, in the sense that I get a
> login prompt, but it doesn't seem to be reachable from the outside.
>
> The above failure message is followed by a message about the inability to
> retrieve a file that is part of the local setup process. I can find out
> more about what is supposed to be done with this file.
>
> Please let me know if there is any further information I can provide.

After some invetigation, it seems that the machine boots, but has no
access to the network. And indeed, the information about the network for
this machine says:

eth0/enp24s0f0, Ethernet, configured rate: 10 Gbps, model: Intel Ethernet
Controller X710 for 10GbE SFP+, driver: i40e

All is fine on another machine in the same infrastructure that has a
different networking configuration:

eth0/eno1, Ethernet, configured rate: 25 Gbps, model: Mellanox
Technologies MT27710 Family [ConnectX-4 Lx], driver: mlx5_core, SR-IOV
enabled
eth1/eno2, Ethernet, configured rate: 25 Gbps, model: Mellanox
Technologies MT27710 Family [ConnectX-4 Lx], driver: mlx5_core, SR-IOV
enabled

thanks,
julia

2023-12-12 14:53:11

by Ivan Vecera

[permalink] [raw]
Subject: Re: Failed to start Raise network interfaces error

On 10. 12. 23 23:28, Julia Lawall wrote:
> Hello,
>
> Starting with the commit:
>
> commit 9e479d64dc58f11792f638ea2e8eff3304edaabf
> Author: Ivan Vecera <[email protected]>
> Date: Fri Oct 13 19:07:51 2023 +0200
>
> i40e: Add initial devlink support
>
> I am not able to boot normally. The console shows the message
>
> Failed to start Raise network interfaces
>
> Searching for this message on th internet produces some old discussions
> that suggest to look at the file /etc/network/interfaces. That file on my
> system contains:
>
> # This file describes the network interfaces available on your system
> # and how to activate them. For more information, see interfaces(5).
>
> source /etc/network/interfaces.d/*
>
> # The loopback network interface
> auto lo
> iface lo inet loopback
>
> auto enp24s0f0
> iface enp24s0f0 inet dhcp

The problem is maybe with interface name... after this commit the
interface should contain port_name suffix. In your case the name should
be `enp24s0f0np0`.

Could you please check it?

Thx,
Ivan

2023-12-12 15:08:37

by Julia Lawall

[permalink] [raw]
Subject: Re: Failed to start Raise network interfaces error



On Tue, 12 Dec 2023, Ivan Vecera wrote:

> On 10. 12. 23 23:28, Julia Lawall wrote:
> > Hello,
> >
> > Starting with the commit:
> >
> > commit 9e479d64dc58f11792f638ea2e8eff3304edaabf
> > Author: Ivan Vecera <[email protected]>
> > Date: Fri Oct 13 19:07:51 2023 +0200
> >
> > i40e: Add initial devlink support
> >
> > I am not able to boot normally. The console shows the message
> >
> > Failed to start Raise network interfaces
> >
> > Searching for this message on th internet produces some old discussions
> > that suggest to look at the file /etc/network/interfaces. That file on my
> > system contains:
> >
> > # This file describes the network interfaces available on your system
> > # and how to activate them. For more information, see interfaces(5).
> >
> > source /etc/network/interfaces.d/*
> >
> > # The loopback network interface
> > auto lo
> > iface lo inet loopback
> >
> > auto enp24s0f0
> > iface enp24s0f0 inet dhcp
>
> The problem is maybe with interface name... after this commit the interface
> should contain port_name suffix. In your case the name should be
> `enp24s0f0np0`.
>
> Could you please check it?

Thanks for the feedback. But I'm not clear on how this would work. Does
there have to be one name for kernels before this patch and another name
for kernels starting with this patch? Or is the new name also acceptable
for older kernels?

thanks,
julia

2023-12-12 15:46:07

by Ivan Vecera

[permalink] [raw]
Subject: Re: Failed to start Raise network interfaces error

On 12. 12. 23 16:08, Julia Lawall wrote:
>
>
> On Tue, 12 Dec 2023, Ivan Vecera wrote:
>
>> On 10. 12. 23 23:28, Julia Lawall wrote:
>>> Hello,
>>>
>>> Starting with the commit:
>>>
>>> commit 9e479d64dc58f11792f638ea2e8eff3304edaabf
>>> Author: Ivan Vecera <[email protected]>
>>> Date: Fri Oct 13 19:07:51 2023 +0200
>>>
>>> i40e: Add initial devlink support
>>>
>>> I am not able to boot normally. The console shows the message
>>>
>>> Failed to start Raise network interfaces
>>>
>>> Searching for this message on th internet produces some old discussions
>>> that suggest to look at the file /etc/network/interfaces. That file on my
>>> system contains:
>>>
>>> # This file describes the network interfaces available on your system
>>> # and how to activate them. For more information, see interfaces(5).
>>>
>>> source /etc/network/interfaces.d/*
>>>
>>> # The loopback network interface
>>> auto lo
>>> iface lo inet loopback
>>>
>>> auto enp24s0f0
>>> iface enp24s0f0 inet dhcp
>>
>> The problem is maybe with interface name... after this commit the interface
>> should contain port_name suffix. In your case the name should be
>> `enp24s0f0np0`.
>>
>> Could you please check it?
>
> Thanks for the feedback. But I'm not clear on how this would work. Does
> there have to be one name for kernels before this patch and another name
> for kernels starting with this patch? Or is the new name also acceptable
> for older kernels?

The name of a network interface is configured by udev. And it takes
network interface attributes and compose a name for it. One of these
attributes is phys_port_name [1] and if it is provided then its value is
appended to the name.

Prior this commit the i40e driver didn't provided this attribute so the
name is (in your case) enp24s0f0. After this commit the value is
provided so it is appended -> enp24s0f0np0

Look at 'systemd.net-naming-scheme' man page for details how the
interface names are composed.

Thanks,
Ivan

[1] /sys/class/net/enp2s0f0np0/phys_port_name

2023-12-12 15:49:13

by Julia Lawall

[permalink] [raw]
Subject: Re: Failed to start Raise network interfaces error



On Tue, 12 Dec 2023, Ivan Vecera wrote:

> On 12. 12. 23 16:08, Julia Lawall wrote:
> >
> >
> > On Tue, 12 Dec 2023, Ivan Vecera wrote:
> >
> > > On 10. 12. 23 23:28, Julia Lawall wrote:
> > > > Hello,
> > > >
> > > > Starting with the commit:
> > > >
> > > > commit 9e479d64dc58f11792f638ea2e8eff3304edaabf
> > > > Author: Ivan Vecera <[email protected]>
> > > > Date: Fri Oct 13 19:07:51 2023 +0200
> > > >
> > > > i40e: Add initial devlink support
> > > >
> > > > I am not able to boot normally. The console shows the message
> > > >
> > > > Failed to start Raise network interfaces
> > > >
> > > > Searching for this message on th internet produces some old discussions
> > > > that suggest to look at the file /etc/network/interfaces. That file on
> > > > my
> > > > system contains:
> > > >
> > > > # This file describes the network interfaces available on your system
> > > > # and how to activate them. For more information, see interfaces(5).
> > > >
> > > > source /etc/network/interfaces.d/*
> > > >
> > > > # The loopback network interface
> > > > auto lo
> > > > iface lo inet loopback
> > > >
> > > > auto enp24s0f0
> > > > iface enp24s0f0 inet dhcp
> > >
> > > The problem is maybe with interface name... after this commit the
> > > interface
> > > should contain port_name suffix. In your case the name should be
> > > `enp24s0f0np0`.
> > >
> > > Could you please check it?
> >
> > Thanks for the feedback. But I'm not clear on how this would work. Does
> > there have to be one name for kernels before this patch and another name
> > for kernels starting with this patch? Or is the new name also acceptable
> > for older kernels?
>
> The name of a network interface is configured by udev. And it takes network
> interface attributes and compose a name for it. One of these attributes is
> phys_port_name [1] and if it is provided then its value is appended to the
> name.
>
> Prior this commit the i40e driver didn't provided this attribute so the name
> is (in your case) enp24s0f0. After this commit the value is provided so it is
> appended -> enp24s0f0np0
>
> Look at 'systemd.net-naming-scheme' man page for details how the interface
> names are composed.
>
> Thanks,
> Ivan
>
> [1] /sys/class/net/enp2s0f0np0/phys_port_name

OK, thanks. I will see if the administrators of the cluster can help with
this. I'll get back to you soon.

julia

2023-12-12 16:33:25

by Julia Lawall

[permalink] [raw]
Subject: Re: Failed to start Raise network interfaces error



On Tue, 12 Dec 2023, Ivan Vecera wrote:

> On 12. 12. 23 16:08, Julia Lawall wrote:
> >
> >
> > On Tue, 12 Dec 2023, Ivan Vecera wrote:
> >
> > > On 10. 12. 23 23:28, Julia Lawall wrote:
> > > > Hello,
> > > >
> > > > Starting with the commit:
> > > >
> > > > commit 9e479d64dc58f11792f638ea2e8eff3304edaabf
> > > > Author: Ivan Vecera <[email protected]>
> > > > Date: Fri Oct 13 19:07:51 2023 +0200
> > > >
> > > > i40e: Add initial devlink support
> > > >
> > > > I am not able to boot normally. The console shows the message
> > > >
> > > > Failed to start Raise network interfaces
> > > >
> > > > Searching for this message on th internet produces some old discussions
> > > > that suggest to look at the file /etc/network/interfaces. That file on
> > > > my
> > > > system contains:
> > > >
> > > > # This file describes the network interfaces available on your system
> > > > # and how to activate them. For more information, see interfaces(5).
> > > >
> > > > source /etc/network/interfaces.d/*
> > > >
> > > > # The loopback network interface
> > > > auto lo
> > > > iface lo inet loopback
> > > >
> > > > auto enp24s0f0
> > > > iface enp24s0f0 inet dhcp
> > >
> > > The problem is maybe with interface name... after this commit the
> > > interface
> > > should contain port_name suffix. In your case the name should be
> > > `enp24s0f0np0`.
> > >
> > > Could you please check it?
> >
> > Thanks for the feedback. But I'm not clear on how this would work. Does
> > there have to be one name for kernels before this patch and another name
> > for kernels starting with this patch? Or is the new name also acceptable
> > for older kernels?
>
> The name of a network interface is configured by udev. And it takes network
> interface attributes and compose a name for it. One of these attributes is
> phys_port_name [1] and if it is provided then its value is appended to the
> name.
>
> Prior this commit the i40e driver didn't provided this attribute so the name
> is (in your case) enp24s0f0. After this commit the value is provided so it is
> appended -> enp24s0f0np0
>
> Look at 'systemd.net-naming-scheme' man page for details how the interface
> names are composed.

After booting into 6.7.0-rc4, I have the following in
/etc/network/interfaces:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp24s0f0
iface enp24s0f0 inet dhcp

----------

So I don't see enp24s0f0np0

/sys/class/net/ contains:

enp24s0f0np0 enp24s0f1np1 ibp94s0 lo

/sys/class/net/enp24s0f0np0/phys_port_name does contain p0.

thanks,
julia


>
> Thanks,
> Ivan
>
> [1] /sys/class/net/enp2s0f0np0/phys_port_name
>
>

2023-12-12 16:44:21

by Ivan Vecera

[permalink] [raw]
Subject: Re: Failed to start Raise network interfaces error



On 12. 12. 23 17:33, Julia Lawall wrote:
>> Look at 'systemd.net-naming-scheme' man page for details how the interface
>> names are composed.
> After booting into 6.7.0-rc4, I have the following in
> /etc/network/interfaces:
>
> # This file describes the network interfaces available on your system
> # and how to activate them. For more information, see interfaces(5).
>
> source/etc/network/interfaces.d/*
>
> # The loopback network interface
> auto lo
> iface lo inet loopback
>
> auto enp24s0f0
> iface enp24s0f0 inet dhcp

Just change 'enp24s0f0' in /etc/network/interfaces to 'enp24s0f0np0'

Ivan

2023-12-12 16:54:09

by Julia Lawall

[permalink] [raw]
Subject: Re: Failed to start Raise network interfaces error



On Tue, 12 Dec 2023, Ivan Vecera wrote:

>
>
> On 12. 12. 23 17:33, Julia Lawall wrote:
> > > Look at 'systemd.net-naming-scheme' man page for details how the interface
> > > names are composed.
> > After booting into 6.7.0-rc4, I have the following in
> > /etc/network/interfaces:
> >
> > # This file describes the network interfaces available on your system
> > # and how to activate them. For more information, see interfaces(5).
> >
> > source/etc/network/interfaces.d/*
> >
> > # The loopback network interface
> > auto lo
> > iface lo inet loopback
> >
> > auto enp24s0f0
> > iface enp24s0f0 inet dhcp
>
> Just change 'enp24s0f0' in /etc/network/interfaces to 'enp24s0f0np0'

Indeed, if I make that change and then reboot, then I can access the
machine from the outside world and the machine can see the network. But
now if I try to boot an older kernel, the same problem happens again.

julia

2023-12-14 14:33:44

by Julia Lawall

[permalink] [raw]
Subject: Re: Failed to start Raise network interfaces error



On Tue, 12 Dec 2023, Ivan Vecera wrote:

>
>
> On 12. 12. 23 17:33, Julia Lawall wrote:
> > > Look at 'systemd.net-naming-scheme' man page for details how the interface
> > > names are composed.
> > After booting into 6.7.0-rc4, I have the following in
> > /etc/network/interfaces:
> >
> > # This file describes the network interfaces available on your system
> > # and how to activate them. For more information, see interfaces(5).
> >
> > source/etc/network/interfaces.d/*
> >
> > # The loopback network interface
> > auto lo
> > iface lo inet loopback
> >
> > auto enp24s0f0
> > iface enp24s0f0 inet dhcp
>
> Just change 'enp24s0f0' in /etc/network/interfaces to 'enp24s0f0np0'

Hello,

I don't know if anything can be done about it, but this change introduces
complexities. The people who manage the cluster that I use say that the
name of the network interface should be predictable, which is no longer
the case because it now depends on the kernel version.

thanks,
julia

2023-12-14 14:48:24

by Ivan Vecera

[permalink] [raw]
Subject: Re: Failed to start Raise network interfaces error

On 14. 12. 23 15:33, Julia Lawall wrote:
>
>
> On Tue, 12 Dec 2023, Ivan Vecera wrote:
>
>>
>>
>> On 12. 12. 23 17:33, Julia Lawall wrote:
>>>> Look at 'systemd.net-naming-scheme' man page for details how the interface
>>>> names are composed.
>>> After booting into 6.7.0-rc4, I have the following in
>>> /etc/network/interfaces:
>>>
>>> # This file describes the network interfaces available on your system
>>> # and how to activate them. For more information, see interfaces(5).
>>>
>>> source/etc/network/interfaces.d/*
>>>
>>> # The loopback network interface
>>> auto lo
>>> iface lo inet loopback
>>>
>>> auto enp24s0f0
>>> iface enp24s0f0 inet dhcp
>>
>> Just change 'enp24s0f0' in /etc/network/interfaces to 'enp24s0f0np0'
>
> Hello,
>
> I don't know if anything can be done about it, but this change introduces
> complexities. The people who manage the cluster that I use say that the
> name of the network interface should be predictable, which is no longer
> the case because it now depends on the kernel version.

In this case, you can configure custom udev rule that will fix the name
of the interface... Like:

host ~ # cat /etc/udev/rules.d/70-network.rules
ACTION=="add", SUBSYSTEM=="net", DRIVERS=="i40e",\
ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="enp24s0f0"
ACTION=="add", SUBSYSTEM=="net", DRIVERS=="i40e",\
ATTR{address}=="yy:yy:yy:yy:yy:yy", NAME="enp24s0f1"

Regards,
Ivan

2023-12-14 14:52:34

by Julia Lawall

[permalink] [raw]
Subject: Re: Failed to start Raise network interfaces error



On Thu, 14 Dec 2023, Ivan Vecera wrote:

> On 14. 12. 23 15:33, Julia Lawall wrote:
> >
> >
> > On Tue, 12 Dec 2023, Ivan Vecera wrote:
> >
> > >
> > >
> > > On 12. 12. 23 17:33, Julia Lawall wrote:
> > > > > Look at 'systemd.net-naming-scheme' man page for details how the
> > > > > interface
> > > > > names are composed.
> > > > After booting into 6.7.0-rc4, I have the following in
> > > > /etc/network/interfaces:
> > > >
> > > > # This file describes the network interfaces available on your system
> > > > # and how to activate them. For more information, see interfaces(5).
> > > >
> > > > source/etc/network/interfaces.d/*
> > > >
> > > > # The loopback network interface
> > > > auto lo
> > > > iface lo inet loopback
> > > >
> > > > auto enp24s0f0
> > > > iface enp24s0f0 inet dhcp
> > >
> > > Just change 'enp24s0f0' in /etc/network/interfaces to 'enp24s0f0np0'
> >
> > Hello,
> >
> > I don't know if anything can be done about it, but this change introduces
> > complexities. The people who manage the cluster that I use say that the
> > name of the network interface should be predictable, which is no longer
> > the case because it now depends on the kernel version.
>
> In this case, you can configure custom udev rule that will fix the name of the
> interface... Like:
>
> host ~ # cat /etc/udev/rules.d/70-network.rules
> ACTION=="add", SUBSYSTEM=="net", DRIVERS=="i40e",\
> ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="enp24s0f0"
> ACTION=="add", SUBSYSTEM=="net", DRIVERS=="i40e",\
> ATTR{address}=="yy:yy:yy:yy:yy:yy", NAME="enp24s0f1"

Thanks!

julia

2023-12-14 21:29:12

by Lucas Nussbaum

[permalink] [raw]
Subject: Re: Failed to start Raise network interfaces error

Hi,

On 12/12/23 at 17:44 +0100, Ivan Vecera wrote:
>
>
> On 12. 12. 23 17:33, Julia Lawall wrote:
> > > Look at 'systemd.net-naming-scheme' man page for details how the interface
> > > names are composed.
> > After booting into 6.7.0-rc4, I have the following in
> > /etc/network/interfaces:
> >
> > # This file describes the network interfaces available on your system
> > # and how to activate them. For more information, see interfaces(5).
> >
> > source/etc/network/interfaces.d/*
> >
> > # The loopback network interface
> > auto lo
> > iface lo inet loopback
> >
> > auto enp24s0f0
> > iface enp24s0f0 inet dhcp
>
> Just change 'enp24s0f0' in /etc/network/interfaces to 'enp24s0f0np0'

But is this change of interface naming really the desired behaviour?

From a user point of view, this is likely to cause hassle during upgrades
from older kernels (or generally when switching between kernel versions
-- think bisecting).

Is there really a benefit to that change? On a dual-port XXV710 NIC, the
naming changes from e.g. enp98s0f0 / enp98s0f1 to enp98s0f0np0 /
enp98s0f1np1, because udev previously computed the name using:
enp98s0f0: PCI path identifier: domain=0 bus=98 slot=0 func=0 phys_port= dev_port=0 → p98s0f0
and now uses:
enp98s0f0np0: PCI path identifier: domain=0 bus=98 slot=0 func=0 phys_port=p0 dev_port=0 → p98s0f0np0

Are there NICs using i40e where the function number is different from
the physical port number?

Best,

Lucas