Commit ae947bb2 authored by Matthieu Baerts's avatar Matthieu Baerts Committed by Jakub Kicinski
Browse files

selftests: mptcp: join: skip Fastclose tests if not supported

Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

One of them is the support of MP_FASTCLOSE introduced in commit
f284c0c7 ("mptcp: implement fastclose xmit path").

If the MIB counter is not available, the test cannot be verified and the
behaviour will not be the expected one. So we can skip the test if the
counter is missing.

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


Fixes: 01542c9b ("selftests: mptcp: add fastclose testcase")
Cc: stable@vger.kernel.org
Signed-off-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent d4c81bbb
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -261,6 +261,19 @@ reset()
	return 0
}

# $1: test name ; $2: counter to check
reset_check_counter()
{
	reset "${1}" || return 1

	local counter="${2}"

	if ! nstat -asz "${counter}" | grep -wq "${counter}"; then
		mark_as_skipped "counter '${counter}' is not available"
		return 1
	fi
}

# $1: test name
reset_with_cookies()
{
@@ -3121,14 +3134,14 @@ fullmesh_tests()

fastclose_tests()
{
	if reset "fastclose test"; then
	if reset_check_counter "fastclose test" "MPTcpExtMPFastcloseTx"; then
		run_tests $ns1 $ns2 10.0.1.1 1024 0 fastclose_client
		chk_join_nr 0 0 0
		chk_fclose_nr 1 1
		chk_rst_nr 1 1 invert
	fi

	if reset "fastclose server test"; then
	if reset_check_counter "fastclose server test" "MPTcpExtMPFastcloseRx"; then
		run_tests $ns1 $ns2 10.0.1.1 1024 0 fastclose_server
		chk_join_nr 0 0 0
		chk_fclose_nr 1 1 invert