MPTCP Linux Development
 help / color / mirror / Atom feed
* [PATCH mptcp-net v2 0/5] selftests: mptcp: avoid spurious errors on TCP disconnect
@ 2025-09-05 18:18 Matthieu Baerts (NGI0)
  2025-09-05 18:18 ` [PATCH mptcp-net v2 1/5] mptcp: propagate shutdown to subflows when possible Matthieu Baerts (NGI0)
                   ` (5 more replies)
  0 siblings, 6 replies; 23+ messages in thread
From: Matthieu Baerts (NGI0) @ 2025-09-05 18:18 UTC (permalink / raw)
  To: mptcp; +Cc: Matthieu Baerts (NGI0)

This should fix the recent instabilities seen by MPTCP and NIPA CIs
where the 'mptcp_connect.sh' tests fail regularly when running the
'disconnect' subtests with "plain" TCP sockets, e.g.

  # INFO: disconnect
  # 63 ns1 MPTCP -> ns1 (10.0.1.1:20001      ) MPTCP     (duration   996ms) [ OK ]
  # 64 ns1 MPTCP -> ns1 (10.0.1.1:20002      ) TCP       (duration   851ms) [ OK ]
  # 65 ns1 TCP   -> ns1 (10.0.1.1:20003      ) MPTCP     Unexpected revents: POLLERR/POLLNVAL(19)
  # (duration   896ms) [FAIL] file received by server does not match (in, out):
  # -rw-r--r-- 1 root root 11112852 Aug 19 09:16 /tmp/tmp.hlJe5DoMoq.disconnect
  # Trailing bytes are:
  # /{ga 6@=#.8:-rw------- 1 root root 10085368 Aug 19 09:16 /tmp/tmp.blClunilxx
  # Trailing bytes are:
  # /{ga 6@=#.8:66 ns1 MPTCP -> ns1 (dead:beef:1::1:20004) MPTCP     (duration   987ms) [ OK ]
  # 67 ns1 MPTCP -> ns1 (dead:beef:1::1:20005) TCP       (duration   911ms) [ OK ]
  # 68 ns1 TCP   -> ns1 (dead:beef:1::1:20006) MPTCP     (duration   980ms) [ OK ]
  # [FAIL] Tests of the full disconnection have failed

Patch 3 fixes this issue, but a fix in MPTCP in patch 1 is also needed
to fix MPTCP behaviour, and simplify patch 3. Patches 2 and 4 improve
some errors reported by the selftests, and patch 5 helps with the
debugging. I guess all these patches can be sent to 'net'

Note: Patch 1 will cause errors in Packetdrill, that's normal, see [1].

Link: https://github.com/multipath-tcp/packetdrill/pull/171 [1]
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
Changes in v2:
- Patch 1: new
- Patch 3: no more state filtering needed thanks to patch 1
- Patch 4: switch from hexdump to od (Mat)
- Patch 5: new
- Link to v1: https://lore.kernel.org/r/20250819-sft-mptcp-disc-err-v1-0-9d0cf296bc13@kernel.org

---
Matthieu Baerts (NGI0) (5):
      mptcp: propagate shutdown to subflows when possible
      selftests: mptcp: connect: catch IO errors on listen side
      selftests: mptcp: avoid spurious errors on TCP disconnect
      selftests: mptcp: print trailing bytes with od
      selftests: mptcp: connect: print pcap suffix

 net/mptcp/protocol.c                               | 16 ++++++++++++++++
 tools/testing/selftests/net/mptcp/mptcp_connect.c  | 10 +++++++---
 tools/testing/selftests/net/mptcp/mptcp_connect.sh |  6 +++++-
 tools/testing/selftests/net/mptcp/mptcp_lib.sh     |  2 +-
 4 files changed, 29 insertions(+), 5 deletions(-)
---
base-commit: 9335a0684b0967cc704105e953f2a9d893fbcf57
change-id: 20250806-sft-mptcp-disc-err-3357b769bcdb

Best regards,
-- 
Matthieu Baerts (NGI0) <matttbe@kernel.org>


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2025-09-10  8:56 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-05 18:18 [PATCH mptcp-net v2 0/5] selftests: mptcp: avoid spurious errors on TCP disconnect Matthieu Baerts (NGI0)
2025-09-05 18:18 ` [PATCH mptcp-net v2 1/5] mptcp: propagate shutdown to subflows when possible Matthieu Baerts (NGI0)
2025-09-06  0:45   ` Geliang Tang
2025-09-06 13:42     ` Matthieu Baerts
2025-09-10  3:24       ` Geliang Tang
2025-09-10  8:56         ` Matthieu Baerts
2025-09-06  0:47   ` Geliang Tang
2025-09-05 18:18 ` [PATCH mptcp-net v2 2/5] selftests: mptcp: connect: catch IO errors on listen side Matthieu Baerts (NGI0)
2025-09-05 23:49   ` Geliang Tang
2025-09-06 13:54     ` Matthieu Baerts
2025-09-10  2:44       ` Geliang Tang
2025-09-10  8:56         ` Matthieu Baerts
2025-09-05 18:18 ` [PATCH mptcp-net v2 3/5] selftests: mptcp: avoid spurious errors on TCP disconnect Matthieu Baerts (NGI0)
2025-09-05 18:18 ` [PATCH mptcp-net v2 4/5] selftests: mptcp: print trailing bytes with od Matthieu Baerts (NGI0)
2025-09-05 23:42   ` Geliang Tang
2025-09-06 13:56     ` Matthieu Baerts
2025-09-10  3:26       ` Geliang Tang
2025-09-05 18:18 ` [PATCH mptcp-net v2 5/5] selftests: mptcp: connect: print pcap suffix Matthieu Baerts (NGI0)
2025-09-05 23:39   ` Geliang Tang
2025-09-06 13:58     ` Matthieu Baerts
2025-09-10  3:31       ` Geliang Tang
2025-09-05 20:46 ` [PATCH mptcp-net v2 0/5] selftests: mptcp: avoid spurious errors on TCP disconnect MPTCP CI
2025-09-06 14:00   ` Matthieu Baerts

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox