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
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
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
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
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
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
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
>
>
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
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
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
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
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
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