From: Geliang Tang <geliang@kernel.org>
To: mptcp@lists.linux.dev
Cc: Geliang Tang <tanggeliang@kylinos.cn>
Subject: [PATCH mptcp-next v11 00/11] selftests: consolidate TCP_INQ testing into sockopt
Date: Wed, 15 Jul 2026 10:48:46 +0800 [thread overview]
Message-ID: <cover.1784082850.git.tanggeliang@kylinos.cn> (raw)
From: Geliang Tang <tanggeliang@kylinos.cn>
v11:
- Drop "replace /dev/urandom with getrandom".
- Add check_stat_equal() helper to centralize and simplify MPTCP stats
validation.
- Fix cmsg_len format specifier in get_tcp_inq() (%u -> %zu) to match
size_t type.
- Fix format specifier in EOF error message (%lu -> %zd) for ssize_t
type.
- Add poll() with POLLRDHUP in client_huge_transfer() to wait for FIN
arrival before reading the final byte, preventing flaky EOF detection.
- Pass total to server_huge_transfer(), instead of len.
v10:
- Patch 1, a new fix.
- Patch 3, change the type of r/w as size_t.
- Patch 12, in client_huge_transfer(), do a blocking read for EOF on
unixfd instead of sleeping.
- https://patchwork.kernel.org/project/mptcp/cover/cover.1783994494.git.tanggeliang@kylinos.cn/
v9:
- No code changes compared to v8.
- To address Sashiko's complaints that the implementation of
server_huge_transfer() was split across several patches, the patch
order has been rearranged, some patches have been squashed into
fewer ones, and the commit logs have been updated.
- https://patchwork.kernel.org/project/mptcp/cover/cover.1783913010.git.tanggeliang@kylinos.cn/
v8:
- patch 2, a new patch to replace /dev/urandom with getrandom().
- patch 4, check against the accumulated total r instead of ret in
process_one_client().
- patch 7 and patch 9, update commit logs.
- https://patchwork.kernel.org/project/mptcp/cover/cover.1783849522.git.tanggeliang@kylinos.cn/
v7:
- Add a new patch to reseed RNG in child after fork.
- Add a new patch to fix bytes_acked validation against sent bytes.
- Add a new patch to use r/w for byte counts in process_one_client().
- Split v6-0004 into two separate patches: read exact payload length,
and pass len over unixfd.
- Change socketpair type from SOCK_DGRAM to SOCK_STREAM to avoid
indefinite blocking when peer exits.
- Fully initialize buf in server_huge_transfer() to silence MSAN/Valgrind
warnings.
- Use a union containing struct cmsghdr for control message buffers to
prevent unaligned access on strict-alignment architectures.
- Reorder and renumber patches accordingly.
- https://patchwork.kernel.org/project/mptcp/cover/cover.1783740443.git.tanggeliang@kylinos.cn/
v6:
- A new patch to use recvmsg instead of read.
- Squash the four original patches into two.
- Reset msg.msg_controllen.
- Check cmsg_len in get_tcp_inq.
- Check return value of client_huge_transfer.
- Address other comments from Sashiko.
- https://patchwork.kernel.org/project/mptcp/cover/cover.1783673158.git.tanggeliang@kylinos.cn/
v5:
- Continue using the approach from v3 and fix the instability issues.
This version has undergone extensive loop testing.
- The new two separate functions, server_huge_transfer() and
client_huge_transfer(), improve code structure.
- https://patchwork.kernel.org/project/mptcp/cover/cover.1783579976.git.tanggeliang@kylinos.cn/
v4:
- v3 changed the behavior of process_one_client and connect_one_server,
causing intermittent failures during loop testing. Revert to using the
v2 approach, along with some cleanups.
- https://patchwork.kernel.org/project/mptcp/cover/cover.1757686538.git.tanggeliang@kylinos.cn/
v3:
- No longer using process_one_client_inq() and connect_one_server_inq()
for switching; instead, the inq-related code has been merged into
process_one_client() and connect_one_server().
- https://patchwork.kernel.org/project/mptcp/cover/cover.1756200029.git.tanggeliang@kylinos.cn/
v2:
- patch 4, a new patch, add do_setsockopt_inq helper.
- cleanups.
- https://patchwork.kernel.org/project/mptcp/cover/cover.1754664106.git.tanggeliang@kylinos.cn/
v1:
- https://patchwork.kernel.org/project/mptcp/cover/cover.1754620968.git.tanggeliang@kylinos.cn/
This series consolidates the TCP_INQ test functionality from mptcp_inq
into mptcp_sockopt, simplifying the test suite while maintaining full
test coverage.
Geliang Tang (11):
selftests: mptcp: sockopt: reseed RNG after fork
selftests: mptcp: sockopt: use exact length in connect_one_server
selftests: mptcp: sockopt: add check_stat_equal helper
selftests: mptcp: sockopt: use size_t for byte counters
selftests: mptcp: sockopt: add tx/rx protocol options
selftests: mptcp: sockopt: add TCP_INQ test option
selftests: mptcp: sockopt: use unix socket instead of pipe
selftests: mptcp: sockopt: use recvmsg instead of read
selftests: mptcp: sockopt: get and verify TCP_INQ
selftests: mptcp: sockopt: add huge data transfer tests
selftests: mptcp: sockopt: replace mptcp_inq with sockopt
tools/testing/selftests/net/mptcp/.gitignore | 1 -
tools/testing/selftests/net/mptcp/Makefile | 1 -
tools/testing/selftests/net/mptcp/mptcp_inq.c | 614 ------------------
.../selftests/net/mptcp/mptcp_sockopt.c | 445 +++++++++++--
.../selftests/net/mptcp/mptcp_sockopt.sh | 8 +-
5 files changed, 392 insertions(+), 677 deletions(-)
delete mode 100644 tools/testing/selftests/net/mptcp/mptcp_inq.c
--
2.53.0
next reply other threads:[~2026-07-15 2:49 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-15 2:48 Geliang Tang [this message]
2026-07-15 2:48 ` [PATCH mptcp-next v11 01/11] selftests: mptcp: sockopt: reseed RNG after fork Geliang Tang
2026-07-15 2:48 ` [PATCH mptcp-next v11 02/11] selftests: mptcp: sockopt: use exact length in connect_one_server Geliang Tang
2026-07-15 2:48 ` [PATCH mptcp-next v11 03/11] selftests: mptcp: sockopt: add check_stat_equal helper Geliang Tang
2026-07-15 2:48 ` [PATCH mptcp-next v11 04/11] selftests: mptcp: sockopt: use size_t for byte counters Geliang Tang
2026-07-15 2:48 ` [PATCH mptcp-next v11 05/11] selftests: mptcp: sockopt: add tx/rx protocol options Geliang Tang
2026-07-15 2:48 ` [PATCH mptcp-next v11 06/11] selftests: mptcp: sockopt: add TCP_INQ test option Geliang Tang
2026-07-15 2:48 ` [PATCH mptcp-next v11 07/11] selftests: mptcp: sockopt: use unix socket instead of pipe Geliang Tang
2026-07-15 2:48 ` [PATCH mptcp-next v11 08/11] selftests: mptcp: sockopt: use recvmsg instead of read Geliang Tang
2026-07-15 2:48 ` [PATCH mptcp-next v11 09/11] selftests: mptcp: sockopt: get and verify TCP_INQ Geliang Tang
2026-07-15 2:48 ` [PATCH mptcp-next v11 10/11] selftests: mptcp: sockopt: add huge data transfer tests Geliang Tang
2026-07-15 2:48 ` [PATCH mptcp-next v11 11/11] selftests: mptcp: sockopt: replace mptcp_inq with sockopt Geliang Tang
2026-07-15 3:52 ` [PATCH mptcp-next v11 00/11] selftests: consolidate TCP_INQ testing into sockopt MPTCP CI
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1784082850.git.tanggeliang@kylinos.cn \
--to=geliang@kernel.org \
--cc=mptcp@lists.linux.dev \
--cc=tanggeliang@kylinos.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.