selftests: mptcp: add fullmesh setting tests

This patch added the fullmesh setting and clearing selftests in
mptcp_join.sh.

Now we can set both backup and fullmesh flags, so avoid using the
words 'backup' and 'bkup'.

Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Geliang Tang 2022-02-02 17:03:43 -08:00 committed by David S. Miller
parent c25d29be00
commit 6a0653b96f

View file

@ -289,7 +289,7 @@ do_transfer()
addr_nr_ns1="$7" addr_nr_ns1="$7"
addr_nr_ns2="$8" addr_nr_ns2="$8"
speed="$9" speed="$9"
bkup="${10}" sflags="${10}"
port=$((10000+$TEST_COUNT)) port=$((10000+$TEST_COUNT))
TEST_COUNT=$((TEST_COUNT+1)) TEST_COUNT=$((TEST_COUNT+1))
@ -461,14 +461,13 @@ do_transfer()
fi fi
fi fi
if [ ! -z $bkup ]; then if [ ! -z $sflags ]; then
sleep 1 sleep 1
for netns in "$ns1" "$ns2"; do for netns in "$ns1" "$ns2"; do
dump=(`ip netns exec $netns ./pm_nl_ctl dump`) dump=(`ip netns exec $netns ./pm_nl_ctl dump`)
if [ ${#dump[@]} -gt 0 ]; then if [ ${#dump[@]} -gt 0 ]; then
addr=${dump[${#dump[@]} - 1]} addr=${dump[${#dump[@]} - 1]}
backup="ip netns exec $netns ./pm_nl_ctl set $addr flags $bkup" ip netns exec $netns ./pm_nl_ctl set $addr flags $sflags
$backup
fi fi
done done
fi fi
@ -545,7 +544,7 @@ run_tests()
addr_nr_ns1="${5:-0}" addr_nr_ns1="${5:-0}"
addr_nr_ns2="${6:-0}" addr_nr_ns2="${6:-0}"
speed="${7:-fast}" speed="${7:-fast}"
bkup="${8:-""}" sflags="${8:-""}"
lret=0 lret=0
oldin="" oldin=""
@ -574,7 +573,7 @@ run_tests()
fi fi
do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} \ do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} \
${test_linkfail} ${addr_nr_ns1} ${addr_nr_ns2} ${speed} ${bkup} ${test_linkfail} ${addr_nr_ns1} ${addr_nr_ns2} ${speed} ${sflags}
lret=$? lret=$?
} }
@ -1888,6 +1887,44 @@ fullmesh_tests()
run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_2 slow run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_2 slow
chk_join_nr "fullmesh test 1x2, limited" 4 4 4 chk_join_nr "fullmesh test 1x2, limited" 4 4 4
chk_add_nr 1 1 chk_add_nr 1 1
# set fullmesh flag
reset
ip netns exec $ns1 ./pm_nl_ctl limits 4 4
ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags subflow
ip netns exec $ns2 ./pm_nl_ctl limits 4 4
run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow fullmesh
chk_join_nr "set fullmesh flag test" 2 2 2
chk_rm_nr 0 1
# set nofullmesh flag
reset
ip netns exec $ns1 ./pm_nl_ctl limits 4 4
ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags subflow,fullmesh
ip netns exec $ns2 ./pm_nl_ctl limits 4 4
run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_1 slow nofullmesh
chk_join_nr "set nofullmesh flag test" 2 2 2
chk_rm_nr 0 1
# set backup,fullmesh flags
reset
ip netns exec $ns1 ./pm_nl_ctl limits 4 4
ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags subflow
ip netns exec $ns2 ./pm_nl_ctl limits 4 4
run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow backup,fullmesh
chk_join_nr "set backup,fullmesh flags test" 2 2 2
chk_prio_nr 0 1
chk_rm_nr 0 1
# set nobackup,nofullmesh flags
reset
ip netns exec $ns1 ./pm_nl_ctl limits 4 4
ip netns exec $ns2 ./pm_nl_ctl limits 4 4
ip netns exec $ns2 ./pm_nl_ctl add 10.0.2.2 flags subflow,backup,fullmesh
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow nobackup,nofullmesh
chk_join_nr "set nobackup,nofullmesh flags test" 2 2 2
chk_prio_nr 0 1
chk_rm_nr 0 1
} }
all_tests() all_tests()