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]> > >

