From: Geliang Tang <tanggeliang@kylinos.cn>
Add a helper 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>
---
tools/testing/selftests/net/mptcp/mptcp_sockopt.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.c b/tools/testing/selftests/net/mptcp/mptcp_sockopt.c
index 776a017577ce..aadef8b0aea4 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.c
+++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.c
@@ -726,6 +726,14 @@ static int xaccept(int s)
return 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 int server(int ipcfd)
{
int fd = -1, r;
@@ -748,6 +756,9 @@ static int server(int ipcfd)
alarm(15);
r = xaccept(fd);
+ if (inq)
+ do_setsockopt_inq(r);
+
process_one_client(r, ipcfd);
close(fd);
--
2.48.1