From: Bobby Eshleman <bobbyeshleman@gmail.com>
To: David Wei <dw@davidwei.uk>
Cc: netdev@vger.kernel.org, Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Joe Damato <joe@dama.to>, Wei Wang <weibunny@meta.com>,
Stanislav Fomichev <sdf@fomichev.me>,
Nikolay Aleksandrov <razor@blackwall.org>
Subject: Re: [PATCH net-next 4/4] selftests/net: Add netkit container ping test
Date: Wed, 11 Feb 2026 09:53:08 -0800 [thread overview]
Message-ID: <aYzCBIACSmC0l+oA@devvm11784.nha0.facebook.com> (raw)
In-Reply-To: <20260210200419.3555944-5-dw@davidwei.uk>
On Tue, Feb 10, 2026 at 12:04:19PM -0800, David Wei wrote:
> Add a basic ping test using NetDrvContEnv that sets up a netkit pair,
> with one end in a netns. Use LOCAL_PREFIX_V6 and nk_forward BPF program
> to ping from a remote host to the netkit in netns.
>
> Signed-off-by: David Wei <dw@davidwei.uk>
> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
> ---
> .../testing/selftests/drivers/net/hw/Makefile | 1 +
> tools/testing/selftests/drivers/net/hw/config | 3 +++
> .../selftests/drivers/net/hw/nk_netns.py | 23 +++++++++++++++++++
> 3 files changed, 27 insertions(+)
> create mode 100755 tools/testing/selftests/drivers/net/hw/nk_netns.py
>
> diff --git a/tools/testing/selftests/drivers/net/hw/Makefile b/tools/testing/selftests/drivers/net/hw/Makefile
> index a64140333a46..91df028abfc0 100644
> --- a/tools/testing/selftests/drivers/net/hw/Makefile
> +++ b/tools/testing/selftests/drivers/net/hw/Makefile
> @@ -32,6 +32,7 @@ TEST_PROGS = \
> irq.py \
> loopback.sh \
> nic_timestamp.py \
> + nk_netns.py \
> pp_alloc_fail.py \
> rss_api.py \
> rss_ctx.py \
> diff --git a/tools/testing/selftests/drivers/net/hw/config b/tools/testing/selftests/drivers/net/hw/config
> index 2307aa001be1..b6524040418e 100644
> --- a/tools/testing/selftests/drivers/net/hw/config
> +++ b/tools/testing/selftests/drivers/net/hw/config
> @@ -1,3 +1,4 @@
> +CONFIG_BPF_SYSCALL=y
> CONFIG_FAIL_FUNCTION=y
> CONFIG_FAULT_INJECTION=y
> CONFIG_FAULT_INJECTION_DEBUG_FS=y
> @@ -5,6 +6,8 @@ CONFIG_FUNCTION_ERROR_INJECTION=y
> CONFIG_IO_URING=y
> CONFIG_IPV6=y
> CONFIG_IPV6_GRE=y
> +CONFIG_NETKIT=y
> +CONFIG_NET_CLS_BPF=y
> CONFIG_NET_IPGRE=y
> CONFIG_NET_IPGRE_DEMUX=y
> CONFIG_UDMABUF=y
I did find CONFIG_NET_SCH_INGRESS=y being needed for the qdisc too,
sorry for missing that last rev.
> diff --git a/tools/testing/selftests/drivers/net/hw/nk_netns.py b/tools/testing/selftests/drivers/net/hw/nk_netns.py
> new file mode 100755
> index 000000000000..afa8638195d8
> --- /dev/null
> +++ b/tools/testing/selftests/drivers/net/hw/nk_netns.py
> @@ -0,0 +1,23 @@
> +#!/usr/bin/env python3
> +# SPDX-License-Identifier: GPL-2.0
> +
> +from lib.py import ksft_run, ksft_exit
> +from lib.py import NetDrvContEnv
> +from lib.py import cmd
> +
> +
> +def test_ping(cfg) -> None:
> + cfg.require_ipver("6")
> +
> + cmd(f"ping -c 1 -W5 {cfg.nk_guest_ipv6}", host=cfg.remote)
> + cmd(f"ping -c 1 -W5 {cfg.remote_addr_v['6']}", ns=cfg.netns)
> +
> +
> +def main() -> None:
> + with NetDrvContEnv(__file__) as cfg:
> + ksft_run([test_ping], args=(cfg,))
> + ksft_exit()
> +
> +
> +if __name__ == "__main__":
> + main()
> --
> 2.47.3
>
I had some issues getting this to work until I enabled IPv6 forwarding.
I wasn't able to tell if this was only required because of my particular
REMOTE_TYPE=netns setup, or if it is something that is required by this
test specifically?
I'm also running this directly, but maybe this is done prior in
kselftest?
Best,
Bobby
prev parent reply other threads:[~2026-02-11 17:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-10 20:04 [PATCH net-next 0/4] selftests/net: add netkit container env and test David Wei
2026-02-10 20:04 ` [PATCH net-next 1/4] selftests/net: Add bpf skb forwarding program David Wei
2026-02-10 20:04 ` [PATCH net-next 2/4] selftests/net: Export Netlink class via lib.py David Wei
2026-02-11 16:12 ` Bobby Eshleman
2026-02-10 20:04 ` [PATCH net-next 3/4] selftests/net: Add env for container based tests David Wei
2026-02-11 17:43 ` Bobby Eshleman
2026-02-10 20:04 ` [PATCH net-next 4/4] selftests/net: Add netkit container ping test David Wei
2026-02-11 17:53 ` Bobby Eshleman [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aYzCBIACSmC0l+oA@devvm11784.nha0.facebook.com \
--to=bobbyeshleman@gmail.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=dw@davidwei.uk \
--cc=edumazet@google.com \
--cc=joe@dama.to \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=razor@blackwall.org \
--cc=sdf@fomichev.me \
--cc=weibunny@meta.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox