From: Matthieu Baerts <matttbe@kernel.org>
To: Geliang Tang <geliang.tang@suse.com>
Cc: mptcp@lists.linux.dev
Subject: Re: [PATCH mptcp-next v3 12/29] selftests: mptcp: userspace pm remove id 0 subflow
Date: Thu, 5 Oct 2023 11:46:28 +0200 [thread overview]
Message-ID: <90e2f470-c517-4269-a280-14a02e573bf8@kernel.org> (raw)
In-Reply-To: <20231005083215.GA23632@bogon>
Hi Geliang,
On 05/10/2023 10:32, Geliang Tang wrote:
> Hi Matt,
>
> On Thu, Sep 28, 2023 at 10:58:33PM +0200, Matthieu Baerts wrote:
>> Hi Geliang,
>>
>> On 25/09/2023 10:41, Geliang Tang wrote:
>>> This patch adds a selftest for userpsace PM to remove id 0 subflow. Use
>>> userspace_pm_add_sf() to add a subflow, and pass initial ip address to
>>> userspace_pm_rm_sf() to remove id 0 subflow.
>>>
>>> When closing the initial subflow in __mptcp_close_ssk(), dispose_it is
>>> false, then tcp_disconnect is invoked. This will send a MP_RST to close
>>> a subflow on the peer too.
>>
>> I don't think we should have a RST (with MP_TCPRST) when we close the
>> initial subflow, no? We don't have that when we remove subflows with
>> other IDs.
>
> We do have a RST in "in-kernel remove id 0 subflow and address" tests,
> we can test them like this:
Thank you for having checked!
Do we have a RST if we remove another subflow than the initial one or if
we send a RM_ADDR for another id than 0? We should have the same
behaviour as with the other subflows/ID, no exception for the initial
subflow/address ID 0.
Is the RST sent by the host which received the RM_ADDR?
>
> # remove id 0 subflow
> if reset "remove id 0 subflow"; then
(I think we should change the name of this test, it is confusing because
there is no 'id 0 subflow', an ID is linked to an address. Maybe:
"remove initial subflow")
> pm_nl_set_limits $ns1 0 1
> pm_nl_set_limits $ns2 0 1
> pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
> addr_nr_ns2=-9 speed=slow \
Just to be sure (because 'addr_nr_ns2=-9' is really not clear): it will
delete the endpoint linked to the address used by the initial subflow,
right? And this should stop the subflow (TCP FIN) and send a RM_ADDR, right?
> run_tests $ns1 $ns2 10.0.1.1
> chk_join_nr 1 1 1
> chk_rm_nr 1 1
> + chk_rst_nr 1 1
> fi
>
> # remove id 0 address
> if reset "remove id 0 address"; then
> pm_nl_set_limits $ns1 0 1
> pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
> pm_nl_set_limits $ns2 1 1
> addr_nr_ns1=-9 speed=slow \
But then here, the behaviour should be the same as the previous test,
no? Why is it not?
> run_tests $ns1 $ns2 10.0.1.1
> chk_join_nr 1 1 1
> chk_add_nr 1 1
> chk_rm_nr 1 1 invert
> + chk_rst_nr 1 1 invert
> fi
>
> Maybe it's OK with the RSTs.
As long as the behaviour is the same as when removing another subflow
than the initial one or sending a RM_ADDR for another ID then 0.
Cheers,
Matt
next prev parent reply other threads:[~2023-10-05 9:46 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 [this message]
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
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=90e2f470-c517-4269-a280-14a02e573bf8@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