From: Matthieu Baerts <matttbe@kernel.org>
To: Geliang Tang <geliang.tang@suse.com>, mptcp@lists.linux.dev
Subject: Re: [PATCH mptcp-next v3 20/29] selftests: mptcp: add userspace pm fullmesh tests
Date: Sat, 7 Oct 2023 23:06:40 +0200 [thread overview]
Message-ID: <9e517f3d-29db-4910-aafe-d09874fe3a65@kernel.org> (raw)
In-Reply-To: <212f56895715a7e17577076cbe3a7dff9e3ea360.1695631132.git.geliang.tang@suse.com>
Hi Geliang,
On 25/09/2023 10:41, Geliang Tang wrote:
> This patch adds fullmesh selftests for userspace pm both on server side
> and on client side. For the server side test, add two endpoints with
> fullmesh flag on ns2, then signal an address on ns1 by userspace PM to
> trigger the fullmesh connections. For the client side test, just use
> userspace PM to create multiple subflows to do the fullmesh connections.
>
> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
> ---
> .../testing/selftests/net/mptcp/mptcp_join.sh | 40 +++++++++++++++++++
> 1 file changed, 40 insertions(+)
>
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> index aac50ef86785..d883c6c2426b 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> @@ -3532,6 +3532,46 @@ userspace_tests()
> kill_events_pids
> wait $tests_pid
> fi
> +
> + # userspace pm server fullmesh
> + if reset_with_events "userspace pm server fullmesh" &&
> + continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then
> + set_userspace_pm $ns1
> + pm_nl_set_limits $ns2 5 5
> + pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow,fullmesh
> + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow,fullmesh
> + 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 4 4 4
> + chk_add_nr 1 1
> + chk_mptcp_info subflows 4 subflows 4
> + chk_subflows_total 5 5
It is strange to me to see 5 subflows. Is it because not all endpoints
are marked as fullmesh?
Would it not be clearer to do a typical fullmesh cases using 2 endpoints
(A, B) on each side? So we would have 4 subflows: A-A, A-B, B-B, B-A.
> + chk_mptcp_info add_addr_signal 1 add_addr_accepted 1
> + mptcp_lib_evts_kill
> + wait $tests_pid
> + fi
> +
> + # userspace pm client fullmesh
> + if reset_with_events "userspace pm client fullmesh" &&
> + continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then
> + pm_nl_set_limits $ns1 5 5
> + set_userspace_pm $ns2
> + speed=10 \
> + run_tests $ns1 $ns2 10.0.1.1 &
> + local tests_pid=$!
> + wait_mpj $ns1
> + userspace_pm_add_sf $ns2 10.0.2.2 20
> + userspace_pm_add_sf $ns2 10.0.3.2 30
> + userspace_pm_add_sf $ns2 10.0.4.2 40
Same here, we should mix endpoints: here it looks like you create 4
subflows from 4 different IPs, that's not really a "fullmesh": the same
endpoint should be re-used multiple times to really validate the
"fullmesh" case, e.g.
- Client has 2 endpoints: 1.1.1.1 and 2.2.2.2
- Server has 2 endpoints: 8.8.8.8 and 9.9.9.9
We should have 2x2 subflows:
- 1.1.1.1 <-> 8.8.8.8
- 1.1.1.1 <-> 9.9.9.9
- 2.2.2.2 <-> 8.8.8.8
- 2.2.2.2 <-> 9.9.9.9
> + chk_join_nr 3 3 3
> + chk_mptcp_info subflows 3 subflows 3
> + chk_subflows_total 4 4
> + mptcp_lib_evts_kill
> + wait $tests_pid
> + fi
> }
>
> endpoint_tests()
Cheers,
Matt
--
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net
next prev parent reply other threads:[~2023-10-07 21:06 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-25 8:41 [PATCH mptcp-next v3 00/29] userspace pm enhancements Geliang Tang
2023-09-25 8:41 ` [PATCH mptcp-next v3 01/29] mptcp: drop useless ssk in pm_subflow_check_next Geliang Tang
2023-09-25 8:41 ` [PATCH mptcp-next v3 02/29] mptcp: use mptcp_check_fallback helper Geliang Tang
2023-09-25 8:41 ` [PATCH mptcp-next v3 03/29] mptcp: use mptcp_get_ext helper Geliang Tang
2023-09-25 8:41 ` [PATCH mptcp-next v3 04/29] mptcp: move sk assignment statement ahead Geliang Tang
2023-09-25 8:41 ` [PATCH mptcp-next v3 05/29] mptcp: define more local variables sk Geliang Tang
2023-09-25 8:41 ` [PATCH mptcp-next v3 06/29] selftests: mptcp: sockopt: drop mptcp_connect var Geliang Tang
2023-09-25 8:41 ` [PATCH mptcp-next v3 07/29] selftests: mptcp: display simult in extra_msg Geliang Tang
2023-09-28 20:54 ` Matthieu Baerts
2023-09-25 8:41 ` [PATCH mptcp-next v3 08/29] mptcp: add mptcpi_subflows_total counter Geliang Tang
2023-09-25 8:41 ` [PATCH mptcp-next v3 09/29] selftests: mptcp: add evts_get_info helper Geliang Tang
2023-09-25 8:41 ` [PATCH mptcp-next v3 10/29] selftests: mptcp: add chk_subflows_total helper Geliang Tang
2023-09-28 21:12 ` Matthieu Baerts
2023-09-25 8:41 ` [PATCH mptcp-next v3 11/29] selftests: mptcp: update userspace pm test helpers Geliang Tang
2023-09-28 20:56 ` Matthieu Baerts
2023-09-25 8:41 ` [PATCH mptcp-next v3 12/29] selftests: mptcp: userspace pm remove id 0 subflow Geliang Tang
2023-09-28 20:58 ` Matthieu Baerts
2023-10-05 8:32 ` Geliang Tang
2023-10-05 9:46 ` Matthieu Baerts
2023-09-25 8:41 ` [PATCH mptcp-next v3 13/29] mptcp: userspace pm allow creating " Geliang Tang
2023-09-25 8:41 ` [PATCH mptcp-next v3 14/29] selftests: mptcp: userspace pm create " Geliang Tang
2023-09-25 8:41 ` [PATCH mptcp-next v3 15/29] mptcp: userspace pm remove id 0 address Geliang Tang
2023-09-28 21:00 ` Matthieu Baerts
2023-10-05 8:35 ` Geliang Tang
2023-10-05 9:49 ` Matthieu Baerts
2023-09-25 8:41 ` [PATCH mptcp-next v3 16/29] selftests: " Geliang Tang
2023-09-28 21:01 ` Matthieu Baerts
2023-09-25 8:41 ` [PATCH mptcp-next v3 17/29] mptcp: add userspace_pm_get_entry helper Geliang Tang
2023-10-07 21:00 ` Matthieu Baerts
2023-09-25 8:41 ` [PATCH mptcp-next v3 18/29] mptcp: add userspace pm addr entry refcount Geliang Tang
2023-10-07 21:04 ` Matthieu Baerts
2023-10-07 21:09 ` Matthieu Baerts
2023-09-25 8:41 ` [PATCH mptcp-next v3 19/29] mptcp: add netlink " Geliang Tang
2023-10-07 21:05 ` Matthieu Baerts
2023-09-25 8:41 ` [PATCH mptcp-next v3 20/29] selftests: mptcp: add userspace pm fullmesh tests Geliang Tang
2023-10-07 21:06 ` Matthieu Baerts [this message]
2023-09-25 8:42 ` [PATCH mptcp-next v3 21/29] selftests: mptcp: add mptcp_lib_kill_wait Geliang Tang
2023-10-08 10:49 ` Matthieu Baerts
2023-09-25 8:42 ` [PATCH mptcp-next v3 22/29] selftests: mptcp: add mptcp_lib_evts_* Geliang Tang
2023-10-08 10:54 ` Matthieu Baerts
2023-09-25 8:42 ` [PATCH mptcp-next v3 23/29] selftests: mptcp: userspace: print colored results Geliang Tang
2023-10-08 10:55 ` Matthieu Baerts
2023-09-25 8:42 ` [PATCH mptcp-next v3 24/29] selftests: mptcp: add mptcp_lib_verify_listener_events Geliang Tang
2023-10-08 10:56 ` Matthieu Baerts
2023-09-25 8:42 ` [PATCH mptcp-next v3 25/29] selftests: mptcp: add mptcp_lib_is_v6 Geliang Tang
2023-10-08 10:56 ` Matthieu Baerts
2023-09-25 8:42 ` [PATCH mptcp-next v3 26/29] selftests: mptcp: add mptcp_lib_get_counter Geliang Tang
2023-10-08 10:56 ` Matthieu Baerts
2023-09-25 8:42 ` [PATCH mptcp-next v3 27/29] selftests: mptcp: add mptcp_lib_make_file Geliang Tang
2023-10-08 10:58 ` Matthieu Baerts
2023-09-25 8:42 ` [PATCH mptcp-next v3 28/29] selftests: mptcp: add mptcp_lib_check_transfer Geliang Tang
2023-10-08 10:59 ` Matthieu Baerts
2023-09-25 8:42 ` [PATCH mptcp-next v3 29/29] selftests: mptcp: add mptcp_lib_wait_local_port_listen Geliang Tang
2023-09-25 9:54 ` selftests: mptcp: add mptcp_lib_wait_local_port_listen: Tests Results MPTCP CI
2023-09-28 21:26 ` selftests: mptcp: add mptcp_lib_wait_local_port_listen: Build Failure MPTCP CI
2023-09-28 22:04 ` selftests: mptcp: add mptcp_lib_wait_local_port_listen: Tests Results MPTCP CI
2023-10-08 10:59 ` [PATCH mptcp-next v3 29/29] selftests: mptcp: add mptcp_lib_wait_local_port_listen Matthieu Baerts
2023-09-28 20:54 ` [PATCH mptcp-next v3 00/29] userspace pm enhancements Matthieu Baerts
2023-09-28 21:37 ` Matthieu Baerts
2023-10-05 15:53 ` Matthieu Baerts
2023-10-06 10:42 ` Geliang Tang
2023-10-31 17:40 ` Matthieu Baerts
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9e517f3d-29db-4910-aafe-d09874fe3a65@kernel.org \
--to=matttbe@kernel.org \
--cc=geliang.tang@suse.com \
--cc=mptcp@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox