mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-07 09:55:19 +02:00
selftests: mptcp: dump userspace addrs list
[ Upstream commit38f027fca1
] 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> Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Reviewed-by: Mat Martineau <martineau@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net> Stable-dep-of:e93681afcb
("selftests: mptcp: join: cannot rm sf if closed") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
05867195c9
commit
1b8af4ba00
|
@ -21,6 +21,7 @@ cinfail=""
|
|||
cinsent=""
|
||||
tmpfile=""
|
||||
cout=""
|
||||
err=""
|
||||
capout=""
|
||||
ns1=""
|
||||
ns2=""
|
||||
|
@ -187,6 +188,7 @@ init() {
|
|||
cin=$(mktemp)
|
||||
cinsent=$(mktemp)
|
||||
cout=$(mktemp)
|
||||
err=$(mktemp)
|
||||
evts_ns1=$(mktemp)
|
||||
evts_ns2=$(mktemp)
|
||||
|
||||
|
@ -202,6 +204,7 @@ cleanup()
|
|||
rm -f "$sin" "$sout" "$cinsent" "$cinfail"
|
||||
rm -f "$tmpfile"
|
||||
rm -rf $evts_ns1 $evts_ns2
|
||||
rm -f "$err"
|
||||
cleanup_partial
|
||||
}
|
||||
|
||||
|
@ -3422,6 +3425,50 @@ userspace_pm_rm_sf()
|
|||
wait_rm_sf $1 "${cnt}"
|
||||
}
|
||||
|
||||
check_output()
|
||||
{
|
||||
local cmd="$1"
|
||||
local expected="$2"
|
||||
local msg="$3"
|
||||
local rc=0
|
||||
|
||||
mptcp_lib_check_output "${err}" "${cmd}" "${expected}" || rc=${?}
|
||||
if [ ${rc} -eq 2 ]; then
|
||||
fail_test "fail to check output # error ${rc}"
|
||||
elif [ ${rc} -eq 0 ]; then
|
||||
print_ok
|
||||
elif [ ${rc} -eq 1 ]; then
|
||||
fail_test "fail to check output # different output"
|
||||
fi
|
||||
}
|
||||
|
||||
# $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
|
||||
}
|
||||
|
||||
userspace_pm_chk_dump_addr()
|
||||
{
|
||||
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
|
||||
}
|
||||
|
||||
userspace_tests()
|
||||
{
|
||||
# userspace pm type prevents add_addr
|
||||
|
@ -3513,10 +3560,16 @@ 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
|
||||
userspace_pm_chk_dump_addr "${ns1}" \
|
||||
$'id 10 flags signal 10.0.2.1\nid 20 flags signal 10.0.3.1' \
|
||||
"signal"
|
||||
userspace_pm_rm_addr $ns1 10
|
||||
userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $SUB_ESTABLISHED
|
||||
userspace_pm_chk_dump_addr "${ns1}" \
|
||||
"id 20 flags signal 10.0.3.1" "after rm_addr 10"
|
||||
userspace_pm_rm_addr $ns1 20
|
||||
userspace_pm_rm_sf $ns1 10.0.3.1 $SUB_ESTABLISHED
|
||||
userspace_pm_chk_dump_addr "${ns1}" "" "after rm_addr 20"
|
||||
chk_rm_nr 2 2 invert
|
||||
chk_mptcp_info subflows 0 subflows 0
|
||||
chk_subflows_total 1 1
|
||||
|
@ -3537,8 +3590,14 @@ userspace_tests()
|
|||
chk_join_nr 1 1 1
|
||||
chk_mptcp_info subflows 1 subflows 1
|
||||
chk_subflows_total 2 2
|
||||
userspace_pm_chk_dump_addr "${ns2}" \
|
||||
"id 20 flags subflow 10.0.3.2" \
|
||||
"subflow"
|
||||
userspace_pm_rm_addr $ns2 20
|
||||
userspace_pm_rm_sf $ns2 10.0.3.2 $SUB_ESTABLISHED
|
||||
userspace_pm_chk_dump_addr "${ns2}" \
|
||||
"" \
|
||||
"after rm_addr 20"
|
||||
chk_rm_nr 1 1
|
||||
chk_mptcp_info subflows 0 subflows 0
|
||||
chk_subflows_total 1 1
|
||||
|
@ -3558,6 +3617,8 @@ userspace_tests()
|
|||
chk_mptcp_info subflows 0 subflows 0
|
||||
chk_subflows_total 1 1
|
||||
userspace_pm_add_sf $ns2 10.0.3.2 0
|
||||
userspace_pm_chk_dump_addr "${ns2}" \
|
||||
"id 0 flags subflow 10.0.3.2" "id 0 subflow"
|
||||
chk_join_nr 1 1 1
|
||||
chk_mptcp_info subflows 1 subflows 1
|
||||
chk_subflows_total 2 2
|
||||
|
|
Loading…
Reference in New Issue
Block a user