mbox series

[net-next,0/7] eth: fbnic: support RSS contexts and ntuple filters

Message ID 20250206235334.1425329-1-kuba@kernel.org (mailing list archive)
Headers show
Series eth: fbnic: support RSS contexts and ntuple filters | expand

Message

Jakub Kicinski Feb. 6, 2025, 11:53 p.m. UTC
Add support for RSS contexts and ntuple filters in fbnic.
The device has only one context, intended for use by TCP zero-copy Rx.

First two patches add a check we seem to be missing in the core,
to avoid having to copy it to all drivers.

  $ ./drivers/net/hw/rss_ctx.py
  KTAP version 1
  1..16
  ok 1 rss_ctx.test_rss_key_indir
  ok 2 rss_ctx.test_rss_queue_reconfigure
  ok 3 rss_ctx.test_rss_resize
  ok 4 rss_ctx.test_hitless_key_update
  ok 5 rss_ctx.test_rss_context
  # Failed to create context 2, trying to test what we got
  ok 6 rss_ctx.test_rss_context4 # SKIP Tested only 1 contexts, wanted 4
  # Increasing queue count 44 -> 66
  # Failed to create context 2, trying to test what we got
  ok 7 rss_ctx.test_rss_context32 # SKIP Tested only 1 contexts, wanted 32
  # Added only 1 out of 3 contexts
  ok 8 rss_ctx.test_rss_context_dump
  # Driver does not support rss + queue offset
  ok 9 rss_ctx.test_rss_context_queue_reconfigure
  ok 10 rss_ctx.test_rss_context_overlap
  ok 11 rss_ctx.test_rss_context_overlap2 # SKIP Test requires at least 2 contexts, but device only has 1
  ok 12 rss_ctx.test_rss_context_out_of_order # SKIP Test requires at least 4 contexts, but device only has 1
  # Failed to create context 2, trying to test what we got
  ok 13 rss_ctx.test_rss_context4_create_with_cfg # SKIP Tested only 1 contexts, wanted 4
  ok 14 rss_ctx.test_flow_add_context_missing
  ok 15 rss_ctx.test_delete_rss_context_busy
  ok 16 rss_ctx.test_rss_ntuple_addition # SKIP Ntuple filter with RSS and nonzero action not supported
  # Totals: pass:10 fail:0 xfail:0 xpass:0 skip:6 error:0

Alexander Duyck (3):
  eth: fbnic: add IP TCAM programming
  eth: fbnic: support n-tuple filters
  eth: fbnic: support listing tcam content via debugfs

Daniel Zahka (1):
  eth: fbnic: support an additional RSS context

Jakub Kicinski (3):
  net: ethtool: prevent flow steering to RSS contexts which don't exist
  selftests: net-drv: test adding flow rule to invalid RSS context
  selftests: drv-net: rss_ctx: skip tests which need multiple contexts
    cleanly

 drivers/net/ethernet/meta/fbnic/fbnic.h       |   6 +
 drivers/net/ethernet/meta/fbnic/fbnic_csr.h   |   6 +
 drivers/net/ethernet/meta/fbnic/fbnic_rpc.h   |  35 +
 .../net/ethernet/meta/fbnic/fbnic_debugfs.c   | 138 ++++
 .../net/ethernet/meta/fbnic/fbnic_ethtool.c   | 705 ++++++++++++++++++
 .../net/ethernet/meta/fbnic/fbnic_netdev.c    |   1 +
 drivers/net/ethernet/meta/fbnic/fbnic_rpc.c   | 356 ++++++++-
 net/ethtool/ioctl.c                           |  12 +-
 .../selftests/drivers/net/hw/rss_ctx.py       |  46 +-
 9 files changed, 1294 insertions(+), 11 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Feb. 10, 2025, 4:30 p.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Thu,  6 Feb 2025 15:53:27 -0800 you wrote:
> Add support for RSS contexts and ntuple filters in fbnic.
> The device has only one context, intended for use by TCP zero-copy Rx.
> 
> First two patches add a check we seem to be missing in the core,
> to avoid having to copy it to all drivers.
> 
>   $ ./drivers/net/hw/rss_ctx.py
>   KTAP version 1
>   1..16
>   ok 1 rss_ctx.test_rss_key_indir
>   ok 2 rss_ctx.test_rss_queue_reconfigure
>   ok 3 rss_ctx.test_rss_resize
>   ok 4 rss_ctx.test_hitless_key_update
>   ok 5 rss_ctx.test_rss_context
>   # Failed to create context 2, trying to test what we got
>   ok 6 rss_ctx.test_rss_context4 # SKIP Tested only 1 contexts, wanted 4
>   # Increasing queue count 44 -> 66
>   # Failed to create context 2, trying to test what we got
>   ok 7 rss_ctx.test_rss_context32 # SKIP Tested only 1 contexts, wanted 32
>   # Added only 1 out of 3 contexts
>   ok 8 rss_ctx.test_rss_context_dump
>   # Driver does not support rss + queue offset
>   ok 9 rss_ctx.test_rss_context_queue_reconfigure
>   ok 10 rss_ctx.test_rss_context_overlap
>   ok 11 rss_ctx.test_rss_context_overlap2 # SKIP Test requires at least 2 contexts, but device only has 1
>   ok 12 rss_ctx.test_rss_context_out_of_order # SKIP Test requires at least 4 contexts, but device only has 1
>   # Failed to create context 2, trying to test what we got
>   ok 13 rss_ctx.test_rss_context4_create_with_cfg # SKIP Tested only 1 contexts, wanted 4
>   ok 14 rss_ctx.test_flow_add_context_missing
>   ok 15 rss_ctx.test_delete_rss_context_busy
>   ok 16 rss_ctx.test_rss_ntuple_addition # SKIP Ntuple filter with RSS and nonzero action not supported
>   # Totals: pass:10 fail:0 xfail:0 xpass:0 skip:6 error:0
> 
> [...]

Here is the summary with links:
  - [net-next,1/7] net: ethtool: prevent flow steering to RSS contexts which don't exist
    https://git.kernel.org/netdev/net-next/c/de7f7582dff2
  - [net-next,2/7] selftests: net-drv: test adding flow rule to invalid RSS context
    https://git.kernel.org/netdev/net-next/c/23bac399104c
  - [net-next,3/7] eth: fbnic: support an additional RSS context
    https://git.kernel.org/netdev/net-next/c/260676ebb1f3
  - [net-next,4/7] eth: fbnic: add IP TCAM programming
    (no matching commit)
  - [net-next,5/7] eth: fbnic: support n-tuple filters
    (no matching commit)
  - [net-next,6/7] selftests: drv-net: rss_ctx: skip tests which need multiple contexts cleanly
    https://git.kernel.org/netdev/net-next/c/d2348b4bf748
  - [net-next,7/7] eth: fbnic: support listing tcam content via debugfs
    https://git.kernel.org/netdev/net-next/c/5797d3c62db8

You are awesome, thank you!
Gal Pressman Feb. 12, 2025, 6:05 a.m. UTC | #2
On 10/02/2025 18:30, patchwork-bot+netdevbpf@kernel.org wrote:
> Hello:
> 
> This series was applied to netdev/net-next.git (main)
> by Jakub Kicinski <kuba@kernel.org>:

You ignored my comments on patch #1.
Jakub Kicinski Feb. 12, 2025, 6:32 p.m. UTC | #3
On Wed, 12 Feb 2025 08:05:31 +0200 Gal Pressman wrote:
> On 10/02/2025 18:30, patchwork-bot+netdevbpf@kernel.org wrote:
> > Hello:
> > 
> > This series was applied to netdev/net-next.git (main)
> > by Jakub Kicinski <kuba@kernel.org>:  
> 
> You ignored my comments on patch #1.

Ah, sorry about that! Not sure how I missed it, maybe the ongoing 
lore problems :(