[Bug 1875927] Re: add support for phys_port_name attribute in Xenial/16.04LTS
Eric Desrochers
eric.desrochers at canonical.com
Tue May 12 18:43:22 UTC 2020
** Description changed:
[Impact]
In Xenial/16.04LTS, one can't generate network interface name from "phys_port_name" attribute.
"phys_port_name" indicates the interface physical port name within the
NIC.
[Test Case]
Check that udev (systemd-udevd) provides the phys_port_name property
- Tests should be done on both kernel versions: v4.4 and v4.15
+ Tests should be done on kernel versions: v4.15 (HWE)
[Regression Potential]
Risk: Low
* This piece of code is already in place in Bionic (systemd) and late.
AFAICT, nothing has been reported since then with regards to this feature.
- * phys_port_name kernel support has been introduced in v4.1. Xenial
- supported kernel are : v4.4 and v4.15 (HWE).
+ * phys_port_name kernel support has been introduced in v4.1, but none of
+ the current v4.4 Xenial kernel drivers uses it (minus rocker which is a
+ test bed software switch for devel work on switchdev, it has no real
+ function)
- * If a regression arise, it will most likely be limited to the "Ethernet
- switch device driver model (switchdev)" reported by: rocker, mlxsw,
- broadcom, ...
+ # Xenial - kernel v4.4
+ config-4.4.0-142-generic:# CONFIG_NET_SWITCHDEV is not set
+
+ No drivers uses the phys_port_name method at all + NET_SWITCHDEV is not
+ even turned on.
+
+ # Xenial HWE - kernel v4.15
+ config-4.15.0-99-generic:CONFIG_NET_SWITCHDEV=y
+
+ Meaning if a regression arise, it will be limited to the HWE kernel (v4.15) and to the "Ethernet switch device driver model (switchdev)":
+ mlx5
+ mlxsw
+ bnxt
+
+ --
+ drivers/net/ethernet/mellanox/mlx5/core/en_rep.c: .ndo_get_phys_port_name = mlx5e_rep_get_phys_port_name,
+ drivers/net/ethernet/mellanox/mlxsw/switchx2.c: .ndo_get_phys_port_name = mlxsw_sx_port_get_phys_port_name,
+ drivers/net/ethernet/mellanox/mlxsw/spectrum.c: .ndo_get_phys_port_name = mlxsw_sp_port_get_phys_port_name,
+ drivers/net/ethernet/sfc/efx.c: .ndo_get_phys_port_name = efx_get_phys_port_name,
+ drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c: .ndo_get_phys_port_name = bnxt_vf_rep_get_phys_port_name
+ drivers/net/ethernet/broadcom/bnxt/bnxt.c: .ndo_get_phys_port_name = bnxt_get_phys_port_name
+ drivers/net/ethernet/rocker/rocker_main.c: .ndo_get_phys_port_name = rocker_port_get_phys_port_name,
+ drivers/net/ethernet/cavium/liquidio/lio_vf_rep.c: .ndo_get_phys_port_name = lio_vf_rep_phys_port_name,
+ drivers/net/ethernet/netronome/nfp/nfp_net_repr.c: .ndo_get_phys_port_name = nfp_port_get_phys_port_name,
+ drivers/net/ethernet/netronome/nfp/nfp_net_common.c: .ndo_get_phys_port_name = nfp_port_get_phys_port_name,
+
+ --
+
+ **
+ One item I'm currently testing is ddstreet's comment:
+ https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1875927/comments/1
+ **
[Other informations]
https://github.com/systemd/systemd/commit/4887b656c22af059d4e833de7b56544f24951184
https://github.com/systemd/systemd/pull/4506
[Original Description]
It has been brought to my attention that systemd in Xenial/16.04LTS
doesn't have support for phys_port_name[0] attribute.
The support has been first introduced in systemd version "232" via:
https://github.com/systemd/systemd/commit/4887b656c22af059d4e833de7b56544f24951184
https://github.com/systemd/systemd/pull/4506
Bionic and late have the necessary bits ( systemd >232), but not Xenial
(229)[1]
Support for "phys_port_name" has been first introduced in the kernel
with v4.1[2]
[0]
- https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
- https://www.freedesktop.org/software/systemd/man/systemd.net-naming-scheme.html
- https://www.kernel.org/doc/Documentation/networking/switchdev.txt
[1]
# git systemd/systemd
git describe --contains 4887b656c22af059d4e833de7b56544f24951184
v232~15
# rmadison
=> systemd | 229-4ubuntu21.27 | xenial-updates
systemd | 237-3ubuntu10.39 | bionic-updates
systemd | 240-6ubuntu5.8 | disco-updates
systemd | 242-7ubuntu3.7 | eoan-updates
systemd | 245.4-4ubuntu3 | focal
systemd | 245.4-4ubuntu3 | groovy
[2]
https://github.com/torvalds/linux/commit/db24a9044ee1
$ git describe --contains db24a9044ee1
v4.1-rc1
** Description changed:
[Impact]
In Xenial/16.04LTS, one can't generate network interface name from "phys_port_name" attribute.
"phys_port_name" indicates the interface physical port name within the
NIC.
[Test Case]
Check that udev (systemd-udevd) provides the phys_port_name property
Tests should be done on kernel versions: v4.15 (HWE)
[Regression Potential]
Risk: Low
* This piece of code is already in place in Bionic (systemd) and late.
AFAICT, nothing has been reported since then with regards to this feature.
* phys_port_name kernel support has been introduced in v4.1, but none of
the current v4.4 Xenial kernel drivers uses it (minus rocker which is a
test bed software switch for devel work on switchdev, it has no real
function)
- # Xenial - kernel v4.4
+ # Xenial - kernel v4.4
config-4.4.0-142-generic:# CONFIG_NET_SWITCHDEV is not set
No drivers uses the phys_port_name method at all + NET_SWITCHDEV is not
even turned on.
- # Xenial HWE - kernel v4.15
+ # Xenial HWE - kernel v4.15
config-4.15.0-99-generic:CONFIG_NET_SWITCHDEV=y
Meaning if a regression arise, it will be limited to the HWE kernel (v4.15) and to the "Ethernet switch device driver model (switchdev)":
mlx5
mlxsw
bnxt
--
- drivers/net/ethernet/mellanox/mlx5/core/en_rep.c: .ndo_get_phys_port_name = mlx5e_rep_get_phys_port_name,
- drivers/net/ethernet/mellanox/mlxsw/switchx2.c: .ndo_get_phys_port_name = mlxsw_sx_port_get_phys_port_name,
- drivers/net/ethernet/mellanox/mlxsw/spectrum.c: .ndo_get_phys_port_name = mlxsw_sp_port_get_phys_port_name,
- drivers/net/ethernet/sfc/efx.c: .ndo_get_phys_port_name = efx_get_phys_port_name,
- drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c: .ndo_get_phys_port_name = bnxt_vf_rep_get_phys_port_name
- drivers/net/ethernet/broadcom/bnxt/bnxt.c: .ndo_get_phys_port_name = bnxt_get_phys_port_name
- drivers/net/ethernet/rocker/rocker_main.c: .ndo_get_phys_port_name = rocker_port_get_phys_port_name,
- drivers/net/ethernet/cavium/liquidio/lio_vf_rep.c: .ndo_get_phys_port_name = lio_vf_rep_phys_port_name,
- drivers/net/ethernet/netronome/nfp/nfp_net_repr.c: .ndo_get_phys_port_name = nfp_port_get_phys_port_name,
- drivers/net/ethernet/netronome/nfp/nfp_net_common.c: .ndo_get_phys_port_name = nfp_port_get_phys_port_name,
-
+ drivers/net/ethernet:
+ --
+ broadcom/bnxt/bnxt_vfr.c: .ndo_get_phys_port_name = bnxt_vf_rep_get_phys_port_name
+ broadcom/bnxt/bnxt.c: .ndo_get_phys_port_name = bnxt_get_phys_port_name
+ cavium/liquidio/lio_vf_rep.c: .ndo_get_phys_port_name = lio_vf_rep_phys_port_name,
+ mellanox/mlx5/core/en_rep.c: .ndo_get_phys_port_name = mlx5e_rep_get_phys_port_name,
+ mellanox/mlxsw/switchx2.c: .ndo_get_phys_port_name = mlxsw_sx_port_get_phys_port_name,
+ mellanox/mlxsw/spectrum.c: .ndo_get_phys_port_name = mlxsw_sp_port_get_phys_port_name,
+ netronome/nfp/nfp_net_repr.c: .ndo_get_phys_port_name = nfp_port_get_phys_port_name,
+ netronome/nfp/nfp_net_common.c: .ndo_get_phys_port_name = nfp_port_get_phys_port_name,
+ rocker/rocker_main.c: .ndo_get_phys_port_name = rocker_port_get_phys_port_name,
+ sfc/efx.c: .ndo_get_phys_port_name = efx_get_phys_port_name,
--
- **
+ **
One item I'm currently testing is ddstreet's comment:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1875927/comments/1
**
[Other informations]
https://github.com/systemd/systemd/commit/4887b656c22af059d4e833de7b56544f24951184
https://github.com/systemd/systemd/pull/4506
[Original Description]
It has been brought to my attention that systemd in Xenial/16.04LTS
doesn't have support for phys_port_name[0] attribute.
The support has been first introduced in systemd version "232" via:
https://github.com/systemd/systemd/commit/4887b656c22af059d4e833de7b56544f24951184
https://github.com/systemd/systemd/pull/4506
Bionic and late have the necessary bits ( systemd >232), but not Xenial
(229)[1]
Support for "phys_port_name" has been first introduced in the kernel
with v4.1[2]
[0]
- https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
- https://www.freedesktop.org/software/systemd/man/systemd.net-naming-scheme.html
- https://www.kernel.org/doc/Documentation/networking/switchdev.txt
[1]
# git systemd/systemd
git describe --contains 4887b656c22af059d4e833de7b56544f24951184
v232~15
# rmadison
=> systemd | 229-4ubuntu21.27 | xenial-updates
systemd | 237-3ubuntu10.39 | bionic-updates
systemd | 240-6ubuntu5.8 | disco-updates
systemd | 242-7ubuntu3.7 | eoan-updates
systemd | 245.4-4ubuntu3 | focal
systemd | 245.4-4ubuntu3 | groovy
[2]
https://github.com/torvalds/linux/commit/db24a9044ee1
$ git describe --contains db24a9044ee1
v4.1-rc1
** Description changed:
[Impact]
In Xenial/16.04LTS, one can't generate network interface name from "phys_port_name" attribute.
"phys_port_name" indicates the interface physical port name within the
NIC.
[Test Case]
Check that udev (systemd-udevd) provides the phys_port_name property
Tests should be done on kernel versions: v4.15 (HWE)
[Regression Potential]
- Risk: Low
* This piece of code is already in place in Bionic (systemd) and late.
AFAICT, nothing has been reported since then with regards to this feature.
* phys_port_name kernel support has been introduced in v4.1, but none of
the current v4.4 Xenial kernel drivers uses it (minus rocker which is a
test bed software switch for devel work on switchdev, it has no real
function)
# Xenial - kernel v4.4
config-4.4.0-142-generic:# CONFIG_NET_SWITCHDEV is not set
No drivers uses the phys_port_name method at all + NET_SWITCHDEV is not
even turned on.
# Xenial HWE - kernel v4.15
config-4.15.0-99-generic:CONFIG_NET_SWITCHDEV=y
Meaning if a regression arise, it will be limited to the HWE kernel (v4.15) and to the "Ethernet switch device driver model (switchdev)":
mlx5
mlxsw
bnxt
+ sfc (solarflar)
--
drivers/net/ethernet:
--
broadcom/bnxt/bnxt_vfr.c: .ndo_get_phys_port_name = bnxt_vf_rep_get_phys_port_name
broadcom/bnxt/bnxt.c: .ndo_get_phys_port_name = bnxt_get_phys_port_name
cavium/liquidio/lio_vf_rep.c: .ndo_get_phys_port_name = lio_vf_rep_phys_port_name,
mellanox/mlx5/core/en_rep.c: .ndo_get_phys_port_name = mlx5e_rep_get_phys_port_name,
mellanox/mlxsw/switchx2.c: .ndo_get_phys_port_name = mlxsw_sx_port_get_phys_port_name,
mellanox/mlxsw/spectrum.c: .ndo_get_phys_port_name = mlxsw_sp_port_get_phys_port_name,
netronome/nfp/nfp_net_repr.c: .ndo_get_phys_port_name = nfp_port_get_phys_port_name,
netronome/nfp/nfp_net_common.c: .ndo_get_phys_port_name = nfp_port_get_phys_port_name,
rocker/rocker_main.c: .ndo_get_phys_port_name = rocker_port_get_phys_port_name,
sfc/efx.c: .ndo_get_phys_port_name = efx_get_phys_port_name,
--
**
One item I'm currently testing is ddstreet's comment:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1875927/comments/1
**
[Other informations]
https://github.com/systemd/systemd/commit/4887b656c22af059d4e833de7b56544f24951184
https://github.com/systemd/systemd/pull/4506
[Original Description]
It has been brought to my attention that systemd in Xenial/16.04LTS
doesn't have support for phys_port_name[0] attribute.
The support has been first introduced in systemd version "232" via:
https://github.com/systemd/systemd/commit/4887b656c22af059d4e833de7b56544f24951184
https://github.com/systemd/systemd/pull/4506
Bionic and late have the necessary bits ( systemd >232), but not Xenial
(229)[1]
Support for "phys_port_name" has been first introduced in the kernel
with v4.1[2]
[0]
- https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
- https://www.freedesktop.org/software/systemd/man/systemd.net-naming-scheme.html
- https://www.kernel.org/doc/Documentation/networking/switchdev.txt
[1]
# git systemd/systemd
git describe --contains 4887b656c22af059d4e833de7b56544f24951184
v232~15
# rmadison
=> systemd | 229-4ubuntu21.27 | xenial-updates
systemd | 237-3ubuntu10.39 | bionic-updates
systemd | 240-6ubuntu5.8 | disco-updates
systemd | 242-7ubuntu3.7 | eoan-updates
systemd | 245.4-4ubuntu3 | focal
systemd | 245.4-4ubuntu3 | groovy
[2]
https://github.com/torvalds/linux/commit/db24a9044ee1
$ git describe --contains db24a9044ee1
v4.1-rc1
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1875927
Title:
add support for phys_port_name attribute in Xenial/16.04LTS
Status in systemd package in Ubuntu:
Fix Released
Status in systemd source package in Xenial:
In Progress
Bug description:
[Impact]
In Xenial/16.04LTS, one can't generate network interface name from "phys_port_name" attribute.
"phys_port_name" indicates the interface physical port name within the
NIC.
[Test Case]
Check that udev (systemd-udevd) provides the phys_port_name property
Tests should be done on kernel versions: v4.15 (HWE)
# cat /sys/class/net/<INTERFACE>/phys_port_name
yyy
Look if interface name contains the 'phys_port_name':
$ ip link show
....
3: ens3nyyy: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
....
[Regression Potential]
* This piece of code is already in place in Bionic (systemd) and late.
AFAICT, nothing has been reported since then with regards to this feature.
* phys_port_name kernel support has been introduced in v4.1, but none
of the current v4.4 Xenial kernel drivers uses it (minus rocker which
is a test bed software switch for devel work on switchdev, it has no
real function)
# Xenial - kernel v4.4
config-4.4.0-142-generic:# CONFIG_NET_SWITCHDEV is not set
No drivers uses the phys_port_name method at all + NET_SWITCHDEV is
not even turned on.
# Xenial HWE - kernel v4.15
config-4.15.0-99-generic:CONFIG_NET_SWITCHDEV=y
Meaning if a regression arise, it will be limited to the HWE kernel (v4.15) and to the "Ethernet switch device driver model (switchdev)":
mlx5
mlxsw
bnxt
sfc (solarflar)
--
drivers/net/ethernet:
--
broadcom/bnxt/bnxt_vfr.c: .ndo_get_phys_port_name = bnxt_vf_rep_get_phys_port_name
broadcom/bnxt/bnxt.c: .ndo_get_phys_port_name = bnxt_get_phys_port_name
cavium/liquidio/lio_vf_rep.c: .ndo_get_phys_port_name = lio_vf_rep_phys_port_name,
mellanox/mlx5/core/en_rep.c: .ndo_get_phys_port_name = mlx5e_rep_get_phys_port_name,
mellanox/mlxsw/switchx2.c: .ndo_get_phys_port_name = mlxsw_sx_port_get_phys_port_name,
mellanox/mlxsw/spectrum.c: .ndo_get_phys_port_name = mlxsw_sp_port_get_phys_port_name,
netronome/nfp/nfp_net_repr.c: .ndo_get_phys_port_name = nfp_port_get_phys_port_name,
netronome/nfp/nfp_net_common.c: .ndo_get_phys_port_name = nfp_port_get_phys_port_name,
rocker/rocker_main.c: .ndo_get_phys_port_name = rocker_port_get_phys_port_name,
sfc/efx.c: .ndo_get_phys_port_name = efx_get_phys_port_name,
--
# On other more specific kernels the regression potential can be
expanded to virtio-net driver as well.
**
One item I'm currently testing is ddstreet's comment:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1875927/comments/1
**
[Other informations]
https://github.com/systemd/systemd/commit/4887b656c22af059d4e833de7b56544f24951184
https://github.com/systemd/systemd/pull/4506
[Original Description]
It has been brought to my attention that systemd in Xenial/16.04LTS
doesn't have support for phys_port_name[0] attribute.
The support has been first introduced in systemd version "232" via:
https://github.com/systemd/systemd/commit/4887b656c22af059d4e833de7b56544f24951184
https://github.com/systemd/systemd/pull/4506
Bionic and late have the necessary bits ( systemd >232), but not
Xenial (229)[1]
Support for "phys_port_name" has been first introduced in the kernel
with v4.1[2]
[0]
- https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
- https://www.freedesktop.org/software/systemd/man/systemd.net-naming-scheme.html
- https://www.kernel.org/doc/Documentation/networking/switchdev.txt
[1]
# git systemd/systemd
git describe --contains 4887b656c22af059d4e833de7b56544f24951184
v232~15
# rmadison
=> systemd | 229-4ubuntu21.27 | xenial-updates
systemd | 237-3ubuntu10.39 | bionic-updates
systemd | 240-6ubuntu5.8 | disco-updates
systemd | 242-7ubuntu3.7 | eoan-updates
systemd | 245.4-4ubuntu3 | focal
systemd | 245.4-4ubuntu3 | groovy
[2]
https://github.com/torvalds/linux/commit/db24a9044ee1
$ git describe --contains db24a9044ee1
v4.1-rc1
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1875927/+subscriptions
More information about the foundations-bugs
mailing list