|
|
Log in / Subscribe / Register

selftests/net: add netkit netns ping test

From:  David Wei <dw-AT-davidwei.uk>
To:  netdev-AT-vger.kernel.org
Subject:  [PATCH net-next v1 0/7] selftests/net: add netkit netns ping test
Date:  Wed, 19 Nov 2025 19:30:09 -0800
Message-ID:  <20251120033016.3809474-1-dw@davidwei.uk>
Cc:  Andrew Lunn <andrew+netdev-AT-lunn.ch>, "David S. Miller" <davem-AT-davemloft.net>, Eric Dumazet <edumazet-AT-google.com>, Jakub Kicinski <kuba-AT-kernel.org>, Paolo Abeni <pabeni-AT-redhat.com>, Daniel Borkmann <daniel-AT-iogearbox.net>
Archive-link:  Article

This patchset is mostly prep work for adding a data path test for netkit
bind queue API used by iou zcrx and AF_XDP.

Using memory providers requires carving out queues, setting up flow
steering, enabling some features. Add a new MemPrvEnv, similar to the
existing NetDrvEnv, that automates the setup of the NETIF under test.
Refactor the existing iou-zcrx.py test to use this.

net_iovs cannot be forwarded through the core, and so bpf is needed to
forward skbs from NETIF to the netns netkit. Add a basic configurable
bpf prog and associated loader that does this.

For a remote to talk to the netns netkit, it needs a publicly routable
IP. Add a new env var LOCAL_PREFIX_V{4,6} that defines such a prefix.

Finally, add a basic ping test that brings everything together.

David Wei (7):
  selftests/net: add suffix to ksft_run
  selftests/net: add MemPrvEnv env
  selftests/net: modify iou-zcrx.py to use MemPrvEnv
  selftests/net: add rand_ifname() helper
  selftests/net: add bpf skb forwarding program
  selftests/net: add LOCAL_PREFIX_V{4,6} env to HW selftests
  selftests/net: add a netkit netns ping test

 .../testing/selftests/drivers/net/README.rst  |   6 +
 .../selftests/drivers/net/hw/.gitignore       |   3 +
 .../testing/selftests/drivers/net/hw/Makefile |  10 +-
 .../selftests/drivers/net/hw/iou-zcrx.py      | 131 +++---------------
 .../drivers/net/hw/lib/py/__init__.py         |  10 +-
 .../selftests/drivers/net/hw/nk_forward.bpf.c |  49 +++++++
 .../selftests/drivers/net/hw/nk_forward.c     | 102 ++++++++++++++
 .../selftests/drivers/net/hw/nk_netns.py      |  89 ++++++++++++
 .../selftests/drivers/net/lib/py/__init__.py  |   9 +-
 .../selftests/drivers/net/lib/py/env.py       |  72 +++++++++-
 .../testing/selftests/net/lib/py/__init__.py  |   5 +-
 tools/testing/selftests/net/lib/py/ksft.py    |   8 +-
 tools/testing/selftests/net/lib/py/utils.py   |   7 +
 13 files changed, 370 insertions(+), 131 deletions(-)
 create mode 100644 tools/testing/selftests/drivers/net/hw/nk_forward.bpf.c
 create mode 100644 tools/testing/selftests/drivers/net/hw/nk_forward.c
 create mode 100755 tools/testing/selftests/drivers/net/hw/nk_netns.py

-- 
2.47.3




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds