On Thu, Nov 16, 2017 at 3:56 AM, Nicolas Dichtel <nicolas.dich...@6wind.com> wrote: > 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.
Oh, that does work! I was trying to disable dad using 'echo 0 > /proc/sys/net/ipv6/conf/veth0/accept_dad' and I guess it was not sufficient. Using your example, it did work. Thanks! I will submit this patch. Dan