On Wed, Oct 6, 2021 at 11:56 AM Yucong Sun <fallentree@xxxxxx> wrote: > > From: Yucong Sun <sunyucong@xxxxxxxxx> > > This patch delete ns_src/ns_dst/ns_redir namespaces before recreating > them, making the test more robust. > > Signed-off-by: Yucong Sun <sunyucong@xxxxxxxxx> > --- > .../testing/selftests/bpf/prog_tests/tc_redirect.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/tools/testing/selftests/bpf/prog_tests/tc_redirect.c b/tools/testing/selftests/bpf/prog_tests/tc_redirect.c > index e87bc4466d9a..25744136e131 100644 > --- a/tools/testing/selftests/bpf/prog_tests/tc_redirect.c > +++ b/tools/testing/selftests/bpf/prog_tests/tc_redirect.c > @@ -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", verb, *ns); > + system(cmd); is this what's causing Cannot remove namespace file "/var/run/netns/ns_src": No such file or directory Cannot remove namespace file "/var/run/netns/ns_fwd": No such file or directory Cannot remove namespace file "/var/run/netns/ns_dst": No such file or directory ? I haven't applied it yet, let's see if there is a way to avoid unnecessary "warnings". > + ns++; > + } > +} > + > struct netns_setup_result { > int ifindex_veth_src_fwd; > int ifindex_veth_dst_fwd; > @@ -762,6 +774,8 @@ static void test_tc_redirect_peer_l3(struct netns_setup_result *setup_result) > > 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); > -- > 2.30.2 >