From: Geliang Tang <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.
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 (14):
selftests: mptcp: sockopt: reseed RNG after fork
selftests: mptcp: sockopt: validate bytes_acked against sent bytes
selftests: mptcp: sockopt: use r and w for byte counts
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: read exact payload length
selftests: mptcp: sockopt: pass echo length over unixfd
selftests: mptcp: sockopt: set FIONREAD ioctl
selftests: mptcp: sockopt: add huge data transfer tests
selftests: mptcp: sockopt: wait ack for huge transfer
selftests: mptcp: sockopt: use recvmsg instead of read
selftests: mptcp: sockopt: get and verify TCP_INQ
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 | 415 ++++++++++--
.../selftests/net/mptcp/mptcp_sockopt.sh | 8 +-
5 files changed, 372 insertions(+), 667 deletions(-)
delete mode 100644 tools/testing/selftests/net/mptcp/mptcp_inq.c
--
2.53.0