[net-next, v3 00/11] add features to bnge
From: Vikas Gupta <vikas.gupta@broadcom.com>
Date: 2026-09-17 06:46:00
Also in:
lkml
Hi,
This series adds ntuple filter, RSS context, and flow steering
support to bnge driver.
Patch 2 is a pure refactor (no functional change) that relocates the
filter and VNIC related code into the appropriate files. Patch 7 drops
the refcount usage from L2 filters, also with no functional change.
The subsequent patches then add the ethtool commands for configuring
ntuple flows and RSS contexts.
Thanks,
Vikas
v2->v3:
- Build fix.
- Addressed comments from Sashiko
https://sashiko.dev/#/patchset/20260908093053.2596020-1-vikas.gupta%40broadcom.com
Below Sashiko comments are not valid:
Patch-8:
Comment under bnge_toeplitz().
Explanation: bnge_toeplitz() is not used for aRFS.
Patch-9:
Comment regarding bnge_clear_usr_fltrs().
Explanation:
Both bnge_clear_usr_fltrs() (only invoked while the
interface is down) and bnge_grxclsrule() execute
under the netdev instance lock, so they are
serialized and never touch the filter list at the
same time.
Patch-10:
Comment "Does this direct dereference of the MAC
header need a linearization ...".
Explanation: ndo_rx_flow_steer runs on the RX path
after eth_type_trans(), which already accesses and
pulls the Ethernet header.
Comment Related to bnge_cfg_ntp_filters().
Explanation:
bnge_cfg_ntp_filters() runs from bnge_sp_task(),
which holds the netdev instance lock while executing.
v1->v2:
- Build fixes.
- Addressed comments from Sashiko
https://sashiko.dev/#/patchset/20260814011435.194631-1-vikas.gupta%40broadcom.com
Vikas Gupta (11):
bnge: update HSI
bnge: restructure VNIC and filter code
bnge: add NTUPLE/ARFS VNIC
bnge: add helper functions for multi RSS contexts
bnge: add RXFH ethtool support
bnge: add ethtool support to manage RSS contexts
bnge: remove refcount from L2 filter
bnge: add NTUPLE filter infrastructure
bnge: add NTUPLE filter support in ethtool
bnge: add aRFS flow steering ndo support
bnge: add cpu_rmap support for IRQ affinity
drivers/net/ethernet/broadcom/bnge/Makefile | 4 +-
drivers/net/ethernet/broadcom/bnge/bnge.h | 20 +-
.../net/ethernet/broadcom/bnge/bnge_ethtool.c | 1030 +++++++++++++++++
.../net/ethernet/broadcom/bnge/bnge_filter.c | 684 +++++++++++
.../net/ethernet/broadcom/bnge/bnge_filter.h | 123 ++
.../ethernet/broadcom/bnge/bnge_hwrm_lib.c | 155 ++-
.../ethernet/broadcom/bnge/bnge_hwrm_lib.h | 10 +
.../net/ethernet/broadcom/bnge/bnge_netdev.c | 420 ++++---
.../net/ethernet/broadcom/bnge/bnge_netdev.h | 91 +-
.../net/ethernet/broadcom/bnge/bnge_resc.c | 115 +-
.../net/ethernet/broadcom/bnge/bnge_resc.h | 1 +
.../net/ethernet/broadcom/bnge/bnge_vnic.c | 284 +++++
.../net/ethernet/broadcom/bnge/bnge_vnic.h | 91 ++
include/linux/bnge/hsi.h | 136 ++-
14 files changed, 2868 insertions(+), 296 deletions(-)
create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_filter.c
create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_filter.h
create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_vnic.c
create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_vnic.h
--
2.52.0