mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-19 07:39:54 +02:00
selftests: mptcp: join: check re-using ID of closed subflow
commit65fb58afa3
upstream. This test extends "delete and re-add" to validate the previous commit. A new 'subflow' endpoint is added, but the subflow request will be rejected. The result is that no subflow will be established from this address. Later, the endpoint is removed and re-added after having cleared the firewall rule. Before the previous commit, the client would not have been able to create this new subflow. While at it, extra checks have been added to validate the expected numbers of MPJ and RM_ADDR. 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:b6c0838086
("mptcp: remove addr and subflow in PM netlink") Cc: stable@vger.kernel.org Reviewed-by: Mat Martineau <martineau@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Link: https://patch.msgid.link/20240819-net-mptcp-pm-reusing-id-v1-4-38035d40de5b@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
f845af67e7
commit
ce2f28a549
|
@ -481,9 +481,10 @@ reset_with_tcp_filter()
|
|||
local ns="${!1}"
|
||||
local src="${2}"
|
||||
local target="${3}"
|
||||
local chain="${4:-INPUT}"
|
||||
|
||||
if ! ip netns exec "${ns}" ${iptables} \
|
||||
-A INPUT \
|
||||
-A "${chain}" \
|
||||
-s "${src}" \
|
||||
-p tcp \
|
||||
-j "${target}"; then
|
||||
|
@ -3575,10 +3576,10 @@ endpoint_tests()
|
|||
mptcp_lib_kill_wait $tests_pid
|
||||
fi
|
||||
|
||||
if reset "delete and re-add" &&
|
||||
if reset_with_tcp_filter "delete and re-add" ns2 10.0.3.2 REJECT OUTPUT &&
|
||||
mptcp_lib_kallsyms_has "subflow_rebuild_header$"; then
|
||||
pm_nl_set_limits $ns1 1 1
|
||||
pm_nl_set_limits $ns2 1 1
|
||||
pm_nl_set_limits $ns1 0 2
|
||||
pm_nl_set_limits $ns2 0 2
|
||||
pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2 flags subflow
|
||||
test_linkfail=4 speed=20 \
|
||||
run_tests $ns1 $ns2 10.0.1.1 &
|
||||
|
@ -3595,11 +3596,27 @@ endpoint_tests()
|
|||
chk_subflow_nr "after delete" 1
|
||||
chk_mptcp_info subflows 0 subflows 0
|
||||
|
||||
pm_nl_add_endpoint $ns2 10.0.2.2 dev ns2eth2 flags subflow
|
||||
pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2 flags subflow
|
||||
wait_mpj $ns2
|
||||
chk_subflow_nr "after re-add" 2
|
||||
chk_mptcp_info subflows 1 subflows 1
|
||||
|
||||
pm_nl_add_endpoint $ns2 10.0.3.2 id 3 flags subflow
|
||||
wait_attempt_fail $ns2
|
||||
chk_subflow_nr "after new reject" 2
|
||||
chk_mptcp_info subflows 1 subflows 1
|
||||
|
||||
ip netns exec "${ns2}" ${iptables} -D OUTPUT -s "10.0.3.2" -p tcp -j REJECT
|
||||
pm_nl_del_endpoint $ns2 3 10.0.3.2
|
||||
pm_nl_add_endpoint $ns2 10.0.3.2 id 3 flags subflow
|
||||
wait_mpj $ns2
|
||||
chk_subflow_nr "after no reject" 3
|
||||
chk_mptcp_info subflows 2 subflows 2
|
||||
|
||||
mptcp_lib_kill_wait $tests_pid
|
||||
|
||||
chk_join_nr 3 3 3
|
||||
chk_rm_nr 1 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user