Re: [PATCH bpf-next] selftests/bpf: Fix flaky selftest lwt_redirect/lwt_reroute

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux