[PATCH v7 00/47] net/sxe2: re-align with reference and fix review findings
liujie5 at linkdatatechnology.com
liujie5 at linkdatatechnology.com
Mon Aug 31 04:41:03 CEST 2026
From: Jie Liu <liujie5 at linkdatatechnology.com>
This series updates the SXE2 poll mode driver (drivers/net/sxe2) and
its common library (drivers/common/sxe2), fixing issues found in the
previous version and re-aligning the driver with the reference
implementation.
Changes since v6:
- drop the now-trivial sxe2_vsi_node_free() helper and inline
rte_free() at its call sites
- unify the duplicated FNAV/ACL COUNT action arms in the flow parser
- use a file-scope static const ops table for the vectorized Tx path
and fail sxe2_tx_queues_vec_prepare() on a NULL txq
- split "unify vectorized Tx buffer handling" into three commits:
the buffer_ring union fix, the NEON Tx 4-wide descriptor fill, and
the NEON Rx ptype/memory-ordering fixes
- use the primary VSI id directly for representors (the kernel
guarantees it is always valid)
- drop the packed/aligned attributes from the TM command message
structs to match the historical kernel layout
- fix VEC mode selection in the Tx/Rx mode set functions
- clean up commit messages (headline case/length, missing Fixes tags)
Signed-off-by: Jie Liu <liujie5 at linkdatatechnology.com>
Jie Liu (47):
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: clear security context pointer on uninit
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 addresses 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: 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: refactor primary process MP message handling
net/sxe2: refactor Tx queue reset operations
net/sxe2: unify vectorized Tx buffer handling
net/sxe2: optimize NEON Tx descriptor fill
net/sxe2: fix NEON Rx ptype mapping and memory ordering
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: 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: correct command channel log messages
net/sxe2: align command structs with kernel layout
common/sxe2: fix ioctl channel log and close handling
doc/sxe2: remove drv-SW-stats parameter documentation
net/sxe2: remove ineffective representor queue counts
net/sxe2: fix VEC mode selection in mode set functions
doc/guides/nics/sxe2.rst | 40 ++--
drivers/common/sxe2/sxe2_common.c | 6 +-
drivers/common/sxe2/sxe2_ioctl_chnl.c | 21 +-
drivers/net/sxe2/sxe2_cmd_chnl.c | 199 +++++++++++++++--
drivers/net/sxe2/sxe2_cmd_chnl.h | 15 +-
drivers/net/sxe2/sxe2_drv_cmd.h | 33 +--
drivers/net/sxe2/sxe2_dump.c | 10 +-
drivers/net/sxe2/sxe2_ethdev.c | 192 ++++++++++-------
drivers/net/sxe2/sxe2_ethdev.h | 13 +-
drivers/net/sxe2/sxe2_ethdev_repr.c | 17 +-
drivers/net/sxe2/sxe2_flow.c | 235 ++++++++++++++++++---
drivers/net/sxe2/sxe2_flow.h | 6 +-
drivers/net/sxe2/sxe2_flow_define.h | 15 +-
drivers/net/sxe2/sxe2_flow_parse_action.c | 42 ++--
drivers/net/sxe2/sxe2_flow_parse_pattern.c | 113 ----------
drivers/net/sxe2/sxe2_flow_parse_pattern.h | 6 -
drivers/net/sxe2/sxe2_irq.c | 24 ++-
drivers/net/sxe2/sxe2_mac.c | 11 +-
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 | 15 +-
drivers/net/sxe2/sxe2_tx.c | 42 +++-
drivers/net/sxe2/sxe2_tx.h | 4 +
drivers/net/sxe2/sxe2_txrx.c | 34 +--
drivers/net/sxe2/sxe2_txrx_poll.h | 2 -
drivers/net/sxe2/sxe2_txrx_vec.c | 74 +++----
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 | 31 +--
35 files changed, 946 insertions(+), 707 deletions(-)
--
2.52.0
More information about the dev
mailing list