summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeliang Tang <geliang.tang@suse.com>2022-03-04 11:36:33 -0800
committerJakub Kicinski <kuba@kernel.org>2022-03-04 21:54:31 -0800
commit01542c9bf9ab04493e027f55b5e0d5fdfdc1780f (patch)
treec9ebd3619ac874539d98a303dc59658e2ca6da04
parent34b572b76fecbcc4f209f87269a07ccb9872f6f2 (diff)
selftests: mptcp: add fastclose testcase
This patch added the self test for MP_FASTCLOSE. Reused the argument addr_nr_ns2 of do_transfer() to pass the extra arguments '-I 2' to mptcp_connect commands. Then mptcp_connect disconnected the connections to trigger the MP_FASTCLOSE sending and receiving. Used chk_fclose_nr to check the MP_FASTCLOSE mibs and used chk_rst_nr to check the MP_RST mibs. This test used the test_linkfail value to make 1024KB test files. The output looks like this: Created /tmp/tmp.XB8sfv1hJ0 (size 1024 KB) containing data sent by client Created /tmp/tmp.RtTDbzqrXI (size 1024 KB) containing data sent by server 001 fastclose test syn[ ok ] - synack[ ok ] - ack[ ok ] ctx[ ok ] - fclzrx[ ok ] rtx[ ok ] - rstrx [ ok ] invert Signed-off-by: Geliang Tang <geliang.tang@suse.com> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rwxr-xr-xtools/testing/selftests/net/mptcp/mptcp_join.sh22
1 files changed, 21 insertions, 1 deletions
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 1fda29d5d69f..4604dd13a87e 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -452,6 +452,12 @@ do_transfer()
extra_args="-r ${speed:6}"
fi
+ if [[ "${addr_nr_ns2}" = "fastclose_"* ]]; then
+ # disconnect
+ extra_args="$extra_args -I ${addr_nr_ns2:10}"
+ addr_nr_ns2=0
+ fi
+
local local_addr
if is_v6 "${connect_addr}"; then
local_addr="::"
@@ -2196,6 +2202,15 @@ fullmesh_tests()
chk_rm_nr 0 1
}
+fastclose_tests()
+{
+ reset
+ run_tests $ns1 $ns2 10.0.1.1 1024 0 fastclose_2
+ chk_join_nr "fastclose test" 0 0 0
+ chk_fclose_nr 1 1
+ chk_rst_nr 1 1 invert
+}
+
all_tests()
{
subflows_tests
@@ -2213,6 +2228,7 @@ all_tests()
checksum_tests
deny_join_id0_tests
fullmesh_tests
+ fastclose_tests
}
# [$1: error message]
@@ -2239,6 +2255,7 @@ usage()
echo " -S checksum_tests"
echo " -d deny_join_id0_tests"
echo " -m fullmesh_tests"
+ echo " -z fastclose_tests"
echo " -c capture pcap files"
echo " -C enable data checksum"
echo " -i use ip mptcp"
@@ -2270,7 +2287,7 @@ if [ $do_all_tests -eq 1 ]; then
exit $ret
fi
-while getopts 'fesltra64bpkdmchCSi' opt; do
+while getopts 'fesltra64bpkdmchzCSi' opt; do
case $opt in
f)
subflows_tests
@@ -2317,6 +2334,9 @@ while getopts 'fesltra64bpkdmchCSi' opt; do
m)
fullmesh_tests
;;
+ z)
+ fastclose_tests
+ ;;
c)
;;
C)