From: Matthieu Baerts <matttbe@kernel.org>
To: Geliang Tang <geliang@kernel.org>, mptcp@lists.linux.dev
Cc: Geliang Tang <tanggeliang@kylinos.cn>
Subject: Re: [PATCH mptcp-next v13 09/14] selftests: mptcp: dump userspace addrs list
Date: Mon, 19 Feb 2024 15:55:44 +0100 [thread overview]
Message-ID: <4d28e3bc-481a-43da-846c-318de40628fa@kernel.org> (raw)
In-Reply-To: <2ec5777c29d4e6e005c015db60432ef4ba734ed0.1708069036.git.tanggeliang@kylinos.cn>
Hi Geliang,
On 16/02/2024 08:42, Geliang Tang wrote:
> From: Geliang Tang <tanggeliang@kylinos.cn>
>
> This patch adds a new helper userspace_pm_dump() to dump addresses
> for the userspace PM. Use this helper to check whether an ID 0 subflow
> is listed in the output of dump command after creating an ID 0 subflow
> in "userspace pm create id 0 subflow" test. Dump userspace PM addresses
> list in "userspace pm add & remove address" test and in "userspace pm
> create destroy subflow" test.
>
> Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
> ---
> .../testing/selftests/net/mptcp/mptcp_join.sh | 41 +++++++++++++++++++
> 1 file changed, 41 insertions(+)
>
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> index 6f7e83f61707..fb9b3ee9fee0 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> @@ -3350,6 +3350,18 @@ userspace_pm_rm_sf()
> wait_rm_sf $1 "${cnt}"
> }
>
> +# $1: ns
> +userspace_pm_dump()
> +{
> + local evts=$evts_ns1
> + local tk
> +
> + [ "$1" == "$ns2" ] && evts=$evts_ns2
> + tk=$(mptcp_lib_evts_get_info token "$evts")
> +
> + ip netns exec $1 ./pm_nl_ctl dump token $tk
> +}
> +
> check_output()
> {
> local cmd="$1"
> @@ -3465,10 +3477,24 @@ userspace_tests()
> chk_mptcp_info subflows 2 subflows 2
> chk_subflows_total 3 3
> chk_mptcp_info add_addr_signal 2 add_addr_accepted 2
> + if mptcp_lib_kallsyms_has "mptcp_userspace_pm_dump_addr$"; then
It is important to mark tests that are skipped, otherwise we might miss
an issue with the check skipping the tests.
In mptcp_join.sh, you can see 'mptcp_lib_kallsyms_has' is usually called
from a 'continue_if': it is useful to skip the whole subtest. But here,
we only want to skip one check of a subtest, not the whole subtest. We
should then simply add: 'else print_skip (...)'.
→ see below
> + check_output "userspace_pm_dump $ns1" \
> + $'id 10 flags signal 10.0.2.1\nid 20 flags signal 10.0.3.1' \
> + " dump addrs signal"
> + fi
Maybe easier to move the kallsyms check + other stuff in a new helper,
not to repeat that 6 times? Here you would have just one line, something
like that:
userspace_pm_chk_dump_addr "${ns1}" "<expected>" "signal"
And in this helper, you would do something like:
local ns="${1}"
local exp="${2}"
local check="${3}"
print_check "dump addrs ${check}"
if mptcp_lib_kallsyms_has "mptcp_userspace_pm_dump_addr$"; then
check_output "userspace_pm_dump ${ns}" "${exp}"
else
print_skip
fi
WDYT?
Same below.
> userspace_pm_rm_addr $ns1 10
> userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $SUB_ESTABLISHED
> + if mptcp_lib_kallsyms_has "mptcp_userspace_pm_dump_addr$"; then
> + check_output "userspace_pm_dump $ns1" \
> + "id 20 flags signal 10.0.3.1" \
> + " dump addrs after rm_addr 10"
> + fi
> userspace_pm_rm_addr $ns1 20
> userspace_pm_rm_sf $ns1 10.0.3.1 $SUB_ESTABLISHED
> + if mptcp_lib_kallsyms_has "mptcp_userspace_pm_dump_addr$"; then
> + check_output "userspace_pm_dump $ns1" \
> + "" " dump addrs after rm_addr 20"
> + fi
> chk_rm_nr 2 2 invert
> chk_mptcp_info subflows 0 subflows 0
> chk_subflows_total 1 1
> @@ -3489,8 +3515,18 @@ userspace_tests()
> chk_join_nr 1 1 1
> chk_mptcp_info subflows 1 subflows 1
> chk_subflows_total 2 2
> + if mptcp_lib_kallsyms_has "mptcp_userspace_pm_dump_addr$"; then
> + check_output "userspace_pm_dump $ns2" \
> + "id 20 flags subflow 10.0.3.2" \
> + " dump addrs subflow"
> + fi
> userspace_pm_rm_addr $ns2 20
> userspace_pm_rm_sf $ns2 10.0.3.2 $SUB_ESTABLISHED
> + if mptcp_lib_kallsyms_has "mptcp_userspace_pm_dump_addr$"; then
> + check_output "userspace_pm_dump $ns2" \
> + "" \
> + " dump addrs after rm_addr 20"
> + fi
> chk_rm_nr 1 1
> chk_mptcp_info subflows 0 subflows 0
> chk_subflows_total 1 1
> @@ -3510,6 +3546,11 @@ userspace_tests()
> chk_mptcp_info subflows 0 subflows 0
> chk_subflows_total 1 1
> userspace_pm_add_sf $ns2 10.0.3.2 0
> + if mptcp_lib_kallsyms_has "mptcp_userspace_pm_dump_addr$"; then
> + check_output "userspace_pm_dump $ns2" \
> + "id 0 flags subflow 10.0.3.2" \
> + " dump addrs id 0 subflow"
> + fi
> chk_join_nr 1 1 1
> chk_mptcp_info subflows 1 subflows 1
> chk_subflows_total 2 2
Cheers,
Matt
--
Sponsored by the NGI0 Core fund.
next prev parent reply other threads:[~2024-02-19 14:55 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-16 7:42 [PATCH mptcp-next v13 00/14] dump for userspace pm Geliang Tang
2024-02-16 7:42 ` [PATCH mptcp-next v13 01/14] mptcp: export mptcp_genl_family & mptcp_nl_fill_addr Geliang Tang
2024-02-16 7:42 ` [PATCH mptcp-next v13 02/14] mptcp: implement mptcp_userspace_pm_dump_addr Geliang Tang
2024-02-16 7:42 ` [PATCH mptcp-next v13 03/14] mptcp: add token for get-addr in yaml Geliang Tang
2024-02-16 7:42 ` [PATCH mptcp-next v13 04/14] mptcp: dump addrs in userspace pm list Geliang Tang
2024-02-16 7:42 ` [PATCH mptcp-next v13 05/14] mptcp: check userspace pm flags Geliang Tang
2024-02-19 14:53 ` Matthieu Baerts
2024-02-16 7:42 ` [PATCH mptcp-next v13 06/14] selftests: mptcp: add userspace pm subflow flag Geliang Tang
2024-02-16 7:42 ` [PATCH mptcp-next v13 07/14] selftests: mptcp: add token for dump_addr Geliang Tang
2024-02-16 7:42 ` [PATCH mptcp-next v13 08/14] selftests: mptcp: add check_output helper Geliang Tang
2024-02-19 14:51 ` Matthieu Baerts
2024-02-16 7:42 ` [PATCH mptcp-next v13 09/14] selftests: mptcp: dump userspace addrs list Geliang Tang
2024-02-19 14:55 ` Matthieu Baerts [this message]
2024-02-16 7:42 ` [PATCH mptcp-next v13 10/14] mptcp: add userspace_pm_lookup_addr_by_id helper Geliang Tang
2024-02-16 7:42 ` [PATCH mptcp-next v13 11/14] mptcp: implement mptcp_userspace_pm_get_addr Geliang Tang
2024-02-16 7:42 ` [PATCH mptcp-next v13 12/14] mptcp: get addr in userspace pm list Geliang Tang
2024-02-16 7:42 ` [PATCH mptcp-next v13 13/14] selftests: mptcp: add token for get_addr Geliang Tang
2024-02-16 7:42 ` [PATCH mptcp-next v13 14/14] selftests: mptcp: userspace pm get addr tests Geliang Tang
2024-02-16 8:34 ` selftests: mptcp: userspace pm get addr tests: Tests Results MPTCP CI
2024-02-16 9:55 ` MPTCP CI
2024-02-16 10:14 ` MPTCP CI
2024-02-16 10:24 ` Matthieu Baerts
2024-02-16 11:08 ` MPTCP CI
2024-02-16 11:31 ` MPTCP CI
2024-02-16 20:33 ` MPTCP CI
2024-02-19 14:56 ` [PATCH mptcp-next v13 14/14] selftests: mptcp: userspace pm get addr tests Matthieu Baerts
2024-02-16 19:31 ` [PATCH mptcp-next v13 00/14] dump for userspace pm Mat Martineau
2024-02-19 14:52 ` Matthieu Baerts
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4d28e3bc-481a-43da-846c-318de40628fa@kernel.org \
--to=matttbe@kernel.org \
--cc=geliang@kernel.org \
--cc=mptcp@lists.linux.dev \
--cc=tanggeliang@kylinos.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox