mbox series

[mptcp-next,0/4] add io thread mode tests

Message ID cover.1722502941.git.tanggeliang@kylinos.cn (mailing list archive)
Headers show
Series add io thread mode tests | expand

Message

Geliang Tang Aug. 1, 2024, 9:21 a.m. UTC
From: Geliang Tang <tanggeliang@kylinos.cn>

Related to #487 (send() fails with EAGAIN in blocking IO mode). In the
comment of this issue, I added a test named mptcp_eagain_reproducer.c to
reproduce these EAGAIN errors. It uses the same thread mode to send and
receive data as MPTCP sched BPF selftests (in network_helpers.c).

It looks like this type of data transfer is not covered by MPTCP selftests,
so this patchset adds them. The code is all from mptcp_eagain_reproducer.c,
just added into mptcp_connect and mptcp_join.

It is helpful to reproduce and solve #487 issue, and can also provide MPTCP
stability testing in the future.

Geliang Tang (4):
  selftests: mptcp: add cfg_timeo for mptcp_connect
  selftests: mptcp: add io thread mode for mptcp_connect
  selftests: mptcp: enable io thread mode
  selftests: mptcp: join: add io thread tests

 .../selftests/net/mptcp/mptcp_connect.c       | 163 +++++++++++++++++-
 .../testing/selftests/net/mptcp/mptcp_join.sh |  19 ++
 2 files changed, 177 insertions(+), 5 deletions(-)

Comments

Matthieu Baerts (NGI0) Aug. 1, 2024, 10:03 a.m. UTC | #1
Hi Geliang,

On 01/08/2024 11:21, Geliang Tang wrote:
> From: Geliang Tang <tanggeliang@kylinos.cn>
> 
> Related to #487 (send() fails with EAGAIN in blocking IO mode). In the
> comment of this issue, I added a test named mptcp_eagain_reproducer.c to
> reproduce these EAGAIN errors. It uses the same thread mode to send and
> receive data as MPTCP sched BPF selftests (in network_helpers.c).
> 
> It looks like this type of data transfer is not covered by MPTCP selftests,
> so this patchset adds them. The code is all from mptcp_eagain_reproducer.c,
> just added into mptcp_connect and mptcp_join.
> 
> It is helpful to reproduce and solve #487 issue, and can also provide MPTCP
> stability testing in the future.

Good idea to have this covered!

I guess we need to wait for a fix before accepting this series, right?

By chance, did you try to reproduce the issue with packetdrill? That
might be quicker and more reliable to reproduce the issue, no?

I have some comments, please see my other emails.

Cheers,
Matt
MPTCP CI Aug. 1, 2024, 10:24 a.m. UTC | #2
Hi Geliang,

Thank you for your modifications, that's great!

Our CI did some validations and here is its report:

- KVM Validation: normal: Success! ✅
- KVM Validation: debug: Unstable: 2 failed test(s): mptcp_connect_mmap selftest_mptcp_join