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

commit 0c4cd3f86a 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: 8d014eaa92 ("selftests: mptcp: add ADD_ADDR timeout test case")
Cc: stable@vger.kernel.org
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Matthieu Baerts 2023-06-22 15:34:31 +02:00 committed by Greg Kroah-Hartman
parent 979a941d7e
commit 64cb73ea77

View file

@ -12,6 +12,8 @@ cinfail=""
cinsent=""
cout=""
ksft_skip=4
iptables="iptables"
ip6tables="ip6tables"
timeout_poll=30
timeout_test=$((timeout_poll * 2 + 1))
mptcp_connect=""
@ -126,9 +128,9 @@ reset_with_add_addr_timeout()
local ip="${1:-4}"
local tables
tables="iptables"
tables="${iptables}"
if [ $ip -eq 6 ]; then
tables="ip6tables"
tables="${ip6tables}"
fi
reset
@ -171,8 +173,10 @@ if [ $? -ne 0 ];then
exit $ksft_skip
fi
iptables -V > /dev/null 2>&1
if [ $? -ne 0 ];then
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