Re: [PATCH bpf-next 04/10] selftests/bpf: test_tunnel: Move ip6gre tunnel test to test_progs

From: Stanislav Fomichev
Date: Thu Feb 27 2025 - 17:19:10 EST


On 02/27, Bastien Curutchet (eBPF Foundation) wrote:
> ip6gre tunnels are tested in the test_tunnel.sh but not in the test_progs
> framework.
>
> Add a new test in test_progs to test ip6gre tunnels. It uses the same
> network topology and the same BPF programs than the script. Disable the
> IPv6 DAD feature because it can take lot of time and cause some tests to
> fail depending on the environment they're run on.
> Remove test_ip6gre() and test_ip6gretap() from the script.
>
> Signed-off-by: Bastien Curutchet (eBPF Foundation) <bastien.curutchet@xxxxxxxxxxx>
> ---
> .../testing/selftests/bpf/prog_tests/test_tunnel.c | 110 +++++++++++++++++++++
> tools/testing/selftests/bpf/test_tunnel.sh | 95 ------------------
> 2 files changed, 110 insertions(+), 95 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/test_tunnel.c b/tools/testing/selftests/bpf/prog_tests/test_tunnel.c
> index bd1410b90b94773ba9bc1fa378bb7139f8d4670a..f00727aedee0c283002c55a45a04a96013d39a5d 100644
> --- a/tools/testing/selftests/bpf/prog_tests/test_tunnel.c
> +++ b/tools/testing/selftests/bpf/prog_tests/test_tunnel.c
> @@ -71,6 +71,8 @@
> #define IP4_ADDR2_VETH1 "172.16.1.20"
> #define IP4_ADDR_TUNL_DEV0 "10.1.1.100"
> #define IP4_ADDR_TUNL_DEV1 "10.1.1.200"
> +#define IP6_ADDR_TUNL_DEV0 "fc80::100"
> +#define IP6_ADDR_TUNL_DEV1 "fc80::200"
>
> #define IP6_ADDR_VETH0 "::11"
> #define IP6_ADDR1_VETH1 "::22"
> @@ -101,11 +103,21 @@
> #define GRE_TUNL_DEV0 "gre00"
> #define GRE_TUNL_DEV1 "gre11"
>
> +#define IP6GRE_TUNL_DEV0 "ip6gre00"
> +#define IP6GRE_TUNL_DEV1 "ip6gre11"
> +
> #define PING_ARGS "-i 0.01 -c 3 -w 10 -q"
>
> static int config_device(void)
> {
> SYS(fail, "ip netns add at_ns0");

[..]

> + /* disable IPv6 DAD because it might take too long and fail tests */
> + SYS(fail, "ip netns exec at_ns0 sysctl -wq net.ipv6.conf.default.accept_dad=0");
> + SYS(fail, "ip netns exec at_ns0 sysctl -wq net.ipv6.conf.all.accept_dad=0");
> + SYS(fail, "sysctl -wq net.ipv6.conf.default.accept_dad=0");
> + SYS(fail, "sysctl -wq net.ipv6.conf.all.accept_dad=0");

`ip addr add ... nodad` should be a less invasive alternative?