Commit 0c4cd3f8 authored by Matthieu Baerts's avatar Matthieu Baerts Committed by Jakub Kicinski

selftests: mptcp: join: use 'iptables-legacy' if available

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: 8d014eaa ("selftests: mptcp: add ADD_ADDR timeout test case")
Cc: stable@vger.kernel.org
Signed-off-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent b1a6a38a
...@@ -25,6 +25,8 @@ capout="" ...@@ -25,6 +25,8 @@ capout=""
ns1="" ns1=""
ns2="" ns2=""
ksft_skip=4 ksft_skip=4
iptables="iptables"
ip6tables="ip6tables"
timeout_poll=30 timeout_poll=30
timeout_test=$((timeout_poll * 2 + 1)) timeout_test=$((timeout_poll * 2 + 1))
capture=0 capture=0
...@@ -146,7 +148,11 @@ check_tools() ...@@ -146,7 +148,11 @@ check_tools()
exit $ksft_skip exit $ksft_skip
fi 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" echo "SKIP: Could not run all tests without iptables tool"
exit $ksft_skip exit $ksft_skip
fi fi
...@@ -247,9 +253,9 @@ reset_with_add_addr_timeout() ...@@ -247,9 +253,9 @@ reset_with_add_addr_timeout()
reset "${1}" || return 1 reset "${1}" || return 1
tables="iptables" tables="${iptables}"
if [ $ip -eq 6 ]; then if [ $ip -eq 6 ]; then
tables="ip6tables" tables="${ip6tables}"
fi fi
ip netns exec $ns1 sysctl -q net.mptcp.add_addr_timeout=1 ip netns exec $ns1 sysctl -q net.mptcp.add_addr_timeout=1
...@@ -314,9 +320,9 @@ reset_with_fail() ...@@ -314,9 +320,9 @@ reset_with_fail()
local ip="${3:-4}" local ip="${3:-4}"
local tables local tables
tables="iptables" tables="${iptables}"
if [ $ip -eq 6 ]; then if [ $ip -eq 6 ]; then
tables="ip6tables" tables="${ip6tables}"
fi fi
ip netns exec $ns2 $tables \ ip netns exec $ns2 $tables \
...@@ -704,7 +710,7 @@ filter_tcp_from() ...@@ -704,7 +710,7 @@ filter_tcp_from()
local src="${2}" local src="${2}"
local target="${3}" 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() do_transfer()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment