** 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 Touch seeded packages, 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 -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp