mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
selftests: mptcp: join: test both signal & subflow
commit4d2868b5d1
upstream. It should be quite uncommon to set both the subflow and the signal flags: the initiator of the connection is typically the one creating new subflows, not the other peer, then no need to announce additional local addresses, and use it to create subflows. But some people might be confused about the flags, and set both "just to be sure at least the right one is set". To verify the previous fix, and avoid future regressions, this specific case is now validated: the client announces a new address, and initiates a new subflow from the same address. While working on this, another bug has been noticed, where the client reset the new subflow because an ADD_ADDR echo got received as the 3rd ACK: this new test also explicitly checks that no RST have been sent by the client and server. The 'Fixes' tag here below is the same as the one from the previous commit: this patch here is not fixing anything wrong in the selftests, but it validates the previous fix for an issue introduced by this commit ID. Fixes:86e39e0448
("mptcp: keep track of local endpoint still available for each msk") Reviewed-by: Mat Martineau <martineau@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Link: https://patch.msgid.link/20240731-upstream-net-20240731-mptcp-endp-subflow-signal-v1-7-c8a9b036493b@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org> [ No conflicts, but not using 'chk_add_nr 1 1 0 invert': in this version, 'chk_add_nr' cannot be used with 'invert': d73bb9d3957b ("selftests: mptcp: join: ability to invert ADD_ADDR check") is not in this version, and backporting it causes a lot of conflicts. That's fine, checking that there is an additional subflow should be enough. ] Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
d93cf38fad
commit
fc56b1946e
@ -2090,6 +2090,20 @@ signal_address_tests()
|
||||
chk_add_nr 1 1
|
||||
fi
|
||||
|
||||
# uncommon: subflow and signal flags on the same endpoint
|
||||
# or because the user wrongly picked both, but still expects the client
|
||||
# to create additional subflows
|
||||
if reset "subflow and signal together"; then
|
||||
pm_nl_set_limits $ns1 0 2
|
||||
pm_nl_set_limits $ns2 0 2
|
||||
pm_nl_add_endpoint $ns2 10.0.3.2 flags signal,subflow
|
||||
run_tests $ns1 $ns2 10.0.1.1
|
||||
chk_join_nr 1 1 1
|
||||
chk_add_nr 0 0 0 # none initiated by ns1
|
||||
chk_rst_nr 0 0 invert # no RST sent by the client
|
||||
chk_rst_nr 0 0 # no RST sent by the server
|
||||
fi
|
||||
|
||||
# accept and use add_addr with additional subflows
|
||||
if reset "multiple subflows and signal"; then
|
||||
pm_nl_set_limits $ns1 0 3
|
||||
|
Loading…
Reference in New Issue
Block a user