selftests: mptcp: join: skip fullmesh flag tests if not supported

commit 9db34c4294 upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

One of them is the support of the fullmesh flag for the in-kernel PM
introduced by commit 2843ff6f36 ("mptcp: remote addresses fullmesh")
and commit 1a0d6136c5 ("mptcp: local addresses fullmesh").

It looks like there is no easy external sign we can use to predict the
expected behaviour. We could add the flag and then check if it has been
added but for that, and for each fullmesh test, we would need to setup a
new environment, do the checks, clean it and then only start the test
from yet another clean environment. To keep it simple and avoid
introducing new issues, we look for a specific kernel version. That's
not ideal but an acceptable solution for this case.

Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368
Fixes: 6a0653b96f ("selftests: mptcp: add fullmesh setting tests")
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Matthieu Baerts 2023-06-10 18:11:46 +02:00 committed by Greg Kroah-Hartman
parent 6313c493e3
commit fe1f28db73

View file

@ -2936,7 +2936,8 @@ fullmesh_tests()
fi
# set fullmesh flag
if reset "set fullmesh flag test"; then
if reset "set fullmesh flag test" &&
continue_if mptcp_lib_kversion_ge 5.18; then
pm_nl_set_limits $ns1 4 4
pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow
pm_nl_set_limits $ns2 4 4
@ -2946,7 +2947,8 @@ fullmesh_tests()
fi
# set nofullmesh flag
if reset "set nofullmesh flag test"; then
if reset "set nofullmesh flag test" &&
continue_if mptcp_lib_kversion_ge 5.18; then
pm_nl_set_limits $ns1 4 4
pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow,fullmesh
pm_nl_set_limits $ns2 4 4
@ -2956,7 +2958,8 @@ fullmesh_tests()
fi
# set backup,fullmesh flags
if reset "set backup,fullmesh flags test"; then
if reset "set backup,fullmesh flags test" &&
continue_if mptcp_lib_kversion_ge 5.18; then
pm_nl_set_limits $ns1 4 4
pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow
pm_nl_set_limits $ns2 4 4
@ -2967,7 +2970,8 @@ fullmesh_tests()
fi
# set nobackup,nofullmesh flags
if reset "set nobackup,nofullmesh flags test"; then
if reset "set nobackup,nofullmesh flags test" &&
continue_if mptcp_lib_kversion_ge 5.18; then
pm_nl_set_limits $ns1 4 4
pm_nl_set_limits $ns2 4 4
pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow,backup,fullmesh