Commit 6a0653b9 authored by Geliang Tang's avatar Geliang Tang Committed by David S. Miller
Browse files

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: default avatarPaolo Abeni <pabeni@redhat.com>
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 avatarDavid S. Miller <davem@davemloft.net>
parent c25d29be
Loading
Loading
Loading
Loading
+43 −6
Original line number Diff line number Diff line
@@ -289,7 +289,7 @@ do_transfer()
	addr_nr_ns1="$7"
	addr_nr_ns2="$8"
	speed="$9"
	bkup="${10}"
	sflags="${10}"

	port=$((10000+$TEST_COUNT))
	TEST_COUNT=$((TEST_COUNT+1))
@@ -461,14 +461,13 @@ do_transfer()
		fi
	fi

	if [ ! -z $bkup ]; then
	if [ ! -z $sflags ]; then
		sleep 1
		for netns in "$ns1" "$ns2"; do
			dump=(`ip netns exec $netns ./pm_nl_ctl dump`)
			if [ ${#dump[@]} -gt 0 ]; then
				addr=${dump[${#dump[@]} - 1]}
				backup="ip netns exec $netns ./pm_nl_ctl set $addr flags $bkup"
				$backup
				ip netns exec $netns ./pm_nl_ctl set $addr flags $sflags
			fi
		done
	fi
@@ -545,7 +544,7 @@ run_tests()
	addr_nr_ns1="${5:-0}"
	addr_nr_ns2="${6:-0}"
	speed="${7:-fast}"
	bkup="${8:-""}"
	sflags="${8:-""}"
	lret=0
	oldin=""

@@ -574,7 +573,7 @@ run_tests()
	fi

	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=$?
}

@@ -1888,6 +1887,44 @@ fullmesh_tests()
	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

	# 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()