[PATCH mptcp-next 07/11] selftests: mptcp: join: userspace: wait for new events

Matthieu Baerts (NGI0) posted 11 patches 1 week, 6 days ago
[PATCH mptcp-next 07/11] selftests: mptcp: join: userspace: wait for new events
Posted by Matthieu Baerts (NGI0) 1 week, 6 days ago
Instead of waiting for a random amount of time (1 second), wait for an
event to be received on the other side.

To do that, when an address is announced (userspace_pm_add_addr), the
ANNOUNCED is expected. When a new subflow is created
(userspace_pm_add_sf), the SUB_ESTABLISHED event is expected.

With this, the tests can finish quicker.

Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 tools/testing/selftests/net/mptcp/mptcp_join.sh | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index cf28537b71f7..63a84a4d43a6 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -3717,7 +3717,6 @@ userspace_pm_add_addr()
 	tk=$(mptcp_lib_evts_get_info token "$evts")
 
 	ip netns exec $1 ./pm_nl_ctl ann $2 token $tk id $3
-	sleep 1
 }
 
 # $1: ns ; $2: id
@@ -3748,7 +3747,6 @@ userspace_pm_add_sf()
 
 	ip netns exec $1 ./pm_nl_ctl csf lip $2 lid $3 \
 				rip $da rport $dp token $tk
-	sleep 1
 }
 
 # $1: ns ; $2: addr $3: event type
@@ -4000,7 +3998,9 @@ userspace_tests()
 		local tests_pid=$!
 		wait_event ns1 MPTCP_LIB_EVENT_ESTABLISHED 1
 		userspace_pm_add_addr $ns1 10.0.2.1 10
+		wait_event ns2 MPTCP_LIB_EVENT_ANNOUNCED 1
 		userspace_pm_add_addr $ns1 10.0.3.1 20
+		wait_event ns2 MPTCP_LIB_EVENT_ANNOUNCED 2
 		chk_join_nr 2 2 2
 		chk_add_nr 2 2
 		chk_mptcp_info subflows 2 subflows 2
@@ -4033,6 +4033,7 @@ userspace_tests()
 		local tests_pid=$!
 		wait_event ns2 MPTCP_LIB_EVENT_ESTABLISHED 1
 		userspace_pm_add_sf $ns2 10.0.3.2 20
+		wait_event ns2 MPTCP_LIB_EVENT_SUB_ESTABLISHED 1
 		chk_join_nr 1 1 1
 		chk_mptcp_info subflows 1 subflows 1
 		chk_subflows_total 2 2
@@ -4063,6 +4064,7 @@ userspace_tests()
 		chk_mptcp_info subflows 0 subflows 0
 		chk_subflows_total 1 1
 		userspace_pm_add_sf $ns2 10.0.3.2 0
+		wait_event ns2 MPTCP_LIB_EVENT_SUB_ESTABLISHED 1
 		userspace_pm_chk_dump_addr "${ns2}" \
 			"id 0 flags subflow 10.0.3.2" "id 0 subflow"
 		chk_join_nr 1 1 1
@@ -4082,6 +4084,7 @@ userspace_tests()
 		local tests_pid=$!
 		wait_event ns2 MPTCP_LIB_EVENT_ESTABLISHED 1
 		userspace_pm_add_sf $ns2 10.0.3.2 20
+		wait_event ns2 MPTCP_LIB_EVENT_SUB_ESTABLISHED 1
 		chk_join_nr 1 1 1
 		chk_mptcp_info subflows 1 subflows 1
 		chk_subflows_total 2 2
@@ -4106,6 +4109,7 @@ userspace_tests()
 		local tests_pid=$!
 		wait_event ns1 MPTCP_LIB_EVENT_ESTABLISHED 1
 		userspace_pm_add_addr $ns1 10.0.2.1 10
+		wait_event ns2 MPTCP_LIB_EVENT_ANNOUNCED 1
 		chk_join_nr 1 1 1
 		chk_add_nr 1 1
 		chk_mptcp_info subflows 1 subflows 1
@@ -4132,6 +4136,7 @@ userspace_tests()
 		local tests_pid=$!
 		wait_event ns2 MPTCP_LIB_EVENT_ESTABLISHED 1
 		userspace_pm_add_sf $ns2 10.0.3.2 20
+		wait_event ns2 MPTCP_LIB_EVENT_SUB_ESTABLISHED 1
 		chk_mptcp_info subflows 1 subflows 1
 		chk_subflows_total 2 2
 

-- 
2.51.0
Re: [PATCH mptcp-next 07/11] selftests: mptcp: join: userspace: wait for new events
Posted by Geliang Tang 1 week, 4 days ago
Hi Matt,

Thanks for this patch.

On Fri, 2025-12-26 at 07:40 +0100, Matthieu Baerts (NGI0) wrote:
> Instead of waiting for a random amount of time (1 second), wait for
> an
> event to be received on the other side.
> 
> To do that, when an address is announced (userspace_pm_add_addr), the
> ANNOUNCED is expected. When a new subflow is created
> (userspace_pm_add_sf), the SUB_ESTABLISHED event is expected.
> 
> With this, the tests can finish quicker.
> 
> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
> ---
>  tools/testing/selftests/net/mptcp/mptcp_join.sh | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> index cf28537b71f7..63a84a4d43a6 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> @@ -3717,7 +3717,6 @@ userspace_pm_add_addr()
>  	tk=$(mptcp_lib_evts_get_info token "$evts")
>  
>  	ip netns exec $1 ./pm_nl_ctl ann $2 token $tk id $3
> -	sleep 1
>  }
>  
>  # $1: ns ; $2: id
> @@ -3748,7 +3747,6 @@ userspace_pm_add_sf()
>  
>  	ip netns exec $1 ./pm_nl_ctl csf lip $2 lid $3 \
>  				rip $da rport $dp token $tk
> -	sleep 1
>  }
>  
>  # $1: ns ; $2: addr $3: event type
> @@ -4000,7 +3998,9 @@ userspace_tests()
>  		local tests_pid=$!
>  		wait_event ns1 MPTCP_LIB_EVENT_ESTABLISHED 1
>  		userspace_pm_add_addr $ns1 10.0.2.1 10
> +		wait_event ns2 MPTCP_LIB_EVENT_ANNOUNCED 1
>  		userspace_pm_add_addr $ns1 10.0.3.1 20
> +		wait_event ns2 MPTCP_LIB_EVENT_ANNOUNCED 2

This has been changed to wait for 2 seconds. Can it revert to waiting
for only 1 second like before?

Thanks,
-Geliang

>  		chk_join_nr 2 2 2
>  		chk_add_nr 2 2
>  		chk_mptcp_info subflows 2 subflows 2
> @@ -4033,6 +4033,7 @@ userspace_tests()
>  		local tests_pid=$!
>  		wait_event ns2 MPTCP_LIB_EVENT_ESTABLISHED 1
>  		userspace_pm_add_sf $ns2 10.0.3.2 20
> +		wait_event ns2 MPTCP_LIB_EVENT_SUB_ESTABLISHED 1
>  		chk_join_nr 1 1 1
>  		chk_mptcp_info subflows 1 subflows 1
>  		chk_subflows_total 2 2
> @@ -4063,6 +4064,7 @@ userspace_tests()
>  		chk_mptcp_info subflows 0 subflows 0
>  		chk_subflows_total 1 1
>  		userspace_pm_add_sf $ns2 10.0.3.2 0
> +		wait_event ns2 MPTCP_LIB_EVENT_SUB_ESTABLISHED 1
>  		userspace_pm_chk_dump_addr "${ns2}" \
>  			"id 0 flags subflow 10.0.3.2" "id 0 subflow"
>  		chk_join_nr 1 1 1
> @@ -4082,6 +4084,7 @@ userspace_tests()
>  		local tests_pid=$!
>  		wait_event ns2 MPTCP_LIB_EVENT_ESTABLISHED 1
>  		userspace_pm_add_sf $ns2 10.0.3.2 20
> +		wait_event ns2 MPTCP_LIB_EVENT_SUB_ESTABLISHED 1
>  		chk_join_nr 1 1 1
>  		chk_mptcp_info subflows 1 subflows 1
>  		chk_subflows_total 2 2
> @@ -4106,6 +4109,7 @@ userspace_tests()
>  		local tests_pid=$!
>  		wait_event ns1 MPTCP_LIB_EVENT_ESTABLISHED 1
>  		userspace_pm_add_addr $ns1 10.0.2.1 10
> +		wait_event ns2 MPTCP_LIB_EVENT_ANNOUNCED 1
>  		chk_join_nr 1 1 1
>  		chk_add_nr 1 1
>  		chk_mptcp_info subflows 1 subflows 1
> @@ -4132,6 +4136,7 @@ userspace_tests()
>  		local tests_pid=$!
>  		wait_event ns2 MPTCP_LIB_EVENT_ESTABLISHED 1
>  		userspace_pm_add_sf $ns2 10.0.3.2 20
> +		wait_event ns2 MPTCP_LIB_EVENT_SUB_ESTABLISHED 1
>  		chk_mptcp_info subflows 1 subflows 1
>  		chk_subflows_total 2 2
>