mbox series

[net-next,00/11] eth: bnxt: use the new RSS API

Message ID 20240702234757.4188344-1-kuba@kernel.org (mailing list archive)
Headers show
Series eth: bnxt: use the new RSS API | expand

Message

Jakub Kicinski July 2, 2024, 11:47 p.m. UTC
Convert bnxt from using the set_rxfh API to separate create/modify/remove
callbacks.

Two small extensions to the core APIs are necessary:
 - the ability to discard contexts if for some catastrophic reasons
   device can no longer provide them;
 - the ability to reserve space in the context for RSS table growth.

The driver is adjusted to store indirection tables on u32 to make
it easier to use core structs directly.

With that out of the way the conversion is fairly straightforward.

Jakub Kicinski (11):
  net: ethtool: let drivers remove lost RSS contexts
  net: ethtool: let drivers declare max size of RSS indir table and key
  eth: bnxt: allow deleting RSS contexts when the device is down
  eth: bnxt: move from .set_rxfh to .create_rxfh_context and friends
  eth: bnxt: remove rss_ctx_bmap
  eth: bnxt: depend on core cleaning up RSS contexts
  eth: bnxt: use context priv for struct bnxt_rss_ctx
  eth: bnxt: use the RSS context XArray instead of the local list
  eth: bnxt: bump the entry size in indir tables to u32
  eth: bnxt: use the indir table from ethtool context
  eth: bnxt: pad out the correct indirection table

 drivers/net/ethernet/broadcom/bnxt/bnxt.c     | 115 +++++--------
 drivers/net/ethernet/broadcom/bnxt/bnxt.h     |  14 +-
 .../net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 159 ++++++++++--------
 include/linux/ethtool.h                       |  25 +--
 net/ethtool/ioctl.c                           |  46 +++--
 net/ethtool/rss.c                             |  14 ++
 6 files changed, 201 insertions(+), 172 deletions(-)