Commit 4f49d633 authored by Geliang Tang's avatar Geliang Tang Committed by David S. Miller

selftests: mptcp: add fullmesh testcases

This patch added the testcases for the fullmesh address flag of the path
manager.
Co-developed-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: default avatarGeliang Tang <geliangtang@xiaomi.com>
Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 371b9037
...@@ -366,6 +366,12 @@ do_transfer() ...@@ -366,6 +366,12 @@ do_transfer()
fi fi
fi fi
flags="subflow"
if [[ "${addr_nr_ns2}" = "fullmesh_"* ]]; then
flags="${flags},fullmesh"
addr_nr_ns2=${addr_nr_ns2:9}
fi
if [ $addr_nr_ns2 -gt 0 ]; then if [ $addr_nr_ns2 -gt 0 ]; then
let add_nr_ns2=addr_nr_ns2 let add_nr_ns2=addr_nr_ns2
counter=3 counter=3
...@@ -377,7 +383,7 @@ do_transfer() ...@@ -377,7 +383,7 @@ do_transfer()
else else
addr="10.0.$counter.2" addr="10.0.$counter.2"
fi fi
ip netns exec $ns2 ./pm_nl_ctl add $addr flags subflow ip netns exec $ns2 ./pm_nl_ctl add $addr flags $flags
let counter+=1 let counter+=1
let add_nr_ns2-=1 let add_nr_ns2-=1
done done
...@@ -1686,6 +1692,55 @@ deny_join_id0_tests() ...@@ -1686,6 +1692,55 @@ deny_join_id0_tests()
chk_join_nr "subflow and address allow join id0 2" 1 1 1 chk_join_nr "subflow and address allow join id0 2" 1 1 1
} }
fullmesh_tests()
{
# fullmesh 1
# 2 fullmesh addrs in ns2, added before the connection,
# 1 non-fullmesh addr in ns1, added during the connection.
reset
ip netns exec $ns1 ./pm_nl_ctl limits 0 4
ip netns exec $ns2 ./pm_nl_ctl limits 1 4
ip netns exec $ns2 ./pm_nl_ctl add 10.0.2.2 flags subflow,fullmesh
ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow,fullmesh
run_tests $ns1 $ns2 10.0.1.1 0 1 0 slow
chk_join_nr "fullmesh test 2x1" 4 4 4
chk_add_nr 1 1
# fullmesh 2
# 1 non-fullmesh addr in ns1, added before the connection,
# 1 fullmesh addr in ns2, added during the connection.
reset
ip netns exec $ns1 ./pm_nl_ctl limits 1 3
ip netns exec $ns2 ./pm_nl_ctl limits 1 3
ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal
run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_1 slow
chk_join_nr "fullmesh test 1x1" 3 3 3
chk_add_nr 1 1
# fullmesh 3
# 1 non-fullmesh addr in ns1, added before the connection,
# 2 fullmesh addrs in ns2, added during the connection.
reset
ip netns exec $ns1 ./pm_nl_ctl limits 2 5
ip netns exec $ns2 ./pm_nl_ctl limits 1 5
ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal
run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_2 slow
chk_join_nr "fullmesh test 1x2" 5 5 5
chk_add_nr 1 1
# fullmesh 4
# 1 non-fullmesh addr in ns1, added before the connection,
# 2 fullmesh addrs in ns2, added during the connection,
# limit max_subflows to 4.
reset
ip netns exec $ns1 ./pm_nl_ctl limits 2 4
ip netns exec $ns2 ./pm_nl_ctl limits 1 4
ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal
run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_2 slow
chk_join_nr "fullmesh test 1x2, limited" 4 4 4
chk_add_nr 1 1
}
all_tests() all_tests()
{ {
subflows_tests subflows_tests
...@@ -1701,6 +1756,7 @@ all_tests() ...@@ -1701,6 +1756,7 @@ all_tests()
syncookies_tests syncookies_tests
checksum_tests checksum_tests
deny_join_id0_tests deny_join_id0_tests
fullmesh_tests
} }
usage() usage()
...@@ -1719,6 +1775,7 @@ usage() ...@@ -1719,6 +1775,7 @@ usage()
echo " -k syncookies_tests" echo " -k syncookies_tests"
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 " -c capture pcap files" echo " -c capture pcap files"
echo " -C enable data checksum" echo " -C enable data checksum"
echo " -h help" echo " -h help"
...@@ -1754,7 +1811,7 @@ if [ $do_all_tests -eq 1 ]; then ...@@ -1754,7 +1811,7 @@ if [ $do_all_tests -eq 1 ]; then
exit $ret exit $ret
fi fi
while getopts 'fsltra64bpkdchCS' opt; do while getopts 'fsltra64bpkdmchCS' opt; do
case $opt in case $opt in
f) f)
subflows_tests subflows_tests
...@@ -1795,6 +1852,9 @@ while getopts 'fsltra64bpkdchCS' opt; do ...@@ -1795,6 +1852,9 @@ while getopts 'fsltra64bpkdchCS' opt; do
d) d)
deny_join_id0_tests deny_join_id0_tests
;; ;;
m)
fullmesh_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