public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v3 0/4] selftests/net: add netkit container env and test
@ 2026-03-05 18:17 David Wei
  2026-03-05 18:18 ` [PATCH net-next v3 1/4] selftests/net: Add bpf skb forwarding program David Wei
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: David Wei @ 2026-03-05 18:17 UTC (permalink / raw)
  To: netdev
  Cc: Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Joe Damato, Wei Wang, Bobby Eshleman,
	Stanislav Fomichev, Nikolay Aleksandrov

Add a new Python selftest env NetDrvContEnv that sets up a pair of
netkit netdevs, with one inside of a netns, and a bpf prog that forwards
skbs from NETIF to the netkit inside the netns.

  NETIF           = "eth0"
  LOCAL_V6        = "2001:db8:1::1"
  REMOTE_V6       = "2001:db8:1::2"
  LOCAL_PREFIX_V6 = "2001:db8:2::0/64"

          +-----------------------------+        +------------------------------+
  dst     | INIT NS                     |        | TEST NS                      |
  2001:   | +---------------+           |        |                              |
  db8:2::2| | NETIF         |           |  bpf   |                              |
      +---|>| 2001:db8:1::1 |           |redirect| +-------------------------+  |
      |   | |               |-----------|--------|>| Netkit                  |  |
      |   | +---------------+           | _peer  | | nk_guest                |  |
      |   | +-------------+ Netkit pair |        | | fe80::2/64              |  |
      |   | | Netkit      |.............|........|>| 2001:db8:2::2/64        |  |
      |   | | nk_host     |             |        | +-------------------------+  |
      |   | | fe80::1/64  |             |        |                              |
      |   | +-------------+             |        | route:                       |
      |   |                             |        |   default                    |
      |   | route:                      |        |     via fe80::1 dev nk_guest |
      |   |   2001:db8:2::2/128         |        +------------------------------+
      |   |     via fe80::2 dev nk_host |
      |   +-----------------------------+
      |
      |   +---------------+
      |   | REMOTE        |
      +---| 2001:db8:1::2 |
          +---------------+

I will use this series for queue leasing selftests. Include a basic ping
test in this series as demonstration.

v3:
 - add __all__ in ynl.py to declare its API
 - update diagram to only use documentation addresses
 - don't try to parse invalid prefix addrs w/o prefix len
 - make pylint happier

v2:
 - remove LOCAL_PREFIX_V4 in docs
 - mention in docs that LOCAL_PREFIX_V6 must not match LOCAL_V6
 - skip test if LOCAL_PREFIX_V6 matches LOCAL_V6
 - move NetDrvContEnv class vars above parent ctor
 - improve ASCII diagram to show remote, route, example addrs
 - use Python ipaddress instead of str manipulations
 - set forwarding/accept_ra

David Wei (4):
  selftests/net: Add bpf skb forwarding program
  selftests/net: Export Netlink class via lib.py
  selftests/net: Add env for container based tests
  selftests/net: Add netkit container ping test

 .../testing/selftests/drivers/net/README.rst  |  38 ++++
 .../testing/selftests/drivers/net/hw/Makefile |   1 +
 tools/testing/selftests/drivers/net/hw/config |   3 +
 .../drivers/net/hw/lib/py/__init__.py         |   7 +-
 .../selftests/drivers/net/hw/nk_forward.bpf.c |  49 +++++
 .../selftests/drivers/net/hw/nk_netns.py      |  23 ++
 .../selftests/drivers/net/lib/py/__init__.py  |  11 +-
 .../selftests/drivers/net/lib/py/env.py       | 207 ++++++++++++++++++
 .../testing/selftests/net/lib/py/__init__.py  |   4 +-
 tools/testing/selftests/net/lib/py/ynl.py     |  10 +-
 10 files changed, 341 insertions(+), 12 deletions(-)
 create mode 100644 tools/testing/selftests/drivers/net/hw/nk_forward.bpf.c
 create mode 100755 tools/testing/selftests/drivers/net/hw/nk_netns.py

-- 
2.47.3


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-03-06 21:20 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-05 18:17 [PATCH net-next v3 0/4] selftests/net: add netkit container env and test David Wei
2026-03-05 18:18 ` [PATCH net-next v3 1/4] selftests/net: Add bpf skb forwarding program David Wei
2026-03-05 18:18 ` [PATCH net-next v3 2/4] selftests/net: Export Netlink class via lib.py David Wei
2026-03-05 18:18 ` [PATCH net-next v3 3/4] selftests/net: Add env for container based tests David Wei
2026-03-05 18:18 ` [PATCH net-next v3 4/4] selftests/net: Add netkit container ping test David Wei
2026-03-06 21:20 ` [PATCH net-next v3 0/4] selftests/net: add netkit container env and test patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox