public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v4 0/6] bnxt_en: Add XDP RSS hash metadata support
@ 2026-03-13 22:27 Chris J Arges
  2026-03-13 22:27 ` [PATCH net-next v4 1/6] bnxt_en: use bnxt_xdp_buff for xdp context Chris J Arges
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Chris J Arges @ 2026-03-13 22:27 UTC (permalink / raw)
  To: Joe Damato, Jakub Kicinski, Andy Gospodarek, Michael Chan,
	Pavan Chebbi, Andrew Lunn, David S. Miller, Eric Dumazet,
	Paolo Abeni, Alexei Starovoitov, Daniel Borkmann,
	Jesper Dangaard Brouer, John Fastabend, Stanislav Fomichev
  Cc: Chris J Arges, netdev, linux-kernel, bpf

This series adds XDP RSS hash metadata extraction support for the bnxt_en
driver and includes selftests to validate the functionality. I was able
to test this on a BCM57414 NIC.

Patches 1-4 implement the driver support:
  - Patch 1 adds bnxt_xdp_buff to wrap xdp_buff with
    pointers to the hardware RX completion descriptors and the
    completion type. This is similar to other driver implementations.
  - Patch 2 adds xmo_rx_hash callback for CMP_TYPE_RX_L2_CMP completions.
  - Patch 3 moves bnxt_rss_ext_op to bnxt.h
  - Patch 4 adds handling for CMP_TYPE_RX_L2_V3_CMP completions

Patches 5-6 add selftest coverage:
  - Patch 5 refactors common BPF map helper functions out of the
    existing xdp.py selftest into a shared net/lib/py/bpf.py module.
  - Patch 6 adds an XDP metadata selftest that loads an XDP program
    calling bpf_xdp_metadata_rx_hash. The test skips on devices without
    xdp-rx-metadata-features.

Changes from v3: https://lore.kernel.org/netdev/20260306230600.1628196-1-carges@cloudflare.com/
  - split out bnxt_rss_ext_op into header
  - address RCT issue
  - rebased on net-next

Changes from v2: https://lore.kernel.org/netdev/20260303024510.644962-1-carges@cloudflare.com/
  - bnxt xdp: actually fixed RCT issues
  - bnxt xdp: Added patch 3 to handle CMP_TYPE_RX_L2_V3_CMP completions.

Changes from v1: https://lore.kernel.org/netdev/cover.1772211065.git.carges@cloudflare.com/
  - selftests: moved tests into net/hw
  - selftests: fix pylinter errors
  - selftests: add check for no error count
  - bnxt_xdp: followed RCT for variable declaration
  - rebased on net-next

Chris J Arges (6):
  bnxt_en: use bnxt_xdp_buff for xdp context
  bnxt_en: Implement XDP RSS hash metadata extraction
  bnxt_en: Move bnxt_rss_ext_op into header
  bnxt_en: Implement XDP RSS hash metadata extraction for V3_CMP
  selftests: net: move common xdp.py functions into lib
  selftests: drv-net: xdp: Add rss_hash metadata tests

 drivers/net/ethernet/broadcom/bnxt/bnxt.c     |  47 +++--
 drivers/net/ethernet/broadcom/bnxt/bnxt.h     |  19 ++
 drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c |  57 ++++++
 drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h |  10 ++
 .../testing/selftests/drivers/net/hw/Makefile |   1 +
 .../drivers/net/hw/lib/py/__init__.py         |   2 +
 .../selftests/drivers/net/hw/xdp_metadata.py  | 146 ++++++++++++++++
 .../selftests/drivers/net/lib/py/__init__.py  |   2 +
 tools/testing/selftests/drivers/net/xdp.py    |  95 +++-------
 .../testing/selftests/net/lib/py/__init__.py  |   2 +
 tools/testing/selftests/net/lib/py/bpf.py     |  68 ++++++++
 .../selftests/net/lib/xdp_metadata.bpf.c      | 163 ++++++++++++++++++
 12 files changed, 513 insertions(+), 99 deletions(-)
 create mode 100644 tools/testing/selftests/drivers/net/hw/xdp_metadata.py
 create mode 100644 tools/testing/selftests/net/lib/py/bpf.py
 create mode 100644 tools/testing/selftests/net/lib/xdp_metadata.bpf.c

-- 
2.43.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2026-03-17 14:32 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-13 22:27 [PATCH net-next v4 0/6] bnxt_en: Add XDP RSS hash metadata support Chris J Arges
2026-03-13 22:27 ` [PATCH net-next v4 1/6] bnxt_en: use bnxt_xdp_buff for xdp context Chris J Arges
2026-03-14  0:00   ` Joe Damato
2026-03-13 22:27 ` [PATCH net-next v4 2/6] bnxt_en: Implement XDP RSS hash metadata extraction Chris J Arges
2026-03-13 22:27 ` [PATCH net-next v4 3/6] bnxt_en: Move bnxt_rss_ext_op into header Chris J Arges
2026-03-14  0:01   ` Joe Damato
2026-03-13 22:27 ` [PATCH net-next v4 4/6] bnxt_en: Implement XDP RSS hash metadata extraction for V3_CMP Chris J Arges
2026-03-14  0:03   ` Joe Damato
2026-03-13 22:27 ` [PATCH net-next v4 5/6] selftests: net: move common xdp.py functions into lib Chris J Arges
2026-03-17  6:48   ` Mohsin Bashir
2026-03-17 14:32     ` Paolo Abeni
2026-03-13 22:27 ` [PATCH net-next v4 6/6] selftests: drv-net: xdp: Add rss_hash metadata tests Chris J Arges
2026-03-17  9:49   ` Jesper Dangaard Brouer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox