Hi Geliang,
On 25/09/2023 10:41, Geliang Tang wrote:
> This patch adds a selftest for userpsace PM to remove id 0 address.
> Use userspace_pm_add_addr() helper to add a id 10 address, then use
> userspace_pm_rm_addr() helper to remove id 0 address.
>
> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
> ---
> .../testing/selftests/net/mptcp/mptcp_join.sh | 24 +++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> index 22aa69db87ab..aac50ef86785 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> @@ -3508,6 +3508,30 @@ userspace_tests()
> kill_events_pids
> wait $tests_pid
> fi
> +
> + # userspace pm remove id 0 address
> + if reset_with_events "userspace pm remove id 0 address" &&
> + continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then
> + set_userspace_pm $ns1
> + pm_nl_set_limits $ns2 1 1
> + speed=10 \
> + run_tests $ns1 $ns2 10.0.1.1 &
> + local tests_pid=$!
> + wait_mpj $ns1
> + userspace_pm_add_addr $ns1 10.0.2.1 10
> + chk_join_nr 1 1 1
> + chk_add_nr 1 1
> + chk_mptcp_info subflows 1 subflows 1
> + chk_subflows_total 2 2
> + chk_mptcp_info add_addr_signal 1 add_addr_accepted 1
> + userspace_pm_rm_addr $ns1 0
> + chk_rm_nr 1 0 invert
> + chk_rst_nr 1 1 invert
Why do we have RST here?
Is it because a RM_ADDR is sent from ns1 and on ns2, the kernel reacts
by sending an RST+MP_TCPRST? (or are these RST sent from ns1 just after
the RM_ADDR?)
I don't think the kernel should send a RST: sending a RM_ADDR for ID 0
should not be different than sending it for any other IDs, no?
> + chk_mptcp_info subflows 1 subflows 1
> + chk_subflows_total 1 1
> + kill_events_pids
> + wait $tests_pid
> + fi
> }
>
> endpoint_tests()
Cheers,
Matt
--
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net