This is a note to let you know that I've just added the patch titled selftests: mptcp: join: skip mixed tests if not supported to the 6.3-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: selftests-mptcp-join-skip-mixed-tests-if-not-supported.patch and it can be found in the queue-6.3 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 6673851be0fc1bfc3353ffb52ff26ae5468f12c9 Mon Sep 17 00:00:00 2001 From: Matthieu Baerts <matthieu.baerts@xxxxxxxxxxxx> Date: Sat, 10 Jun 2023 18:11:52 +0200 Subject: selftests: mptcp: join: skip mixed tests if not supported From: Matthieu Baerts <matthieu.baerts@xxxxxxxxxxxx> commit 6673851be0fc1bfc3353ffb52ff26ae5468f12c9 upstream. Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the support of a mix of subflows in v4 and v6 by the in-kernel PM introduced by commit b9d69db87fb7 ("mptcp: let the in-kernel PM use mixed IPv4 and IPv6 addresses"). It looks like there is no external sign we can use to predict the expected behaviour. Instead of accepting different behaviours and thus not really checking for the expected behaviour, we are looking here for a specific kernel version. That's not ideal but it looks better than removing the test because it cannot support older kernel versions. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: ad3493746ebe ("selftests: mptcp: add test-cases for mixed v4/v6 subflows") Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Matthieu Baerts <matthieu.baerts@xxxxxxxxxxxx> Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2597,7 +2597,8 @@ v4mapped_tests() mixed_tests() { - if reset "IPv4 sockets do not use IPv6 addresses"; then + if reset "IPv4 sockets do not use IPv6 addresses" && + continue_if mptcp_lib_kversion_ge 6.3; then pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 1 1 pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal @@ -2606,7 +2607,8 @@ mixed_tests() fi # Need an IPv6 mptcp socket to allow subflows of both families - if reset "simult IPv4 and IPv6 subflows"; then + if reset "simult IPv4 and IPv6 subflows" && + continue_if mptcp_lib_kversion_ge 6.3; then pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 1 1 pm_nl_add_endpoint $ns1 10.0.1.1 flags signal @@ -2615,7 +2617,8 @@ mixed_tests() fi # cross families subflows will not be created even in fullmesh mode - if reset "simult IPv4 and IPv6 subflows, fullmesh 1x1"; then + if reset "simult IPv4 and IPv6 subflows, fullmesh 1x1" && + continue_if mptcp_lib_kversion_ge 6.3; then pm_nl_set_limits $ns1 0 4 pm_nl_set_limits $ns2 1 4 pm_nl_add_endpoint $ns2 dead:beef:2::2 flags subflow,fullmesh @@ -2626,7 +2629,8 @@ mixed_tests() # fullmesh still tries to create all the possibly subflows with # matching family - if reset "simult IPv4 and IPv6 subflows, fullmesh 2x2"; then + if reset "simult IPv4 and IPv6 subflows, fullmesh 2x2" && + continue_if mptcp_lib_kversion_ge 6.3; then pm_nl_set_limits $ns1 0 4 pm_nl_set_limits $ns2 2 4 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal Patches currently in stable-queue which might be from matthieu.baerts@xxxxxxxxxxxx are queue-6.3/selftests-mptcp-join-fix-shellcheck-warnings.patch queue-6.3/selftests-mptcp-join-support-rm_addr-for-used-endpoints-or-not.patch queue-6.3/selftests-mptcp-pm-nl-skip-fullmesh-flag-checks-if-not-supported.patch queue-6.3/selftests-mptcp-lib-skip-if-missing-symbol.patch queue-6.3/selftests-mptcp-join-skip-fullmesh-flag-tests-if-not-supported.patch queue-6.3/selftests-mptcp-connect-skip-tfo-tests-if-not-supported.patch queue-6.3/selftests-mptcp-join-skip-fastclose-tests-if-not-supported.patch queue-6.3/selftests-mptcp-remove-duplicated-entries-in-usage.patch queue-6.3/selftests-mptcp-sockopt-skip-getsockopt-checks-if-not-supported.patch queue-6.3/selftests-mptcp-join-skip-backup-if-set-flag-on-id-not-supported.patch queue-6.3/selftests-mptcp-join-skip-mixed-tests-if-not-supported.patch queue-6.3/selftests-mptcp-userspace-pm-skip-if-ip-tool-is-unavailable.patch queue-6.3/selftests-mptcp-join-helpers-to-skip-tests.patch queue-6.3/selftests-mptcp-lib-skip-if-not-below-kernel-version.patch queue-6.3/selftests-mptcp-userspace-pm-skip-if-not-supported.patch queue-6.3/selftests-mptcp-join-uniform-listener-tests.patch queue-6.3/selftests-mptcp-diag-skip-listen-tests-if-not-supported.patch queue-6.3/selftests-mptcp-sockopt-skip-tcp_inq-checks-if-not-supported.patch queue-6.3/selftests-mptcp-join-skip-test-if-iptables-tc-cmds-fail.patch queue-6.3/selftests-mptcp-join-skip-implicit-tests-if-not-supported.patch queue-6.3/selftests-mptcp-userspace-pm-skip-pm-listener-events-tests-if-unavailable.patch queue-6.3/selftests-mptcp-join-skip-fail-tests-if-not-supported.patch queue-6.3/selftests-mptcp-sockopt-relax-expected-returned-size.patch queue-6.3/selftests-mptcp-pm-nl-remove-hardcoded-default-limits.patch queue-6.3/selftests-mptcp-join-skip-check-if-mib-counter-not-supported.patch queue-6.3/selftests-mptcp-diag-skip-inuse-tests-if-not-supported.patch queue-6.3/selftests-mptcp-join-use-iptables-legacy-if-available.patch queue-6.3/selftests-mptcp-join-support-local-endpoint-being-tracked-or-not.patch queue-6.3/selftests-mptcp-join-skip-userspace-pm-tests-if-not-supported.patch queue-6.3/selftests-mptcp-connect-skip-transp-tests-if-not-supported.patch queue-6.3/selftests-mptcp-join-skip-mpc-backups-tests-if-not-supported.patch queue-6.3/selftests-mptcp-join-skip-pm-listener-tests-if-not-supported.patch queue-6.3/selftests-mptcp-connect-skip-disconnect-tests-if-not-supported.patch