[PATCH net-next 4/4] selftests: mptcp: diag: check CURRESTAB counters

From: Matthieu Baerts
Date: Fri Dec 22 2023 - 07:49:25 EST


From: Geliang Tang <geliang.tang@xxxxxxxxx>

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@xxxxxxxxx>
Reviewed-by: Matthieu Baerts <matttbe@xxxxxxxxxx>
Signed-off-by: Matthieu Baerts <matttbe@xxxxxxxxxx>
---
tools/testing/selftests/net/mptcp/diag.sh | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/selftests/net/mptcp/diag.sh
index 95b498efacd1..04fcb8a077c9 100755
--- 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)
@@ -182,6 +182,15 @@ chk_msk_inuse()
__chk_nr get_msk_inuse $expected "$msg" 0
}

+# $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}"
@@ -219,9 +228,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} \
@@ -237,9 +248,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
@@ -261,9 +274,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

--
2.43.0