mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-07 13:13:57 +08:00
selftests: mptcp: check subflow and addr infos
New MPTCP info are being checked in multiple places to improve the code coverage when using the userspace PM. This patch makes chk_mptcp_info() more generic to be able to check subflows, add_addr_signal and add_addr_accepted info (and even more later). New arguments are now required to get different infos from the two namespaces because some counters are specific to the client or the server. Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Geliang Tang <geliang.tang@suse.com> Signed-off-by: Mat Martineau <martineau@kernel.org> Link: https://lore.kernel.org/r/20230623-send-net-next-20230623-v1-2-a883213c8ba9@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
4369c198e5
commit
d7ced753aa
@ -1832,31 +1832,26 @@ chk_subflow_nr()
|
||||
|
||||
chk_mptcp_info()
|
||||
{
|
||||
local nr_info=$1
|
||||
local info
|
||||
local info1=$1
|
||||
local exp1=$2
|
||||
local info2=$3
|
||||
local exp2=$4
|
||||
local cnt1
|
||||
local cnt2
|
||||
local dump_stats
|
||||
|
||||
if [[ $nr_info = "subflows_"* ]]; then
|
||||
info="subflows"
|
||||
nr_info=${nr_info:9}
|
||||
else
|
||||
echo "[fail] unsupported argument: $nr_info"
|
||||
fail_test
|
||||
return 1
|
||||
fi
|
||||
printf "%-${nr_blank}s %-30s" " " "mptcp_info $info1:$info2=$exp1:$exp2"
|
||||
|
||||
printf "%-${nr_blank}s %-30s" " " "mptcp_info $info=$nr_info"
|
||||
|
||||
cnt1=$(ss -N $ns1 -inmHM | grep "$info:" |
|
||||
sed -n 's/.*\('"$info"':\)\([[:digit:]]*\).*$/\2/p;q')
|
||||
cnt1=$(ss -N $ns1 -inmHM | grep "$info1:" |
|
||||
sed -n 's/.*\('"$info1"':\)\([[:digit:]]*\).*$/\2/p;q')
|
||||
cnt2=$(ss -N $ns2 -inmHM | grep "$info2:" |
|
||||
sed -n 's/.*\('"$info2"':\)\([[:digit:]]*\).*$/\2/p;q')
|
||||
# 'ss' only display active connections and counters that are not 0.
|
||||
[ -z "$cnt1" ] && cnt1=0
|
||||
cnt2=$(ss -N $ns2 -inmHM | grep "$info:" |
|
||||
sed -n 's/.*\('"$info"':\)\([[:digit:]]*\).*$/\2/p;q')
|
||||
[ -z "$cnt2" ] && cnt2=0
|
||||
if [ "$cnt1" != "$nr_info" ] || [ "$cnt2" != "$nr_info" ]; then
|
||||
echo "[fail] got $cnt1:$cnt2 $info expected $nr_info"
|
||||
|
||||
if [ "$cnt1" != "$exp1" ] || [ "$cnt2" != "$exp2" ]; then
|
||||
echo "[fail] got $cnt1:$cnt2 $info1:$info2 expected $exp1:$exp2"
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
@ -3332,8 +3327,11 @@ userspace_tests()
|
||||
userspace_pm_add_addr 10.0.2.1 10
|
||||
chk_join_nr 1 1 1
|
||||
chk_add_nr 1 1
|
||||
chk_mptcp_info subflows 1 subflows 1
|
||||
chk_mptcp_info add_addr_signal 1 add_addr_accepted 1
|
||||
userspace_pm_rm_sf_addr_ns1 10.0.2.1 10
|
||||
chk_rm_nr 1 1 invert
|
||||
chk_mptcp_info subflows 0 subflows 0
|
||||
kill_events_pids
|
||||
wait $tests_pid
|
||||
fi
|
||||
@ -3348,8 +3346,10 @@ userspace_tests()
|
||||
wait_mpj $ns2
|
||||
userspace_pm_add_sf 10.0.3.2 20
|
||||
chk_join_nr 1 1 1
|
||||
chk_mptcp_info subflows 1 subflows 1
|
||||
userspace_pm_rm_sf_addr_ns2 10.0.3.2 20
|
||||
chk_rm_nr 1 1
|
||||
chk_mptcp_info subflows 0 subflows 0
|
||||
kill_events_pids
|
||||
wait $tests_pid
|
||||
fi
|
||||
@ -3369,6 +3369,8 @@ endpoint_tests()
|
||||
wait_mpj $ns1
|
||||
pm_nl_check_endpoint 1 "creation" \
|
||||
$ns2 10.0.2.2 id 1 flags implicit
|
||||
chk_mptcp_info subflows 1 subflows 1
|
||||
chk_mptcp_info add_addr_signal 1 add_addr_accepted 1
|
||||
|
||||
pm_nl_add_endpoint $ns2 10.0.2.2 id 33
|
||||
pm_nl_check_endpoint 0 "ID change is prevented" \
|
||||
@ -3389,17 +3391,17 @@ endpoint_tests()
|
||||
|
||||
wait_mpj $ns2
|
||||
chk_subflow_nr needtitle "before delete" 2
|
||||
chk_mptcp_info subflows_1
|
||||
chk_mptcp_info subflows 1 subflows 1
|
||||
|
||||
pm_nl_del_endpoint $ns2 2 10.0.2.2
|
||||
sleep 0.5
|
||||
chk_subflow_nr "" "after delete" 1
|
||||
chk_mptcp_info subflows_0
|
||||
chk_mptcp_info subflows 0 subflows 0
|
||||
|
||||
pm_nl_add_endpoint $ns2 10.0.2.2 dev ns2eth2 flags subflow
|
||||
wait_mpj $ns2
|
||||
chk_subflow_nr "" "after re-add" 2
|
||||
chk_mptcp_info subflows_1
|
||||
chk_mptcp_info subflows 1 subflows 1
|
||||
kill_tests_wait
|
||||
fi
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user