[PATCH v3 00/51] net/sxe2: add Stars SXE2 net driver with fixes
liujie5 at linkdatatechnology.com
liujie5 at linkdatatechnology.com
Wed Aug 26 10:53:32 CEST 2026
From: Jie Liu <liujie5 at linkdatatechnology.com>
This series adds the Stars SXE2 (Wuxi Stars Micro System) Ethernet
driver, including the common driver (drivers/common/sxe2), the net
driver (drivers/net/sxe2), and its documentation.
The driver supports:
- Legacy and switchdev modes with VF representors
- Scalar and vectorized (SSE/AVX2/AVX512/NEON) Rx/Tx paths
- FNAV and ACL flow engines with per-flow statistics
- RSS, QinQ, IPsec, Traffic Management and multi-process support
In addition to the driver functionality, the series fixes a number of
correctness issues found during review, including a security context
leak in the device init error path, a NULL dereference in the
vectorized Tx mbuf release path, an out-of-bounds representor ID
access, and a representor LSC loop counter type mismatch. The command
channel log messages and ioctl channel handling are also aligned with
the reference implementation.
This is v3 of the series, incorporating review feedback. All patches
build independently and no ABI changes are introduced.
Jie Liu (51):
common/sxe2: fix null pointer in class driver remove
common/sxe2: allow munmap during kernel reset
net/sxe2: fix VF PCI device ID
net/sxe2: fix MSIX register width in PF map table
net/sxe2: restore pf and port index caps assignment
net/sxe2: fix VSI lifecycle management
net/sxe2: initialize stats in representor device init
net/sxe2: use base device name for representor naming
net/sxe2: propagate LSC event to VF representors
net/sxe2: validate IPsec key length against maximum limit
net/sxe2: rename representor VSI ID fields
net/sxe2: clean up duplicate function declarations
net/sxe2: fix null VSI dereference in device info
net/sxe2: fill MAC and queue counts in device info
net/sxe2: fix QinQ and RSS offload capability report
net/sxe2: use regular write for mapped registers
net/sxe2: move PCI register read macro to common header
net/sxe2: validate PCI map resource type
net/sxe2: guard PCI BAR unmap when not initialized
net/sxe2: fix null dereference in dev uninit
net/sxe2: fix duplicated cleanup in dev close
net/sxe2: align dev init and cleanup order
net/sxe2: simplify switchdev representor matching
net/sxe2: probe all requested PF ports
net/sxe2: rename fnav cid manager symbols to flow
net/sxe2: move tunnel port helpers into flow module
net/sxe2: add ACL engine event statistics support
net/sxe2: guard Rx queue event FD free in unregister
net/sxe2: refactor primary process MP message handling
net/sxe2: refactor Tx queue reset operations
net/sxe2: unify vectorized Tx buffer handling
net/sxe2: refine vectorized Tx/Rx mode setup
net/sxe2: fix RSS action attribute validation
net/sxe2: restore PF-only guard in udp tunnel port add
net/sxe2: align flow meta proc priority handling with V3
net/sxe2: restore link update call in status query
net/sxe2: validate representor ID against VF count
net/sxe2: use primary VSI ID for representor VSI
net/sxe2: wrap command params fill debug log in macro
net/sxe2: restore Rx queue buffer split fill support
net/sxe2: skip tunnel config fill on get failure
net/sxe2: skip flow id assignment on filter add failure
net/sxe2: fix command channel log messages
net/sxe2: align command structs with historical kernel layout
common/sxe2: fix ioctl channel log and close handling
doc/sxe2: remove drv-sw-stats parameter documentation
net/sxe2: harden ACL flow count resource handling
net/sxe2: fix device init and representor matching issues
net/sxe2: use correct loop counter type for representor LSC
net/sxe2: restore NULL check in vectorized Tx mbuf release
net/sxe2: simplify Rx queue buffer split fill helper
doc/guides/nics/sxe2.rst | 58 +----
drivers/common/sxe2/sxe2_common.c | 6 +-
drivers/common/sxe2/sxe2_ioctl_chnl.c | 18 +-
drivers/net/sxe2/sxe2_cmd_chnl.c | 200 +++++++++++++++--
drivers/net/sxe2/sxe2_cmd_chnl.h | 15 +-
drivers/net/sxe2/sxe2_drv_cmd.h | 45 ++--
drivers/net/sxe2/sxe2_dump.c | 10 +-
drivers/net/sxe2/sxe2_ethdev.c | 202 ++++++++++-------
drivers/net/sxe2/sxe2_ethdev.h | 13 +-
drivers/net/sxe2/sxe2_ethdev_repr.c | 13 +-
drivers/net/sxe2/sxe2_flow.c | 250 +++++++++++++++++----
drivers/net/sxe2/sxe2_flow.h | 6 +-
drivers/net/sxe2/sxe2_flow_define.h | 15 +-
drivers/net/sxe2/sxe2_flow_parse_action.c | 37 ++-
drivers/net/sxe2/sxe2_flow_parse_pattern.c | 113 ----------
drivers/net/sxe2/sxe2_flow_parse_pattern.h | 6 -
drivers/net/sxe2/sxe2_ipsec.c | 5 +
drivers/net/sxe2/sxe2_irq.c | 27 ++-
drivers/net/sxe2/sxe2_mac.c | 9 +-
drivers/net/sxe2/sxe2_mp.c | 59 ++---
drivers/net/sxe2/sxe2_queue.c | 2 +
drivers/net/sxe2/sxe2_queue.h | 7 +-
drivers/net/sxe2/sxe2_rx.c | 3 +-
drivers/net/sxe2/sxe2_security.c | 1 +
drivers/net/sxe2/sxe2_switchdev.c | 16 +-
drivers/net/sxe2/sxe2_tx.c | 42 +++-
drivers/net/sxe2/sxe2_tx.h | 4 +
drivers/net/sxe2/sxe2_txrx.c | 19 +-
drivers/net/sxe2/sxe2_txrx_poll.h | 2 -
drivers/net/sxe2/sxe2_txrx_vec.c | 73 +++---
drivers/net/sxe2/sxe2_txrx_vec.h | 1 +
drivers/net/sxe2/sxe2_txrx_vec_avx2.c | 10 +-
drivers/net/sxe2/sxe2_txrx_vec_avx512.c | 133 +----------
drivers/net/sxe2/sxe2_txrx_vec_common.h | 9 +-
drivers/net/sxe2/sxe2_txrx_vec_neon.c | 219 +++++++++++-------
drivers/net/sxe2/sxe2_txrx_vec_sse.c | 10 +-
drivers/net/sxe2/sxe2_vsi.c | 8 +-
37 files changed, 964 insertions(+), 702 deletions(-)
--
2.52.0
More information about the dev
mailing list