tools/testing/selftests/net/mptcp/mptcp_connect.c | 18 ++-- tools/testing/selftests/net/mptcp/mptcp_connect.sh | 2 +- tools/testing/selftests/net/mptcp/mptcp_join.sh | 95 +++++++++++++--------- 3 files changed, 69 insertions(+), 46 deletions(-)
When looking at the recent CI results on NIPA and MPTCP CIs, a few MPTCP
Join tests are marked as unstable. Here are some fixes for that.
- Patch 1: a small fix for mptcp_connect.sh, printing a note as
initially intended. For >=v5.13.
- Patch 2: avoid unexpected reset when closing subflows. For >= 5.13.
- Patches 3-4: longer transfer when not waiting for the end. For >=5.18.
- Patch 5: drop noisy plain RST packets when looking for MP_FASTCLOSE.
For >= 5.18.
- Patch 6: read all received data when expecting a reset. For >= v6.1.
When reviewing patches 2-6, please double check that I'm not hiding real
issues by tweaking the tests suite.
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
Changes in v2:
- Patch 6: also handle EPIPE properly.
- Link to v1: https://patch.msgid.link/20251101-slft-join-inst-v1-0-10572512a0b2@kernel.org
---
Matthieu Baerts (NGI0) (6):
selftests: mptcp: connect: fix fallback note due to OoO
selftests: mptcp: join: rm: set backup flag
selftests: mptcp: join: endpoints: longer transfer
selftests: mptcp: join: userspace: longer transfer
selftests: mptcp: join: fastclose: drop plain RST
selftests: mptcp: connect: trunc: read all recv data
tools/testing/selftests/net/mptcp/mptcp_connect.c | 18 ++--
tools/testing/selftests/net/mptcp/mptcp_connect.sh | 2 +-
tools/testing/selftests/net/mptcp/mptcp_join.sh | 95 +++++++++++++---------
3 files changed, 69 insertions(+), 46 deletions(-)
---
base-commit: b9e1acc39cbc985ca8df781775718e39e421409b
change-id: 20251029-slft-join-inst-e307faf42138
Best regards,
--
Matthieu Baerts (NGI0) <matttbe@kernel.org>
Hi Geliang, On 02/11/2025 12:30, Matthieu Baerts (NGI0) wrote: > When looking at the recent CI results on NIPA and MPTCP CIs, a few MPTCP > Join tests are marked as unstable. Here are some fixes for that. > > - Patch 1: a small fix for mptcp_connect.sh, printing a note as > initially intended. For >=v5.13. > > - Patch 2: avoid unexpected reset when closing subflows. For >= 5.13. > > - Patches 3-4: longer transfer when not waiting for the end. For >=5.18. > > - Patch 5: drop noisy plain RST packets when looking for MP_FASTCLOSE. > For >= 5.18. > > - Patch 6: read all received data when expecting a reset. For >= v6.1. > > When reviewing patches 2-6, please double check that I'm not hiding real > issues by tweaking the tests suite. (More eyes are welcome, especially on patch 5/6!) Thank you for the review! Now in our tree: New patches for t/upstream-net and t/upstream: - a9a49f5a022a: selftests: mptcp: connect: fix fallback note due to OoO - 818251a0fc51: selftests: mptcp: join: rm: set backup flag - f0864a03b80b: selftests: mptcp: join: endpoints: longer transfer - a68bf9260dab: selftests: mptcp: join: userspace: longer transfer - 69569761c0f6: selftests: mptcp: join: fastclose: drop plain RST - e99b7db5862e: selftests: mptcp: connect: trunc: read all recv data - Results: 3cf18f92ab22..09c25f9f5ca3 (export-net) - Results: b35f4b01c8d3..625ded86ead5 (export) Tests are now in progress: - export-net: https://github.com/multipath-tcp/mptcp_net-next/commit/c8f9b6716c62042010e0e231a789467236c55625/checks - export: https://github.com/multipath-tcp/mptcp_net-next/commit/31b5d615cdeb4fd6ea58fcd577b48543dd3b0617/checks Cheers, Matt -- Sponsored by the NGI0 Core fund.
Hi Matt, On Tue, 2025-11-04 at 13:10 +0100, Matthieu Baerts wrote: > Hi Geliang, > > On 02/11/2025 12:30, Matthieu Baerts (NGI0) wrote: > > When looking at the recent CI results on NIPA and MPTCP CIs, a few > > MPTCP > > Join tests are marked as unstable. Here are some fixes for that. > > > > - Patch 1: a small fix for mptcp_connect.sh, printing a note as > > initially intended. For >=v5.13. > > > > - Patch 2: avoid unexpected reset when closing subflows. For >= > > 5.13. > > > > - Patches 3-4: longer transfer when not waiting for the end. For > > >=5.18. > > > > - Patch 5: drop noisy plain RST packets when looking for > > MP_FASTCLOSE. > > For >= 5.18. > > > > - Patch 6: read all received data when expecting a reset. For >= > > v6.1. > > > > When reviewing patches 2-6, please double check that I'm not hiding > > real > > issues by tweaking the tests suite. > > (More eyes are welcome, especially on patch 5/6!) I tested patch 5/6 again and found that only dropping the plain RST from ns1 is sufficient to make it work. There is no need to simultaneously drop the plain RST from ns2. What do you think? If you agree, I can send a squash-to patch to fix it. Thanks, -Geliang > > Thank you for the review! Now in our tree: > > New patches for t/upstream-net and t/upstream: > - a9a49f5a022a: selftests: mptcp: connect: fix fallback note due to > OoO > - 818251a0fc51: selftests: mptcp: join: rm: set backup flag > - f0864a03b80b: selftests: mptcp: join: endpoints: longer transfer > - a68bf9260dab: selftests: mptcp: join: userspace: longer transfer > - 69569761c0f6: selftests: mptcp: join: fastclose: drop plain RST > - e99b7db5862e: selftests: mptcp: connect: trunc: read all recv data > - Results: 3cf18f92ab22..09c25f9f5ca3 (export-net) > - Results: b35f4b01c8d3..625ded86ead5 (export) > > Tests are now in progress: > > - export-net: > https://github.com/multipath-tcp/mptcp_net-next/commit/c8f9b6716c62042010e0e231a789467236c55625/checks > - export: > https://github.com/multipath-tcp/mptcp_net-next/commit/31b5d615cdeb4fd6ea58fcd577b48543dd3b0617/checks > > Cheers, > Matt
On Wed, 2025-11-05 at 10:00 +0800, Geliang Tang wrote: > Hi Matt, > > On Tue, 2025-11-04 at 13:10 +0100, Matthieu Baerts wrote: > > Hi Geliang, > > > > On 02/11/2025 12:30, Matthieu Baerts (NGI0) wrote: > > > When looking at the recent CI results on NIPA and MPTCP CIs, a > > > few > > > MPTCP > > > Join tests are marked as unstable. Here are some fixes for that. > > > > > > - Patch 1: a small fix for mptcp_connect.sh, printing a note as > > > initially intended. For >=v5.13. > > > > > > - Patch 2: avoid unexpected reset when closing subflows. For >= > > > 5.13. > > > > > > - Patches 3-4: longer transfer when not waiting for the end. For > > > > =5.18. > > > > > > - Patch 5: drop noisy plain RST packets when looking for > > > MP_FASTCLOSE. > > > For >= 5.18. > > > > > > - Patch 6: read all received data when expecting a reset. For >= > > > v6.1. > > > > > > When reviewing patches 2-6, please double check that I'm not > > > hiding > > > real > > > issues by tweaking the tests suite. > > > > (More eyes are welcome, especially on patch 5/6!) > > I tested patch 5/6 again and found that only dropping the plain RST > from ns1 is sufficient to make it work. There is no need to Oops, the test of only dropping ns1's plain RST failed after dozens of loops. > simultaneously drop the plain RST from ns2. What do you think? So we do need to drop both ns1's and ns2's plain RST simultaneously, as done in patch 5/6. Thanks, -Geliang > > If you agree, I can send a squash-to patch to fix it. > > Thanks, > -Geliang > > > > > Thank you for the review! Now in our tree: > > > > New patches for t/upstream-net and t/upstream: > > - a9a49f5a022a: selftests: mptcp: connect: fix fallback note due to > > OoO > > - 818251a0fc51: selftests: mptcp: join: rm: set backup flag > > - f0864a03b80b: selftests: mptcp: join: endpoints: longer transfer > > - a68bf9260dab: selftests: mptcp: join: userspace: longer transfer > > - 69569761c0f6: selftests: mptcp: join: fastclose: drop plain RST > > - e99b7db5862e: selftests: mptcp: connect: trunc: read all recv > > data > > - Results: 3cf18f92ab22..09c25f9f5ca3 (export-net) > > - Results: b35f4b01c8d3..625ded86ead5 (export) > > > > Tests are now in progress: > > > > - export-net: > > https://github.com/multipath-tcp/mptcp_net-next/commit/c8f9b6716c62042010e0e231a789467236c55625/checks > > - export: > > https://github.com/multipath-tcp/mptcp_net-next/commit/31b5d615cdeb4fd6ea58fcd577b48543dd3b0617/checks > > > > Cheers, > > Matt > >
Hi Matt, On Sun, 2025-11-02 at 12:30 +0100, Matthieu Baerts (NGI0) wrote: > When looking at the recent CI results on NIPA and MPTCP CIs, a few > MPTCP > Join tests are marked as unstable. Here are some fixes for that. > > - Patch 1: a small fix for mptcp_connect.sh, printing a note as > initially intended. For >=v5.13. > > - Patch 2: avoid unexpected reset when closing subflows. For >= 5.13. > > - Patches 3-4: longer transfer when not waiting for the end. For > >=5.18. > > - Patch 5: drop noisy plain RST packets when looking for > MP_FASTCLOSE. > For >= 5.18. > > - Patch 6: read all received data when expecting a reset. For >= > v6.1. > > When reviewing patches 2-6, please double check that I'm not hiding > real > issues by tweaking the tests suite. > > Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> This set looks good to me! Reviewed-by: Geliang Tang <geliang@kernel.org> Thanks, -Geliang > --- > Changes in v2: > - Patch 6: also handle EPIPE properly. > - Link to v1: > https://patch.msgid.link/20251101-slft-join-inst-v1-0-10572512a0b2@kernel.org > > --- > Matthieu Baerts (NGI0) (6): > selftests: mptcp: connect: fix fallback note due to OoO > selftests: mptcp: join: rm: set backup flag > selftests: mptcp: join: endpoints: longer transfer > selftests: mptcp: join: userspace: longer transfer > selftests: mptcp: join: fastclose: drop plain RST > selftests: mptcp: connect: trunc: read all recv data > > tools/testing/selftests/net/mptcp/mptcp_connect.c | 18 ++-- > tools/testing/selftests/net/mptcp/mptcp_connect.sh | 2 +- > tools/testing/selftests/net/mptcp/mptcp_join.sh | 95 > +++++++++++++--------- > 3 files changed, 69 insertions(+), 46 deletions(-) > --- > base-commit: b9e1acc39cbc985ca8df781775718e39e421409b > change-id: 20251029-slft-join-inst-e307faf42138 > > Best regards,
Hi Matthieu,
Thank you for your modifications, that's great!
Our CI did some validations and here is its report:
- KVM Validation: normal (except selftest_mptcp_join): Success! ✅
- KVM Validation: normal (only selftest_mptcp_join): Success! ✅
- KVM Validation: debug (except selftest_mptcp_join): Unstable: 1 failed test(s): packetdrill_add_addr 🔴
- KVM Validation: debug (only selftest_mptcp_join): Success! ✅
- KVM Validation: btf-normal (only bpftest_all): Success! ✅
- KVM Validation: btf-debug (only bpftest_all): Success! ✅
- Task: https://github.com/multipath-tcp/mptcp_net-next/actions/runs/19031627642
Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/22e5bba93c31
Patchwork: https://patchwork.kernel.org/project/mptcp/list/?series=1018612
If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:
$ cd [kernel source code]
$ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
--pull always mptcp/mptcp-upstream-virtme-docker:latest \
auto-normal
For more details:
https://github.com/multipath-tcp/mptcp-upstream-virtme-docker
Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)
Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)
Hi Matthieu,
Thank you for your modifications, that's great!
Our CI did some validations and here is its report:
- KVM Validation: normal (except selftest_mptcp_join): Success! ✅
- KVM Validation: normal (only selftest_mptcp_join): Success! ✅
- KVM Validation: debug (except selftest_mptcp_join): Success! ✅
- KVM Validation: debug (only selftest_mptcp_join): Success! ✅
- KVM Validation: btf-normal (only bpftest_all): Success! ✅
- KVM Validation: btf-debug (only bpftest_all): Success! ✅
- Task: https://github.com/multipath-tcp/mptcp_net-next/actions/runs/19011645207
Initiator: Matthieu Baerts (NGI0)
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/ee5cae87148e
Patchwork: https://patchwork.kernel.org/project/mptcp/list/?series=1018612
If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:
$ cd [kernel source code]
$ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
--pull always mptcp/mptcp-upstream-virtme-docker:latest \
auto-normal
For more details:
https://github.com/multipath-tcp/mptcp-upstream-virtme-docker
Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)
Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)
© 2016 - 2025 Red Hat, Inc.