| From 36c4127ae8dd0ebac6d56d8a1b272dd483471c40 Mon Sep 17 00:00:00 2001 |
| From: Matthieu Baerts <matthieu.baerts@tessares.net> |
| Date: Sat, 10 Jun 2023 18:11:44 +0200 |
| Subject: selftests: mptcp: join: skip implicit tests if not supported |
| |
| From: Matthieu Baerts <matthieu.baerts@tessares.net> |
| |
| commit 36c4127ae8dd0ebac6d56d8a1b272dd483471c40 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 implicit endpoints introduced by |
| commit d045b9eb95a9 ("mptcp: introduce implicit endpoints"). |
| |
| It is possible to look for "mptcp_subflow_send_ack" in kallsyms because |
| it was needed to introduce the mentioned feature. So we can know in |
| advance if the feature is supported instead of trying and accepting any |
| results. |
| |
| Note that here and in the following commits, we re-do the same check for |
| each sub-test of the same function for a few reasons. The main one is |
| not to break the ID assign to each test in order to be able to easily |
| compare results between different kernel versions. Also, we can still |
| run a specific test even if it is skipped. Another reason is that it |
| makes it clear during the review that a specific subtest will be skipped |
| or not under certain conditions. At the end, it looks OK to call the |
| exact same helper multiple times: it is not a critical path and it is |
| the same code that is executed, not really more cases to maintain. |
| |
| Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 |
| Fixes: 69c6ce7b6eca ("selftests: mptcp: add implicit endpoint 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| tools/testing/selftests/net/mptcp/mptcp_join.sh | 7 +++++-- |
| 1 file changed, 5 insertions(+), 2 deletions(-) |
| |
| --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh |
| +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh |
| @@ -3108,8 +3108,10 @@ userspace_tests() |
| |
| endpoint_tests() |
| { |
| + # subflow_rebuild_header is needed to support the implicit flag |
| # userspace pm type prevents add_addr |
| - if reset "implicit EP"; then |
| + if reset "implicit EP" && |
| + mptcp_lib_kallsyms_has "subflow_rebuild_header$"; then |
| pm_nl_set_limits $ns1 2 2 |
| pm_nl_set_limits $ns2 2 2 |
| pm_nl_add_endpoint $ns1 10.0.2.1 flags signal |
| @@ -3129,7 +3131,8 @@ endpoint_tests() |
| kill_tests_wait |
| fi |
| |
| - if reset "delete and re-add"; then |
| + if reset "delete and re-add" && |
| + mptcp_lib_kallsyms_has "subflow_rebuild_header$"; then |
| pm_nl_set_limits $ns1 1 1 |
| pm_nl_set_limits $ns2 1 1 |
| pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2 flags subflow |