Commit 01542c9b authored by Geliang Tang's avatar Geliang Tang Committed by Jakub Kicinski

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: default avatarGeliang Tang <geliang.tang@suse.com>
Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 34b572b7
...@@ -452,6 +452,12 @@ do_transfer() ...@@ -452,6 +452,12 @@ do_transfer()
extra_args="-r ${speed:6}" extra_args="-r ${speed:6}"
fi 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 local local_addr
if is_v6 "${connect_addr}"; then if is_v6 "${connect_addr}"; then
local_addr="::" local_addr="::"
...@@ -2196,6 +2202,15 @@ fullmesh_tests() ...@@ -2196,6 +2202,15 @@ fullmesh_tests()
chk_rm_nr 0 1 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() all_tests()
{ {
subflows_tests subflows_tests
...@@ -2213,6 +2228,7 @@ all_tests() ...@@ -2213,6 +2228,7 @@ all_tests()
checksum_tests checksum_tests
deny_join_id0_tests deny_join_id0_tests
fullmesh_tests fullmesh_tests
fastclose_tests
} }
# [$1: error message] # [$1: error message]
...@@ -2239,6 +2255,7 @@ usage() ...@@ -2239,6 +2255,7 @@ usage()
echo " -S checksum_tests" echo " -S checksum_tests"
echo " -d deny_join_id0_tests" echo " -d deny_join_id0_tests"
echo " -m fullmesh_tests" echo " -m fullmesh_tests"
echo " -z fastclose_tests"
echo " -c capture pcap files" echo " -c capture pcap files"
echo " -C enable data checksum" echo " -C enable data checksum"
echo " -i use ip mptcp" echo " -i use ip mptcp"
...@@ -2270,7 +2287,7 @@ if [ $do_all_tests -eq 1 ]; then ...@@ -2270,7 +2287,7 @@ if [ $do_all_tests -eq 1 ]; then
exit $ret exit $ret
fi fi
while getopts 'fesltra64bpkdmchCSi' opt; do while getopts 'fesltra64bpkdmchzCSi' opt; do
case $opt in case $opt in
f) f)
subflows_tests subflows_tests
...@@ -2317,6 +2334,9 @@ while getopts 'fesltra64bpkdmchCSi' opt; do ...@@ -2317,6 +2334,9 @@ while getopts 'fesltra64bpkdmchCSi' opt; do
m) m)
fullmesh_tests fullmesh_tests
;; ;;
z)
fastclose_tests
;;
c) c)
;; ;;
C) C)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment