Commit 0bd962dd authored by Geliang Tang's avatar Geliang Tang Committed by David S. Miller

selftests: mptcp: join: check CURRESTAB counters

This patch adds a new helper chk_cestab_nr() to check the current
established connections counter MIB_CURRESTAB. Set the newly added
variables cestab_ns1 and cestab_ns2 to indicate how many connections
are expected in ns1 or ns2.

Invoke check_cestab() to check the counter during the connection in
do_transfer() and invoke chk_cestab_nr() to re-check it when the
connection closed. These checks are embedded in add_tests().
Signed-off-by: default avatarGeliang Tang <geliang.tang@linux.dev>
Acked-by: default avatarPaolo Abeni <pabeni@redhat.com>
Reviewed-by: default avatarMatthieu Baerts <matttbe@kernel.org>
Signed-off-by: default avatarMatthieu Baerts <matttbe@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c693a851
...@@ -56,6 +56,8 @@ unset FAILING_LINKS ...@@ -56,6 +56,8 @@ unset FAILING_LINKS
unset test_linkfail unset test_linkfail
unset addr_nr_ns1 unset addr_nr_ns1
unset addr_nr_ns2 unset addr_nr_ns2
unset cestab_ns1
unset cestab_ns2
unset sflags unset sflags
unset fastclose unset fastclose
unset fullmesh unset fullmesh
...@@ -976,6 +978,34 @@ pm_nl_set_endpoint() ...@@ -976,6 +978,34 @@ pm_nl_set_endpoint()
fi fi
} }
chk_cestab_nr()
{
local ns=$1
local cestab=$2
local count
print_check "cestab $cestab"
count=$(mptcp_lib_get_counter ${ns} "MPTcpExtMPCurrEstab")
if [ -z "$count" ]; then
print_skip
elif [ "$count" != "$cestab" ]; then
fail_test "got $count current establish[s] expected $cestab"
else
print_ok
fi
}
# $1 namespace 1, $2 namespace 2
check_cestab()
{
if [ -n "${cestab_ns1}" ]; then
chk_cestab_nr ${1} ${cestab_ns1}
fi
if [ -n "${cestab_ns2}" ]; then
chk_cestab_nr ${2} ${cestab_ns2}
fi
}
do_transfer() do_transfer()
{ {
local listener_ns="$1" local listener_ns="$1"
...@@ -1089,6 +1119,7 @@ do_transfer() ...@@ -1089,6 +1119,7 @@ do_transfer()
local cpid=$! local cpid=$!
pm_nl_set_endpoint $listener_ns $connector_ns $connect_addr pm_nl_set_endpoint $listener_ns $connector_ns $connect_addr
check_cestab $listener_ns $connector_ns
wait $cpid wait $cpid
local retc=$? local retc=$?
...@@ -2477,47 +2508,52 @@ add_tests() ...@@ -2477,47 +2508,52 @@ add_tests()
if reset "add single subflow"; then if reset "add single subflow"; then
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 0 1 pm_nl_set_limits $ns2 0 1
addr_nr_ns2=1 speed=slow \ addr_nr_ns2=1 speed=slow cestab_ns2=1 \
run_tests $ns1 $ns2 10.0.1.1 run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_cestab_nr $ns2 0
fi fi
# add signal address # add signal address
if reset "add signal address"; then if reset "add signal address"; then
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 1 1 pm_nl_set_limits $ns2 1 1
addr_nr_ns1=1 speed=slow \ addr_nr_ns1=1 speed=slow cestab_ns1=1 \
run_tests $ns1 $ns2 10.0.1.1 run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 1 1 chk_add_nr 1 1
chk_cestab_nr $ns1 0
fi fi
# add multiple subflows # add multiple subflows
if reset "add multiple subflows"; then if reset "add multiple subflows"; then
pm_nl_set_limits $ns1 0 2 pm_nl_set_limits $ns1 0 2
pm_nl_set_limits $ns2 0 2 pm_nl_set_limits $ns2 0 2
addr_nr_ns2=2 speed=slow \ addr_nr_ns2=2 speed=slow cestab_ns2=1 \
run_tests $ns1 $ns2 10.0.1.1 run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_cestab_nr $ns2 0
fi fi
# add multiple subflows IPv6 # add multiple subflows IPv6
if reset "add multiple subflows IPv6"; then if reset "add multiple subflows IPv6"; then
pm_nl_set_limits $ns1 0 2 pm_nl_set_limits $ns1 0 2
pm_nl_set_limits $ns2 0 2 pm_nl_set_limits $ns2 0 2
addr_nr_ns2=2 speed=slow \ addr_nr_ns2=2 speed=slow cestab_ns2=1 \
run_tests $ns1 $ns2 dead:beef:1::1 run_tests $ns1 $ns2 dead:beef:1::1
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_cestab_nr $ns2 0
fi fi
# add multiple addresses IPv6 # add multiple addresses IPv6
if reset "add multiple addresses IPv6"; then if reset "add multiple addresses IPv6"; then
pm_nl_set_limits $ns1 0 2 pm_nl_set_limits $ns1 0 2
pm_nl_set_limits $ns2 2 2 pm_nl_set_limits $ns2 2 2
addr_nr_ns1=2 speed=slow \ addr_nr_ns1=2 speed=slow cestab_ns1=1 \
run_tests $ns1 $ns2 dead:beef:1::1 run_tests $ns1 $ns2 dead:beef:1::1
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_add_nr 2 2 chk_add_nr 2 2
chk_cestab_nr $ns1 0
fi fi
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment