From: Geliang Tang <tanggeliang@kylinos.cn>
The mptcp tests for tls.c is available now, this patch adds mptcp_tls.sh
to test it in the MPTCP CI by default.
Co-developed-by: Gang Yan <yangang@kylinos.cn>
Signed-off-by: Gang Yan <yangang@kylinos.cn>
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
tools/testing/selftests/net/mptcp/Makefile | 2 +
tools/testing/selftests/net/mptcp/config | 3 ++
.../testing/selftests/net/mptcp/mptcp_tls.sh | 53 +++++++++++++++++++
tools/testing/selftests/net/mptcp/tls.c | 1 +
4 files changed, 59 insertions(+)
create mode 100755 tools/testing/selftests/net/mptcp/mptcp_tls.sh
create mode 120000 tools/testing/selftests/net/mptcp/tls.c
diff --git a/tools/testing/selftests/net/mptcp/Makefile b/tools/testing/selftests/net/mptcp/Makefile
index 22ba0da2adb8..f7c959a25b3b 100644
--- a/tools/testing/selftests/net/mptcp/Makefile
+++ b/tools/testing/selftests/net/mptcp/Makefile
@@ -14,6 +14,7 @@ TEST_PROGS := \
mptcp_connect_splice.sh \
mptcp_join.sh \
mptcp_sockopt.sh \
+ mptcp_tls.sh \
pm_netlink.sh \
simult_flows.sh \
userspace_pm.sh \
@@ -25,6 +26,7 @@ TEST_GEN_FILES := \
mptcp_inq \
mptcp_sockopt \
pm_nl_ctl \
+ tls \
# end of TEST_GEN_FILES
TEST_FILES := \
diff --git a/tools/testing/selftests/net/mptcp/config b/tools/testing/selftests/net/mptcp/config
index 18bd29ac5b24..471c7e0ba2be 100644
--- a/tools/testing/selftests/net/mptcp/config
+++ b/tools/testing/selftests/net/mptcp/config
@@ -35,3 +35,6 @@ CONFIG_NFT_TPROXY=m
CONFIG_SYN_COOKIES=y
CONFIG_VETH=y
CONFIG_TLS=y
+CONFIG_CRYPTO_ARIA=y
+CONFIG_CRYPTO_CHACHA20POLY1305=m
+CONFIG_CRYPTO_SM4_GENERIC=y
diff --git a/tools/testing/selftests/net/mptcp/mptcp_tls.sh b/tools/testing/selftests/net/mptcp/mptcp_tls.sh
new file mode 100755
index 000000000000..9d928a3a5ed4
--- /dev/null
+++ b/tools/testing/selftests/net/mptcp/mptcp_tls.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+
+. "$(dirname "${0}")/mptcp_lib.sh"
+
+ret=0
+ns1=""
+
+cleanup()
+{
+ if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then
+ kill "$pid" 2>/dev/null
+ wait "$pid" 2>/dev/null
+ fi
+
+ mptcp_lib_ns_exit "$ns1"
+}
+
+init()
+{
+ mptcp_lib_ns_init ns1
+
+ mptcp_lib_pm_nl_set_limits "$ns1" 8 8
+
+ local i
+ for i in $(seq 1 4); do
+ mptcp_lib_pm_nl_add_endpoint "$ns1" \
+ "127.0.0.1" flags signal port 1000"$i"
+ done
+}
+
+init
+trap cleanup EXIT
+
+ip netns exec "$ns1" ./tls -v 12_aes_gcm_mptcp \
+ -v 13_aes_gcm_mptcp \
+ -v 12_chacha_mptcp \
+ -v 13_chacha_mptcp \
+ -v 13_sm4_gcm_mptcp \
+ -v 13_sm4_ccm_mptcp \
+ -v 12_aes_ccm_mptcp \
+ -v 13_aes_ccm_mptcp \
+ -v 12_aes_gcm_256_mptcp \
+ -v 13_aes_gcm_256_mptcp \
+ -v 13_nopad_mptcp \
+ -v 12_aria_gcm_mptcp \
+ -v 12_aria_gcm_256_mptcp &
+pid=$!
+wait $pid
+ret=$?
+
+mptcp_lib_result_print_all_tap
+exit $ret
diff --git a/tools/testing/selftests/net/mptcp/tls.c b/tools/testing/selftests/net/mptcp/tls.c
new file mode 120000
index 000000000000..724b1f047c89
--- /dev/null
+++ b/tools/testing/selftests/net/mptcp/tls.c
@@ -0,0 +1 @@
+../tls.c
\ No newline at end of file
--
2.53.0