Message ID | 20240902172516.3021978-10-matttbe@kernel.org (mailing list archive) |
---|---|
State | Mainlined, archived |
Delegated to: | Matthieu Baerts |
Headers | show |
Series | Backport of "selftests: mptcp: join: test for flush/re-add endpoints" and more | expand |
Hi Greg, Sasha, On 02/09/2024 19:25, Matthieu Baerts (NGI0) wrote: > commit e06959e9eebdfea4654390f53b65cff57691872e upstream. > > After having flushed endpoints that didn't cause the creation of new > subflows, it is important to check endpoints can be re-created, re-using > previously used IDs. > > Before the previous commit, the client would not have been able to > re-create the subflow that was previously rejected. > > 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. FYI, Sasha has applied all the patches from this series, except this one, the backport of e06959e9eebd ("selftests: mptcp: join: test for flush/re-add endpoints"). In theory, this commit can be applied without any conflicts now that commit b5e2fb832f48 ("selftests: mptcp: add explicit test case for remove/readd") has been queued in v6.10. Cheers, Matt
On Wed, Sep 04, 2024 at 02:40:52PM +0200, Matthieu Baerts wrote: > Hi Greg, Sasha, > > On 02/09/2024 19:25, Matthieu Baerts (NGI0) wrote: > > commit e06959e9eebdfea4654390f53b65cff57691872e upstream. > > > > After having flushed endpoints that didn't cause the creation of new > > subflows, it is important to check endpoints can be re-created, re-using > > previously used IDs. > > > > Before the previous commit, the client would not have been able to > > re-create the subflow that was previously rejected. > > > > 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. > > FYI, Sasha has applied all the patches from this series, except this > one, the backport of e06959e9eebd ("selftests: mptcp: join: test for > flush/re-add endpoints"). > > In theory, this commit can be applied without any conflicts now that > commit b5e2fb832f48 ("selftests: mptcp: add explicit test case for > remove/readd") has been queued in v6.10. Thanks, I've done that right now. greg k-h
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh index fb2d8326109e..7dee194bdb62 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3655,6 +3655,36 @@ endpoint_tests() mptcp_lib_kill_wait $tests_pid fi + # flush and re-add + if reset_with_tcp_filter "flush re-add" ns2 10.0.3.2 REJECT OUTPUT && + mptcp_lib_kallsyms_has "subflow_rebuild_header$"; then + pm_nl_set_limits $ns1 0 2 + pm_nl_set_limits $ns2 1 2 + # broadcast IP: no packet for this address will be received on ns1 + pm_nl_add_endpoint $ns1 224.0.0.1 id 2 flags signal + pm_nl_add_endpoint $ns2 10.0.3.2 id 3 flags subflow + test_linkfail=4 speed=20 \ + run_tests $ns1 $ns2 10.0.1.1 & + local tests_pid=$! + + wait_attempt_fail $ns2 + chk_subflow_nr "before flush" 1 + chk_mptcp_info subflows 0 subflows 0 + + pm_nl_flush_endpoint $ns2 + pm_nl_flush_endpoint $ns1 + wait_rm_addr $ns2 0 + ip netns exec "${ns2}" ${iptables} -D OUTPUT -s "10.0.3.2" -p tcp -j REJECT + pm_nl_add_endpoint $ns2 10.0.3.2 id 3 flags subflow + wait_mpj $ns2 + pm_nl_add_endpoint $ns1 10.0.3.1 id 2 flags signal + wait_mpj $ns2 + mptcp_lib_kill_wait $tests_pid + + chk_join_nr 2 2 2 + chk_add_nr 2 2 + chk_rm_nr 1 0 invert + fi } # [$1: error message]