Hi Matt,
Thanks for this patch.
On Fri, 2025-12-26 at 07:40 +0100, Matthieu Baerts (NGI0) wrote:
> 'wait_mpj' was used just after having created a background
> connection,
> but before creating new subflows. So no MPJ were sent. The intention
> was
> to wait for the connection to be established, which was the same as
> doing a simple sleep with a "random" value.
>
> Instead, wait for an "established" event. With this, the tests can
> finish quicker.
>
> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
> ---
> tools/testing/selftests/net/mptcp/mptcp_join.sh | 18 ++++++++++-----
> ---
> 1 file changed, 10 insertions(+), 8 deletions(-)
>
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> index bf0cc59b5210..9b58d7567c18 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> @@ -4000,7 +4000,7 @@ userspace_tests()
> { timeout_test=120 test_linkfail=128 speed=5 \
> run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
> local tests_pid=$!
> - wait_mpj $ns1
> + wait_event ns1 MPTCP_LIB_EVENT_ESTABLISHED 1
> userspace_pm_add_addr $ns1 10.0.2.1 10
> userspace_pm_add_addr $ns1 10.0.3.1 20
> chk_join_nr 2 2 2
> @@ -4033,7 +4033,7 @@ userspace_tests()
> { timeout_test=120 test_linkfail=128 speed=5 \
> run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
> local tests_pid=$!
> - wait_mpj $ns2
> + wait_event ns2 MPTCP_LIB_EVENT_ESTABLISHED 1
> userspace_pm_add_sf $ns2 10.0.3.2 20
> chk_join_nr 1 1 1
> chk_mptcp_info subflows 1 subflows 1
> @@ -4061,7 +4061,7 @@ userspace_tests()
> { timeout_test=120 test_linkfail=128 speed=5 \
> run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
> local tests_pid=$!
> - wait_mpj $ns2
> + wait_event ns2 MPTCP_LIB_EVENT_ESTABLISHED 1
> chk_mptcp_info subflows 0 subflows 0
> chk_subflows_total 1 1
> userspace_pm_add_sf $ns2 10.0.3.2 0
> @@ -4082,7 +4082,7 @@ userspace_tests()
> { timeout_test=120 test_linkfail=128 speed=5 \
> run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
> local tests_pid=$!
> - wait_mpj $ns2
> + wait_event ns2 MPTCP_LIB_EVENT_ESTABLISHED 1
> userspace_pm_add_sf $ns2 10.0.3.2 20
> chk_join_nr 1 1 1
> chk_mptcp_info subflows 1 subflows 1
> @@ -4106,7 +4106,7 @@ userspace_tests()
> { timeout_test=120 test_linkfail=128 speed=5 \
> run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
> local tests_pid=$!
> - wait_mpj $ns1
> + wait_event ns1 MPTCP_LIB_EVENT_ESTABLISHED 1
> userspace_pm_add_addr $ns1 10.0.2.1 10
> chk_join_nr 1 1 1
> chk_add_nr 1 1
> @@ -4159,6 +4159,7 @@ endpoint_tests()
> # userspace pm type prevents add_addr
> if reset "implicit EP" &&
> continue_if mptcp_lib_kallsyms_has
> "subflow_rebuild_header$"; then
> + start_events
What do you think about using reset_with_events here?
Thanks,
-Geliang
> pm_nl_set_limits $ns1 2 2
> pm_nl_set_limits $ns2 2 2
> pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
> @@ -4166,7 +4167,7 @@ endpoint_tests()
> run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
> local tests_pid=$!
>
> - wait_mpj $ns1
> + wait_event ns2 MPTCP_LIB_EVENT_ESTABLISHED 1
> pm_nl_check_endpoint "creation" \
> $ns2 10.0.2.2 id 1 flags implicit
> chk_mptcp_info subflows 1 subflows 1
> @@ -4180,6 +4181,7 @@ endpoint_tests()
> pm_nl_check_endpoint "modif is allowed" \
> $ns2 10.0.2.2 id 1 flags signal
> mptcp_lib_kill_group_wait $tests_pid
> + kill_events_pids
> fi
>
> if reset_with_tcp_filter "delete and re-add" ns2 10.0.3.2
> REJECT OUTPUT &&
> @@ -4193,7 +4195,7 @@ endpoint_tests()
> run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
> local tests_pid=$!
>
> - wait_mpj $ns2
> + wait_event ns2 MPTCP_LIB_EVENT_ESTABLISHED 1
> pm_nl_check_endpoint "creation" \
> $ns2 10.0.2.2 id 2 flags subflow dev ns2eth2
> chk_subflow_nr "before delete id 2" 2
> @@ -4271,7 +4273,7 @@ endpoint_tests()
> run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
> local tests_pid=$!
>
> - wait_mpj $ns2
> + wait_event ns2 MPTCP_LIB_EVENT_ESTABLISHED 1
> pm_nl_check_endpoint "creation" \
> $ns1 10.0.2.1 id 1 flags signal
> chk_subflow_nr "before delete" 2