selftests/bpf: Adding a namespace reset for tc_redirect
authorYucong Sun <sunyucong@gmail.com>
Mon, 25 Oct 2021 22:33:45 +0000 (15:33 -0700)
committerAndrii Nakryiko <andrii@kernel.org>
Wed, 27 Oct 2021 18:59:02 +0000 (11:59 -0700)
This patch delete ns_src/ns_dst/ns_redir namespaces before recreating
them, making the test more robust.

Signed-off-by: Yucong Sun <sunyucong@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20211025223345.2136168-5-fallentree@fb.com
tools/testing/selftests/bpf/prog_tests/tc_redirect.c

index 5367263..4b18b73 100644 (file)
@@ -176,6 +176,18 @@ static int netns_setup_namespaces(const char *verb)
        return 0;
 }
 
+static void netns_setup_namespaces_nofail(const char *verb)
+{
+       const char * const *ns = namespaces;
+       char cmd[128];
+
+       while (*ns) {
+               snprintf(cmd, sizeof(cmd), "ip netns %s %s > /dev/null 2>&1", verb, *ns);
+               system(cmd);
+               ns++;
+       }
+}
+
 struct netns_setup_result {
        int ifindex_veth_src_fwd;
        int ifindex_veth_dst_fwd;
@@ -762,6 +774,8 @@ fail:
 
 static void *test_tc_redirect_run_tests(void *arg)
 {
+       netns_setup_namespaces_nofail("delete");
+
        RUN_TEST(tc_redirect_peer);
        RUN_TEST(tc_redirect_peer_l3);
        RUN_TEST(tc_redirect_neigh);