[PATCH v18 00/13] net/sxe: added Linkdata sxe ethernet driver

liujie5
2026-03-03T09:11:37Z

From: Jie Liu <liujie5@linkdatatechnology.com>

This patch set implements core functionality for the SXE PMD,
including basic driver framework, data path setup, and advanced
offload features (VLAN, RSS, DCB, PTP etc.).

v18:
- Addressed AI comments

Jie Liu (13):
net/sxe: add base driver directory and doc
net/sxe: add ethdev probe and remove
net/sxe: add tx rx setup and data path
net/sxe: add link and mac layer operations
net/sxe: support vlan filter
net/sxe: add filter function
net/sxe: support rss offload
net/sxe: add dcb function
net/sxe: support ptp
net/sxe: add xstats function
net/sxe: add custom cmd led ctrl
net/sxe: add simd function
net/sxe: add virtual function

MAINTAINERS | 6 +
doc/guides/nics/features/sxe.ini | 55 +
doc/guides/nics/features/sxe_vf.ini | 37 +
doc/guides/nics/index.rst | 1 +
doc/guides/nics/sxe.rst | 71 +
doc/guides/rel_notes/release_26_03.rst | 6 +
drivers/net/meson.build | 1 +
drivers/net/sxe/base/sxe_common.c | 66 +
drivers/net/sxe/base/sxe_common.h | 15 +
drivers/net/sxe/base/sxe_compat_platform.h | 124 +
drivers/net/sxe/base/sxe_compat_version.h | 34 +
drivers/net/sxe/base/sxe_errno.h | 61 +
drivers/net/sxe/base/sxe_hw.c | 3306 ++++++++++++++++++++
drivers/net/sxe/base/sxe_hw.h | 1040 ++++++
drivers/net/sxe/base/sxe_logs.h | 105 +
drivers/net/sxe/base/sxe_offload_common.c | 54 +
drivers/net/sxe/base/sxe_offload_common.h | 14 +
drivers/net/sxe/base/sxe_queue_common.c | 450 +++
drivers/net/sxe/base/sxe_queue_common.h | 240 ++
drivers/net/sxe/base/sxe_rx_common.c | 358 +++
drivers/net/sxe/base/sxe_rx_common.h | 17 +
drivers/net/sxe/base/sxe_tx_common.c | 40 +
drivers/net/sxe/base/sxe_tx_common.h | 12 +
drivers/net/sxe/base/sxe_types.h | 40 +
drivers/net/sxe/base/sxevf_hw.c | 950 ++++++
drivers/net/sxe/base/sxevf_hw.h | 349 +++
drivers/net/sxe/base/sxevf_regs.h | 119 +
drivers/net/sxe/include/drv_msg.h | 18 +
drivers/net/sxe/include/sxe/sxe_cli.h | 218 ++
drivers/net/sxe/include/sxe/sxe_hdc.h | 42 +
drivers/net/sxe/include/sxe/sxe_ioctl.h | 21 +
drivers/net/sxe/include/sxe/sxe_msg.h | 135 +
drivers/net/sxe/include/sxe/sxe_regs.h | 1270 ++++++++
drivers/net/sxe/include/sxe_type.h | 795 +++++
drivers/net/sxe/include/sxe_version.h | 29 +
drivers/net/sxe/meson.build | 66 +
drivers/net/sxe/pf/rte_pmd_sxe.h | 19 +
drivers/net/sxe/pf/sxe.h | 93 +
drivers/net/sxe/pf/sxe_dcb.c | 945 ++++++
drivers/net/sxe/pf/sxe_dcb.h | 99 +
drivers/net/sxe/pf/sxe_ethdev.c | 931 ++++++
drivers/net/sxe/pf/sxe_ethdev.h | 28 +
drivers/net/sxe/pf/sxe_filter.c | 923 ++++++
drivers/net/sxe/pf/sxe_filter.h | 109 +
drivers/net/sxe/pf/sxe_flow_ctrl.c | 98 +
drivers/net/sxe/pf/sxe_flow_ctrl.h | 16 +
drivers/net/sxe/pf/sxe_irq.c | 516 +++
drivers/net/sxe/pf/sxe_irq.h | 48 +
drivers/net/sxe/pf/sxe_main.c | 198 ++
drivers/net/sxe/pf/sxe_offload.c | 336 ++
drivers/net/sxe/pf/sxe_offload.h | 51 +
drivers/net/sxe/pf/sxe_phy.c | 953 ++++++
drivers/net/sxe/pf/sxe_phy.h | 117 +
drivers/net/sxe/pf/sxe_pmd_hdc.c | 666 ++++
drivers/net/sxe/pf/sxe_pmd_hdc.h | 44 +
drivers/net/sxe/pf/sxe_ptp.c | 209 ++
drivers/net/sxe/pf/sxe_ptp.h | 26 +
drivers/net/sxe/pf/sxe_queue.c | 774 +++++
drivers/net/sxe/pf/sxe_queue.h | 132 +
drivers/net/sxe/pf/sxe_rx.c | 1459 +++++++++
drivers/net/sxe/pf/sxe_rx.h | 188 ++
drivers/net/sxe/pf/sxe_stats.c | 586 ++++
drivers/net/sxe/pf/sxe_stats.h | 69 +
drivers/net/sxe/pf/sxe_tx.c | 1051 +++++++
drivers/net/sxe/pf/sxe_tx.h | 50 +
drivers/net/sxe/pf/sxe_vec_common.h | 321 ++
drivers/net/sxe/pf/sxe_vec_neon.c | 600 ++++
drivers/net/sxe/pf/sxe_vec_sse.c | 622 ++++
drivers/net/sxe/pf/sxe_vf.c | 1199 +++++++
drivers/net/sxe/pf/sxe_vf.h | 200 ++
drivers/net/sxe/sxe_drv_type.h | 15 +
drivers/net/sxe/sxe_testpmd.c | 196 ++
drivers/net/sxe/vf/sxevf.h | 42 +
drivers/net/sxe/vf/sxevf_ethdev.c | 752 +++++
drivers/net/sxe/vf/sxevf_ethdev.h | 16 +
drivers/net/sxe/vf/sxevf_filter.c | 493 +++
drivers/net/sxe/vf/sxevf_filter.h | 70 +
drivers/net/sxe/vf/sxevf_irq.c | 432 +++
drivers/net/sxe/vf/sxevf_irq.h | 34 +
drivers/net/sxe/vf/sxevf_main.c | 82 +
drivers/net/sxe/vf/sxevf_msg.c | 624 ++++
drivers/net/sxe/vf/sxevf_msg.h | 201 ++
drivers/net/sxe/vf/sxevf_offload.c | 30 +
drivers/net/sxe/vf/sxevf_offload.h | 16 +
drivers/net/sxe/vf/sxevf_queue.c | 208 ++
drivers/net/sxe/vf/sxevf_queue.h | 69 +
drivers/net/sxe/vf/sxevf_rx.c | 162 +
drivers/net/sxe/vf/sxevf_rx.h | 18 +
drivers/net/sxe/vf/sxevf_stats.c | 162 +
drivers/net/sxe/vf/sxevf_stats.h | 31 +
drivers/net/sxe/vf/sxevf_tx.c | 46 +
drivers/net/sxe/vf/sxevf_tx.h | 14 +
92 files changed, 27554 insertions(+)
create mode 100644 doc/guides/nics/features/sxe.ini
create mode 100644 doc/guides/nics/features/sxe_vf.ini
create mode 100644 doc/guides/nics/sxe.rst
create mode 100644 drivers/net/sxe/base/sxe_common.c
create mode 100644 drivers/net/sxe/base/sxe_common.h
create mode 100644 drivers/net/sxe/base/sxe_compat_platform.h
create mode 100644 drivers/net/sxe/base/sxe_compat_version.h
create mode 100644 drivers/net/sxe/base/sxe_errno.h
create mode 100644 drivers/net/sxe/base/sxe_hw.c
create mode 100644 drivers/net/sxe/base/sxe_hw.h
create mode 100644 drivers/net/sxe/base/sxe_logs.h
create mode 100644 drivers/net/sxe/base/sxe_offload_common.c
create mode 100644 drivers/net/sxe/base/sxe_offload_common.h
create mode 100644 drivers/net/sxe/base/sxe_queue_common.c
create mode 100644 drivers/net/sxe/base/sxe_queue_common.h
create mode 100644 drivers/net/sxe/base/sxe_rx_common.c
create mode 100644 drivers/net/sxe/base/sxe_rx_common.h
create mode 100644 drivers/net/sxe/base/sxe_tx_common.c
create mode 100644 drivers/net/sxe/base/sxe_tx_common.h
create mode 100644 drivers/net/sxe/base/sxe_types.h
create mode 100644 drivers/net/sxe/base/sxevf_hw.c
create mode 100644 drivers/net/sxe/base/sxevf_hw.h
create mode 100644 drivers/net/sxe/base/sxevf_regs.h
create mode 100644 drivers/net/sxe/include/drv_msg.h
create mode 100644 drivers/net/sxe/include/sxe/sxe_cli.h
create mode 100644 drivers/net/sxe/include/sxe/sxe_hdc.h
create mode 100644 drivers/net/sxe/include/sxe/sxe_ioctl.h
create mode 100644 drivers/net/sxe/include/sxe/sxe_msg.h
create mode 100644 drivers/net/sxe/include/sxe/sxe_regs.h
create mode 100644 drivers/net/sxe/include/sxe_type.h
create mode 100644 drivers/net/sxe/include/sxe_version.h
create mode 100644 drivers/net/sxe/meson.build
create mode 100644 drivers/net/sxe/pf/rte_pmd_sxe.h
create mode 100644 drivers/net/sxe/pf/sxe.h
create mode 100644 drivers/net/sxe/pf/sxe_dcb.c
create mode 100644 drivers/net/sxe/pf/sxe_dcb.h
create mode 100644 drivers/net/sxe/pf/sxe_ethdev.c
create mode 100644 drivers/net/sxe/pf/sxe_ethdev.h
create mode 100644 drivers/net/sxe/pf/sxe_filter.c
create mode 100644 drivers/net/sxe/pf/sxe_filter.h
create mode 100644 drivers/net/sxe/pf/sxe_flow_ctrl.c
create mode 100644 drivers/net/sxe/pf/sxe_flow_ctrl.h
create mode 100644 drivers/net/sxe/pf/sxe_irq.c
create mode 100644 drivers/net/sxe/pf/sxe_irq.h
create mode 100644 drivers/net/sxe/pf/sxe_main.c
create mode 100644 drivers/net/sxe/pf/sxe_offload.c
create mode 100644 drivers/net/sxe/pf/sxe_offload.h
create mode 100644 drivers/net/sxe/pf/sxe_phy.c
create mode 100644 drivers/net/sxe/pf/sxe_phy.h
create mode 100644 drivers/net/sxe/pf/sxe_pmd_hdc.c
create mode 100644 drivers/net/sxe/pf/sxe_pmd_hdc.h
create mode 100644 drivers/net/sxe/pf/sxe_ptp.c
create mode 100644 drivers/net/sxe/pf/sxe_ptp.h
create mode 100644 drivers/net/sxe/pf/sxe_queue.c
create mode 100644 drivers/net/sxe/pf/sxe_queue.h
create mode 100644 drivers/net/sxe/pf/sxe_rx.c
create mode 100644 drivers/net/sxe/pf/sxe_rx.h
create mode 100644 drivers/net/sxe/pf/sxe_stats.c
create mode 100644 drivers/net/sxe/pf/sxe_stats.h
create mode 100644 drivers/net/sxe/pf/sxe_tx.c
create mode 100644 drivers/net/sxe/pf/sxe_tx.h
create mode 100644 drivers/net/sxe/pf/sxe_vec_common.h
create mode 100644 drivers/net/sxe/pf/sxe_vec_neon.c
create mode 100644 drivers/net/sxe/pf/sxe_vec_sse.c
create mode 100644 drivers/net/sxe/pf/sxe_vf.c
create mode 100644 drivers/net/sxe/pf/sxe_vf.h
create mode 100644 drivers/net/sxe/sxe_drv_type.h
create mode 100644 drivers/net/sxe/sxe_testpmd.c
create mode 100644 drivers/net/sxe/vf/sxevf.h
create mode 100644 drivers/net/sxe/vf/sxevf_ethdev.c
create mode 100644 drivers/net/sxe/vf/sxevf_ethdev.h
create mode 100644 drivers/net/sxe/vf/sxevf_filter.c
create mode 100644 drivers/net/sxe/vf/sxevf_filter.h
create mode 100644 drivers/net/sxe/vf/sxevf_irq.c
create mode 100644 drivers/net/sxe/vf/sxevf_irq.h
create mode 100644 drivers/net/sxe/vf/sxevf_main.c
create mode 100644 drivers/net/sxe/vf/sxevf_msg.c
create mode 100644 drivers/net/sxe/vf/sxevf_msg.h
create mode 100644 drivers/net/sxe/vf/sxevf_offload.c
create mode 100644 drivers/net/sxe/vf/sxevf_offload.h
create mode 100644 drivers/net/sxe/vf/sxevf_queue.c
create mode 100644 drivers/net/sxe/vf/sxevf_queue.h
create mode 100644 drivers/net/sxe/vf/sxevf_rx.c
create mode 100644 drivers/net/sxe/vf/sxevf_rx.h
create mode 100644 drivers/net/sxe/vf/sxevf_stats.c
create mode 100644 drivers/net/sxe/vf/sxevf_stats.h
create mode 100644 drivers/net/sxe/vf/sxevf_tx.c
create mode 100644 drivers/net/sxe/vf/sxevf_tx.h

--
2.18.2