selftests: mptcp: diag: check CURRESTAB counters
authorGeliang Tang <geliang.tang@linux.dev>
Fri, 22 Dec 2023 12:47:25 +0000 (13:47 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Mar 2024 12:35:03 +0000 (13:35 +0100)
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

index 85a8ee9395b39af8e373675f727132abb81f4c49..15bd06c9b1dbe410461914c0928ef33064e1604a 100755 (executable)
@@ -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