]> git.dujemihanovic.xyz Git - linux.git/commitdiff
selftests: mptcp: add explicit test case for remove/readd
authorPaolo Abeni <pabeni@redhat.com>
Sat, 27 Jul 2024 09:04:01 +0000 (11:04 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 29 Jul 2024 12:31:27 +0000 (13:31 +0100)
Delete and re-create a signal endpoint and ensure that the PM
actually deletes and re-create the subflow.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/mptcp/mptcp_join.sh

index 108aeeb84ef10a9ecba6239929d9e52c642a356f..9c091fc267c4c8c978e6ff4e74b705d3471ceecd 100755 (executable)
@@ -3526,6 +3526,35 @@ endpoint_tests()
                chk_mptcp_info subflows 1 subflows 1
                mptcp_lib_kill_wait $tests_pid
        fi
+
+       # remove and re-add
+       if reset "delete re-add signal" &&
+          mptcp_lib_kallsyms_has "subflow_rebuild_header$"; then
+               pm_nl_set_limits $ns1 1 1
+               pm_nl_set_limits $ns2 1 1
+               pm_nl_add_endpoint $ns1 10.0.2.1 id 1 flags signal
+               test_linkfail=4 speed=20 \
+                       run_tests $ns1 $ns2 10.0.1.1 &
+               local tests_pid=$!
+
+               wait_mpj $ns2
+               pm_nl_check_endpoint "creation" \
+                       $ns1 10.0.2.1 id 1 flags signal
+               chk_subflow_nr "before delete" 2
+               chk_mptcp_info subflows 1 subflows 1
+
+               pm_nl_del_endpoint $ns1 1 10.0.2.1
+               sleep 0.5
+               chk_subflow_nr "after delete" 1
+               chk_mptcp_info subflows 0 subflows 0
+
+               pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
+               wait_mpj $ns2
+               chk_subflow_nr "after re-add" 2
+               chk_mptcp_info subflows 1 subflows 1
+               mptcp_lib_kill_wait $tests_pid
+       fi
+
 }
 
 # [$1: error message]