From: Geliang Tang <tanggeliang@kylinos.cn>
Adjust connection handling to accommodate MD5-enabled connections:
1. Skip getsockopt checks during MD5 tests
2. Relax rcv_delta validation for MD5 connections
3. Add proper conditional checks for MD5 test scenarios
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
tools/testing/selftests/net/mptcp/mptcp_sockopt.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.c b/tools/testing/selftests/net/mptcp/mptcp_sockopt.c
index 72c1f6016e97..6a9240b01ea7 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.c
+++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.c
@@ -648,6 +648,9 @@ static void do_getsockopt_mptcp_full_info(struct so_state *s, int fd)
static void do_getsockopts(struct so_state *s, int fd, size_t r, size_t w)
{
+ if (md5)
+ return;
+
do_getsockopt_mptcp_info(s, fd, w);
do_getsockopt_tcp_info(s, fd, r, w);
@@ -723,7 +726,8 @@ static void connect_one_server(int fd, int pipefd)
if (eof)
total += 1; /* sequence advances due to FIN */
- assert(s.mptcpi_rcv_delta == (uint64_t)total);
+ if (s.mptcpi_rcv_delta)
+ assert(s.mptcpi_rcv_delta == (uint64_t)total);
close(fd);
}
@@ -868,7 +872,8 @@ static void process_one_client(int fd, int pipefd)
xerror("expected EOF, got %lu", ret3);
do_getsockopts(&s, fd, ret, ret2);
- if (s.mptcpi_rcv_delta != (uint64_t)ret + 1)
+ if (s.mptcpi_rcv_delta &&
+ s.mptcpi_rcv_delta != (uint64_t)ret + 1)
xerror("mptcpi_rcv_delta %" PRIu64 ", expect %" PRIu64, s.mptcpi_rcv_delta, ret + 1, s.mptcpi_rcv_delta - ret);
/* be nice when running on top of older kernel */
--
2.48.1