selftests: mptcp: join: no RST when rm subflow/addr

commit 2cfaa8b3b7aece3c7b13dd10db20dcea65875692 upstream.

Recently, we noticed that some RST were wrongly generated when removing
the initial subflow.

This patch makes sure RST are not sent when removing any subflows or any
addresses.

Fixes: c2b2ae3925b6 ("mptcp: handle correctly disconnect() failures")
Cc: stable@vger.kernel.org
Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Matthieu Baerts <matttbe@kernel.org>
Signed-off-by: Mat Martineau <martineau@kernel.org>
Link: https://lore.kernel.org/r/20231018-send-net-20231018-v1-5-17ecb002e41d@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Matthieu Baerts <matttbe@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Matthieu Baerts 2023-10-18 11:23:56 -07:00 committed by Greg Kroah-Hartman
parent 0e0123e0e5
commit 7f5bb254be

View file

@ -2263,6 +2263,7 @@ remove_tests()
run_tests $ns1 $ns2 10.0.1.1 0 0 -1 slow run_tests $ns1 $ns2 10.0.1.1 0 0 -1 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_rm_nr 1 1 chk_rm_nr 1 1
chk_rst_nr 0 0
fi fi
# multiple subflows, remove # multiple subflows, remove
@ -2274,6 +2275,7 @@ remove_tests()
run_tests $ns1 $ns2 10.0.1.1 0 0 -2 slow run_tests $ns1 $ns2 10.0.1.1 0 0 -2 slow
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_rm_nr 2 2 chk_rm_nr 2 2
chk_rst_nr 0 0
fi fi
# single address, remove # single address, remove
@ -2285,6 +2287,7 @@ remove_tests()
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 1 1 chk_add_nr 1 1
chk_rm_nr 1 1 invert chk_rm_nr 1 1 invert
chk_rst_nr 0 0
fi fi
# subflow and signal, remove # subflow and signal, remove
@ -2297,6 +2300,7 @@ remove_tests()
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_add_nr 1 1 chk_add_nr 1 1
chk_rm_nr 1 1 chk_rm_nr 1 1
chk_rst_nr 0 0
fi fi
# subflows and signal, remove # subflows and signal, remove
@ -2310,6 +2314,7 @@ remove_tests()
chk_join_nr 3 3 3 chk_join_nr 3 3 3
chk_add_nr 1 1 chk_add_nr 1 1
chk_rm_nr 2 2 chk_rm_nr 2 2
chk_rst_nr 0 0
fi fi
# addresses remove # addresses remove
@ -2323,6 +2328,7 @@ remove_tests()
chk_join_nr 3 3 3 chk_join_nr 3 3 3
chk_add_nr 3 3 chk_add_nr 3 3
chk_rm_nr 3 3 invert chk_rm_nr 3 3 invert
chk_rst_nr 0 0
fi fi
# invalid addresses remove # invalid addresses remove
@ -2336,6 +2342,7 @@ remove_tests()
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 3 3 chk_add_nr 3 3
chk_rm_nr 3 1 invert chk_rm_nr 3 1 invert
chk_rst_nr 0 0
fi fi
# subflows and signal, flush # subflows and signal, flush
@ -2349,6 +2356,7 @@ remove_tests()
chk_join_nr 3 3 3 chk_join_nr 3 3 3
chk_add_nr 1 1 chk_add_nr 1 1
chk_rm_nr 1 3 invert simult chk_rm_nr 1 3 invert simult
chk_rst_nr 0 0
fi fi
# subflows flush # subflows flush
@ -2366,6 +2374,7 @@ remove_tests()
else else
chk_rm_nr 3 3 chk_rm_nr 3 3
fi fi
chk_rst_nr 0 0
fi fi
# addresses flush # addresses flush
@ -2379,6 +2388,7 @@ remove_tests()
chk_join_nr 3 3 3 chk_join_nr 3 3 3
chk_add_nr 3 3 chk_add_nr 3 3
chk_rm_nr 3 3 invert simult chk_rm_nr 3 3 invert simult
chk_rst_nr 0 0
fi fi
# invalid addresses flush # invalid addresses flush
@ -2392,6 +2402,7 @@ remove_tests()
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 3 3 chk_add_nr 3 3
chk_rm_nr 3 1 invert chk_rm_nr 3 1 invert
chk_rst_nr 0 0
fi fi
# remove id 0 subflow # remove id 0 subflow
@ -2402,6 +2413,7 @@ remove_tests()
run_tests $ns1 $ns2 10.0.1.1 0 0 -9 slow run_tests $ns1 $ns2 10.0.1.1 0 0 -9 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_rm_nr 1 1 chk_rm_nr 1 1
chk_rst_nr 0 0
fi fi
# remove id 0 address # remove id 0 address
@ -2413,6 +2425,7 @@ remove_tests()
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 1 1 chk_add_nr 1 1
chk_rm_nr 1 1 invert chk_rm_nr 1 1 invert
chk_rst_nr 0 0 invert
fi fi
} }