[net-next, v4 00/10] add features to bnge

Vikas Gupta posted 10 patches 18 hours ago
drivers/net/ethernet/broadcom/bnge/Makefile   |    4 +-
drivers/net/ethernet/broadcom/bnge/bnge.h     |   19 +-
.../net/ethernet/broadcom/bnge/bnge_ethtool.c | 1035 +++++++++++++++++
.../net/ethernet/broadcom/bnge/bnge_filter.c  |  684 +++++++++++
.../net/ethernet/broadcom/bnge/bnge_filter.h  |  126 ++
.../ethernet/broadcom/bnge/bnge_hwrm_lib.c    |  156 ++-
.../ethernet/broadcom/bnge/bnge_hwrm_lib.h    |    8 +
.../net/ethernet/broadcom/bnge/bnge_netdev.c  |  479 +++++---
.../net/ethernet/broadcom/bnge/bnge_netdev.h  |   89 +-
.../net/ethernet/broadcom/bnge/bnge_resc.c    |  121 +-
.../net/ethernet/broadcom/bnge/bnge_resc.h    |    1 +
.../net/ethernet/broadcom/bnge/bnge_vnic.c    |  291 +++++
.../net/ethernet/broadcom/bnge/bnge_vnic.h    |   92 ++
13 files changed, 2801 insertions(+), 304 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, v4 00/10] add features to bnge
Posted by Vikas Gupta 18 hours ago
Hi,

This series adds ntuple filter, RSS context, and flow steering
support to bnge driver.
Patch 1 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

v3-v4:
    - Addressed comments from Sashiko
      https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260917064548.773334-1-vikas.gupta%40broadcom.com
      https://sashiko.dev/#/patchset/20260917064548.773334-1-vikas.gupta%40broadcom.com
    - The patch count drops to 10 now that the HSI patches have been merged.

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 (10):
  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     |   19 +-
 .../net/ethernet/broadcom/bnge/bnge_ethtool.c | 1035 +++++++++++++++++
 .../net/ethernet/broadcom/bnge/bnge_filter.c  |  684 +++++++++++
 .../net/ethernet/broadcom/bnge/bnge_filter.h  |  126 ++
 .../ethernet/broadcom/bnge/bnge_hwrm_lib.c    |  156 ++-
 .../ethernet/broadcom/bnge/bnge_hwrm_lib.h    |    8 +
 .../net/ethernet/broadcom/bnge/bnge_netdev.c  |  479 +++++---
 .../net/ethernet/broadcom/bnge/bnge_netdev.h  |   89 +-
 .../net/ethernet/broadcom/bnge/bnge_resc.c    |  121 +-
 .../net/ethernet/broadcom/bnge/bnge_resc.h    |    1 +
 .../net/ethernet/broadcom/bnge/bnge_vnic.c    |  291 +++++
 .../net/ethernet/broadcom/bnge/bnge_vnic.h    |   92 ++
 13 files changed, 2801 insertions(+), 304 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