On Fri, Apr 03, 2026 at 09:52:06AM +0200, Alexis Lothoré (eBPF Foundation) 
wrote:
> tc_tunnel test is based on a send_and_test_data function which takes a
> subtest configuration, and a boolean indicating whether the connection
> is supposed to fail or not. This boolean is systematically passed to
> true, and is a remnant from the first (not integrated) attempts to
> convert tc_tunnel to test_progs: those versions validated for
> example that a connection properly fails when only one side of the
> connection has tunneling enabled. This specific testing has not been
> integrated because it involved large timeouts which increased quite a
> lot the test duration, for little added value.
> 
> Remove the unused boolean from send_and_test_data to simplify the
> generic part of subtests.
> 
> Signed-off-by: Alexis LothorĂ© (eBPF Foundation) <[email protected]>

For reference, the discussion on the non-integrated version was at
https://lore.kernel.org/all/[email protected]/.
Seems like a good bit of cleanup :)

Acked-by: Paul Chaignon <[email protected]>

> ---
>  tools/testing/selftests/bpf/prog_tests/test_tc_tunnel.c | 15 +++++----------
>  1 file changed, 5 insertions(+), 10 deletions(-)
> 
> diff --git a/tools/testing/selftests/bpf/prog_tests/test_tc_tunnel.c 
> b/tools/testing/selftests/bpf/prog_tests/test_tc_tunnel.c
> index 23b5c522ea9f..1aa7c9463980 100644
> --- a/tools/testing/selftests/bpf/prog_tests/test_tc_tunnel.c
> +++ b/tools/testing/selftests/bpf/prog_tests/test_tc_tunnel.c
> @@ -206,18 +206,13 @@ static void disconnect_client_from_server(struct 
> subtest_cfg *cfg,
>       free(conn);
>  }
>  
> -static int send_and_test_data(struct subtest_cfg *cfg, bool must_succeed)
> +static int send_and_test_data(struct subtest_cfg *cfg)
>  {
>       struct connection *conn;
>       int err, res = -1;
>  
>       conn = connect_client_to_server(cfg);
> -     if (!must_succeed && !ASSERT_ERR_PTR(conn, "connection that must fail"))
> -             goto end;
> -     else if (!must_succeed)
> -             return 0;
> -
> -     if (!ASSERT_OK_PTR(conn, "connection that must succeed"))
> +     if (!ASSERT_OK_PTR(conn, "connect to server"))
>               return -1;
>  
>       err = send(conn->client_fd, tx_buffer, DEFAULT_TEST_DATA_SIZE, 0);
> @@ -391,7 +386,7 @@ static void run_test(struct subtest_cfg *cfg)
>               goto fail;
>  
>       /* Basic communication must work */
> -     if (!ASSERT_OK(send_and_test_data(cfg, true), "connect without any 
> encap"))
> +     if (!ASSERT_OK(send_and_test_data(cfg), "connect without any encap"))
>               goto fail;
>  
>       /* Attach encapsulation program to client */
> @@ -403,7 +398,7 @@ static void run_test(struct subtest_cfg *cfg)
>               if (!ASSERT_OK(configure_kernel_decapsulation(cfg),
>                                       "configure kernel decapsulation"))
>                       goto fail;
> -             if (!ASSERT_OK(send_and_test_data(cfg, true),
> +             if (!ASSERT_OK(send_and_test_data(cfg),
>                              "connect with encap prog and kern decap"))
>                       goto fail;
>       }
> @@ -411,7 +406,7 @@ static void run_test(struct subtest_cfg *cfg)
>       /* Replace kernel decapsulation with BPF decapsulation, test must pass 
> */
>       if (!ASSERT_OK(configure_ebpf_decapsulation(cfg), "configure ebpf 
> decapsulation"))
>               goto fail;
> -     ASSERT_OK(send_and_test_data(cfg, true), "connect with encap and decap 
> progs");
> +     ASSERT_OK(send_and_test_data(cfg), "connect with encap and decap 
> progs");
>  
>  fail:
>       close_netns(nstoken);
> 
> ---
> base-commit: 9ebb4fa90266705741534924eac62d6f03895fea
> change-id: 20260403-tc_tunnel_cleanup-bf03af4f8c7c
> 
> Best regards,
> --  
> Alexis LothorĂ© (eBPF Foundation) <[email protected]>
> 
> 

Reply via email to