From nobody Wed May 15 17:59:07 2024 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F1DA130E2B; Mon, 26 Feb 2024 19:05:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708974332; cv=none; b=MggZjtBH5+iZE+aKW9gSknEX9ukXU4gCvI3lO/34laCwQZFRiycUkgPHQLM7D1NopSw+pvk//7zqjDMLIuwBDTLETR5ZAGBlRycYLD5kCEW0xOPxW1SHZevhXzceyNxBjiLP3t3wVZCrppRH9Kc9ssqDXMVQKPuIVRx96yFspEM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708974332; c=relaxed/simple; bh=KsRDaBWA2hqs3ZfyNP8lSvChAF45D/L822JxaB8PvyA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QO3nOrbUOMxcAvq/4FygLjtFda/1JO2QtuaMDJ3A3BtdGNgEl0KhBUICn05BbgvlWB/2+WYPeKQ1J00bSPzU8rSToEc3kEsM6YcgFv8oaxSvCasURd44WaUTq5XpfHnKa7zHpWCwxz0/PwgKEIK6gafm2NKCxD4JgGFVLSwvXtc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=aiLIrtC/; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="aiLIrtC/" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9A914C433F1; Mon, 26 Feb 2024 19:05:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1708974330; bh=KsRDaBWA2hqs3ZfyNP8lSvChAF45D/L822JxaB8PvyA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aiLIrtC/LK2M3nYsr+uT1UjjE4DMf9dsQGuEujaEv777SnsCQi5J036xJWpvKAd35 oTKX9MDJSLZzX11J5eLELBus/b3iK9WApJ1IKe/c7TrPFd5eiHLKIWnHEms969RIQT iMbotj3zYu9ZrccSEjp7kyXRy1Y/XxwDxKxCuIig0lo9EblupzKbFaA1xxldWWwWDC YC5Ha5xKyLKdRPvFyKSMrRpWTDcuvGM91kGZu/8ggoeNp5VSoh0hnIJoObLdewobBh nfnw3sQ8cjKCPh9Slsw7OmoUGeUgV4ZYvcjUF59luzgjCPWq3UDQvVRv03y4+ir4eR FRY3QliMWwnkQ== From: "Matthieu Baerts (NGI0)" To: stable@vger.kernel.org, gregkh@linuxfoundation.org Cc: MPTCP Upstream , Geliang Tang , Matthieu Baerts , Mat Martineau , Jakub Kicinski Subject: [PATCH 6.7.y] selftests: mptcp: add mptcp_lib_get_counter Date: Mon, 26 Feb 2024 20:05:14 +0100 Message-ID: <20240226190513.459358-2-matttbe@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <2024022629-gave-vastness-a4c6@gregkh> References: <2024022629-gave-vastness-a4c6@gregkh> Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=17243; i=matttbe@kernel.org; h=from:subject; bh=3HkcVS0IpmqzdDQhq9HyQ0/4rbp3V4M8fYG4Ohd5kdU=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBl3ODpVjEIQgMJ0b2CPJ+NkmToms+6uBDjDxS3f nFkpcmlh5eJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZdzg6QAKCRD2t4JPQmmg c/uOEADEX3ZkdVbDgjAXjfUi9ADRKV3gcCBLsxufP8zjX36bjieHf+WHBAWUDjPD8AGv6KAr0zM weoL1OwFVjVe4wqIDnx8gnT7sdVsVNMjEWgLXqm6gp/CLRgRy/3mMCQ+IWJ/fd8UHFR5q+nHKEt 6sk8ZkiSTN5PcQQGpbxDTXERqph6pIF2CoNeG+KDx5xWyY/u7/k/xYgkS0kFXqq+D2irpVe9nXn Jt5ViHOo4nNk7kG3B0AAJzLFTD6e8fEA3flEEsPuaV+pp92KXvEKttDiz8AYMErnMo6+ppRS1JQ 58ID1Lxl5sRcA+9IpTEC5TyiRfYlAfqMsGBSU16odo/lDFpBM+iXyJStkK4sPVE4YdV3juPTLdB d0nSX4sbfMI43RO3Ug1A2KjRuho5XrwE1L4jKcksXfeFAzIuMv9qAcv8Nzs6AjtViT6WjAEK676 Ncapk8o2rd8OvzN2NvL6FJy8Cx/k865bWv9Wv3DjW+wyqtnvVR4YCFMtXK1gkS9adKy9VJfTue2 zNq/jCTCTSxKNso/V5QCGOLkSK7UIJVpw+8cmk+0eesCLD1kWlcfXfrVmJhOWWtWGyQmPXdykcG S8rUc+1l/rPJrzoGv92kuwZpIcXzqhM+RgzXueCVSYVIjxIa452NvQ+kcAyFgaXVwIOGug4qqVb sida9vhnQkGVndQ== X-Developer-Key: i=matttbe@kernel.org; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang To avoid duplicated code in different MPTCP selftests, we can add and use helpers defined in mptcp_lib.sh. The helper get_counter() in mptcp_join.sh and get_mib_counter() in mptcp_connect.sh have the same functionality, export get_counter() into mptcp_lib.sh and rename it as mptcp_lib_get_counter(). Use this new helper instead of get_counter() and get_mib_counter(). Use this helper in test_prio() in userspace_pm.sh too instead of open-coding. Reviewed-by: Matthieu Baerts Signed-off-by: Geliang Tang Signed-off-by: Mat Martineau Link: https://lore.kernel.org/r/20231128-send-net-next-2023107-v4-11-8d6b94= 150f6b@kernel.org Signed-off-by: Jakub Kicinski Stable-dep-of: acaef88f2624 ("selftests: mptcp: diag: check CURRESTAB count= ers") (cherry picked from commit 61c131f5d4d2b79904af2fdcb2839a9db8e7c55c) Signed-off-by: Matthieu Baerts (NGI0) --- Notes: - this patch is needed for "selftests: mptcp: diag: check CURRESTAB counters" that has been added to the queue for v6.7 today, to avoid failures and this message: ./diag.sh: line 62: mptcp_lib_get_counter: command not found - conflicts in mptcp_lib.sh because the new helper expected to be placed after mptcp_lib_kill_wait() which has not been backported. --- .../selftests/net/mptcp/mptcp_connect.sh | 41 +++------ .../testing/selftests/net/mptcp/mptcp_join.sh | 88 ++++++++----------- .../testing/selftests/net/mptcp/mptcp_lib.sh | 16 ++++ .../selftests/net/mptcp/userspace_pm.sh | 14 +-- 4 files changed, 73 insertions(+), 86 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index b1fc8afd072d..10cd322e05c4 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -341,21 +341,6 @@ do_ping() return 0 } =20 -# $1: ns, $2: MIB counter -get_mib_counter() -{ - local listener_ns=3D"${1}" - local mib=3D"${2}" - - # strip the header - ip netns exec "${listener_ns}" \ - nstat -z -a "${mib}" | \ - tail -n+2 | \ - while read a count c rest; do - echo $count - done -} - # $1: ns, $2: port wait_local_port_listen() { @@ -441,12 +426,12 @@ do_transfer() nstat -n fi =20 - local stat_synrx_last_l=3D$(get_mib_counter "${listener_ns}" "MPTcpExtMPC= apableSYNRX") - local stat_ackrx_last_l=3D$(get_mib_counter "${listener_ns}" "MPTcpExtMPC= apableACKRX") - local stat_cookietx_last=3D$(get_mib_counter "${listener_ns}" "TcpExtSync= ookiesSent") - local stat_cookierx_last=3D$(get_mib_counter "${listener_ns}" "TcpExtSync= ookiesRecv") - local stat_csum_err_s=3D$(get_mib_counter "${listener_ns}" "MPTcpExtDataC= sumErr") - local stat_csum_err_c=3D$(get_mib_counter "${connector_ns}" "MPTcpExtData= CsumErr") + local stat_synrx_last_l=3D$(mptcp_lib_get_counter "${listener_ns}" "MPTcp= ExtMPCapableSYNRX") + local stat_ackrx_last_l=3D$(mptcp_lib_get_counter "${listener_ns}" "MPTcp= ExtMPCapableACKRX") + local stat_cookietx_last=3D$(mptcp_lib_get_counter "${listener_ns}" "TcpE= xtSyncookiesSent") + local stat_cookierx_last=3D$(mptcp_lib_get_counter "${listener_ns}" "TcpE= xtSyncookiesRecv") + local stat_csum_err_s=3D$(mptcp_lib_get_counter "${listener_ns}" "MPTcpEx= tDataCsumErr") + local stat_csum_err_c=3D$(mptcp_lib_get_counter "${connector_ns}" "MPTcpE= xtDataCsumErr") =20 timeout ${timeout_test} \ ip netns exec ${listener_ns} \ @@ -509,11 +494,11 @@ do_transfer() check_transfer $cin $sout "file received by server" rets=3D$? =20 - local stat_synrx_now_l=3D$(get_mib_counter "${listener_ns}" "MPTcpExtMPCa= pableSYNRX") - local stat_ackrx_now_l=3D$(get_mib_counter "${listener_ns}" "MPTcpExtMPCa= pableACKRX") - local stat_cookietx_now=3D$(get_mib_counter "${listener_ns}" "TcpExtSynco= okiesSent") - local stat_cookierx_now=3D$(get_mib_counter "${listener_ns}" "TcpExtSynco= okiesRecv") - local stat_ooo_now=3D$(get_mib_counter "${listener_ns}" "TcpExtTCPOFOQueu= e") + local stat_synrx_now_l=3D$(mptcp_lib_get_counter "${listener_ns}" "MPTcpE= xtMPCapableSYNRX") + local stat_ackrx_now_l=3D$(mptcp_lib_get_counter "${listener_ns}" "MPTcpE= xtMPCapableACKRX") + local stat_cookietx_now=3D$(mptcp_lib_get_counter "${listener_ns}" "TcpEx= tSyncookiesSent") + local stat_cookierx_now=3D$(mptcp_lib_get_counter "${listener_ns}" "TcpEx= tSyncookiesRecv") + local stat_ooo_now=3D$(mptcp_lib_get_counter "${listener_ns}" "TcpExtTCPO= FOQueue") =20 expect_synrx=3D$((stat_synrx_last_l)) expect_ackrx=3D$((stat_ackrx_last_l)) @@ -542,8 +527,8 @@ do_transfer() fi =20 if $checksum; then - local csum_err_s=3D$(get_mib_counter "${listener_ns}" "MPTcpExtDataCsumE= rr") - local csum_err_c=3D$(get_mib_counter "${connector_ns}" "MPTcpExtDataCsum= Err") + local csum_err_s=3D$(mptcp_lib_get_counter "${listener_ns}" "MPTcpExtDat= aCsumErr") + local csum_err_c=3D$(mptcp_lib_get_counter "${connector_ns}" "MPTcpExtDa= taCsumErr") =20 local csum_err_s_nr=3D$((csum_err_s - stat_csum_err_s)) if [ $csum_err_s_nr -gt 0 ]; then diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 2f28d594b2c5..be10b971e912 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -611,25 +611,9 @@ wait_local_port_listen() done } =20 -# $1: ns ; $2: counter -get_counter() -{ - local ns=3D"${1}" - local counter=3D"${2}" - local count - - count=3D$(ip netns exec ${ns} nstat -asz "${counter}" | awk 'NR=3D=3D1 {n= ext} {print $2}') - if [ -z "${count}" ]; then - mptcp_lib_fail_if_expected_feature "${counter} counter" - return 1 - fi - - echo "${count}" -} - rm_addr_count() { - get_counter "${1}" "MPTcpExtRmAddr" + mptcp_lib_get_counter "${1}" "MPTcpExtRmAddr" } =20 # $1: ns, $2: old rm_addr counter in $ns @@ -649,7 +633,7 @@ wait_rm_addr() =20 rm_sf_count() { - get_counter "${1}" "MPTcpExtRmSubflow" + mptcp_lib_get_counter "${1}" "MPTcpExtRmSubflow" } =20 # $1: ns, $2: old rm_sf counter in $ns @@ -672,11 +656,11 @@ wait_mpj() local ns=3D"${1}" local cnt old_cnt =20 - old_cnt=3D$(get_counter ${ns} "MPTcpExtMPJoinAckRx") + old_cnt=3D$(mptcp_lib_get_counter ${ns} "MPTcpExtMPJoinAckRx") =20 local i for i in $(seq 10); do - cnt=3D$(get_counter ${ns} "MPTcpExtMPJoinAckRx") + cnt=3D$(mptcp_lib_get_counter ${ns} "MPTcpExtMPJoinAckRx") [ "$cnt" =3D "${old_cnt}" ] || break sleep 0.1 done @@ -1271,7 +1255,7 @@ chk_csum_nr() fi =20 print_check "sum" - count=3D$(get_counter ${ns1} "MPTcpExtDataCsumErr") + count=3D$(mptcp_lib_get_counter ${ns1} "MPTcpExtDataCsumErr") if [ "$count" !=3D "$csum_ns1" ]; then extra_msg=3D"$extra_msg ns1=3D$count" fi @@ -1284,7 +1268,7 @@ chk_csum_nr() print_ok fi print_check "csum" - count=3D$(get_counter ${ns2} "MPTcpExtDataCsumErr") + count=3D$(mptcp_lib_get_counter ${ns2} "MPTcpExtDataCsumErr") if [ "$count" !=3D "$csum_ns2" ]; then extra_msg=3D"$extra_msg ns2=3D$count" fi @@ -1328,7 +1312,7 @@ chk_fail_nr() fi =20 print_check "ftx" - count=3D$(get_counter ${ns_tx} "MPTcpExtMPFailTx") + count=3D$(mptcp_lib_get_counter ${ns_tx} "MPTcpExtMPFailTx") if [ "$count" !=3D "$fail_tx" ]; then extra_msg=3D"$extra_msg,tx=3D$count" fi @@ -1342,7 +1326,7 @@ chk_fail_nr() fi =20 print_check "failrx" - count=3D$(get_counter ${ns_rx} "MPTcpExtMPFailRx") + count=3D$(mptcp_lib_get_counter ${ns_rx} "MPTcpExtMPFailRx") if [ "$count" !=3D "$fail_rx" ]; then extra_msg=3D"$extra_msg,rx=3D$count" fi @@ -1375,7 +1359,7 @@ chk_fclose_nr() fi =20 print_check "ctx" - count=3D$(get_counter ${ns_tx} "MPTcpExtMPFastcloseTx") + count=3D$(mptcp_lib_get_counter ${ns_tx} "MPTcpExtMPFastcloseTx") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$fclose_tx" ]; then @@ -1386,7 +1370,7 @@ chk_fclose_nr() fi =20 print_check "fclzrx" - count=3D$(get_counter ${ns_rx} "MPTcpExtMPFastcloseRx") + count=3D$(mptcp_lib_get_counter ${ns_rx} "MPTcpExtMPFastcloseRx") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$fclose_rx" ]; then @@ -1416,7 +1400,7 @@ chk_rst_nr() fi =20 print_check "rtx" - count=3D$(get_counter ${ns_tx} "MPTcpExtMPRstTx") + count=3D$(mptcp_lib_get_counter ${ns_tx} "MPTcpExtMPRstTx") if [ -z "$count" ]; then print_skip # accept more rst than expected except if we don't expect any @@ -1428,7 +1412,7 @@ chk_rst_nr() fi =20 print_check "rstrx" - count=3D$(get_counter ${ns_rx} "MPTcpExtMPRstRx") + count=3D$(mptcp_lib_get_counter ${ns_rx} "MPTcpExtMPRstRx") if [ -z "$count" ]; then print_skip # accept more rst than expected except if we don't expect any @@ -1449,7 +1433,7 @@ chk_infi_nr() local count =20 print_check "itx" - count=3D$(get_counter ${ns2} "MPTcpExtInfiniteMapTx") + count=3D$(mptcp_lib_get_counter ${ns2} "MPTcpExtInfiniteMapTx") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$infi_tx" ]; then @@ -1459,7 +1443,7 @@ chk_infi_nr() fi =20 print_check "infirx" - count=3D$(get_counter ${ns1} "MPTcpExtInfiniteMapRx") + count=3D$(mptcp_lib_get_counter ${ns1} "MPTcpExtInfiniteMapRx") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$infi_rx" ]; then @@ -1488,7 +1472,7 @@ chk_join_nr() fi =20 print_check "syn" - count=3D$(get_counter ${ns1} "MPTcpExtMPJoinSynRx") + count=3D$(mptcp_lib_get_counter ${ns1} "MPTcpExtMPJoinSynRx") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$syn_nr" ]; then @@ -1499,7 +1483,7 @@ chk_join_nr() =20 print_check "synack" with_cookie=3D$(ip netns exec $ns2 sysctl -n net.ipv4.tcp_syncookies) - count=3D$(get_counter ${ns2} "MPTcpExtMPJoinSynAckRx") + count=3D$(mptcp_lib_get_counter ${ns2} "MPTcpExtMPJoinSynAckRx") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$syn_ack_nr" ]; then @@ -1516,7 +1500,7 @@ chk_join_nr() fi =20 print_check "ack" - count=3D$(get_counter ${ns1} "MPTcpExtMPJoinAckRx") + count=3D$(mptcp_lib_get_counter ${ns1} "MPTcpExtMPJoinAckRx") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$ack_nr" ]; then @@ -1549,8 +1533,8 @@ chk_stale_nr() =20 print_check "stale" =20 - stale_nr=3D$(get_counter ${ns} "MPTcpExtSubflowStale") - recover_nr=3D$(get_counter ${ns} "MPTcpExtSubflowRecover") + stale_nr=3D$(mptcp_lib_get_counter ${ns} "MPTcpExtSubflowStale") + recover_nr=3D$(mptcp_lib_get_counter ${ns} "MPTcpExtSubflowRecover") if [ -z "$stale_nr" ] || [ -z "$recover_nr" ]; then print_skip elif [ $stale_nr -lt $stale_min ] || @@ -1587,7 +1571,7 @@ chk_add_nr() timeout=3D$(ip netns exec $ns1 sysctl -n net.mptcp.add_addr_timeout) =20 print_check "add" - count=3D$(get_counter ${ns2} "MPTcpExtAddAddr") + count=3D$(mptcp_lib_get_counter ${ns2} "MPTcpExtAddAddr") if [ -z "$count" ]; then print_skip # if the test configured a short timeout tolerate greater then expected @@ -1599,7 +1583,7 @@ chk_add_nr() fi =20 print_check "echo" - count=3D$(get_counter ${ns1} "MPTcpExtEchoAdd") + count=3D$(mptcp_lib_get_counter ${ns1} "MPTcpExtEchoAdd") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$echo_nr" ]; then @@ -1610,7 +1594,7 @@ chk_add_nr() =20 if [ $port_nr -gt 0 ]; then print_check "pt" - count=3D$(get_counter ${ns2} "MPTcpExtPortAdd") + count=3D$(mptcp_lib_get_counter ${ns2} "MPTcpExtPortAdd") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$port_nr" ]; then @@ -1620,7 +1604,7 @@ chk_add_nr() fi =20 print_check "syn" - count=3D$(get_counter ${ns1} "MPTcpExtMPJoinPortSynRx") + count=3D$(mptcp_lib_get_counter ${ns1} "MPTcpExtMPJoinPortSynRx") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$syn_nr" ]; then @@ -1631,7 +1615,7 @@ chk_add_nr() fi =20 print_check "synack" - count=3D$(get_counter ${ns2} "MPTcpExtMPJoinPortSynAckRx") + count=3D$(mptcp_lib_get_counter ${ns2} "MPTcpExtMPJoinPortSynAckRx") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$syn_ack_nr" ]; then @@ -1642,7 +1626,7 @@ chk_add_nr() fi =20 print_check "ack" - count=3D$(get_counter ${ns1} "MPTcpExtMPJoinPortAckRx") + count=3D$(mptcp_lib_get_counter ${ns1} "MPTcpExtMPJoinPortAckRx") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$ack_nr" ]; then @@ -1653,7 +1637,7 @@ chk_add_nr() fi =20 print_check "syn" - count=3D$(get_counter ${ns1} "MPTcpExtMismatchPortSynRx") + count=3D$(mptcp_lib_get_counter ${ns1} "MPTcpExtMismatchPortSynRx") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$mis_syn_nr" ]; then @@ -1664,7 +1648,7 @@ chk_add_nr() fi =20 print_check "ack" - count=3D$(get_counter ${ns1} "MPTcpExtMismatchPortAckRx") + count=3D$(mptcp_lib_get_counter ${ns1} "MPTcpExtMismatchPortAckRx") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$mis_ack_nr" ]; then @@ -1686,7 +1670,7 @@ chk_add_tx_nr() timeout=3D$(ip netns exec $ns1 sysctl -n net.mptcp.add_addr_timeout) =20 print_check "add TX" - count=3D$(get_counter ${ns1} "MPTcpExtAddAddrTx") + count=3D$(mptcp_lib_get_counter ${ns1} "MPTcpExtAddAddrTx") if [ -z "$count" ]; then print_skip # if the test configured a short timeout tolerate greater then expected @@ -1698,7 +1682,7 @@ chk_add_tx_nr() fi =20 print_check "echo TX" - count=3D$(get_counter ${ns2} "MPTcpExtEchoAddTx") + count=3D$(mptcp_lib_get_counter ${ns2} "MPTcpExtEchoAddTx") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$echo_tx_nr" ]; then @@ -1736,7 +1720,7 @@ chk_rm_nr() fi =20 print_check "rm" - count=3D$(get_counter ${addr_ns} "MPTcpExtRmAddr") + count=3D$(mptcp_lib_get_counter ${addr_ns} "MPTcpExtRmAddr") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$rm_addr_nr" ]; then @@ -1746,13 +1730,13 @@ chk_rm_nr() fi =20 print_check "rmsf" - count=3D$(get_counter ${subflow_ns} "MPTcpExtRmSubflow") + count=3D$(mptcp_lib_get_counter ${subflow_ns} "MPTcpExtRmSubflow") if [ -z "$count" ]; then print_skip elif [ -n "$simult" ]; then local cnt suffix =20 - cnt=3D$(get_counter ${addr_ns} "MPTcpExtRmSubflow") + cnt=3D$(mptcp_lib_get_counter ${addr_ns} "MPTcpExtRmSubflow") =20 # in case of simult flush, the subflow removal count on each side is # unreliable @@ -1781,7 +1765,7 @@ chk_rm_tx_nr() local rm_addr_tx_nr=3D$1 =20 print_check "rm TX" - count=3D$(get_counter ${ns2} "MPTcpExtRmAddrTx") + count=3D$(mptcp_lib_get_counter ${ns2} "MPTcpExtRmAddrTx") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$rm_addr_tx_nr" ]; then @@ -1798,7 +1782,7 @@ chk_prio_nr() local count =20 print_check "ptx" - count=3D$(get_counter ${ns1} "MPTcpExtMPPrioTx") + count=3D$(mptcp_lib_get_counter ${ns1} "MPTcpExtMPPrioTx") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$mp_prio_nr_tx" ]; then @@ -1808,7 +1792,7 @@ chk_prio_nr() fi =20 print_check "prx" - count=3D$(get_counter ${ns1} "MPTcpExtMPPrioRx") + count=3D$(mptcp_lib_get_counter ${ns1} "MPTcpExtMPPrioRx") if [ -z "$count" ]; then print_skip elif [ "$count" !=3D "$mp_prio_nr_rx" ]; then @@ -1908,7 +1892,7 @@ wait_attempt_fail() while [ $time -lt $timeout_ms ]; do local cnt =20 - cnt=3D$(get_counter ${ns} "TcpAttemptFails") + cnt=3D$(mptcp_lib_get_counter ${ns} "TcpAttemptFails") =20 [ "$cnt" =3D 1 ] && return 1 time=3D$((time + 100)) diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 4cd4297ca86d..2b10f200de40 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -216,3 +216,19 @@ mptcp_lib_kill_wait() { kill "${1}" > /dev/null 2>&1 wait "${1}" 2>/dev/null } + +# $1: ns, $2: MIB counter +mptcp_lib_get_counter() { + local ns=3D"${1}" + local counter=3D"${2}" + local count + + count=3D$(ip netns exec "${ns}" nstat -asz "${counter}" | + awk 'NR=3D=3D1 {next} {print $2}') + if [ -z "${count}" ]; then + mptcp_lib_fail_if_expected_feature "${counter} counter" + return 1 + fi + + echo "${count}" +} diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 0e573c6c393a..0e748068ee95 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -887,9 +887,10 @@ test_prio() =20 # Check TX print_test "MP_PRIO TX" - count=3D$(ip netns exec "$ns2" nstat -as | grep MPTcpExtMPPrioTx | awk '{= print $2}') - [ -z "$count" ] && count=3D0 - if [ $count !=3D 1 ]; then + count=3D$(mptcp_lib_get_counter "$ns2" "MPTcpExtMPPrioTx") + if [ -z "$count" ]; then + test_skip + elif [ $count !=3D 1 ]; then test_fail "Count !=3D 1: ${count}" else test_pass @@ -897,9 +898,10 @@ test_prio() =20 # Check RX print_test "MP_PRIO RX" - count=3D$(ip netns exec "$ns1" nstat -as | grep MPTcpExtMPPrioRx | awk '{= print $2}') - [ -z "$count" ] && count=3D0 - if [ $count !=3D 1 ]; then + count=3D$(mptcp_lib_get_counter "$ns1" "MPTcpExtMPPrioRx") + if [ -z "$count" ]; then + test_skip + elif [ $count !=3D 1 ]; then test_fail "Count !=3D 1: ${count}" else test_pass --=20 2.43.0