mbox series

[net-next,00/10] bnxt_en: Ntuple filter improvements

Message ID 20240220230317.96341-1-michael.chan@broadcom.com (mailing list archive)
Headers show
Series bnxt_en: Ntuple filter improvements | expand

Message

Michael Chan Feb. 20, 2024, 11:03 p.m. UTC
The current Ntuple filter implementation has a limitation on 5750X (P5)
and newer chips.  The destination ring of the ntuple filter must be
a valid ring in the RSS indirection table.  Ntuple filters may not work
if the RSS indirection table is modified by the user to only contain a
subset of the rings.  If an ntuple filter is set to a ring destination
that is not in the RSS indirection table, the packet matching that
filter will be placed in a random ring instead of the specified
destination ring.

This series of patches will fix the problem by using a separate VNIC
for ntuple filters.  The default VNIC will be dedicated for RSS and
so the indirection table can be setup in any way and will not affect
ntuple filters using the separate VNIC.

Quite a bit of refactoring is needed to do the the VNIC and RSS
context accounting in the first few patches.  This is technically a
bug fix, but I think the changes are too big for -net.

Michael Chan (3):
  bnxt_en: Refactor ring reservation functions
  bnxt_en: Explicitly specify P5 completion rings to reserve
  bnxt_en: Check additional resources in bnxt_check_rings()

Pavan Chebbi (6):
  bnxt_en: Improve RSS context reservation infrastructure
  bnxt_en: Refactor bnxt_set_features()
  bnxt_en: Define BNXT_VNIC_DEFAULT for the default vnic index
  bnxt_en: Provision for an additional VNIC for ntuple filters
  bnxt_en: Create and setup the additional VNIC for adding ntuple
    filters
  bnxt_en: Use the new VNIC to create ntuple filters

Venkat Duvvuru (1):
  bnxt_en: Add bnxt_get_total_vnics() to calculate number of VNICs

 drivers/net/ethernet/broadcom/bnxt/bnxt.c     | 487 +++++++++++-------
 drivers/net/ethernet/broadcom/bnxt/bnxt.h     |  20 +
 .../net/ethernet/broadcom/bnxt/bnxt_ethtool.c |   4 +-
 3 files changed, 311 insertions(+), 200 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Feb. 22, 2024, 2:40 p.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by Paolo Abeni <pabeni@redhat.com>:

On Tue, 20 Feb 2024 15:03:07 -0800 you wrote:
> The current Ntuple filter implementation has a limitation on 5750X (P5)
> and newer chips.  The destination ring of the ntuple filter must be
> a valid ring in the RSS indirection table.  Ntuple filters may not work
> if the RSS indirection table is modified by the user to only contain a
> subset of the rings.  If an ntuple filter is set to a ring destination
> that is not in the RSS indirection table, the packet matching that
> filter will be placed in a random ring instead of the specified
> destination ring.
> 
> [...]

Here is the summary with links:
  - [net-next,01/10] bnxt_en: Refactor ring reservation functions
    https://git.kernel.org/netdev/net-next/c/257bbf45af81
  - [net-next,02/10] bnxt_en: Explicitly specify P5 completion rings to reserve
    https://git.kernel.org/netdev/net-next/c/ae8186b2d406
  - [net-next,03/10] bnxt_en: Improve RSS context reservation infrastructure
    https://git.kernel.org/netdev/net-next/c/438ba39b25fe
  - [net-next,04/10] bnxt_en: Check additional resources in bnxt_check_rings()
    https://git.kernel.org/netdev/net-next/c/929429986773
  - [net-next,05/10] bnxt_en: Add bnxt_get_total_vnics() to calculate number of VNICs
    https://git.kernel.org/netdev/net-next/c/8c81ae6c54c1
  - [net-next,06/10] bnxt_en: Refactor bnxt_set_features()
    https://git.kernel.org/netdev/net-next/c/5d5b90fb4e90
  - [net-next,07/10] bnxt_en: Define BNXT_VNIC_DEFAULT for the default vnic index
    https://git.kernel.org/netdev/net-next/c/ef4ee64e9990
  - [net-next,08/10] bnxt_en: Provision for an additional VNIC for ntuple filters
    https://git.kernel.org/netdev/net-next/c/532c034e4b2b
  - [net-next,09/10] bnxt_en: Create and setup the additional VNIC for adding ntuple filters
    https://git.kernel.org/netdev/net-next/c/93e90104bd12
  - [net-next,10/10] bnxt_en: Use the new VNIC to create ntuple filters
    https://git.kernel.org/netdev/net-next/c/f6eff053a60c

You are awesome, thank you!