* [Devel] [PATCH vz10 1/4] ms/selftests: mptcp: join: rm: set backup flag
@ 2026-09-16 12:17 Eva Kurchatova
2026-09-16 12:17 ` [Devel] [PATCH vz10 2/4] ms/selftests: mptcp: join: endpoints: longer transfer Eva Kurchatova
` (5 more replies)
0 siblings, 6 replies; 10+ messages in thread
From: Eva Kurchatova @ 2026-09-16 12:17 UTC (permalink / raw)
To: khorenko; +Cc: devel
From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
Some of these 'remove' tests rarely fail because a subflow has been
reset instead of cleanly removed. This can happen when one extra subflow
which has never carried data is being closed (FIN) on one side, while
the other is sending data for the first time.
To avoid such subflows to be used right at the end, the backup flag has
been added. With that, data will be only carried on the initial subflow.
Fixes: d2c4333a801c ("selftests: mptcp: add testcases for removing addrs")
Cc: stable@vger.kernel.org
Reviewed-by: Geliang Tang <geliang@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20251110-net-mptcp-sft-join-unstable-v1-2-a4332c714e10@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit aea73bae662a0e184393d6d7d0feb18d2577b9b9)
https://virtuozzo.atlassian.net/browse/VSTOR-139651
Feature: fix selftests
Signed-off-by: Eva Kurchatova <eva.kurchatova@virtuozzo.com>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 54 +++++++++----------
1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 2b08beb67f12..48af0da2bb6c 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -2337,7 +2337,7 @@ remove_tests()
if reset "remove single subflow"; then
pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 0 1
- pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
+ pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow,backup
addr_nr_ns2=-1 speed=slow \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 1 1 1
@@ -2350,8 +2350,8 @@ remove_tests()
if reset "remove multiple subflows"; then
pm_nl_set_limits $ns1 0 2
pm_nl_set_limits $ns2 0 2
- pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow
- pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
+ pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow,backup
+ pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow,backup
addr_nr_ns2=-2 speed=slow \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 2 2 2
@@ -2362,7 +2362,7 @@ remove_tests()
# single address, remove
if reset "remove single address"; then
pm_nl_set_limits $ns1 0 1
- pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
+ pm_nl_add_endpoint $ns1 10.0.2.1 flags signal,backup
pm_nl_set_limits $ns2 1 1
addr_nr_ns1=-1 speed=slow \
run_tests $ns1 $ns2 10.0.1.1
@@ -2375,9 +2375,9 @@ remove_tests()
# subflow and signal, remove
if reset "remove subflow and signal"; then
pm_nl_set_limits $ns1 0 2
- pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
+ pm_nl_add_endpoint $ns1 10.0.2.1 flags signal,backup
pm_nl_set_limits $ns2 1 2
- pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
+ pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow,backup
addr_nr_ns1=-1 addr_nr_ns2=-1 speed=slow \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 2 2 2
@@ -2389,10 +2389,10 @@ remove_tests()
# subflows and signal, remove
if reset "remove subflows and signal"; then
pm_nl_set_limits $ns1 0 3
- pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
+ pm_nl_add_endpoint $ns1 10.0.2.1 flags signal,backup
pm_nl_set_limits $ns2 1 3
- pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
- pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow
+ pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow,backup
+ pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow,backup
addr_nr_ns1=-1 addr_nr_ns2=-2 speed=10 \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 3 3 3
@@ -2404,9 +2404,9 @@ remove_tests()
# addresses remove
if reset "remove addresses"; then
pm_nl_set_limits $ns1 3 3
- pm_nl_add_endpoint $ns1 10.0.2.1 flags signal id 250
- pm_nl_add_endpoint $ns1 10.0.3.1 flags signal
- pm_nl_add_endpoint $ns1 10.0.4.1 flags signal
+ pm_nl_add_endpoint $ns1 10.0.2.1 flags signal,backup id 250
+ pm_nl_add_endpoint $ns1 10.0.3.1 flags signal,backup
+ pm_nl_add_endpoint $ns1 10.0.4.1 flags signal,backup
pm_nl_set_limits $ns2 3 3
addr_nr_ns1=-3 speed=10 \
run_tests $ns1 $ns2 10.0.1.1
@@ -2419,10 +2419,10 @@ remove_tests()
# invalid addresses remove
if reset "remove invalid addresses"; then
pm_nl_set_limits $ns1 3 3
- pm_nl_add_endpoint $ns1 10.0.12.1 flags signal
+ pm_nl_add_endpoint $ns1 10.0.12.1 flags signal,backup
# broadcast IP: no packet for this address will be received on ns1
- pm_nl_add_endpoint $ns1 224.0.0.1 flags signal
- pm_nl_add_endpoint $ns1 10.0.3.1 flags signal
+ pm_nl_add_endpoint $ns1 224.0.0.1 flags signal,backup
+ pm_nl_add_endpoint $ns1 10.0.3.1 flags signal,backup
pm_nl_set_limits $ns2 2 2
addr_nr_ns1=-3 speed=10 \
run_tests $ns1 $ns2 10.0.1.1
@@ -2436,10 +2436,10 @@ remove_tests()
# subflows and signal, flush
if reset "flush subflows and signal"; then
pm_nl_set_limits $ns1 0 3
- pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
+ pm_nl_add_endpoint $ns1 10.0.2.1 flags signal,backup
pm_nl_set_limits $ns2 1 3
- pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
- pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow
+ pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow,backup
+ pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow,backup
addr_nr_ns1=-8 addr_nr_ns2=-8 speed=slow \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 3 3 3
@@ -2452,9 +2452,9 @@ remove_tests()
if reset "flush subflows"; then
pm_nl_set_limits $ns1 3 3
pm_nl_set_limits $ns2 3 3
- pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow id 150
- pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
- pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow
+ pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow,backup id 150
+ pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow,backup
+ pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow,backup
addr_nr_ns1=-8 addr_nr_ns2=-8 speed=slow \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 3 3 3
@@ -2471,9 +2471,9 @@ remove_tests()
# addresses flush
if reset "flush addresses"; then
pm_nl_set_limits $ns1 3 3
- pm_nl_add_endpoint $ns1 10.0.2.1 flags signal id 250
- pm_nl_add_endpoint $ns1 10.0.3.1 flags signal
- pm_nl_add_endpoint $ns1 10.0.4.1 flags signal
+ pm_nl_add_endpoint $ns1 10.0.2.1 flags signal,backup id 250
+ pm_nl_add_endpoint $ns1 10.0.3.1 flags signal,backup
+ pm_nl_add_endpoint $ns1 10.0.4.1 flags signal,backup
pm_nl_set_limits $ns2 3 3
addr_nr_ns1=-8 addr_nr_ns2=-8 speed=slow \
run_tests $ns1 $ns2 10.0.1.1
@@ -2486,9 +2486,9 @@ remove_tests()
# invalid addresses flush
if reset "flush invalid addresses"; then
pm_nl_set_limits $ns1 3 3
- pm_nl_add_endpoint $ns1 10.0.12.1 flags signal
- pm_nl_add_endpoint $ns1 10.0.3.1 flags signal
- pm_nl_add_endpoint $ns1 10.0.14.1 flags signal
+ pm_nl_add_endpoint $ns1 10.0.12.1 flags signal,backup
+ pm_nl_add_endpoint $ns1 10.0.3.1 flags signal,backup
+ pm_nl_add_endpoint $ns1 10.0.14.1 flags signal,backup
pm_nl_set_limits $ns2 3 3
addr_nr_ns1=-8 speed=slow \
run_tests $ns1 $ns2 10.0.1.1
--
2.55.0
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 10+ messages in thread* [Devel] [PATCH vz10 2/4] ms/selftests: mptcp: join: endpoints: longer transfer
2026-09-16 12:17 [Devel] [PATCH vz10 1/4] ms/selftests: mptcp: join: rm: set backup flag Eva Kurchatova
@ 2026-09-16 12:17 ` Eva Kurchatova
2026-09-16 17:08 ` Konstantin Khorenko
2026-09-16 12:17 ` [Devel] [PATCH vz10 3/4] ms/selftests: mptcp: join: userspace: " Eva Kurchatova
` (4 subsequent siblings)
5 siblings, 1 reply; 10+ messages in thread
From: Eva Kurchatova @ 2026-09-16 12:17 UTC (permalink / raw)
To: khorenko; +Cc: devel
From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
In rare cases, when the test environment is very slow, some userspace
tests can fail because some expected events have not been seen.
Because the tests are expecting a long on-going connection, and they are
not waiting for the end of the transfer, it is fine to make the
connection longer. This connection will be killed at the end, after the
verifications, so making it longer doesn't change anything, apart from
avoid it to end before the end of the verifications
To play it safe, all endpoints tests not waiting for the end of the
transfer are now sharing a longer file (128KB) at slow speed.
Fixes: 69c6ce7b6eca ("selftests: mptcp: add implicit endpoint test case")
Cc: stable@vger.kernel.org
Fixes: e274f7154008 ("selftests: mptcp: add subflow limits test-cases")
Fixes: b5e2fb832f48 ("selftests: mptcp: add explicit test case for remove/readd")
Fixes: e06959e9eebd ("selftests: mptcp: join: test for flush/re-add endpoints")
Reviewed-by: Geliang Tang <geliang@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20251110-net-mptcp-sft-join-unstable-v1-3-a4332c714e10@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit 6457595db9870298ee30b6d75287b8548e33fe19)
https://virtuozzo.atlassian.net/browse/VSTOR-139651
Feature: fix selftests
Signed-off-by: Eva Kurchatova <eva.kurchatova@virtuozzo.com>
---
tools/testing/selftests/net/mptcp/mptcp_join.sh | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 48af0da2bb6c..7d27ed089ac9 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -3744,7 +3744,7 @@ endpoint_tests()
pm_nl_set_limits $ns1 2 2
pm_nl_set_limits $ns2 2 2
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
- { speed=slow \
+ { test_linkfail=128 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
local tests_pid=$!
@@ -3771,7 +3771,7 @@ endpoint_tests()
pm_nl_set_limits $ns2 0 3
pm_nl_add_endpoint $ns2 10.0.1.2 id 1 dev ns2eth1 flags subflow
pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2 flags subflow
- { test_linkfail=4 speed=5 \
+ { test_linkfail=128 speed=5 \
run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
local tests_pid=$!
@@ -3848,7 +3848,7 @@ endpoint_tests()
# broadcast IP: no packet for this address will be received on ns1
pm_nl_add_endpoint $ns1 224.0.0.1 id 2 flags signal
pm_nl_add_endpoint $ns1 10.0.1.1 id 42 flags signal
- { test_linkfail=4 speed=5 \
+ { test_linkfail=128 speed=5 \
run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
local tests_pid=$!
@@ -3921,7 +3921,7 @@ endpoint_tests()
# broadcast IP: no packet for this address will be received on ns1
pm_nl_add_endpoint $ns1 224.0.0.1 id 2 flags signal
pm_nl_add_endpoint $ns2 10.0.3.2 id 3 flags subflow
- { test_linkfail=4 speed=20 \
+ { test_linkfail=128 speed=20 \
run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
local tests_pid=$!
--
2.55.0
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [Devel] [PATCH vz10 2/4] ms/selftests: mptcp: join: endpoints: longer transfer
2026-09-16 12:17 ` [Devel] [PATCH vz10 2/4] ms/selftests: mptcp: join: endpoints: longer transfer Eva Kurchatova
@ 2026-09-16 17:08 ` Konstantin Khorenko
0 siblings, 0 replies; 10+ messages in thread
From: Konstantin Khorenko @ 2026-09-16 17:08 UTC (permalink / raw)
To: Eva Kurchatova; +Cc: devel
On Wed, 16 Sep 2026 15:17:35 +0300, Eva Kurchatova <eva.kurchatova@virtuozzo.com> wrote:
> In rare cases, when the test environment is very slow, some userspace
> tests can fail because some expected events have not been seen.
>
> Because the tests are expecting a long on-going connection, and they are
> not waiting for the end of the transfer, it is fine to make the
> connection longer. This connection will be killed at the end, after the
> verifications, so making it longer doesn't change anything, apart from
> avoid it to end before the end of the verifications
>
> [...]
Reviewed-by: Konstantin Khorenko <khorenko@virtuozzo.com>
--
Konstantin Khorenko <khorenko@virtuozzo.com>
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Devel] [PATCH vz10 3/4] ms/selftests: mptcp: join: userspace: longer transfer
2026-09-16 12:17 [Devel] [PATCH vz10 1/4] ms/selftests: mptcp: join: rm: set backup flag Eva Kurchatova
2026-09-16 12:17 ` [Devel] [PATCH vz10 2/4] ms/selftests: mptcp: join: endpoints: longer transfer Eva Kurchatova
@ 2026-09-16 12:17 ` Eva Kurchatova
2026-09-16 17:08 ` Konstantin Khorenko
2026-09-16 12:17 ` [Devel] [PATCH vz10 4/4] ms/selftests: mptcp: join: properly kill background tasks Eva Kurchatova
` (3 subsequent siblings)
5 siblings, 1 reply; 10+ messages in thread
From: Eva Kurchatova @ 2026-09-16 12:17 UTC (permalink / raw)
To: khorenko; +Cc: devel
From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
In rare cases, when the test environment is very slow, some userspace
tests can fail because some expected events have not been seen.
Because the tests are expecting a long on-going connection, and they are
not waiting for the end of the transfer, it is fine to make the
connection longer. This connection will be killed at the end, after the
verifications, so making it longer doesn't change anything, apart from
avoid it to end before the end of the verifications
To play it safe, all userspace tests not waiting for the end of the
transfer are now sharing a longer file (128KB) at slow speed.
Fixes: 4369c198e599 ("selftests: mptcp: test userspace pm out of transfer")
Cc: stable@vger.kernel.org
Fixes: b2e2248f365a ("selftests: mptcp: userspace pm create id 0 subflow")
Fixes: e3b47e460b4b ("selftests: mptcp: userspace pm remove initial subflow")
Fixes: b9fb176081fb ("selftests: mptcp: userspace pm send RM_ADDR for ID 0")
Reviewed-by: Geliang Tang <geliang@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20251110-net-mptcp-sft-join-unstable-v1-4-a4332c714e10@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit 290493078b96ce2ce3e60f55c23654acb678042a)
https://virtuozzo.atlassian.net/browse/VSTOR-139651
Feature: fix selftests
Signed-off-by: Eva Kurchatova <eva.kurchatova@virtuozzo.com>
---
tools/testing/selftests/net/mptcp/mptcp_join.sh | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 7d27ed089ac9..1b95d7be6aed 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -3607,7 +3607,7 @@ userspace_tests()
continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then
set_userspace_pm $ns1
pm_nl_set_limits $ns2 2 2
- { speed=5 \
+ { test_linkfail=128 speed=5 \
run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
local tests_pid=$!
wait_mpj $ns1
@@ -3640,7 +3640,7 @@ userspace_tests()
continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then
set_userspace_pm $ns2
pm_nl_set_limits $ns1 0 1
- { speed=5 \
+ { test_linkfail=128 speed=5 \
run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
local tests_pid=$!
wait_mpj $ns2
@@ -3668,7 +3668,7 @@ userspace_tests()
continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then
set_userspace_pm $ns2
pm_nl_set_limits $ns1 0 1
- { speed=5 \
+ { test_linkfail=128 speed=5 \
run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
local tests_pid=$!
wait_mpj $ns2
@@ -3689,7 +3689,7 @@ userspace_tests()
continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then
set_userspace_pm $ns2
pm_nl_set_limits $ns1 0 1
- { speed=5 \
+ { test_linkfail=128 speed=5 \
run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
local tests_pid=$!
wait_mpj $ns2
@@ -3713,7 +3713,7 @@ userspace_tests()
continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then
set_userspace_pm $ns1
pm_nl_set_limits $ns2 1 1
- { speed=5 \
+ { test_linkfail=128 speed=5 \
run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
local tests_pid=$!
wait_mpj $ns1
--
2.55.0
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [Devel] [PATCH vz10 3/4] ms/selftests: mptcp: join: userspace: longer transfer
2026-09-16 12:17 ` [Devel] [PATCH vz10 3/4] ms/selftests: mptcp: join: userspace: " Eva Kurchatova
@ 2026-09-16 17:08 ` Konstantin Khorenko
0 siblings, 0 replies; 10+ messages in thread
From: Konstantin Khorenko @ 2026-09-16 17:08 UTC (permalink / raw)
To: Eva Kurchatova; +Cc: devel
On Wed, 16 Sep 2026 15:17:36 +0300, Eva Kurchatova <eva.kurchatova@virtuozzo.com> wrote:
> In rare cases, when the test environment is very slow, some userspace
> tests can fail because some expected events have not been seen.
>
> Because the tests are expecting a long on-going connection, and they are
> not waiting for the end of the transfer, it is fine to make the
> connection longer. This connection will be killed at the end, after the
> verifications, so making it longer doesn't change anything, apart from
> avoid it to end before the end of the verifications
>
> [...]
Reviewed-by: Konstantin Khorenko <khorenko@virtuozzo.com>
--
Konstantin Khorenko <khorenko@virtuozzo.com>
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Devel] [PATCH vz10 4/4] ms/selftests: mptcp: join: properly kill background tasks
2026-09-16 12:17 [Devel] [PATCH vz10 1/4] ms/selftests: mptcp: join: rm: set backup flag Eva Kurchatova
2026-09-16 12:17 ` [Devel] [PATCH vz10 2/4] ms/selftests: mptcp: join: endpoints: longer transfer Eva Kurchatova
2026-09-16 12:17 ` [Devel] [PATCH vz10 3/4] ms/selftests: mptcp: join: userspace: " Eva Kurchatova
@ 2026-09-16 12:17 ` Eva Kurchatova
2026-09-16 17:08 ` Konstantin Khorenko
2026-09-16 17:08 ` [Devel] [PATCH vz10 1/4] ms/selftests: mptcp: join: rm: set backup flag Konstantin Khorenko
` (2 subsequent siblings)
5 siblings, 1 reply; 10+ messages in thread
From: Eva Kurchatova @ 2026-09-16 12:17 UTC (permalink / raw)
To: khorenko; +Cc: devel
From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
The 'run_tests' function is executed in the background, but killing its
associated PID would not kill the children tasks running in the
background.
To properly kill all background tasks, 'kill -- -PID' could be used, but
this requires kill from procps-ng. Instead, all children tasks are
listed using 'ps', and 'kill' is called with all PIDs of this group.
Fixes: 31ee4ad86afd ("selftests: mptcp: join: stop transfer when check is done (part 1)")
Cc: stable@vger.kernel.org
Fixes: 04b57c9e096a ("selftests: mptcp: join: stop transfer when check is done (part 2)")
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20251110-net-mptcp-sft-join-unstable-v1-6-a4332c714e10@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit 852b644acbce1529307a4bb283752c4e77b5cda7)
https://virtuozzo.atlassian.net/browse/VSTOR-139651
Feature: fix selftests
Signed-off-by: Eva Kurchatova <eva.kurchatova@virtuozzo.com>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 18 ++++++++--------
.../testing/selftests/net/mptcp/mptcp_lib.sh | 21 +++++++++++++++++++
2 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 1b95d7be6aed..43d1fe8a0857 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -3632,7 +3632,7 @@ userspace_tests()
chk_mptcp_info subflows 0 subflows 0
chk_subflows_total 1 1
kill_events_pids
- mptcp_lib_kill_wait $tests_pid
+ mptcp_lib_kill_group_wait $tests_pid
fi
# userspace pm create destroy subflow
@@ -3660,7 +3660,7 @@ userspace_tests()
chk_mptcp_info subflows 0 subflows 0
chk_subflows_total 1 1
kill_events_pids
- mptcp_lib_kill_wait $tests_pid
+ mptcp_lib_kill_group_wait $tests_pid
fi
# userspace pm create id 0 subflow
@@ -3681,7 +3681,7 @@ userspace_tests()
chk_mptcp_info subflows 1 subflows 1
chk_subflows_total 2 2
kill_events_pids
- mptcp_lib_kill_wait $tests_pid
+ mptcp_lib_kill_group_wait $tests_pid
fi
# userspace pm remove initial subflow
@@ -3705,7 +3705,7 @@ userspace_tests()
chk_mptcp_info subflows 1 subflows 1
chk_subflows_total 1 1
kill_events_pids
- mptcp_lib_kill_wait $tests_pid
+ mptcp_lib_kill_group_wait $tests_pid
fi
# userspace pm send RM_ADDR for ID 0
@@ -3731,7 +3731,7 @@ userspace_tests()
chk_mptcp_info subflows 1 subflows 1
chk_subflows_total 1 1
kill_events_pids
- mptcp_lib_kill_wait $tests_pid
+ mptcp_lib_kill_group_wait $tests_pid
fi
}
@@ -3761,7 +3761,7 @@ endpoint_tests()
pm_nl_add_endpoint $ns2 10.0.2.2 flags signal
pm_nl_check_endpoint "modif is allowed" \
$ns2 10.0.2.2 id 1 flags signal
- mptcp_lib_kill_wait $tests_pid
+ mptcp_lib_kill_group_wait $tests_pid
fi
if reset_with_tcp_filter "delete and re-add" ns2 10.0.3.2 REJECT OUTPUT &&
@@ -3816,7 +3816,7 @@ endpoint_tests()
chk_mptcp_info subflows 3 subflows 3
done
- mptcp_lib_kill_wait $tests_pid
+ mptcp_lib_kill_group_wait $tests_pid
kill_events_pids
chk_evt_nr ns1 MPTCP_LIB_EVENT_LISTENER_CREATED 1
@@ -3889,7 +3889,7 @@ endpoint_tests()
wait_mpj $ns2
chk_subflow_nr "after re-re-add ID 0" 3
chk_mptcp_info subflows 3 subflows 3
- mptcp_lib_kill_wait $tests_pid
+ mptcp_lib_kill_group_wait $tests_pid
kill_events_pids
chk_evt_nr ns1 MPTCP_LIB_EVENT_LISTENER_CREATED 1
@@ -3937,7 +3937,7 @@ endpoint_tests()
wait_mpj $ns2
pm_nl_add_endpoint $ns1 10.0.3.1 id 2 flags signal
wait_mpj $ns2
- mptcp_lib_kill_wait $tests_pid
+ mptcp_lib_kill_group_wait $tests_pid
join_syn_tx=3 join_connect_err=1 \
chk_join_nr 2 2 2
diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
index 43112e1c8c59..f3d921b4e2b6 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
@@ -327,6 +327,27 @@ mptcp_lib_kill_wait() {
wait "${1}" 2>/dev/null
}
+# $1: PID
+mptcp_lib_pid_list_children() {
+ local curr="${1}"
+ # evoke 'ps' only once
+ local pids="${2:-"$(ps o pid,ppid)"}"
+
+ echo "${curr}"
+
+ local pid
+ for pid in $(echo "${pids}" | awk "\$2 == ${curr} { print \$1 }"); do
+ mptcp_lib_pid_list_children "${pid}" "${pids}"
+ done
+}
+
+# $1: PID
+mptcp_lib_kill_group_wait() {
+ # Some users might not have procps-ng: cannot use "kill -- -PID"
+ mptcp_lib_pid_list_children "${1}" | xargs -r kill &>/dev/null
+ wait "${1}" 2>/dev/null
+}
+
# $1: IP address
mptcp_lib_is_v6() {
[ -z "${1##*:*}" ]
--
2.55.0
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [Devel] [PATCH vz10 1/4] ms/selftests: mptcp: join: rm: set backup flag
2026-09-16 12:17 [Devel] [PATCH vz10 1/4] ms/selftests: mptcp: join: rm: set backup flag Eva Kurchatova
` (2 preceding siblings ...)
2026-09-16 12:17 ` [Devel] [PATCH vz10 4/4] ms/selftests: mptcp: join: properly kill background tasks Eva Kurchatova
@ 2026-09-16 17:08 ` Konstantin Khorenko
2026-09-16 17:10 ` Konstantin Khorenko
2026-09-16 17:20 ` Konstantin Khorenko
5 siblings, 0 replies; 10+ messages in thread
From: Konstantin Khorenko @ 2026-09-16 17:08 UTC (permalink / raw)
To: Eva Kurchatova; +Cc: devel
> Some of these 'remove' tests rarely fail because a subflow has been
> reset instead of cleanly removed. This can happen when one extra subflow
> which has never carried data is being closed (FIN) on one side, while
> the other is sending data for the first time.
>
> To avoid such subflows to be used right at the end, the backup flag has
> been added. With that, data will be only carried on the initial subflow.
>
> Fixes: d2c4333a801c ("selftests: mptcp: add testcases for removing addrs")
> Cc: stable@vger.kernel.org
> Reviewed-by: Geliang Tang <geliang@kernel.org>
> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
> Link: https://patch.msgid.link/20251110-net-mptcp-sft-join-unstable-v1-2-a4332c714e10@kernel.org
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> (cherry picked from commit aea73bae662a0e184393d6d7d0feb18d2577b9b9)
>
> https://virtuozzo.atlassian.net/browse/VSTOR-139651
This link does not lead us to the test failure at all.
Please always use those bugs which have introduced the issue fix by the patch.
https://virtuozzo.atlassian.net/browse/VSTOR-145479
Reviewed-by: Konstantin Khorenko <khorenko@virtuozzo.com>
--
Konstantin Khorenko <khorenko@virtuozzo.com>
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [Devel] [PATCH vz10 1/4] ms/selftests: mptcp: join: rm: set backup flag
2026-09-16 12:17 [Devel] [PATCH vz10 1/4] ms/selftests: mptcp: join: rm: set backup flag Eva Kurchatova
` (3 preceding siblings ...)
2026-09-16 17:08 ` [Devel] [PATCH vz10 1/4] ms/selftests: mptcp: join: rm: set backup flag Konstantin Khorenko
@ 2026-09-16 17:10 ` Konstantin Khorenko
2026-09-16 17:20 ` Konstantin Khorenko
5 siblings, 0 replies; 10+ messages in thread
From: Konstantin Khorenko @ 2026-09-16 17:10 UTC (permalink / raw)
To: Eva Kurchatova; +Cc: devel
On Wed, 16 Sep 2026 15:17:34 +0300, Eva Kurchatova wrote:
> ms/selftests: mptcp: join: rm: set backup flag
Applied to branch-rh10-6.12.0-211.52.1.20.x.vz10-ovz, will be released in rh10-6.12.0-211.52.1.20.6.vz10, thanks!
[1/4] ms/selftests: mptcp: join: rm: set backup flag
https://bitbucket.org/virtuozzocore/vzkernel.vzs/commits/e558663f2063
[2/4] ms/selftests: mptcp: join: endpoints: longer transfer
https://bitbucket.org/virtuozzocore/vzkernel.vzs/commits/1055dccf3d10
[3/4] ms/selftests: mptcp: join: userspace: longer transfer
https://bitbucket.org/virtuozzocore/vzkernel.vzs/commits/cbb3840f0606
[4/4] ms/selftests: mptcp: join: properly kill background tasks
https://bitbucket.org/virtuozzocore/vzkernel.vzs/commits/ff9b9bca2064
--
Konstantin Khorenko <khorenko@virtuozzo.com>
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [Devel] [PATCH vz10 1/4] ms/selftests: mptcp: join: rm: set backup flag
2026-09-16 12:17 [Devel] [PATCH vz10 1/4] ms/selftests: mptcp: join: rm: set backup flag Eva Kurchatova
` (4 preceding siblings ...)
2026-09-16 17:10 ` Konstantin Khorenko
@ 2026-09-16 17:20 ` Konstantin Khorenko
5 siblings, 0 replies; 10+ messages in thread
From: Konstantin Khorenko @ 2026-09-16 17:20 UTC (permalink / raw)
To: Eva Kurchatova; +Cc: devel
● Two mainline follow-ups carrying Fixes: tags for commits in this series
were not picked:
fb13c6bb810c selftests: mptcp: join: endpoints: longer timeout Fixes: 6457595db987
0e4ec14dc1ee selftests: mptcp: join: userspace: longer timeout Fixes: 290493078b96
Both add timeout_test=120 to the very same run_tests invocations this series
changes. Without them the file is now 128KB and the transfer no longer ends on
its own, but it is still cut by timeout ${timeout_test}, i.e. 30*2+1 = 61
seconds. If the subtest checks have not finished by then, wait $cpid returns
124 and do_transfer() calls fail_test "client exit code $retc, server $rets"
- exactly the failure this series set out to remove on slow machines. The series
still helps: before it the file was 1KB and at speed=5 the transfer ended after
roughly 42 seconds. But the fix is only complete with those two.
--
Best regards,
Konstantin Khorenko,
Virtuozzo Linux Kernel Team
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-09-16 17:21 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-16 12:17 [Devel] [PATCH vz10 1/4] ms/selftests: mptcp: join: rm: set backup flag Eva Kurchatova
2026-09-16 12:17 ` [Devel] [PATCH vz10 2/4] ms/selftests: mptcp: join: endpoints: longer transfer Eva Kurchatova
2026-09-16 17:08 ` Konstantin Khorenko
2026-09-16 12:17 ` [Devel] [PATCH vz10 3/4] ms/selftests: mptcp: join: userspace: " Eva Kurchatova
2026-09-16 17:08 ` Konstantin Khorenko
2026-09-16 12:17 ` [Devel] [PATCH vz10 4/4] ms/selftests: mptcp: join: properly kill background tasks Eva Kurchatova
2026-09-16 17:08 ` Konstantin Khorenko
2026-09-16 17:08 ` [Devel] [PATCH vz10 1/4] ms/selftests: mptcp: join: rm: set backup flag Konstantin Khorenko
2026-09-16 17:10 ` Konstantin Khorenko
2026-09-16 17:20 ` Konstantin Khorenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox