[PATCH 6.6 201/299] selftests: mptcp: diag: check CURRESTAB counters

Greg Kroah-Hartman
2024-02-27T13:56:00Z

From: Geliang Tang <geliang.tang@linux.dev>

commit 81ab772819da408977ac79c0a17d8be57283379f upstream.

This patch adds a new helper chk_msk_cestab() to check the current
established connections counter MIB_CURRESTAB in diag.sh. Invoke it
to check the counter during the connection after every chk_msk_inuse().

Signed-off-by: Geliang Tang <geliang.tang@linux.dev>
Reviewed-by: Matthieu Baerts <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts <matttbe@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
tools/testing/selftests/net/mptcp/diag.sh | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)

--- a/tools/testing/selftests/net/mptcp/diag.sh
+++ b/tools/testing/selftests/net/mptcp/diag.sh
@@ -56,7 +56,7 @@ __chk_nr()
local command="$1"
local expected=$2
local msg="$3"
- local skip="${4:-SKIP}"
+ local skip="${4-SKIP}"
local nr

nr=$(eval $command)
@@ -199,6 +199,15 @@ wait_local_port_listen()
done
}

+# $1: cestab nr
+chk_msk_cestab()
+{
+ local cestab=$1
+
+ __chk_nr "mptcp_lib_get_counter ${ns} MPTcpExtMPCurrEstab" \
+ "${cestab}" "....chk ${cestab} cestab" ""
+}
+
wait_connected()
{
local listener_ns="${1}"
@@ -236,9 +245,11 @@ chk_msk_nr 2 "after MPC handshake "
chk_msk_remote_key_nr 2 "....chk remote_key"
chk_msk_fallback_nr 0 "....chk no fallback"
chk_msk_inuse 2 "....chk 2 msk in use"
+chk_msk_cestab 2
flush_pids

chk_msk_inuse 0 "....chk 0 msk in use after flush"
+chk_msk_cestab 0

echo "a" | \
timeout ${timeout_test} \
@@ -254,9 +265,11 @@ echo "b" | \
wait_connected $ns 10001
chk_msk_fallback_nr 1 "check fallback"
chk_msk_inuse 1 "....chk 1 msk in use"
+chk_msk_cestab 1
flush_pids

chk_msk_inuse 0 "....chk 0 msk in use after flush"
+chk_msk_cestab 0

NR_CLIENTS=100
for I in `seq 1 $NR_CLIENTS`; do
@@ -278,9 +291,11 @@ done

wait_msk_nr $((NR_CLIENTS*2)) "many msk socket present"
chk_msk_inuse $((NR_CLIENTS*2)) "....chk many msk in use"
+chk_msk_cestab $((NR_CLIENTS*2))
flush_pids

chk_msk_inuse 0 "....chk 0 msk in use after flush"
+chk_msk_cestab 0

mptcp_lib_result_print_all_tap
exit $ret