Commit d397d724 authored by Matthieu Baerts (NGI0)'s avatar Matthieu Baerts (NGI0) Committed by Paolo Abeni
Browse files

selftests: mptcp: join: check re-re-adding ID 0 endp



This test extends "delete and re-add" to validate the previous commit:
when the endpoint linked to the initial subflow (ID 0) is re-added
multiple times, it was no longer being used, because the internal linked
counters are not decremented for this special endpoint: it is not an
additional endpoint.

Here, the "del/add id 0" steps are done 3 times to unsure this case is
validated.

The 'Fixes' tag here below is the same as the one from the previous
commit: this patch here is not fixing anything wrong in the selftests,
but it validates the previous fix for an issue introduced by this commit
ID.

Fixes: 3ad14f54 ("mptcp: more accurate MPC endpoint tracking")
Cc: stable@vger.kernel.org
Reviewed-by: default avatarMat Martineau <martineau@kernel.org>
Signed-off-by: default avatarMatthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 9366922a
Loading
Loading
Loading
Loading
+15 −12
Original line number Diff line number Diff line
@@ -3576,7 +3576,7 @@ endpoint_tests()
		pm_nl_set_limits $ns2 0 3
		pm_nl_add_endpoint $ns2 10.0.1.2 id 1 dev ns2eth1 flags subflow
		pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2 flags subflow
		test_linkfail=4 speed=20 \
		test_linkfail=4 speed=5 \
			run_tests $ns1 $ns2 10.0.1.1 &
		local tests_pid=$!

@@ -3608,20 +3608,23 @@ endpoint_tests()
		chk_subflow_nr "after no reject" 3
		chk_mptcp_info subflows 2 subflows 2

		local i
		for i in $(seq 3); do
			pm_nl_del_endpoint $ns2 1 10.0.1.2
			sleep 0.5
		chk_subflow_nr "after delete id 0" 2
			chk_subflow_nr "after delete id 0 ($i)" 2
			chk_mptcp_info subflows 2 subflows 2 # only decr for additional sf

			pm_nl_add_endpoint $ns2 10.0.1.2 id 1 dev ns2eth1 flags subflow
			wait_mpj $ns2
		chk_subflow_nr "after re-add id 0" 3
			chk_subflow_nr "after re-add id 0 ($i)" 3
			chk_mptcp_info subflows 3 subflows 3
		done

		mptcp_lib_kill_wait $tests_pid

		chk_join_nr 4 4 4
		chk_rm_nr 2 2
		chk_join_nr 6 6 6
		chk_rm_nr 4 4
	fi

	# remove and re-add