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)
committerJakub Kicinski <kuba@kernel.org>
Thu, 19 Oct 2023 16:10:00 +0000 (09:10 -0700)
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>
tools/testing/selftests/net/mptcp/mptcp_join.sh

index 2795367..dc895b7 100755 (executable)
@@ -2309,6 +2309,7 @@ remove_tests()
                chk_join_nr 1 1 1
                chk_rm_tx_nr 1
                chk_rm_nr 1 1
+               chk_rst_nr 0 0
        fi
 
        # multiple subflows, remove
@@ -2321,6 +2322,7 @@ remove_tests()
                        run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 2 2 2
                chk_rm_nr 2 2
+               chk_rst_nr 0 0
        fi
 
        # single address, remove
@@ -2333,6 +2335,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
@@ -2346,6 +2349,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
@@ -2360,6 +2364,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
@@ -2374,6 +2379,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
@@ -2388,6 +2394,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
@@ -2402,6 +2409,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
@@ -2421,6 +2429,7 @@ remove_tests()
                else
                        chk_rm_nr 3 3
                fi
+               chk_rst_nr 0 0
        fi
 
        # addresses flush
@@ -2435,6 +2444,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
@@ -2449,6 +2459,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
@@ -2460,6 +2471,7 @@ remove_tests()
                        run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 1 1 1
                chk_rm_nr 1 1
+               chk_rst_nr 0 0
        fi
 
        # remove id 0 address
@@ -2472,6 +2484,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
 }