selftests: mptcp: join: no RST when rm subflow/addr
authorMatthieu Baerts <matttbe@kernel.org>
Wed, 18 Oct 2023 18:23:56 +0000 (11:23 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Oct 2023 10:03:17 +0000 (12:03 +0200)
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>
tools/testing/selftests/net/mptcp/mptcp_join.sh

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