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: 3ad14f54bd74 ("mptcp: more accurate MPC endpoint tracking")
Cc: [email protected]
Reviewed-by: Mat Martineau <[email protected]>
Signed-off-by: Matthieu Baerts (NGI0) <[email protected]>
---
 tools/testing/selftests/net/mptcp/mptcp_join.sh | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh 
b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 0ffa6f6b04e2..7708ac99ccb6 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -3611,20 +3611,23 @@ endpoint_tests()
                chk_subflow_nr "after no reject" 3
                chk_mptcp_info subflows 2 subflows 2
 
-               pm_nl_del_endpoint $ns2 1 10.0.1.2
-               sleep 0.5
-               chk_subflow_nr "after delete id 0" 2
-               chk_mptcp_info subflows 2 subflows 2 # only decr for additional 
sf
+               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 ($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_mptcp_info subflows 3 subflows 3
+                       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 ($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

-- 
2.45.2


Reply via email to