[LTP] [RFC] [PATCH] netns: Fix race in virtual interface bringup

Nicolas Dichtel nicolas.dichtel@6wind.com
Thu Nov 16 10:56:20 CET 2017


Le 15/11/2017 à 20:04, Dan Rue a écrit :
> Adding CC netdev
> 
> Can someone comment on the expected behavior of this test case?
> 
> Here's the isolated test:
> 
>     ip netns del tst_net_ns0
>     ip netns del tst_net_ns1
>     ip netns add tst_net_ns0
>     ip netns add tst_net_ns1
>     ip netns exec tst_net_ns0 ip link add veth0 type veth peer name veth1
>     ip netns exec tst_net_ns0 ip link set veth1 netns tst_net_ns1
> 
>     ip netns exec tst_net_ns0 ifconfig veth0 inet6 add fd00::2/64
>     ip netns exec tst_net_ns1 ifconfig veth1 inet6 add fd00::3/64
ip netns exec tst_net_ns0 sysctl -w net.ipv6.conf.all.accept_dad=0
ip netns exec tst_net_ns0 sysctl -w net.ipv6.conf.veth0.accept_dad=0
ip netns exec tst_net_ns1 sysctl -w net.ipv6.conf.all.accept_dad=0
ip netns exec tst_net_ns1 sysctl -w net.ipv6.conf.veth1.accept_dad=0

>     ip netns exec tst_net_ns0 ifconfig veth0 up
>     ip netns exec tst_net_ns1 ifconfig veth1 up
> 
>     #sleep 2>
>     ip netns exec tst_net_ns0 ping6 -q -c2 -I veth0 fd00::3
> 
> This is essentially what LTP is running. Sometimes, on some systems,
> ping6 fails with "connect: Cannot assign requested address". Adding a
> "sleep 2" always fixes it (but we'd obviously like to avoid a hard coded
> sleep in the test).
Probably due to DAD. By disabling DAD, you should be able to use immediately the
ipv6 addrs.


Regards,
Nicolas


More information about the ltp mailing list