[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <DDM60XIK0NUQ.S2QMK9E7HQ2U@bootlin.com>
Date: Sun, 19 Oct 2025 10:45:28 +0200
From: Alexis Lothoré <alexis.lothore@...tlin.com>
To: "Martin KaFai Lau" <martin.lau@...ux.dev>,
Alexis Lothoré (eBPF Foundation)
<alexis.lothore@...tlin.com>
Cc: "Alexei Starovoitov" <ast@...nel.org>, "Daniel Borkmann"
<daniel@...earbox.net>, "Andrii Nakryiko" <andrii@...nel.org>, "Eduard
Zingerman" <eddyz87@...il.com>, "Song Liu" <song@...nel.org>, "Yonghong
Song" <yonghong.song@...ux.dev>, "John Fastabend"
<john.fastabend@...il.com>, "KP Singh" <kpsingh@...nel.org>, "Stanislav
Fomichev" <sdf@...ichev.me>, "Hao Luo" <haoluo@...gle.com>, "Jiri Olsa"
<jolsa@...nel.org>, "Shuah Khan" <shuah@...nel.org>,
<ebpf@...uxfoundation.org>, "Thomas Petazzoni"
<thomas.petazzoni@...tlin.com>, "Bastien Curutchet"
<bastien.curutchet@...tlin.com>, <bpf@...r.kernel.org>,
<linux-kselftest@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH bpf-next 4/5] selftests/bpf: integrate test_tc_tunnel.sh
tests into test_progs
Hello Martin,
On Sat Oct 18, 2025 at 2:18 AM CEST, Martin KaFai Lau wrote:
> On 10/17/25 7:29 AM, Alexis Lothoré (eBPF Foundation) wrote:
>> The test_tc_tunnel.sh script checks that a large variety of tunneling
>> mechanisms handled by the kernel can be handled as well by eBPF
>> programs. While this test shares similarities with test_tunnel.c (which
>> is already integrated in test_progs), those are testing slightly
>> different things:
>> - test_tunnel.c creates a tunnel interface, and then get and set tunnel
>> keys in packet metadata, from BPF programs.
>> - test_tc_tunnels.sh manually parses/crafts packets content
>>
>> Bring the tests covered by test_tc_tunnel.sh into the test_progs
>> framework, by creating a dedicated test_tc_tunnel.sh. This new test
>> defines a "generic" runner which, for each test configuration:
>> - will bring the relevant veth pair, each of those isolated in a
>> dedicated namespace
>> - will check that traffic will fail if there is only an encapsulating
>> program attached to one veth egress
>> - will check that traffic succeed if we enable some decapsulation module
>> on kernel side
>> - will check that traffic still succeeds if we replace the kernel
>> decapsulation with some eBPF ingress decapsulation.
>>
>> Example of the new test execution:
>>
>> # ./test_progs -a tc_tunnel
>> #447/1 tc_tunnel/ipip_none:OK
>> #447/2 tc_tunnel/ipip6_none:OK
>> #447/3 tc_tunnel/ip6tnl_none:OK
>> #447/4 tc_tunnel/sit_none:OK
>> #447/5 tc_tunnel/vxlan_eth:OK
>> #447/6 tc_tunnel/ip6vxlan_eth:OK
>> #447/7 tc_tunnel/gre_none:OK
>> #447/8 tc_tunnel/gre_eth:OK
>> #447/9 tc_tunnel/gre_mpls:OK
>> #447/10 tc_tunnel/ip6gre_none:OK
>> #447/11 tc_tunnel/ip6gre_eth:OK
>> #447/12 tc_tunnel/ip6gre_mpls:OK
>> #447/13 tc_tunnel/udp_none:OK
>> #447/14 tc_tunnel/udp_eth:OK
>> #447/15 tc_tunnel/udp_mpls:OK
>> #447/16 tc_tunnel/ip6udp_none:OK
>> #447/17 tc_tunnel/ip6udp_eth:OK
>> #447/18 tc_tunnel/ip6udp_mpls:OK
>> #447 tc_tunnel:OK
>> Summary: 1/18 PASSED, 0 SKIPPED, 0 FAILED
>
> Thanks for working on this!
Thanks for the prompt and detailed review !
>
> One high level comment is to minimize switching netns to make the test
> easier to follow.
Yeah, all the NS switches make the overall setup a bit tedious. I'll give a
try to your suggestions and see if we can reduce the number of NS
open/close pairs.
Alexis
--
Alexis Lothoré, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Powered by blists - more mailing lists