Message ID | 20240214092128.3041109-1-liuhangbin@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 31f26e4fec1fd9fd51efab0aee6b6c370b5e27e7 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] selftests: bonding: make sure new active is not null | expand |
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!
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"
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(-)