selftests: mptcp: stop forcing iptables-legacy
authorMatthieu Baerts (NGI0) <matttbe@kernel.org>
Wed, 6 Mar 2024 09:42:50 +0000 (10:42 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 8 Mar 2024 05:06:51 +0000 (21:06 -0800)
Commit 0c4cd3f86a40 ("selftests: mptcp: join: use 'iptables-legacy' if
available") and commit a5a5990c099d ("selftests: mptcp: sockopt: use
'iptables-legacy' if available") forced using iptables-legacy if
available.

This was needed because of some issues that were visible when testing
the kselftests on a v5.15.x with iptables-nft as default backend. It
looks like these errors are no longer present. As mentioned by Pablo [1],
the errors were maybe due to missing kernel config. We can then use
iptables-nft if it is the default one, instead of using a legacy tool.

We can then check the variables iptables and ip6tables are valid. We can
keep the variables to easily change it later or add options.

Link: https://lore.kernel.org/netdev/ZbFiixyMFpQnxzCH@calendula/
Suggested-by: Pablo Neira Ayuso <pablo@netfilter.org>
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://lore.kernel.org/r/20240306-upstream-net-next-20240304-selftests-mptcp-shared-code-shellcheck-v2-1-bc79e6e5e6a0@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/mptcp/mptcp_join.sh
tools/testing/selftests/net/mptcp/mptcp_sockopt.sh

index 955ee65..6a4af95 100755 (executable)
@@ -167,15 +167,11 @@ check_tools()
                exit $ksft_skip
        fi
 
-       # 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"
+       if ! "${iptables}" -V &> /dev/null; then
+               echo "SKIP: Could not run all tests without ${iptables} tool"
                exit $ksft_skip
-       elif ! ip6tables -V &> /dev/null; then
-               echo "SKIP: Could not run all tests without ip6tables tool"
+       elif ! "${ip6tables}" -V &> /dev/null; then
+               echo "SKIP: Could not run all tests without ${ip6tables} tool"
                exit $ksft_skip
        fi
 }
index c643872..dac8e1f 100755 (executable)
@@ -96,15 +96,11 @@ if [ $? -ne 0 ];then
        exit $ksft_skip
 fi
 
-# 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"
+if ! "${iptables}" -V &> /dev/null; then
+       echo "SKIP: Could not run all tests without ${iptables} tool"
        exit $ksft_skip
-elif ! ip6tables -V &> /dev/null; then
-       echo "SKIP: Could not run all tests without ip6tables tool"
+elif ! "${ip6tables}" -V &> /dev/null; then
+       echo "SKIP: Could not run all tests without ${ip6tables} tool"
        exit $ksft_skip
 fi