[SRU][N][PULL][PATCH V2 0/8] ixgbe: Add support for E610 in Noble

Michael Reed michael.reed at canonical.com
Wed Nov 26 16:57:12 UTC 2025


From: Michael Reed <Michael.Reed at canonical.com>

SRU Justification

BugLink: https://launchpad.net/bugs/2131265
These patches are already in Plucky and Questing.

[Impact]

Add initial support for Intel(R) E610 Series of network devices. The E610
is based on X550 but adds firmware managed link, enhanced security
capabilities and support for updated server manageability.

Additionally, this is needed for Charmed Openstack Jammy/Caracal deployment. It requires servers to be on 22.04 Jammy (HWE kernel 6.8). Some servers f.e. Dell PowerEdge uses Intel NIC E610 and if this nic is planned to be used for PXE boot and to access the internet this missing functionality will effectively disqualify those servers from the approved HW for Openstack since NIC will not be detected by the OS.

[Fix]

This patch series adds low level support for the following features and
enables link management.

4600cdf ixgbe: Enable link management in E610 device
34b4157 ixgbe: Clean up the E610 link management related code
a0834bd ixgbe: Add ixgbe_x540 multiple header inclusion protection
e5b132b ixgbe: Add support for EEPROM dump in E610 device
d2483eb ixgbe: Add support for NVM handling in E610 device
23c0e5a ixgbe: Add link management support for E610 device
7c3aa0f ixgbe: Add support for E610 device capabilities detection
46761fd ixgbe: Add support for E610 FW Admin Command Interface

[Test Case]

1. Install the test kernel and reboot
2. Verify the ixgbe module is loaded
   - modinfo ixgbe

3. Remove and Re-add the ixgbe module
   - rmmod ixgbe
   - modprobe ixgbe

3. Verify the Intel E610 is available on the system
    - sudo lshw -C network

4. Configure the ports and ping an external IP address
5. Run Iperf from the SUT to an external iperf server

[Where problems could occur]

The regression risk is low. There are no core kernel changes. Changes are primarily to the ixgbe driver (drivers/net/ethernet/intel/ixgbe/) adding support for the Intel E610 device. The majority of the changes are in newly added files (ixgbe_e610.c ixgbe_type_e610.h). There are some minor refactoring to existing ixgbe code involving the x540 and x550 nics but existing device behavior isn't changed it's just shared with E610.

[Other Info]

Noble
https://code.launchpad.net/~mreed8855/ubuntu/+source/linux/+git/noble/+ref/intel_e610_lp_2131265_2

The following changes since commit ec94ee9fbaf301e392923b4715f5615df1a96e1f:

  UBUNTU: SAUCE: perf/core: Allow CAP_PERFMON for paranoid level 4 (2025-11-14 09:41:26 +0100)

are available in the Git repository at:

  https://code.launchpad.net/~mreed8855/ubuntu/+source/linux/+git/noble/+ref/intel_e610_lp_2131265_2 intel_e610_lp_2131265_2

for you to fetch changes up to 5eea265058f5b1ba44c5db0f1741754d3c2b8fa1:

  ixgbe: Enable link management in E610 device (2025-11-19 15:14:18 -0600)

----------------------------------------------------------------
Piotr Kwapulinski (8):
      ixgbe: Add support for E610 FW Admin Command Interface
      ixgbe: Add support for E610 device capabilities detection
      ixgbe: Add link management support for E610 device
      ixgbe: Add support for NVM handling in E610 device
      ixgbe: Add support for EEPROM dump in E610 device
      ixgbe: Add ixgbe_x540 multiple header inclusion protection
      ixgbe: Clean up the E610 link management related code
      ixgbe: Enable link management in E610 device

 drivers/net/ethernet/intel/ixgbe/Makefile          |   10 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe.h           |   13 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c     |    3 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c    |   25 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c    |    3 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c      | 2658 ++++++++++++++++++++
 drivers/net/ethernet/intel/ixgbe/ixgbe_e610.h      |   81 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c   |    6 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c       |    3 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c      |  436 +++-
 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c       |    4 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c       |    5 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h      |   72 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_type_e610.h | 1074 ++++++++
 drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c      |   14 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_x540.h      |    9 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c      |   29 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_x550.h      |   20 +
 18 files changed, 4413 insertions(+), 52 deletions(-)
 create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
 create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_e610.h
 create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_type_e610.h
 create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_x550.h



More information about the kernel-team mailing list