selftests: mptcp: connect: skip transp tests if not supported
Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the support of IP(V6)_TRANSPARENT socket option with MPTCP connections introduced by commitc9406a23c1
("mptcp: sockopt: add SOL_IP freebind & transparent options"). It is possible to look for "__ip_sock_set_tos" in kallsyms because IP(V6)_TRANSPARENT socket option support has been added after TOS support which came with the required infrastructure in MPTCP sockopt code. To support TOS, the following function has been exported (T). Not great but better than checking for a specific kernel version. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes:5fb62e9cd3
("selftests: mptcp: add tproxy test case") Cc: stable@vger.kernel.org Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
673004821a
commit
07bf494019
@ -144,6 +144,7 @@ cleanup()
|
||||
}
|
||||
|
||||
mptcp_lib_check_mptcp
|
||||
mptcp_lib_check_kallsyms
|
||||
|
||||
ip -Version > /dev/null 2>&1
|
||||
if [ $? -ne 0 ];then
|
||||
@ -695,6 +696,15 @@ run_test_transparent()
|
||||
return 0
|
||||
fi
|
||||
|
||||
# IP(V6)_TRANSPARENT has been added after TOS support which came with
|
||||
# the required infrastructure in MPTCP sockopt code. To support TOS, the
|
||||
# following function has been exported (T). Not great but better than
|
||||
# checking for a specific kernel version.
|
||||
if ! mptcp_lib_kallsyms_has "T __ip_sock_set_tos$"; then
|
||||
echo "INFO: ${msg} not supported by the kernel: SKIP"
|
||||
return
|
||||
fi
|
||||
|
||||
ip netns exec "$listener_ns" nft -f /dev/stdin <<"EOF"
|
||||
flush ruleset
|
||||
table inet mangle {
|
||||
|
Loading…
Reference in New Issue
Block a user