Re: [PATCH net-next] selftests: bonding: disable DAD for IPv6 addresses

Hangbin Liu <[email protected]>
Newsgroups org.kernel.vger.linux-kselftest,org.kernel.vger.netdev
Message-ID <ankxIiVLu3qY5jw5@fedora>
On Sat, Aug 08, 2026 at 09:23:45AM -0700, Jakub Kicinski wrote:
> bond_reset() waits up to 2 seconds for IPv6 connectivity.
> With default settings DAD itself may take almost 2 seconds,
> causing flakes on debug builds. It used to flake once or
> twice a week, recently it started failing once a day.
> Probably some downstream changes to scheduler, or our machines
> go busier.
> 
> A lot of selftests already use nodad, let's use nodad in bonding, too.
> I don't see an obvious reason why DAD would be important to the test.

In this case, how about add nodad to all IPv6 address setting on bonding
tests, e.g. bond_options.sh, bond_macvlan_ipvlan.sh.

After that, we may event remove the sleep time in bond_macvlan_ipvlan.sh.
In my local testing all the macvlan/ipvlan test passed with nodad set.

Thanks
Hangbin
> 
> Signed-off-by: Jakub Kicinski <[email protected]>
> ---
> CC: [email protected]
> CC: [email protected]
> CC: [email protected]
> CC: [email protected]
> ---
>  .../selftests/drivers/net/bonding/bond_topo_2d1c.sh    | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/tools/testing/selftests/drivers/net/bonding/bond_topo_2d1c.sh b/tools/testing/selftests/drivers/net/bonding/bond_topo_2d1c.sh
> index 167aa4a4a12a..903c7a6c7287 100644
> --- a/tools/testing/selftests/drivers/net/bonding/bond_topo_2d1c.sh
> +++ b/tools/testing/selftests/drivers/net/bonding/bond_topo_2d1c.sh
> @@ -48,7 +48,7 @@ gateway_create()
>  	ip -n ${g_ns} link add br0 type bridge
>  	ip -n ${g_ns} link set br0 up
>  	ip -n ${g_ns} addr add ${g_ip4}/24 dev br0
> -	ip -n ${g_ns} addr add ${g_ip6}/24 dev br0
> +	ip -n ${g_ns} addr add ${g_ip6}/24 dev br0 nodad
>  }
>  
>  gateway_destroy()
> @@ -75,7 +75,7 @@ server_create()
>  
>  	ip -n ${s_ns} link set bond0 up
>  	ip -n ${s_ns} addr add ${s_ip4}/24 dev bond0
> -	ip -n ${s_ns} addr add ${s_ip6}/24 dev bond0
> +	ip -n ${s_ns} addr add ${s_ip6}/24 dev bond0 nodad
>  }
>  
>  # Reset bond with new mode and options
> @@ -97,9 +97,7 @@ bond_reset()
>  
>  	ip -n ${s_ns} link set bond0 up
>  	ip -n ${s_ns} addr add ${s_ip4}/24 dev bond0
> -	ip -n ${s_ns} addr add ${s_ip6}/24 dev bond0
> -	# Wait for IPv6 address ready as it needs DAD
> -	slowwait 2 ip netns exec ${s_ns} ping6 ${c_ip6} -c 1 -W 0.1 &> /dev/null
> +	ip -n ${s_ns} addr add ${s_ip6}/24 dev bond0 nodad
>  }
>  
>  server_destroy()
> @@ -124,7 +122,7 @@ client_create()
>  
>  	ip -n ${c_ns} link set eth0 up
>  	ip -n ${c_ns} addr add ${c_ip4}/24 dev eth0
> -	ip -n ${c_ns} addr add ${c_ip6}/24 dev eth0
> +	ip -n ${c_ns} addr add ${c_ip6}/24 dev eth0 nodad
>  }
>  
>  client_destroy()
> -- 
> 2.55.0
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.