netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next] selftests: bonding: make sure new active is not null
@ 2024-02-14  9:21 Hangbin Liu
  2024-02-16  8:10 ` patchwork-bot+netdevbpf
  0 siblings, 1 reply; 2+ messages in thread
From: Hangbin Liu @ 2024-02-14  9:21 UTC (permalink / raw)
  To: netdev
  Cc: Jay Vosburgh, David S . Miller, Jakub Kicinski, Paolo Abeni,
	Eric Dumazet, Liang Li, Hangbin Liu

One of Jakub's tests[1] shows that there may be period all ports
are down and no active slave. This makes the new_active_slave null
and the test fails. Add a check to make sure the new active is not null.

 [  189.051966] br0: port 2(s1) entered disabled state
 [  189.317881] bond0: (slave eth1): link status definitely down, disabling slave
 [  189.318487] bond0: (slave eth2): making interface the new active one
 [  190.435430] br0: port 4(s2) entered disabled state
 [  190.773786] bond0: (slave eth0): link status definitely down, disabling slave
 [  190.774204] bond0: (slave eth2): link status definitely down, disabling slave
 [  190.774715] bond0: now running without any active interface!
 [  190.877760] bond0: (slave eth0): link status definitely up
 [  190.878098] bond0: (slave eth0): making interface the new active one
 [  190.878495] bond0: active interface up!
 [  191.802872] br0: port 4(s2) entered blocking state
 [  191.803157] br0: port 4(s2) entered forwarding state
 [  191.813756] bond0: (slave eth2): link status definitely up
 [  192.847095] br0: port 2(s1) entered blocking state
 [  192.847396] br0: port 2(s1) entered forwarding state
 [  192.853740] bond0: (slave eth1): link status definitely up
 # TEST: prio (active-backup ns_ip6_target primary_reselect 1)         [FAIL]
 # Current active slave is null but not eth0

[1] https://netdev-3.bots.linux.dev/vmksft-bonding/results/464481/1-bond-options-sh/stdout

Fixes: 45bf79bc56c4 ("selftests: bonding: reduce garp_test/arp_validate test time")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
---
 tools/testing/selftests/drivers/net/bonding/bond_options.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/drivers/net/bonding/bond_options.sh b/tools/testing/selftests/drivers/net/bonding/bond_options.sh
index 6fd0cff3e1e9..644ea5769e81 100755
--- a/tools/testing/selftests/drivers/net/bonding/bond_options.sh
+++ b/tools/testing/selftests/drivers/net/bonding/bond_options.sh
@@ -50,13 +50,13 @@ active_slave_changed()
 	local old_active_slave=$1
 	local new_active_slave=$(cmd_jq "ip -n ${s_ns} -d -j link show bond0" \
 				".[].linkinfo.info_data.active_slave")
-	test "$old_active_slave" != "$new_active_slave"
+	[ "$new_active_slave" != "$old_active_slave" -a "$new_active_slave" != "null" ]
 }
 
 check_active_slave()
 {
 	local target_active_slave=$1
-	slowwait 2 active_slave_changed $active_slave
+	slowwait 5 active_slave_changed $active_slave
 	active_slave=$(cmd_jq "ip -n ${s_ns} -d -j link show bond0" ".[].linkinfo.info_data.active_slave")
 	test "$active_slave" = "$target_active_slave"
 	check_err $? "Current active slave is $active_slave but not $target_active_slave"
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH net-next] selftests: bonding: make sure new active is not null
  2024-02-14  9:21 [PATCH net-next] selftests: bonding: make sure new active is not null Hangbin Liu
@ 2024-02-16  8:10 ` patchwork-bot+netdevbpf
  0 siblings, 0 replies; 2+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-02-16  8:10 UTC (permalink / raw)
  To: Hangbin Liu; +Cc: netdev, j.vosburgh, davem, kuba, pabeni, edumazet, liali

Hello:

This patch was applied to netdev/net-next.git (main)
by David S. Miller <davem@davemloft.net>:

On Wed, 14 Feb 2024 17:21:28 +0800 you wrote:
> One of Jakub's tests[1] shows that there may be period all ports
> are down and no active slave. This makes the new_active_slave null
> and the test fails. Add a check to make sure the new active is not null.
> 
>  [  189.051966] br0: port 2(s1) entered disabled state
>  [  189.317881] bond0: (slave eth1): link status definitely down, disabling slave
>  [  189.318487] bond0: (slave eth2): making interface the new active one
>  [  190.435430] br0: port 4(s2) entered disabled state
>  [  190.773786] bond0: (slave eth0): link status definitely down, disabling slave
>  [  190.774204] bond0: (slave eth2): link status definitely down, disabling slave
>  [  190.774715] bond0: now running without any active interface!
>  [  190.877760] bond0: (slave eth0): link status definitely up
>  [  190.878098] bond0: (slave eth0): making interface the new active one
>  [  190.878495] bond0: active interface up!
>  [  191.802872] br0: port 4(s2) entered blocking state
>  [  191.803157] br0: port 4(s2) entered forwarding state
>  [  191.813756] bond0: (slave eth2): link status definitely up
>  [  192.847095] br0: port 2(s1) entered blocking state
>  [  192.847396] br0: port 2(s1) entered forwarding state
>  [  192.853740] bond0: (slave eth1): link status definitely up
>  # TEST: prio (active-backup ns_ip6_target primary_reselect 1)         [FAIL]
>  # Current active slave is null but not eth0
> 
> [...]

Here is the summary with links:
  - [net-next] selftests: bonding: make sure new active is not null
    https://git.kernel.org/netdev/net-next/c/31f26e4fec1f

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-02-16  8:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-14  9:21 [PATCH net-next] selftests: bonding: make sure new active is not null Hangbin Liu
2024-02-16  8:10 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).