Commit 9095ce97 authored by Geliang Tang's avatar Geliang Tang Committed by David S. Miller
Browse files

selftests: mptcp: add mptcp_info tests

This patch adds the mptcp_info fields tests in endpoint_tests(). Add a
new function chk_mptcp_info() to check the given number of the given
mptcp_info field.

Link: https://github.com/multipath-tcp/mptcp_net-next/issues/330


Signed-off-by: default avatarGeliang Tang <geliang.tang@suse.com>
Reviewed-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e925a032
Loading
Loading
Loading
Loading
+46 −1
Original line number Diff line number Diff line
@@ -1719,6 +1719,46 @@ chk_subflow_nr()
	fi
}

chk_mptcp_info()
{
	local nr_info=$1
	local info
	local cnt1
	local cnt2
	local dump_stats

	if [[ $nr_info = "subflows_"* ]]; then
		info="subflows"
		nr_info=${nr_info:9}
	else
		echo "[fail] unsupported argument: $nr_info"
		fail_test
		return 1
	fi

	printf "%-${nr_blank}s %-30s" " " "mptcp_info $info=$nr_info"

	cnt1=$(ss -N $ns1 -inmHM | grep "$info:" |
		sed -n 's/.*\('"$info"':\)\([[:digit:]]*\).*$/\2/p;q')
	[ -z "$cnt1" ] && cnt1=0
	cnt2=$(ss -N $ns2 -inmHM | grep "$info:" |
		sed -n 's/.*\('"$info"':\)\([[:digit:]]*\).*$/\2/p;q')
	[ -z "$cnt2" ] && cnt2=0
	if [ "$cnt1" != "$nr_info" ] || [ "$cnt2" != "$nr_info" ]; then
		echo "[fail] got $cnt1:$cnt2 $info expected $nr_info"
		fail_test
		dump_stats=1
	else
		echo "[ ok ]"
	fi

	if [ "$dump_stats" = 1 ]; then
		ss -N $ns1 -inmHM
		ss -N $ns2 -inmHM
		dump_stats
	fi
}

chk_link_usage()
{
	local ns=$1
@@ -3118,13 +3158,18 @@ endpoint_tests()
		run_tests $ns1 $ns2 10.0.1.1 4 0 0 speed_20 2>/dev/null &

		wait_mpj $ns2
		chk_subflow_nr needtitle "before delete" 2
		chk_mptcp_info subflows_1

		pm_nl_del_endpoint $ns2 2 10.0.2.2
		sleep 0.5
		chk_subflow_nr needtitle "after delete" 1
		chk_subflow_nr "" "after delete" 1
		chk_mptcp_info subflows_0

		pm_nl_add_endpoint $ns2 10.0.2.2 dev ns2eth2 flags subflow
		wait_mpj $ns2
		chk_subflow_nr "" "after re-add" 2
		chk_mptcp_info subflows_1
		kill_tests_wait
	fi
}