On Sun, 2024-02-04 at 21:29 -0800, Yonghong Song wrote: > Recently, when running './test_progs -j', I occasionally hit the > following errors: > > test_lwt_redirect:PASS:pthread_create 0 nsec > test_lwt_redirect_run:FAIL:netns_create unexpected error: 256 (errno 0) > #142/2 lwt_redirect/lwt_redirect_normal_nomac:FAIL > #142 lwt_redirect:FAIL > test_lwt_reroute:PASS:pthread_create 0 nsec > test_lwt_reroute_run:FAIL:netns_create unexpected error: 256 (errno 0) > test_lwt_reroute:PASS:pthread_join 0 nsec > #143/2 lwt_reroute/lwt_reroute_qdisc_dropped:FAIL > #143 lwt_reroute:FAIL > > The netns_create() definition looks like below: > > #define NETNS "ns_lwt" > static inline int netns_create(void) > { > return system("ip netns add " NETNS); > } > > One possibility is that both lwt_redirect and lwt_reroute create > netns with the same name "ns_lwt" which may cause conflict. I tried > the following example: > $ sudo ip netns add abc > $ echo $? > 0 > $ sudo ip netns add abc > Cannot create namespace file "/var/run/netns/abc": File exists > $ echo $? > 1 > $ > > The return code for above netns_create() is 256. The internet search > suggests that the return value for 'ip netns add ns_lwt' is 1, which > matches the above 'sudo ip netns add abc' example. > > This patch tried to use different netns names for two tests to avoid > 'ip netns add <name>' failure. > > I ran './test_progs -j' 10 times and all succeeded with > lwt_redirect/lwt_reroute tests. > > Signed-off-by: Yonghong Song <yonghong.song@xxxxxxxxx> > --- Tested-by: Eduard Zingerman <eddyz87@xxxxxxxxx> Can confirm, w/o this patch tests reliably step on each others toes when using command: ./test_progs -j -a "lwt_*" This patch resolves the issue.