This is a note to let you know that I've just added the patch titled selftests: mptcp: join: use 'iptables-legacy' if available to the 6.1-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-use-iptables-legacy-if-available.patch and it can be found in the queue-6.1 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 0c4cd3f86a40028845ad6f8af5b37165666404cd Mon Sep 17 00:00:00 2001 From: Matthieu Baerts <matthieu.baerts@xxxxxxxxxxxx> Date: Sat, 10 Jun 2023 18:11:37 +0200 Subject: selftests: mptcp: join: use 'iptables-legacy' if available From: Matthieu Baerts <matthieu.baerts@xxxxxxxxxxxx> commit 0c4cd3f86a40028845ad6f8af5b37165666404cd upstream. IPTables commands using 'iptables-nft' fail on old kernels, at least 5.15 because it doesn't see the default IPTables chains: $ iptables -L iptables/1.8.2 Failed to initialize nft: Protocol not supported As a first step before switching to NFTables, we can use iptables-legacy if available. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 8d014eaa9254 ("selftests: mptcp: add ADD_ADDR timeout test case") 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 | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -25,6 +25,8 @@ capout="" ns1="" ns2="" ksft_skip=4 +iptables="iptables" +ip6tables="ip6tables" timeout_poll=30 timeout_test=$((timeout_poll * 2 + 1)) capture=0 @@ -141,7 +143,11 @@ check_tools() exit $ksft_skip fi - if ! iptables -V &> /dev/null; then + # Use the legacy version if available to support old kernel versions + if iptables-legacy -V &> /dev/null; then + iptables="iptables-legacy" + ip6tables="ip6tables-legacy" + elif ! iptables -V &> /dev/null; then echo "SKIP: Could not run all tests without iptables tool" exit $ksft_skip fi @@ -239,9 +245,9 @@ reset_with_add_addr_timeout() reset "${1}" || return 1 - tables="iptables" + tables="${iptables}" if [ $ip -eq 6 ]; then - tables="ip6tables" + tables="${ip6tables}" fi ip netns exec $ns1 sysctl -q net.mptcp.add_addr_timeout=1 @@ -306,9 +312,9 @@ reset_with_fail() local ip="${3:-4}" local tables - tables="iptables" + tables="${iptables}" if [ $ip -eq 6 ]; then - tables="ip6tables" + tables="${ip6tables}" fi ip netns exec $ns2 $tables \ @@ -678,7 +684,7 @@ filter_tcp_from() local src="${2}" local target="${3}" - ip netns exec "${ns}" iptables -A INPUT -s "${src}" -p tcp -j "${target}" + ip netns exec "${ns}" ${iptables} -A INPUT -s "${src}" -p tcp -j "${target}" } do_transfer() Patches currently in stable-queue which might be from matthieu.baerts@xxxxxxxxxxxx are queue-6.1/selftests-mptcp-join-fix-shellcheck-warnings.patch queue-6.1/selftests-mptcp-join-support-rm_addr-for-used-endpoints-or-not.patch queue-6.1/selftests-mptcp-pm-nl-skip-fullmesh-flag-checks-if-not-supported.patch queue-6.1/selftests-mptcp-lib-skip-if-missing-symbol.patch queue-6.1/selftests-mptcp-join-skip-fullmesh-flag-tests-if-not-supported.patch queue-6.1/selftests-mptcp-join-skip-fastclose-tests-if-not-supported.patch queue-6.1/selftests-mptcp-remove-duplicated-entries-in-usage.patch queue-6.1/selftests-mptcp-sockopt-skip-getsockopt-checks-if-not-supported.patch queue-6.1/selftests-mptcp-join-skip-backup-if-set-flag-on-id-not-supported.patch queue-6.1/selftests-mptcp-userspace-pm-skip-if-ip-tool-is-unavailable.patch queue-6.1/selftests-mptcp-join-helpers-to-skip-tests.patch queue-6.1/selftests-mptcp-lib-skip-if-not-below-kernel-version.patch queue-6.1/selftests-mptcp-userspace-pm-skip-if-not-supported.patch queue-6.1/selftests-mptcp-join-skip-implicit-tests-if-not-supported.patch queue-6.1/selftests-mptcp-sockopt-relax-expected-returned-size.patch queue-6.1/selftests-mptcp-pm-nl-remove-hardcoded-default-limits.patch queue-6.1/selftests-mptcp-join-skip-check-if-mib-counter-not-supported.patch queue-6.1/selftests-mptcp-join-use-iptables-legacy-if-available.patch queue-6.1/selftests-mptcp-join-support-local-endpoint-being-tracked-or-not.patch queue-6.1/selftests-mptcp-connect-skip-transp-tests-if-not-supported.patch queue-6.1/selftests-mptcp-join-skip-mpc-backups-tests-if-not-supported.patch queue-6.1/selftests-mptcp-connect-skip-disconnect-tests-if-not-supported.patch