mbox series

[v6,bpf-next,0/6] selftests: xsk: real device testing support

Message ID 20220901114813.16275-1-maciej.fijalkowski@intel.com (mailing list archive)
Headers show
Series selftests: xsk: real device testing support | expand

Message

Fijalkowski, Maciej Sept. 1, 2022, 11:48 a.m. UTC
v5->v6:
* rebase properly
* collect acks (Magnus)
* extend char limit for iface/netns to 16 (Magnus)

v4->v5:
* ice patches have gone through its own way, so they are out of this
  revision
* rebase
* close prog fd on error path in patch 1 (John)
* pull out patch for closing netns fd and send it separately (John)
* remove a patch that made Tx completion rely on pkts_in_flight (John)

v3->v4:
* use ice_{down,up} rather than ice_{stop,open} and check retvals
  when toggling loopback mode (Jakub)
* Remove patch that was throwing away xsk->outstanding_tx (Magnus)

v2->v3:
* split loopback patch to ice_set_features() refactor part and other
  part with actual loopback toggling support (Alexandr)
* collect more acks from Magnus

v1->v2:
* collect acks from Magnus
* drop redundant 'ret' variable in patch 4 (Magnus)
* drop redundant assignments to ifobject->xdp_flags in patch 10 (Magnus)
* use NETIF_F_LOOPBACK instead of introducing priv-flag (Alexandr)

Hi!

This set makes it possible to use xskxceiver against real devices that
support MAC loopback. Currently, xskxceiver assumes that underlying
device supports native XDP. It is true for veth, but might not be for
other device that might be used with xskxceiver once this patch set
land. So, first patch adds a logic to find out if underlying device
supports XDP so that TEST_MODE_DRV can be used for test suite.

In patch 2, default Rx pkt stream is added so physical device testing
will be able to use shared UMEM in a way that Tx will utilize first half
of buffer space and Rx second one. Then, patch 4 adds support for running
xskxceiver on physical devices.

Patch 6 finally adds new TEST_MODE_ZC for testing zero copy AF_XDP
driver support.

This work already allowed us to spot and fix two bugs in AF_XDP kernel
side ([0], [1]).

v1 is here [2].
v2 is here [3].
v3 is here [4].
v4 is here [5].
v5 is not worth including in here.

[0]: https://lore.kernel.org/bpf/20220425153745.481322-1-maciej.fijalkowski@intel.com/
[1]: https://lore.kernel.org/bpf/20220607142200.576735-1-maciej.fijalkowski@intel.com/
[2]: https://lore.kernel.org/bpf/20220610150923.583202-1-maciej.fijalkowski@intel.com/
[3]: https://lore.kernel.org/bpf/20220614174749.901044-1-maciej.fijalkowski@intel.com/
[4]: https://lore.kernel.org/bpf/20220615161041.902916-1-maciej.fijalkowski@intel.com/
[5]: https://lore.kernel.org/bpf/20220616180609.905015-1-maciej.fijalkowski@intel.com/

Thank you.

Maciej Fijalkowski (6):
  selftests: xsk: query for native XDP support
  selftests: xsk: introduce default Rx pkt stream
  selftests: xsk: increase chars for interface name to 16
  selftests: xsk: add support for executing tests on physical device
  selftests: xsk: make sure single threaded test terminates
  selftests: xsk: add support for zero copy testing

 tools/testing/selftests/bpf/test_xsk.sh  |  52 ++-
 tools/testing/selftests/bpf/xskxceiver.c | 398 +++++++++++++++++------
 tools/testing/selftests/bpf/xskxceiver.h |  11 +-
 3 files changed, 340 insertions(+), 121 deletions(-)

Comments

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

This series was applied to bpf/bpf-next.git (master)
by Daniel Borkmann <daniel@iogearbox.net>:

On Thu,  1 Sep 2022 13:48:07 +0200 you wrote:
> v5->v6:
> * rebase properly
> * collect acks (Magnus)
> * extend char limit for iface/netns to 16 (Magnus)
> 
> v4->v5:
> * ice patches have gone through its own way, so they are out of this
>   revision
> * rebase
> * close prog fd on error path in patch 1 (John)
> * pull out patch for closing netns fd and send it separately (John)
> * remove a patch that made Tx completion rely on pkts_in_flight (John)
> 
> [...]

Here is the summary with links:
  - [v6,bpf-next,1/6] selftests: xsk: query for native XDP support
    https://git.kernel.org/bpf/bpf-next/c/0d68e6fe12ad
  - [v6,bpf-next,2/6] selftests: xsk: introduce default Rx pkt stream
    https://git.kernel.org/bpf/bpf-next/c/1adef0643b7d
  - [v6,bpf-next,3/6] selftests: xsk: increase chars for interface name to 16
    https://git.kernel.org/bpf/bpf-next/c/24037ba7c47b
  - [v6,bpf-next,4/6] selftests: xsk: add support for executing tests on physical device
    https://git.kernel.org/bpf/bpf-next/c/a693ff3ed561
  - [v6,bpf-next,5/6] selftests: xsk: make sure single threaded test terminates
    https://git.kernel.org/bpf/bpf-next/c/c29fe883defc
  - [v6,bpf-next,6/6] selftests: xsk: add support for zero copy testing
    https://git.kernel.org/bpf/bpf-next/c/fe2ad08e1e1d

You are awesome, thank you!