From: Geliang Tang <tanggeliang@kylinos.cn>
Extend KTLS testing to cover MPTCP protocol by adding:
- MPTCP-specific TLS test scenarios for IPv4 and IPv6
- Adjustments to handle MPTCP-specific behavior in test validation
- Skip certain checks that don't apply to TLS-enabled connections
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
tools/testing/selftests/net/mptcp/mptcp_sockopt.c | 5 ++++-
tools/testing/selftests/net/mptcp/mptcp_sockopt.sh | 12 ++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.c b/tools/testing/selftests/net/mptcp/mptcp_sockopt.c
index 8058b1fd5a35..96cba6df6a56 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.c
+++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.c
@@ -623,6 +623,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 (tls)
+ return;
+
do_getsockopt_mptcp_info(s, fd, w);
do_getsockopt_tcp_info(s, fd, r, w);
@@ -730,7 +733,7 @@ static void process_one_client(int fd, int pipefd)
/* wait for hangup */
ret3 = read(fd, buf, 1);
- if (ret3 != 0)
+ if (!tls && ret3 != 0)
xerror("expected EOF, got %lu", ret3);
do_getsockopts(&s, fd, ret, ret2);
diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
index 4d6ab4a63e3f..8840be8adea3 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
@@ -382,6 +382,18 @@ do_tls_tests()
fi
do_tls_test -6 -c -t tcp -r tcp
lret=$?
+ if [ $lret -ne 0 ] ; then
+ return $lret
+ fi
+
+ # MPTCP KTLS
+ do_tls_test -c
+ lret=$?
+ if [ $lret -ne 0 ] ; then
+ return $lret
+ fi
+ do_tls_test -6 -c
+ lret=$?
return $lret
}
--
2.51.0