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_get_addr() in mptcp_join.sh.
> In it, parse the token value from the output of 'pm_nl_ctl events', then
> pass it to pm_nl_ctl get_addr command. Use this helper in userspace pm
> dump tests.
>
> Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
> ---
> .../testing/selftests/net/mptcp/mptcp_join.sh | 25 +++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> index fb9b3ee9fee0..a4d121f9e467 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> @@ -3362,6 +3362,18 @@ userspace_pm_dump()
> ip netns exec $1 ./pm_nl_ctl dump token $tk
> }
>
> +# $1: ns ; $2: id
> +userspace_pm_get_addr()
> +{
> + 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 get $2 token $tk
> +}
> +
> check_output()
> {
> local cmd="$1"
> @@ -3482,6 +3494,14 @@ userspace_tests()
> $'id 10 flags signal 10.0.2.1\nid 20 flags signal 10.0.3.1' \
> " dump addrs signal"
> fi
> + if mptcp_lib_kallsyms_has "mptcp_userspace_pm_get_addr$"; then
Same as in patch 9/14: you need an 'else print_skip', and best to move
duplicated code to a new helper, called with:
userspace_pm_chk_get_addr "${ns1}" "10" "<expected>"
And in this helper, you would do something like:
local ns="${1}"
local id="${2}"
local exp="${3}"
print_check "get id ${id} addr"
if mptcp_lib_kallsyms_has "mptcp_userspace_pm_get_addr$"; then
check_output "userspace_pm_get_addr ${ns} ${id}" "${exp}"
else
print_skip
fi
> + check_output "userspace_pm_get_addr $ns1 10" \
> + "id 10 flags signal 10.0.2.1" \
> + " get id 10 addr"
> + check_output "userspace_pm_get_addr $ns1 20" \
> + "id 20 flags signal 10.0.3.1" \
> + " get id 20 addr"
> + fi
> 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
> @@ -3520,6 +3540,11 @@ userspace_tests()
> "id 20 flags subflow 10.0.3.2" \
> " dump addrs subflow"
> fi
> + if mptcp_lib_kallsyms_has "mptcp_userspace_pm_get_addr$"; then
> + check_output "userspace_pm_get_addr $ns2 20" \
> + "id 20 flags subflow 10.0.3.2" \
> + " get id 20 addr"
> + 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
Cheers,
Matt
--
Sponsored by the NGI0 Core fund.