[net-next, v3 00/11] add features to bnge

Vikas Gupta posted 11 patches 1 week ago
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
[net-next, v3 00/11] add features to bnge
Posted by Vikas Gupta 1 week ago
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
Re: [net-next, v3 00/11] add features to bnge
Posted by Jakub Kicinski 3 days, 2 hours ago
On Thu, 17 Sep 2026 12:15:37 +0530 Vikas Gupta wrote:
> 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.

Please look thru the review here:

https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260917064548.773334-2-vikas.gupta@broadcom.com

We had 3 models enabled for some time and 3x the huge number of
findings in this series seems to have choked the LLM's input limit 
on patch 9. So the review won't get emailed out. But the first finding
already looks legit so..
-- 
pw-bot: cr