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

Geliang Tang posted 4 patches 3 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/multipath-tcp/mptcp_net-next tags/patchew/cover.1722502941.git.tanggeliang@kylinos.cn
.../selftests/net/mptcp/mptcp_connect.c       | 163 +++++++++++++++++-
.../testing/selftests/net/mptcp/mptcp_join.sh |  19 ++
2 files changed, 177 insertions(+), 5 deletions(-)
[PATCH mptcp-next 0/4] add io thread mode tests
Posted by Geliang Tang 3 months ago
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(-)

-- 
2.43.0
Re: [PATCH mptcp-next 0/4] add io thread mode tests
Posted by MPTCP CI 3 months ago
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 🔴
- KVM Validation: btf (only bpftest_all): Success! ✅
- Task: https://github.com/multipath-tcp/mptcp_net-next/actions/runs/10195963580

Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/f33956e6e0f6
Patchwork: https://patchwork.kernel.org/project/mptcp/list/?series=875830


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)
Re: [PATCH mptcp-next 0/4] add io thread mode tests
Posted by Matthieu Baerts 3 months ago
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
-- 
Sponsored by the NGI0 Core fund.