Netdev List
 help / color / mirror / Atom feed
* [PATCH net] selftests: net: bridge: increase IGMP/MLD exclude timeout membership interval
@ 2024-05-13 10:52 Nikolay Aleksandrov
  2024-05-14  0:42 ` Hangbin Liu
  2024-05-15 10:50 ` patchwork-bot+netdevbpf
  0 siblings, 2 replies; 5+ messages in thread
From: Nikolay Aleksandrov @ 2024-05-13 10:52 UTC (permalink / raw)
  To: netdev; +Cc: kuba, roopa, bridge, edumazet, pabeni, Nikolay Aleksandrov

When running the bridge IGMP/MLD selftests on debug kernels we can get
spurious errors when setting up the IGMP/MLD exclude timeout tests
because the membership interval is just 3 seconds and the setup has 2
seconds of sleep plus various validations, the one second that is left
is not enough. Increase the membership interval from 3 to 5 seconds to
make room for the setup validation and 2 seconds of sleep.

Fixes: 34d7ecb3d4f7 ("selftests: net: bridge: update IGMP/MLD membership interval value")
Reported-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Nikolay Aleksandrov <razor@blackwall.org>
---
Could you please validate this fixes the flakes for the netdev CI?
It fixed them for me with the CI's debug kernel config. :)

 tools/testing/selftests/net/forwarding/bridge_igmp.sh | 6 +++---
 tools/testing/selftests/net/forwarding/bridge_mld.sh  | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/tools/testing/selftests/net/forwarding/bridge_igmp.sh b/tools/testing/selftests/net/forwarding/bridge_igmp.sh
index 2aa66d2a1702..e6a3e04fd83f 100755
--- a/tools/testing/selftests/net/forwarding/bridge_igmp.sh
+++ b/tools/testing/selftests/net/forwarding/bridge_igmp.sh
@@ -478,10 +478,10 @@ v3exc_timeout_test()
 	RET=0
 	local X=("192.0.2.20" "192.0.2.30")
 
-	# GMI should be 3 seconds
+	# GMI should be 5 seconds
 	ip link set dev br0 type bridge mcast_query_interval 100 \
 					mcast_query_response_interval 100 \
-					mcast_membership_interval 300
+					mcast_membership_interval 500
 
 	v3exclude_prepare $h1 $ALL_MAC $ALL_GROUP
 	ip link set dev br0 type bridge mcast_query_interval 500 \
@@ -489,7 +489,7 @@ v3exc_timeout_test()
 					mcast_membership_interval 1500
 
 	$MZ $h1 -c 1 -b $ALL_MAC -B $ALL_GROUP -t ip "proto=2,p=$MZPKT_ALLOW2" -q
-	sleep 3
+	sleep 5
 	bridge -j -d -s mdb show dev br0 \
 		| jq -e ".[].mdb[] | \
 			 select(.grp == \"$TEST_GROUP\" and \
diff --git a/tools/testing/selftests/net/forwarding/bridge_mld.sh b/tools/testing/selftests/net/forwarding/bridge_mld.sh
index e2b9ff773c6b..f84ab2e65754 100755
--- a/tools/testing/selftests/net/forwarding/bridge_mld.sh
+++ b/tools/testing/selftests/net/forwarding/bridge_mld.sh
@@ -478,10 +478,10 @@ mldv2exc_timeout_test()
 	RET=0
 	local X=("2001:db8:1::20" "2001:db8:1::30")
 
-	# GMI should be 3 seconds
+	# GMI should be 5 seconds
 	ip link set dev br0 type bridge mcast_query_interval 100 \
 					mcast_query_response_interval 100 \
-					mcast_membership_interval 300
+					mcast_membership_interval 500
 
 	mldv2exclude_prepare $h1
 	ip link set dev br0 type bridge mcast_query_interval 500 \
@@ -489,7 +489,7 @@ mldv2exc_timeout_test()
 					mcast_membership_interval 1500
 
 	$MZ $h1 -c 1 $MZPKT_ALLOW2 -q
-	sleep 3
+	sleep 5
 	bridge -j -d -s mdb show dev br0 \
 		| jq -e ".[].mdb[] | \
 			 select(.grp == \"$TEST_GROUP\" and \
-- 
2.44.0


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

* Re: [PATCH net] selftests: net: bridge: increase IGMP/MLD exclude timeout membership interval
  2024-05-13 10:52 [PATCH net] selftests: net: bridge: increase IGMP/MLD exclude timeout membership interval Nikolay Aleksandrov
@ 2024-05-14  0:42 ` Hangbin Liu
  2024-05-14  7:46   ` Nikolay Aleksandrov
  2024-05-15 10:50 ` patchwork-bot+netdevbpf
  1 sibling, 1 reply; 5+ messages in thread
From: Hangbin Liu @ 2024-05-14  0:42 UTC (permalink / raw)
  To: Nikolay Aleksandrov; +Cc: netdev, kuba, roopa, bridge, edumazet, pabeni

On Mon, May 13, 2024 at 01:52:57PM +0300, Nikolay Aleksandrov wrote:
>  	$MZ $h1 -c 1 -b $ALL_MAC -B $ALL_GROUP -t ip "proto=2,p=$MZPKT_ALLOW2" -q
> -	sleep 3
> +	sleep 5
>  	bridge -j -d -s mdb show dev br0 \
>  		| jq -e ".[].mdb[] | \
>  			 select(.grp == \"$TEST_GROUP\" and \
> diff --git a/tools/testing/selftests/net/forwarding/bridge_mld.sh b/tools/testing/selftests/net/forwarding/bridge_mld.sh
> index e2b9ff773c6b..f84ab2e65754 100755
> --- a/tools/testing/selftests/net/forwarding/bridge_mld.sh
> +++ b/tools/testing/selftests/net/forwarding/bridge_mld.sh
>  
>  	$MZ $h1 -c 1 $MZPKT_ALLOW2 -q
> -	sleep 3
> +	sleep 5
>  	bridge -j -d -s mdb show dev br0 \
>  		| jq -e ".[].mdb[] | \
>  			 select(.grp == \"$TEST_GROUP\" and \

Maybe use a slow_wait to check the result?

Thanks
Hangbin

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

* Re: [PATCH net] selftests: net: bridge: increase IGMP/MLD exclude timeout membership interval
  2024-05-14  0:42 ` Hangbin Liu
@ 2024-05-14  7:46   ` Nikolay Aleksandrov
  2024-05-14 12:18     ` Hangbin Liu
  0 siblings, 1 reply; 5+ messages in thread
From: Nikolay Aleksandrov @ 2024-05-14  7:46 UTC (permalink / raw)
  To: Hangbin Liu; +Cc: netdev, kuba, roopa, bridge, edumazet, pabeni

On 14/05/2024 03:42, Hangbin Liu wrote:
> On Mon, May 13, 2024 at 01:52:57PM +0300, Nikolay Aleksandrov wrote:
>>  	$MZ $h1 -c 1 -b $ALL_MAC -B $ALL_GROUP -t ip "proto=2,p=$MZPKT_ALLOW2" -q
>> -	sleep 3
>> +	sleep 5
>>  	bridge -j -d -s mdb show dev br0 \
>>  		| jq -e ".[].mdb[] | \
>>  			 select(.grp == \"$TEST_GROUP\" and \
>> diff --git a/tools/testing/selftests/net/forwarding/bridge_mld.sh b/tools/testing/selftests/net/forwarding/bridge_mld.sh
>> index e2b9ff773c6b..f84ab2e65754 100755
>> --- a/tools/testing/selftests/net/forwarding/bridge_mld.sh
>> +++ b/tools/testing/selftests/net/forwarding/bridge_mld.sh
>>  
>>  	$MZ $h1 -c 1 $MZPKT_ALLOW2 -q
>> -	sleep 3
>> +	sleep 5
>>  	bridge -j -d -s mdb show dev br0 \
>>  		| jq -e ".[].mdb[] | \
>>  			 select(.grp == \"$TEST_GROUP\" and \
> 
> Maybe use a slow_wait to check the result?
> 
> Thanks
> Hangbin

What would it improve? The wait is exact, we know how many seconds
exactly so a plain sleep is enough and easier to backport if this
is applied to -net.

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

* Re: [PATCH net] selftests: net: bridge: increase IGMP/MLD exclude timeout membership interval
  2024-05-14  7:46   ` Nikolay Aleksandrov
@ 2024-05-14 12:18     ` Hangbin Liu
  0 siblings, 0 replies; 5+ messages in thread
From: Hangbin Liu @ 2024-05-14 12:18 UTC (permalink / raw)
  To: Nikolay Aleksandrov; +Cc: netdev, kuba, roopa, bridge, edumazet, pabeni

On Tue, May 14, 2024 at 10:46:15AM +0300, Nikolay Aleksandrov wrote:
> >> diff --git a/tools/testing/selftests/net/forwarding/bridge_mld.sh b/tools/testing/selftests/net/forwarding/bridge_mld.sh
> >> index e2b9ff773c6b..f84ab2e65754 100755
> >> --- a/tools/testing/selftests/net/forwarding/bridge_mld.sh
> >> +++ b/tools/testing/selftests/net/forwarding/bridge_mld.sh
> >>  
> >>  	$MZ $h1 -c 1 $MZPKT_ALLOW2 -q
> >> -	sleep 3
> >> +	sleep 5
> >>  	bridge -j -d -s mdb show dev br0 \
> >>  		| jq -e ".[].mdb[] | \
> >>  			 select(.grp == \"$TEST_GROUP\" and \
> > 
> > Maybe use a slow_wait to check the result?
> > 
> > Thanks
> > Hangbin
> 
> What would it improve? The wait is exact, we know how many seconds
> exactly so a plain sleep is enough and easier to backport if this
> is applied to -net.

I just afraid it fails on debug kernel with this exact time. If you think
the time is enough. I'm OK with it.

Thanks
Hangbin

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

* Re: [PATCH net] selftests: net: bridge: increase IGMP/MLD exclude timeout membership interval
  2024-05-13 10:52 [PATCH net] selftests: net: bridge: increase IGMP/MLD exclude timeout membership interval Nikolay Aleksandrov
  2024-05-14  0:42 ` Hangbin Liu
@ 2024-05-15 10:50 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 5+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-05-15 10:50 UTC (permalink / raw)
  To: Nikolay Aleksandrov; +Cc: netdev, kuba, roopa, bridge, edumazet, pabeni

Hello:

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

On Mon, 13 May 2024 13:52:57 +0300 you wrote:
> When running the bridge IGMP/MLD selftests on debug kernels we can get
> spurious errors when setting up the IGMP/MLD exclude timeout tests
> because the membership interval is just 3 seconds and the setup has 2
> seconds of sleep plus various validations, the one second that is left
> is not enough. Increase the membership interval from 3 to 5 seconds to
> make room for the setup validation and 2 seconds of sleep.
> 
> [...]

Here is the summary with links:
  - [net] selftests: net: bridge: increase IGMP/MLD exclude timeout membership interval
    https://git.kernel.org/netdev/net/c/06080ea23095

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] 5+ messages in thread

end of thread, other threads:[~2024-05-15 10:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-13 10:52 [PATCH net] selftests: net: bridge: increase IGMP/MLD exclude timeout membership interval Nikolay Aleksandrov
2024-05-14  0:42 ` Hangbin Liu
2024-05-14  7:46   ` Nikolay Aleksandrov
2024-05-14 12:18     ` Hangbin Liu
2024-05-15 10:50 ` 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