[PATCH mptcp-next v2 4/9] selftests: mptcp: sockopt: set TCP_INQ on accepted sockets

Geliang Tang posted 9 patches 1 month, 1 week ago
There is a newer version of this series
[PATCH mptcp-next v2 4/9] selftests: mptcp: sockopt: set TCP_INQ on accepted sockets
Posted by Geliang Tang 1 month, 1 week ago
From: Geliang Tang <tanggeliang@kylinos.cn>

Add helper functions to conditionally set TCP_INQ sockopt on accepted
sockets when running in inq mode. This ensures proper testing of TCP_CM_INQ
functionality by enabling the required socket option on both ends of the
connection. This setup is necessary for validating TCP_CM_INQ behavior
during TCP_INQ-specific tests.

These codes are from mptcp_inq.c.

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
 .../testing/selftests/net/mptcp/mptcp_sockopt.c  | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.c b/tools/testing/selftests/net/mptcp/mptcp_sockopt.c
index 5ed8287a10e3..ce5d6b8c2d32 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.c
+++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.c
@@ -712,6 +712,20 @@ static void process_one_client(int fd, int pipefd)
 	close(fd);
 }
 
+static void do_setsockopt_inq(int fd)
+{
+	int on = 1;
+
+	if (-1 == setsockopt(fd, IPPROTO_TCP, TCP_INQ, &on, sizeof(on)))
+		die_perror("setsockopt(TCP_INQ)");
+}
+
+static void do_setsockopts_accept(int fd)
+{
+	if (inq)
+		do_setsockopt_inq(fd);
+}
+
 static int xaccept(int s)
 {
 	int fd = accept(s, NULL, 0);
@@ -719,6 +733,8 @@ static int xaccept(int s)
 	if (fd < 0)
 		die_perror("accept");
 
+	do_setsockopts_accept(fd);
+
 	return fd;
 }
 
-- 
2.48.1