From nobody Thu May 9 20:07:20 2024 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2045.outbound.protection.outlook.com [40.107.8.45]) (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 643A25692 for ; Fri, 13 Oct 2023 07:43:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="eO+i8XhZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JbkwPonY8i/zUDgtmQe6WHL/IzdovYRWiuVaQn2tK2zDI9GHyP2wavlCWlbLCD5y1w7fnwE5JjhjuwTN/mJ2a13fMK5oOruNjYXdPeYdfkWWgChFHNppuBILtrL7NDOJLmjGeIbTnYPNYbcAQ08l/KhcDP+/Zl6WGaRgI03ORGBEMT5AhgS210keK9HxXSNG8Cf7KHyqoPFvH3FHtfGRkLuJ0ra+VmP7awY2BUMwrTKcpPQ0YrOvpvUnmQBY5nOcvwC9qRGE2slZrFEsyx1M52NLcdb/Ba/SjKef0chYwVQHUD5gPaGhApdc+DJdLGKPLDXsFeOoV4BEULfkyEnDog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1NKQTbcBrvfmBr6FCHfhC55/4LoO7yq1uI0Isga9VEo=; b=WEhTXr+XP2R1EcIzM4ixPR8WZHeGctBr8/+21dl9YLhidvpksCvkypJprjIa/Dh9fiyuJGp713yb43vyK+3RwX4W6SEhHv2ATkN7CkLysu6KEt4gBoKr+fBeqvN430VIcbUrpOBH5f3OGNr5ft8JSwp8QQRGvq2DvZIV493GMwcx3G9001U5vRNP0KFWBE1+s54511m9pFf3l3DKZapEhTWM5p9eJ8nTEBcNaHR5s0hEoVNwY1xPWq+dXFyXGrWRgO5C9ldVI5ZfS5U652weNhTtypEt2vEF2T3mVosTgvZhWZyCCOAc3b51ULSYeG84lg/E3OLH0F9jeBLgSwVmog== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1NKQTbcBrvfmBr6FCHfhC55/4LoO7yq1uI0Isga9VEo=; b=eO+i8XhZEZhmggpSCwlGDPEvn6+qBtugjAhgbZTy2JBW7eTMnY3GZfzPYdZ4vHBv8Y3Ip0tAhzF1jaDnFqwjE+xkx2mk4x7Kx51BAHX0XoueDFTT5AGQW10/iwm5aadDZZzQ7lTzgFEayuv8XD8dUy2jfzMVTz+jbmrUaKHc7xHSwIrvegVsXcXfK4i/B4cbB9yPTHhUlFSgNY8LKuWn0ZZrrSvqacGiuo6MnjdJD0qhDTrwZPd9y4hmK3Sot9R6/Gup5/FEgJziVCDX0aznKjZLadXTklcRy/kfIXwD6RUHXbezf9Ols5s1i+yGNS2oQ67c9UleRZrI8CmoRDoHkw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DU2PR04MB8566.eurprd04.prod.outlook.com (2603:10a6:10:2d5::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.45; Fri, 13 Oct 2023 07:43:26 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::3852:4f89:9891:73c8]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::3852:4f89:9891:73c8%3]) with mapi id 15.20.6863.032; Fri, 13 Oct 2023 07:43:26 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 1/7] selftests: mptcp: add mptcp_lib_kill_wait Date: Fri, 13 Oct 2023 15:44:31 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2P153CA0021.APCP153.PROD.OUTLOOK.COM (2603:1096:4:190::20) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DU2PR04MB8566:EE_ X-MS-Office365-Filtering-Correlation-Id: 36b991c8-a9e6-483b-d141-08dbcbc015de X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: o0v34OMLb/Rstz3BwDmuPg6/2dhex5LNf3fGxRQKHbHgpjxmK11TNvhIi8CiPnVeJFJtayobwAtHoa9f75FygQdAoZHuLLw1rHI3xaqm4gcWuI1dF4if3nF+2/r4d3rNIZfC0KBQ/WW61brSoTGfceinOlJwntM/DKVAeuLaZMZo7SVwIwCkCAxm2mNfgwFQ7zC3D6MMwVGugtjBKX5+97BKzqNf6PLk6k5+Zoc3qfXqdb8pV4tUopugmXkN0W3+O7zxJv7DQuvcQFclUsUkXFX286DgEPaZlvN+792Yz5DolIIj9S2RHOP9YDKLPN7EYeWSF9SqPIBkKiVYLggrC5go4yv8RJQOXShfsAfHnAa7ImNTt378e/1VxoL4hZbnzFDcV0PW8+22EVgU4YgS8NfmSFhbjO8qe4FXdEpvOwfBWtLh1oUJmxiDpqSh+bIv7AqBnmwP/dvWl97waaRnftc/6DzEWaGOBOSeTzn1wfwImv02wL5Z+lWnvNW7gr+5bhIz45TGeE5scoqtFuv0nnBFAGgPc8ppgQilD+BwwZlEYt4CHRpoevIUT5N4dMLUuGXWqJueiqDQyiql1ghJdGBw3EmUmAfy1n5CxadmNP4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(39850400004)(136003)(346002)(396003)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(26005)(6486002)(6666004)(38100700002)(316002)(107886003)(66946007)(6916009)(41300700001)(2616005)(66476007)(66556008)(5660300002)(83380400001)(44832011)(8676002)(4326008)(8936002)(6506007)(6512007)(478600001)(2906002)(86362001)(36756003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?3W7uXaMoUWAyqjqUl8RyMIUm8xpEAh50Pxlt3KlhrG0jZizRvNf8JLdZdRrT?= =?us-ascii?Q?ueu0+a5v2NaRRG3f+oaLQGCowvJpZfVJ7ZZWo4JQPM2uJYrGgEPmefXeqePW?= =?us-ascii?Q?IGqmAemSt/Br2yz57Mwz3tnxGCPfAEkZN21W1D3qcR/2BFyJoTrMMqGW/m1r?= =?us-ascii?Q?UjBUjcxT+0VDScjVQF3jLzqlK5km4pb6mzNpj+HHLNalKttgPTy0GGa3NYav?= =?us-ascii?Q?jQuIlYJTyI/HCsVHUECiGOVpNWOPxNT+an6w4rNogD2/Vycljf656XdjrVPx?= =?us-ascii?Q?dzFrz/n9itUFxjj4q0YoE+rRiAKJlbnPV41qrAlczTQzvAGknUSJsjr9qV6B?= =?us-ascii?Q?Ma4IMRUUcvGvB3R0ayiJjg5l60YpVSawQy0FDEa4cieQzGeS+RD7luv1SWFw?= =?us-ascii?Q?trTdhD9B2qRitr32e374sm/8SM0MyTRIIS/aWD6hJiqOKZZbi6MYF8h5trm2?= =?us-ascii?Q?ofA/nizqkzSjlSqUBf0JkWIaceTWI0NDRZflD3BXjKaNRgWZ5yyPFZ1PperT?= =?us-ascii?Q?FB2+cvTs+rYLQgeUWth30gXWY6uYjwmkR2XuMfOsksfgPlwIEEIgBgfgVnlC?= =?us-ascii?Q?AYZrMA/Ie3MXjix0+GuHhpe8G+frUs0fmgekHKpg3Rq3DBBK8TEhqO/ybMAV?= =?us-ascii?Q?CxSWiLnB1gYCS2XYCDUwTiGyH8jsXLBceRK9kgR8qB7LxUeeJ0rlhmStExZn?= =?us-ascii?Q?YW23nMOnTqfOcrLNnUjudEfOSk67fPnk0bDOdW1oC6nvxnpSiOp8qPNUc0I+?= =?us-ascii?Q?0pUJRlrsvw1muq5KC9Z3uRmkCm4xVkWFxUH3WT1jFxfBVjqyw1c3u5szVLy8?= =?us-ascii?Q?yh8BWPYDykT6wxTqB0SvS3DPahAwy7nDHO/hrBGyWyNOvKtehRq26mrnxgJq?= =?us-ascii?Q?pTzevQB86dfU6iMW4FzWuF8yld87erH1EpRRaL5KkSKqeGaHPDzUBukKGmb5?= =?us-ascii?Q?Pput4MmcDYGKjiHz/iOLQ8RGCzvKFyurutBROur0C6cvYLUJfIJlIGT9Fhc9?= =?us-ascii?Q?8mCXHlbFnKH9a17NVOfm6tfl4hgw7DCmGTC7itgVvch9dmu4CA9iq9qOeIGm?= =?us-ascii?Q?3xhnOh7JjTPowTeD8LsNDDV9AevDaXSINS5yiuD62gDasa2MfGfjvVbevLK7?= =?us-ascii?Q?LS85mILIWuYxGhG08D4q6ao3DusljydMoDzAMDb71tHOm/IYbhVtonSdbT5d?= =?us-ascii?Q?TnfRluxmUdXQA8afw7FbPldsONwBvQ/Cq8dI44nuTUf/vvY1DPzDrd92FpSc?= =?us-ascii?Q?3RAYYONx1TRDmq7w5cBThLe5jhX5LGGhK4W/JtzcN9maAuUVbZKboPKqrwRJ?= =?us-ascii?Q?GK5fdfHHW1wG/2qTYBvLw0mUDULaaMBRnatWA2Im9EmlPPpqDQg1MqRT1uHQ?= =?us-ascii?Q?jMme05Q2Gf8+WJ8qgHS4jwcBp15K5fywbzSD5IBo+T7UTK1703GHUKLigtZW?= =?us-ascii?Q?gWN8rEGdf8DnVfc6Ryemd16FETODkBBQlrkIWd+7l51OgL8tf3ry4MYuAv+3?= =?us-ascii?Q?JVIK47ZoesN9swhQPUs+mxZt7iIPJaNYaJ8BosMM9p4HjfIkNnG0y321SEws?= =?us-ascii?Q?xG1j2np00pVculdDeI9efIdVqKP0njvuucRWANog?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 36b991c8-a9e6-483b-d141-08dbcbc015de X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2023 07:43:26.7211 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: bd0gFgeD+aAhn9EDlP/c4pPOKoXB4L8PrgutUMVMbF/p8rcbXLNb8sEBld2Ps4gGd/vC/js3HVNV9mM7a2Y3Vw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8566 Content-Type: text/plain; charset="utf-8" To avoid duplicated code in different MPTCP selftests, we can add and use helpers defined in mptcp_lib.sh. Export kill_wait() helper in userspace_pm.sh into mptcp_lib.sh and rename it as mptcp_lib_kill_wait(). It can be used to instead of kill_wait() in mptcp_join.sh. Use the new helper in both scripts. Signed-off-by: Geliang Tang Reviewed-by: Matthieu Baerts --- .../testing/selftests/net/mptcp/mptcp_join.sh | 10 ++---- .../testing/selftests/net/mptcp/mptcp_lib.sh | 9 ++++++ .../selftests/net/mptcp/userspace_pm.sh | 31 +++++++------------ 3 files changed, 22 insertions(+), 28 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 5d2015f16028..46dd7b1b6872 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -682,16 +682,10 @@ wait_mpj() done } =20 -kill_wait() -{ - kill $1 > /dev/null 2>&1 - wait $1 2>/dev/null -} - kill_events_pids() { - kill_wait $evts_ns1_pid - kill_wait $evts_ns2_pid + mptcp_lib_kill_wait $evts_ns1_pid + mptcp_lib_kill_wait $evts_ns2_pid } =20 kill_tests_wait() diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index def35395a254..692a73252830 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -217,3 +217,12 @@ mptcp_lib_get_info_value() { mptcp_lib_evts_get_info() { cat "${2}" | mptcp_lib_get_info_value "${1}" "^type:${3:-1}," } + +# $1: PID +mptcp_lib_kill_wait() { + [ "${1}" -eq 0 ] && return 0 + + kill -SIGUSR1 "${1}" > /dev/null 2>&1 + kill "${1}" > /dev/null 2>&1 + wait "${1}" 2>/dev/null +} diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 2413059a42e5..f4e352494f05 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -108,15 +108,6 @@ test_fail() mptcp_lib_result_fail "${test_name}" } =20 -kill_wait() -{ - [ $1 -eq 0 ] && return 0 - - kill -SIGUSR1 $1 > /dev/null 2>&1 - kill $1 > /dev/null 2>&1 - wait $1 2>/dev/null -} - # This function is used in the cleanup trap #shellcheck disable=3DSC2317 cleanup() @@ -128,7 +119,7 @@ cleanup() for pid in $client4_pid $server4_pid $client6_pid $server6_pid\ $server_evts_pid $client_evts_pid do - kill_wait $pid + mptcp_lib_kill_wait $pid done =20 local netns @@ -210,7 +201,7 @@ make_connection() fi :>"$client_evts" if [ $client_evts_pid -ne 0 ]; then - kill_wait $client_evts_pid + mptcp_lib_kill_wait $client_evts_pid fi ip netns exec "$ns2" ./pm_nl_ctl events >> "$client_evts" 2>&1 & client_evts_pid=3D$! @@ -219,7 +210,7 @@ make_connection() fi :>"$server_evts" if [ $server_evts_pid -ne 0 ]; then - kill_wait $server_evts_pid + mptcp_lib_kill_wait $server_evts_pid fi ip netns exec "$ns1" ./pm_nl_ctl events >> "$server_evts" 2>&1 & server_evts_pid=3D$! @@ -624,7 +615,7 @@ test_subflows() "10.0.2.2" "$client4_port" "23" "$client_addr_id" "ns1" "ns2" =20 # Delete the listener from the client ns, if one was created - kill_wait $listener_pid + mptcp_lib_kill_wait $listener_pid =20 local sport sport=3D$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED) @@ -663,7 +654,7 @@ test_subflows() "$client_addr_id" "ns1" "ns2" =20 # Delete the listener from the client ns, if one was created - kill_wait $listener_pid + mptcp_lib_kill_wait $listener_pid =20 sport=3D$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED) =20 @@ -702,7 +693,7 @@ test_subflows() "$client_addr_id" "ns1" "ns2" =20 # Delete the listener from the client ns, if one was created - kill_wait $listener_pid + mptcp_lib_kill_wait $listener_pid =20 sport=3D$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED) =20 @@ -740,7 +731,7 @@ test_subflows() "10.0.2.1" "$app4_port" "23" "$server_addr_id" "ns2" "ns1" =20 # Delete the listener from the server ns, if one was created - kill_wait $listener_pid + mptcp_lib_kill_wait $listener_pid =20 sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED) =20 @@ -779,7 +770,7 @@ test_subflows() "$server_addr_id" "ns2" "ns1" =20 # Delete the listener from the server ns, if one was created - kill_wait $listener_pid + mptcp_lib_kill_wait $listener_pid =20 sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED) =20 @@ -816,7 +807,7 @@ test_subflows() "10.0.2.2" "10.0.2.1" "$new4_port" "23" "$server_addr_id" "ns2" "= ns1" =20 # Delete the listener from the server ns, if one was created - kill_wait $listener_pid + mptcp_lib_kill_wait $listener_pid =20 sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED) =20 @@ -862,7 +853,7 @@ test_subflows_v4_v6_mix() "$server_addr_id" "ns2" "ns1" =20 # Delete the listener from the server ns, if one was created - kill_wait $listener_pid + mptcp_lib_kill_wait $listener_pid =20 sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED) =20 @@ -974,7 +965,7 @@ test_listener() sleep 0.5 =20 # Delete the listener from the client ns, if one was created - kill_wait $listener_pid + mptcp_lib_kill_wait $listener_pid =20 sleep 0.5 verify_listener_events $client_evts $LISTENER_CLOSED $AF_INET 10.0.2.2 $c= lient4_port --=20 2.35.3 From nobody Thu May 9 20:07:20 2024 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2054.outbound.protection.outlook.com [40.107.8.54]) (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 66F215692 for ; Fri, 13 Oct 2023 07:43:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="tDtTJgGG" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U2m1TgJAa0/yS85ou0ptcVkku+DrJVvTbDSDmDB89V6qh3WpcPvIOeKabcbMbGpYtUVEKZ5dYoStKzTPklP34DyFR6sUGI9LlvrEPck3eWsJZ3i+LMsPUHRw8BfZrBEub9FXTc5P2XKi1igC7HMrGjCTUNz61YwQD1myIjzfXY/TO611BonL6ygeK5f4HKkeumgUlJZWb64r2pkrJ0127tjQAipY5uT+vw8S++18fGUhzB7yKSYx7oIm9hdceLXdKCWIlhhPv7X4brmExlxyBl4dcGOIg/uFfog316cvLCsuJJyv9nIKxQuLhfALWQM38IMLD27zkUU53nbxmEeScQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=UuC4+7HL+QqC7IG6nolWtOtnRoo+3h/2ZDu35FqM9Us=; b=Ffqc5neDIlD66jYMjlXbUivWklS9adDDiVAnzrBrqpV7vFDhXguYtUw4aS4e7y0FeWyi8Nr53b3drXLe2krxf8ZzD6NPm8uU0uZcxDD/Mgf5HIlQNkTBT0EJgsk3CxtygBy7HDRCtR4Vlsm/CujmDBD2ucgI90mEpMULofwyvWZjRJgwXVXridZTocCmBsoy6Bli5IvHQzQHgo7jOuemPe1h63x56tGoU21OYjl2DkJT/4uXzSa7m5cp1yr2AYw+iDRaH7Zb5gJNjiLj5YMNbe+i1CRIbvluIY8LWlXGbsE1zrJgeNqKaAe0CwtWYQeYLIVz9lF634AsL895ppv6ew== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UuC4+7HL+QqC7IG6nolWtOtnRoo+3h/2ZDu35FqM9Us=; b=tDtTJgGGHsU5JwK45DFvGUqtwUYBSyn83zn1l2C9Y7gfOuJYsEyz9nutVpIVjsOK9vuJiKGY68NKLJwrfzB5rynyiV+e9n5ljodVi4Glr5b3Ejl6kT/355pXWOeHsd7ufmirMo70V1SzqlTnUaFWWoAeK1CfAqyeUgwovTSJIpi6NTwpsnVUwJPf9quWnTPXruFMjKfnmK/8QjMrFAQNkZtRlB56PZtPtutAmqSKWxku7VbqbYWuO0xD7jbIhaEWtahu3hdimd64KGw56fRFaB1XzwPIFfoBkd84X1ykKS1oUkVNCHmji+xgTyaGsnxU+WspUIHSA4rbo5CrNq8zRQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DU2PR04MB8566.eurprd04.prod.outlook.com (2603:10a6:10:2d5::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.45; Fri, 13 Oct 2023 07:43:33 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::3852:4f89:9891:73c8]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::3852:4f89:9891:73c8%3]) with mapi id 15.20.6863.032; Fri, 13 Oct 2023 07:43:33 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang , Matthieu Baerts Subject: [PATCH mptcp-next v4 2/7] selftests: mptcp: add mptcp_lib_is_v6 Date: Fri, 13 Oct 2023 15:44:32 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SGXP274CA0012.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::24) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DU2PR04MB8566:EE_ X-MS-Office365-Filtering-Correlation-Id: ea40be36-86b6-4a19-b646-08dbcbc019c5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YtalnvYcwvCsKasBMNrDN290t5Dqd5JOTGji2RhFQqj1cFPpcspurJmvbwFHLqLOvvZkg7vPTLf3Cd8J5M+HWwz4qmtIT67ImS0VO91kmZUpA40NhDoNj4JB4DWc39J5xesAMidl1H4Tre4BXnc8SmeuGpk7IIb0DxlOYks2j/s+u3TlWLjC7ondZpeqouw/SCoSATmAkpU5yKRG+Ve6NkVp8Hb68z0PtiTo0PYqahFPOFJIu89FilUmvHRq+5sCgp3O2pMQzBkeDe7xFfR9ECY3/nw0sAubStf6rwpgump2Kcxr0YlMuChdOjoXaOkgUzDpUufDYsLau/g3BxTMJFqFTCbpBAt4NO/zKECkCpw1Q5V/3GqqLXxl0g7JeqeErKMO52eYHk4Oc0vfIXwQ9WZZRngEpV5OEB+fx0utflQSjFs8LHGs1eckRxm/6W5SNA+AbgtabWyKtD3BK50mFm2KNz7Gg/M8vh4ETozirIkcUv2eAKvCRihKxpJY7+u5OxOj+ZpnQVbLHzfFNH2DR8VnT5jPUOoLDni7hoI7BwiPxc3RQWSAJjTjSelIbronZ+k3iM9JjZrrhDhqc/dkDT6CTVHDROefDtqXJrikpf8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(39850400004)(136003)(346002)(396003)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(26005)(6486002)(38100700002)(316002)(66946007)(6916009)(41300700001)(2616005)(66476007)(54906003)(66556008)(5660300002)(83380400001)(44832011)(8676002)(4326008)(8936002)(6506007)(6512007)(478600001)(2906002)(86362001)(36756003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MYEpqDRkPmYAKCEB/TncgOb2a0qswVVkkgYK6UcoBQsHEHA2MsP4KlLRschh?= =?us-ascii?Q?dkBJON1f9k7WJJU/QCWnkcSZFV2M7inRhZwEPbAg2hvHJSiKrO/kGHGAC+7+?= =?us-ascii?Q?0ATyZWBdREC5baWwFIgG/VQ6o8bPotAUTPo+ZrsAv285WZYf1oHpbefitzdk?= =?us-ascii?Q?RMfanXLPVH5/VeVad1U9C1+afVtYnEtAuRyvXXNCY64PnuVgnW841cuZhyfM?= =?us-ascii?Q?g3MWyq7vAGcthnW9IBU38IkP2IjTjZJ4pkhEVo4iLDS8da+GUrIavWRdaj4k?= =?us-ascii?Q?83S3lEUaMAa65e/iiWxz5qduqEVBVBjmaht0FQgeoP9nr5UqmIOsr4MOJD8K?= =?us-ascii?Q?ewXdlmd3ICCKpmAT3N/JcUiq8esfGYH/GVlfRwL86B0/beC0r2uZx3BuEIO4?= =?us-ascii?Q?qqVcnCRpdkhmTeieqB41fhGlgBM2igrWA0IE9Tg1/ipS3WNSw9k2hnZolRMd?= =?us-ascii?Q?mEgKN2SANhIiwQbfXPQe94h7b2EYbT0OJk+izUWpzq2GIJpnG3B5MYOBQ5vS?= =?us-ascii?Q?QFaXDW6XEvEae37rW90ho1kqXGOjVCRrO4Y8dXU9C6fq3KRD9E7Uv7bU19tP?= =?us-ascii?Q?6P2CqhLUtLcJSToqI7OReDyfZJtgeQM1+Iet3J4Z2seS8TtBeZ2qPwHL7aMi?= =?us-ascii?Q?d0dKwHhZq0EC0fLgrtLJ/mIlEWOZ7LooVr++S+bKXHe/f4rI8Azc3UjJjfFY?= =?us-ascii?Q?tKm4Jf30ELMwTUwoOg1meWwYwFB+9HH3q11pCKgnPFkOMGcm8xQ0i4sePPZT?= =?us-ascii?Q?siAZptUiu9b0i8mlkXmaDMQ1C+fciSxXb1jxbz/gx1oGzZDwHqEgoQ7eXYw2?= =?us-ascii?Q?dx0iC0FG8H5vs/bgN39dCqTdny5N9gApyon3ssyQb+vsAMidfNFd75WxUcc0?= =?us-ascii?Q?/KQgHtn99oU/9St+JOyoIGwXqkVU8MVK9BYJ+wNpVqnAAnp6v9ZcdL3HZSu5?= =?us-ascii?Q?0SFoRCtNxu60ovT3S4FE+ClLcl0c7LrOm/ae+NjH5i801dlYzpVw2vIBis6o?= =?us-ascii?Q?bDgLN98PZEmlvE3OhsCCoLaHWJWHMd5Ia60WJBsJr6VjkU5zH1kj02G22NA2?= =?us-ascii?Q?oHhSCoR/2TfUAjmTi51GNgMfXFHPZ5OQb86evZL3+5BmaeHFo925KzSrtrfp?= =?us-ascii?Q?L9vUJUTukM8lFtd2WIrKqZta/i68uYZSjigorXhrdBi9rsADKE3lHSxnFHtp?= =?us-ascii?Q?7uPyxqBMooxqd0dm0RV3+rR4NpjJFpXeH346Yq9sc+9+RqgOgQ4G03xmusIb?= =?us-ascii?Q?eYt5JG7m/mGqi4W+ZxGbmXkmoibV0spXRsWirlxenzHVmbd2NjFPIAwMDfao?= =?us-ascii?Q?VOmdrGLM1Hyp5+ebLDmjN6Xk8fdqe0UQ8b0JOqU5qUEXcZGopdhM45ykLhbq?= =?us-ascii?Q?lMZu4uPFDyAAEs088Z3UIfjKlmGdG5NzPD9niE/4nAScJlZCCQkPSbFn1cpn?= =?us-ascii?Q?buYwZvAHYKf6yJBEUEUiGBdOOfrnQrgGk1opn9mc5AUSeIxqjmW8Oe1ZjxYJ?= =?us-ascii?Q?BHKq9974Vd8PbWUS54GxjEihowBo3R23erpZx6dO1VgwM39SgWfIqhaCHuFc?= =?us-ascii?Q?4lzX3M8eEWiMUHyEjN/wmYeL5rA98svOXZDCdhdD?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ea40be36-86b6-4a19-b646-08dbcbc019c5 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2023 07:43:33.2905 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: /o6PCZ/2CDNnumB2tSsKVoeucr3p1GfHn21g+ePeB8V/Tl3oWoII7RCe3K6b341ELDtsDq6z1wNrRtYU0bkvSQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8566 Content-Type: text/plain; charset="utf-8" To avoid duplicated code in different MPTCP selftests, we can add and use helpers defined in mptcp_lib.sh. is_v6() helper is defined in mptcp_connect.sh, mptcp_join.sh and mptcp_sockopt.sh, so export it into mptcp_lib.sh and rename it as mptcp_lib_is_v6(). Use this new helper in all scripts. Reviewed-by: Matthieu Baerts Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_connect.sh | 16 +++++----------- tools/testing/selftests/net/mptcp/mptcp_join.sh | 14 ++++---------- tools/testing/selftests/net/mptcp/mptcp_lib.sh | 5 +++++ .../testing/selftests/net/mptcp/mptcp_sockopt.sh | 8 +------- 4 files changed, 15 insertions(+), 28 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 61a2a1988ce6..9ea4f0d6673a 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -310,12 +310,6 @@ check_mptcp_disabled() return 0 } =20 -# $1: IP address -is_v6() -{ - [ -z "${1##*:*}" ] -} - do_ping() { local listener_ns=3D"$1" @@ -324,7 +318,7 @@ do_ping() local ping_args=3D"-q -c 1" local rc=3D0 =20 - if is_v6 "${connect_addr}"; then + if mptcp_lib_is_v6 "${connect_addr}"; then $ipv6 || return 0 ping_args=3D"${ping_args} -6" fi @@ -635,12 +629,12 @@ run_tests_lo() fi =20 # skip if we don't want v6 - if ! $ipv6 && is_v6 "${connect_addr}"; then + if ! $ipv6 && mptcp_lib_is_v6 "${connect_addr}"; then return 0 fi =20 local local_addr - if is_v6 "${connect_addr}"; then + if mptcp_lib_is_v6 "${connect_addr}"; then local_addr=3D"::" else local_addr=3D"0.0.0.0" @@ -708,7 +702,7 @@ run_test_transparent() TEST_GROUP=3D"${msg}" =20 # skip if we don't want v6 - if ! $ipv6 && is_v6 "${connect_addr}"; then + if ! $ipv6 && mptcp_lib_is_v6 "${connect_addr}"; then return 0 fi =20 @@ -741,7 +735,7 @@ EOF fi =20 local local_addr - if is_v6 "${connect_addr}"; then + if mptcp_lib_is_v6 "${connect_addr}"; then local_addr=3D"::" r6flag=3D"-6" else diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 46dd7b1b6872..bb2a56c2dc37 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -587,12 +587,6 @@ link_failure() done } =20 -# $1: IP address -is_v6() -{ - [ -z "${1##*:*}" ] -} - # $1: ns, $2: port wait_local_port_listen() { @@ -895,7 +889,7 @@ pm_nl_set_endpoint() local id=3D10 while [ $add_nr_ns1 -gt 0 ]; do local addr - if is_v6 "${connect_addr}"; then + if mptcp_lib_is_v6 "${connect_addr}"; then addr=3D"dead:beef:$counter::1" else addr=3D"10.0.$counter.1" @@ -947,7 +941,7 @@ pm_nl_set_endpoint() local id=3D20 while [ $add_nr_ns2 -gt 0 ]; do local addr - if is_v6 "${connect_addr}"; then + if mptcp_lib_is_v6 "${connect_addr}"; then addr=3D"dead:beef:$counter::2" else addr=3D"10.0.$counter.2" @@ -989,7 +983,7 @@ pm_nl_set_endpoint() pm_nl_flush_endpoint ${connector_ns} elif [ $rm_nr_ns2 -eq 9 ]; then local addr - if is_v6 "${connect_addr}"; then + if mptcp_lib_is_v6 "${connect_addr}"; then addr=3D"dead:beef:1::2" else addr=3D"10.0.1.2" @@ -3351,7 +3345,7 @@ userspace_pm_rm_sf() local tk da dp sp =20 [ "$1" =3D=3D "$ns2" ] && evts=3D$evts_ns2 - if is_v6 $2; then ip=3D6; fi + if mptcp_lib_is_v6 $2; then ip=3D6; fi tk=3D$(mptcp_lib_evts_get_info token "$evts") da=3D$(mptcp_lib_evts_get_info "daddr$ip" "$evts" $t) dp=3D$(mptcp_lib_evts_get_info dport "$evts" $t) diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 692a73252830..8d0480d2a8f9 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -226,3 +226,8 @@ mptcp_lib_kill_wait() { kill "${1}" > /dev/null 2>&1 wait "${1}" 2>/dev/null } + +# $1: IP address +mptcp_lib_is_v6() { + [ -z "${1##*:*}" ] +} diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index a817af6616ec..bfa744e350ef 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -161,12 +161,6 @@ check_transfer() return 0 } =20 -# $1: IP address -is_v6() -{ - [ -z "${1##*:*}" ] -} - do_transfer() { local listener_ns=3D"$1" @@ -183,7 +177,7 @@ do_transfer() local mptcp_connect=3D"./mptcp_connect -r 20" =20 local local_addr ip - if is_v6 "${connect_addr}"; then + if mptcp_lib_is_v6 "${connect_addr}"; then local_addr=3D"::" ip=3Dipv6 else --=20 2.35.3 From nobody Thu May 9 20:07:20 2024 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2058.outbound.protection.outlook.com [40.107.8.58]) (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 55A675692 for ; Fri, 13 Oct 2023 07:43:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="dA2H8dXK" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ln4MhFo849xbImjN7iqw440KZODWPH8YM9w0qpUGfIPbdFVERTmq6B5SHO9T3kb3IQlD0QYVBU5xrxf3IGVmBQRzLxbqDpSlG6vtx/XgPcx9lGNvwj2Hxo2SP/eMO2yCouJ9AiofDDHz0Xo8INyJHU43ZP0oiW0ZEsvEwZpTvUsV7y2W79v6tfydLA0Wsgdulc2LPSbwHqeiCYEhlhOmvVJ+bNQfXTq5DpYhJcKBaiYw90xSEsFDEvZKpq85+o6mUntIhwqYJz8fM34oBf27BIc6kdN+v2/fLcTe+ZC9NEalfEK/8XjWP1CwUpsq9aOUjH59vP2dyR4KWlpN9Re6Pw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=YEe73/Y++QFsFtjMWQ33xLMXFxoQqtVoVMh8F53NNJo=; b=f04XcAd1IPoqvbwfNBka6CBhkPBgDPxM8LFbTcMkhCWzOD0sne9QZbRduOeZtUBGbD0dV0D3A4ei2Bg4JXzbpV5EOF7r5vBbVjFIySnsagkPMh7q5p5DjlOjEjrse+LWlPFjfI2p09BJjsCMRm8iiwIKDldjDsDES/Nirfh83l5UAoUSj6O9CaL/JBHgS+0I1vcBYLhhoJCKm1OJAmwMX0Si177Q+vXoo7YAd/H4ANBvh+BoNikNEurAe4ZrYFWmeyFQrVGVKrRH6DvdE43nFit4eF0oqkXgSZsaSVpDPYr3/xG8IC10V/DXxVaUJHsy9J815VdqitCljTrUSSvLDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YEe73/Y++QFsFtjMWQ33xLMXFxoQqtVoVMh8F53NNJo=; b=dA2H8dXKqTEFsFNOSoUfDXM582LUiTMUvyZa/5JWM3N3RdmS78d9oV828ky1gwUYQn4+tqe0Xz1wZg+2MBvSFh6uuql/CMoca168xGjxgHnHgoYhvA1hHzwkEfKutnhCQZwjUyIMIYyZhSuOKweOMSeoCGsRgypB4QLqq7UxyaH/64UVeh/mssnhPayQCUkh1OEwcXsEQCTyxR7R2hFb9pHK60ZRqyGIjEylKU70UPBiXvcHDCfNprgqZWmJFLeyIKwBo2gOUGQYMlPmh/uX93FKuN9bRvhj6kYQnW12GNFlNMeAJyHfMaWYKA/GN89lnN/tLPuOpQBDFdi6F2ZqwQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DU2PR04MB8566.eurprd04.prod.outlook.com (2603:10a6:10:2d5::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.45; Fri, 13 Oct 2023 07:43:41 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::3852:4f89:9891:73c8]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::3852:4f89:9891:73c8%3]) with mapi id 15.20.6863.032; Fri, 13 Oct 2023 07:43:40 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang , Matthieu Baerts Subject: [PATCH mptcp-next v4 3/7] selftests: mptcp: add mptcp_lib_get_counter Date: Fri, 13 Oct 2023 15:44:33 +0800 Message-Id: <01e9a8bc6e22784a10492b22c478f0beec06d438.1697182955.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SGXP274CA0022.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::34) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DU2PR04MB8566:EE_ X-MS-Office365-Filtering-Correlation-Id: c1ab0e4f-7daa-4d08-abb0-08dbcbc01dde X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7a76Bp6IXCGcOSZPMngJkOzTij8EENCXXdjGi8n7Zw1qgrH38q+nqPzpwNyKPdGW+FCxrdnccmSquMMlorz9gTze5zll0MyLjt2UaxoTrTwg/HA7tlILQedHxFkJoS4XMlx28XYl8ceMRrEBYfnDHrQYsiHzL8Y9CS6p/VUreQ6FMoeuj9M4d/z9qjUtHrrvumpYyJ8v9KFj6HF3MsU48yF1ERlLfKonmkvvkny0J/iFBB/dnPlR1t3NnTbJzSnt8WHUnbqTuvHN240ezl0q+vjFRdyLMarIog4bwqZXkUBaIzb4ZAzzG8PqPZrJRgZ/E80DuuWMH2onAwmgkjNhD9ox4daaTzpv4NlRK+0cfpCxyDGASxMzvOxt1/YjrdqwsQ0ZvC08cSSs/vWLOVdcuvGRn6pcWUEMg513iDjjkw7shLPj+T2u5HYU1vJDeWx4JKNWVoVRjTu2gPtDfb4n7psTtc6s3BqvgbTv6nQbkCZ+oQl1c9qspoLhRa8ng8JA7LismM9i0VligEPOIYxShh5s7YJ0XYfU5ZibEYiitrxNaSfMMpOtHyaeW5jh7BFH8YnOa9+IlLmswS9H2aH7p3B7kecTPL+exi4RlcqOQYA= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(39850400004)(136003)(346002)(396003)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(26005)(6486002)(6666004)(38100700002)(316002)(66946007)(6916009)(41300700001)(2616005)(66476007)(54906003)(66556008)(5660300002)(83380400001)(44832011)(8676002)(4326008)(8936002)(6506007)(6512007)(478600001)(2906002)(30864003)(86362001)(36756003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fsdXEBt1vwEhhQaFM5qFLYbcDxkoDKk84Mi3ZalJoROrjuoVr1HAkGgSKFHx?= =?us-ascii?Q?51VT8VJw0AcFshoQ+j9PmOWg6+LegPreYjN18lYY8LvUsi3sXIp5kb1v/s4r?= =?us-ascii?Q?XE42FuV1aDrW9V8oofHYo9url9hiYEMQLL2W0l2k/TVBvwzCRDKeZ3UtVyrb?= =?us-ascii?Q?Ja82ClAZ0w2M12W+/aF13gNbJEI/EFIzjbxFyMHfL7M5fbz3ghf4RdMMCB8/?= =?us-ascii?Q?vUUGiCnZ7D7FVBFrUCYy17OKB2io6jaMxHRC9IupUNSFTPWMotjYe4+qrsqd?= =?us-ascii?Q?Ni5xrUVvpd5tqVeBeaRXtIqdWQoxSYDAXiH9W53TLF8893qoW7nZb+M+4Qw6?= =?us-ascii?Q?i/myANzHWcTM8K73PZf2atO8a0PUzHAZ7LH/7is7vfcYd52Muw5jPGkC6DDv?= =?us-ascii?Q?XjFrdU5sAJap+CeGt1FIVDesDF09TVWf55iqAzydHtLgy+X8/Rz/VeoEyP0L?= =?us-ascii?Q?2NnD1lMD0UE5uJTi78zCqLdwz+/oYw5/HkfgP7nC3yrh3tn+mmLJMOxsqFLR?= =?us-ascii?Q?DxPYwcg58q4vaya8FkkvfMb3FgYU6xLmONXYup7oL56dXBuTLJbDGMWMeG9n?= =?us-ascii?Q?K6GKAUSNMY99pIMG7FRJXNLVwFPstz2IIJR02Gtw9VFq/o62quVRAoIts+Sc?= =?us-ascii?Q?zWIgtC//YdKZkwDtmDxBePrPEJD5iBhTKoasq5Ku7xEhzGmmLlgSFp31bRfL?= =?us-ascii?Q?MWa7KMG9V98Sk3Fad1PZUeaB2qDDo9AgY0zq6FbXlI+oYMzvUsO9ap/cqvp1?= =?us-ascii?Q?X9ZkA2wOkLwRCJ02TXze1z3PqS0DIiH73Z+Pn8rWMBqaPqFT8NqzOSlUtADG?= =?us-ascii?Q?p2fP23sjnPyzKEO34ZxmwYAkslqyUqZnaoeEGKJrWpL0V1ka/GkbkLauLpcI?= =?us-ascii?Q?oAHwCcBGiWqRB7d6voN/JI8ZwmMIsoFOD4UkJQ5/T4ucl9hWu8QuXcj4tmvz?= =?us-ascii?Q?IF8ipMqjDnjFR2GSjQpBIdwvuIl04CLFYwhzPUOPlFsD5dhdiN1/zItN9xJ4?= =?us-ascii?Q?URMy/ddCM/J0FYaMUazkLQa4V9wG1x5p3NC0OSpll6+vGUpBOLo9/x9gssws?= =?us-ascii?Q?oGim+whwtjA4a4fbTLd/BCU0ipGSGeIHbHRanOK8uSS3pzs6Gq/ZZyfAhxjW?= =?us-ascii?Q?HlWBA2qERMO/Q3Fkv59RU+He02kVCgoV/LEyLdxVzed+R7tmRI880KyFSvla?= =?us-ascii?Q?wGg9G06rK95beSZ/I3lDscl7PSewFbDWGGhaMqXYV3T9K+BOQJ+eVXaSwVCx?= =?us-ascii?Q?wijynXgwBhfCYReJBPPPfHeRqlSunslOoqD2UETszA/Vjve6+EeL8eqmscBF?= =?us-ascii?Q?2mescEUIEOJC9L5QBT+LwHnoose7EEytcf5eSKjUgJfNFQof3RITXG5rT4UB?= =?us-ascii?Q?tcpJ42wi99ulNWvSm4RrAZEH0Lhx18E/Zs9nVzbAKjmyucGP2k0Jh2xyPJLZ?= =?us-ascii?Q?oiBmUlUY96ndN4bqezxNu2o7tDmjVYNRtSYvLGEo2lfbq9+IzwKtq+NiJUDt?= =?us-ascii?Q?50rudDycqF3O+Jp/6qF17Sk3ZE79A3VopJ+LBbs6K068ex0FUhNGKf8iht2G?= =?us-ascii?Q?c/JkrfKEqcROowRR0GO0K1sSNY+pU6yjvsJGysjwQPAISoeyEKnAYGCac5iv?= =?us-ascii?Q?vA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c1ab0e4f-7daa-4d08-abb0-08dbcbc01dde X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2023 07:43:40.1519 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: nASg5z3y3R2IZBYj/baHAqaMXy6re8lW/+yieZ/wEaHYvhWQatf/yRDS+xYwQOBbNhFW1ml6qkug5sHHKbE2Nw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8566 Content-Type: text/plain; charset="utf-8" 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(). Reviewed-by: Matthieu Baerts Signed-off-by: Geliang Tang --- .../selftests/net/mptcp/mptcp_connect.sh | 41 +++------ .../testing/selftests/net/mptcp/mptcp_join.sh | 88 ++++++++----------- .../testing/selftests/net/mptcp/mptcp_lib.sh | 16 ++++ 3 files changed, 65 insertions(+), 80 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 9ea4f0d6673a..4dfbbde6df77 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -335,21 +335,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() { @@ -435,12 +420,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} \ @@ -503,11 +488,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)) @@ -536,8 +521,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 bb2a56c2dc37..7bfced890e50 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -605,25 +605,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 @@ -643,7 +627,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 @@ -666,11 +650,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 @@ -1272,7 +1256,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 @@ -1285,7 +1269,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 @@ -1329,7 +1313,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 @@ -1343,7 +1327,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 @@ -1376,7 +1360,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 @@ -1387,7 +1371,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 @@ -1417,7 +1401,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 @@ -1429,7 +1413,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 @@ -1450,7 +1434,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 @@ -1460,7 +1444,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 @@ -1489,7 +1473,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 @@ -1500,7 +1484,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 @@ -1517,7 +1501,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 @@ -1550,8 +1534,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 ] || @@ -1588,7 +1572,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 @@ -1600,7 +1584,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 @@ -1611,7 +1595,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 @@ -1621,7 +1605,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 @@ -1632,7 +1616,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 @@ -1643,7 +1627,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 @@ -1654,7 +1638,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 @@ -1665,7 +1649,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 @@ -1687,7 +1671,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 @@ -1699,7 +1683,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 @@ -1737,7 +1721,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 @@ -1747,13 +1731,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 @@ -1782,7 +1766,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 @@ -1799,7 +1783,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 @@ -1809,7 +1793,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 @@ -1940,7 +1924,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 8d0480d2a8f9..0e30c7bf24c2 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -231,3 +231,19 @@ mptcp_lib_kill_wait() { mptcp_lib_is_v6() { [ -z "${1##*:*}" ] } + +# $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}" +} --=20 2.35.3 From nobody Thu May 9 20:07:20 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2055.outbound.protection.outlook.com [40.107.21.55]) (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 EF7875692 for ; Fri, 13 Oct 2023 07:43:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="ZLsmgjA0" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EfF+CnN22OjS2xq7UtIxtdkHGKD4RzoSpRP2gVcl5cyXIFkl4C8Ha9ubskPtQQoyJxkeV134RG6Nz0QTtvxVwz2+JCd2M+a2khaJlU9oCj2cEssxJ3sMYMaDQJpQ+Ka6urm1ebF6kEIU7kZiX3CT0NLH8nF8RYHQfsy5DI3EnNK48vpdeefQiX7WD9YsIDETVfiFS3qcqG7DCtOjst9PSKAJpLLMxhfu71rF+vs3IOqclA6iEwVDamtAEX27Xm4ZB/XDbzt+F5npd0karNu0IyUejEzpaYlB2s5VEUDbRAA5UW/nsjN+RXhWyZPQacEUWRX2mixT+DwO5p9kbg7+wQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zju0JsdDDZ8iaxZHujNRdJQwpDtizpEAQUxwxQ6vRNM=; b=WRh05haSHjMklwBbGDPDhcCMdZ5BgLOIXiPyt+GHQPFM2JeC2Ey23e0pP8pZKFUHwZVRy5VXQD/Vvy6HgKDh+IzycbS+723c2zrX/bZEA3U6Byflqblxx686XJdCFMbj2ptFjrnEaAtbqJK/Q1rmnJtnOOa8UvMbf+8bMgpSQkLo0MJeAwOrmn79wsJt0uimng6R7MT9AWeDTVe+BHrMHKN4F6hlq/ddf1Tu2WW3fUlxJ4wzd7eNJ6kfk/CAw+/Z6VYaXq1R0TL6rNMlIwOmhyvxTbnRRSEolIkRXaptIMMKiUxltzolMnZKmTw3pmZY7HI/7237o3F+H9t5Z2jwbw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zju0JsdDDZ8iaxZHujNRdJQwpDtizpEAQUxwxQ6vRNM=; b=ZLsmgjA0YIhUHBvTjKTFMmOOng/+PEcpLuPr0NzBHCC0X2S9m61X4Tq8i/2NZ2/1Cmvwz8xJvnRx66XrcnOzAair1QGcIEKKC4jBaL5tU+2gk/JQ1AYNIkwpX3ghhryL30dD1TSm2SikK0oWzFy3t1Te6p16lHGNIS+/+rh5JsWsN9pGtJfPHABPQncqUHnOyTUuFXjtK0wA05o3S5Ht9wbDp+Wj5sRwbsticZmvh0qoKgqJVfoxxeVlRlxpvHSRP1gDcYnj7NzK5fSgXwgfeHW4/4GumkIeovxfPh2opRrJKulyhNXjAVnzQGJd8cHCrM2mpbkdki617ecKs9l59w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DU2PR04MB8566.eurprd04.prod.outlook.com (2603:10a6:10:2d5::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.45; Fri, 13 Oct 2023 07:43:49 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::3852:4f89:9891:73c8]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::3852:4f89:9891:73c8%3]) with mapi id 15.20.6863.032; Fri, 13 Oct 2023 07:43:47 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang , Matthieu Baerts Subject: [PATCH mptcp-next v4 4/7] selftests: mptcp: add missing oflag=append Date: Fri, 13 Oct 2023 15:44:34 +0800 Message-Id: <546a444fcf38c964d65cfd5e0f98d45e07244f5c.1697182955.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0044.apcprd02.prod.outlook.com (2603:1096:4:1f6::6) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DU2PR04MB8566:EE_ X-MS-Office365-Filtering-Correlation-Id: 684a0300-b279-4e42-0d93-08dbcbc02289 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ug+KPgnFThmdzRX3e2ZNBqhmQ77ycbNsyhef0GC8Ea9QnJ4P6l8/t1ByjPvSVghtN+0RARWu1XVxyGg3Hso0BRN2pNWXXwLZGViPrklvw/tC1DFWnT20AbHPshGQgTb7KH8iINwBjBMynmKc6gMhX0f/LqDDwwQKhxG5L9jOl86vQMNK8A1a59YXHg8ZLgpqQJFmFzRMs59i4xW+ynSBR06XU2hA1qE05wTI2B9J11pr/5l2gahwRgGbtHIyn24XqbCoNSodXPriHGggzh+gNzKHzbzBNIbqccDNiFzf+cyUNQ+ql0UIKsKlx9GzE46MhciAq3mX4+bFj+PnOSQKsWFFV+T+LwTJBR7N9YKOA0LpLZG9XqTE1JyHL735pSFsfh9WbgkTbIXsmV3ZOJ6J4jDjVjs7il42owszfILWPb+pQRCy6rWtCzdH/MpMprspb8KyoVFKZb08dfLUmpCZQBI4vTxXjm0SLuMMVKL00Lpcn4qB8o45Kr2W3MtHWAP9EFuI+m3FDLLBNxXvyXMaj/BCCweM6NeSfLjnw2aBkZU57cAO2dlBJOy4C8nNYtw8t36MbuBPgc+6RdW079H/1wP/v7/+728zZxTh+sqraRs= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(39850400004)(136003)(346002)(396003)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(26005)(6486002)(6666004)(38100700002)(316002)(66946007)(6916009)(41300700001)(2616005)(66476007)(54906003)(66556008)(5660300002)(83380400001)(44832011)(8676002)(4326008)(8936002)(6506007)(6512007)(478600001)(2906002)(86362001)(36756003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?G/ZQw6oNZSWlPL5VD9onYaOWor/LRVNWeDIt0UHYzHCye0fFIFsb4hImgo81?= =?us-ascii?Q?8PhcPOasBVExCPqyPzSDPLu2ZbjkPUjD69lkKTiRLgk1FLvsM8KCIGTFuiDo?= =?us-ascii?Q?vJgLvD2OODLIXmkVoimQOFwdABBty1Mw0BtM8i+XyUJnbtC0EwuEj3JXaa07?= =?us-ascii?Q?hPik7lpdtxeVTrqOPAD7+Vc/1Q4xydEGpxknZ56jiSmcyOi80jeCs/Usj/hi?= =?us-ascii?Q?dE+tiGZKhKJT5YD0xIrqA2jZF2nwTSjrsWX+vBjwPqUPCl6Jiq+leLLYhhix?= =?us-ascii?Q?DOAFhq6RMTZ2lPu9UQzwY8rXqOZ71MYXJPbKZt/5V6fMx3Ts9TQSsMad/78i?= =?us-ascii?Q?H9OsPm6zKMBzccqpKH37bz5WkYSzklGK+RT6ejwXLuQHBdB5XjlCYm4Rby0l?= =?us-ascii?Q?nRFvffQ+Bg6ZKWJTOiQR9coHPzO3K95syj+5Bh+xCvlVdqycjorREcQl+gEg?= =?us-ascii?Q?y2cSAdTDBvlvbZAWYeAhwV6oqhpevSa7nJ9UCmWgsRafU3gxHyzF380Infsw?= =?us-ascii?Q?2up6uWxw2xXuox9LZaU03bvEnXdRUfO3PE18fGs6nrgHLhSXUPloKhKs2pAY?= =?us-ascii?Q?/8jc88p2OHExCv6dAftN4S9tXLCjDqdTWmxPLnphuDwm2ifIWng4Gv9DLZ1j?= =?us-ascii?Q?vatECYp6WfaUTuchirtIy6pdRkscXXsB3OBQkTHiBQOmpXK4Tyj0Mz5DxHjz?= =?us-ascii?Q?3CGWf0s24H91SayR70Q0xX9SpRuDg80TJoAzFcYoZQInUANsmNC+aUg0LLW6?= =?us-ascii?Q?ITfma1BgdHs6Dnf8D1/77QilBdojEKHu2fNO330Vwc2WNBPLUNrH9xQ0O5N1?= =?us-ascii?Q?PGwLmjgle+Lxwxh6EB53ggRM473+lrnGtKuJUXcel5TeOTNoY4d21Xs6moOg?= =?us-ascii?Q?0P6Fl0dVaFsFpasjByfsR7BLJ4PC2S74YttAI18wQeaJo7m4EeHwzbPKlytA?= =?us-ascii?Q?StEWN4gxjXftvd4o7oeE3ADXt8YxUCdovO+WI2MdN9P85TOSCblNUspiDszJ?= =?us-ascii?Q?u/l5ZliVjcHixSR3N0ZMxboXF3icpxbKS+RX60s//EXJJw4FT6dwU4QMvJLt?= =?us-ascii?Q?w2TZAK4IupHVnBk9oQfhKUGmih3ceb+pQwou/TzLyCjw+VNsbEk/Iwopn57s?= =?us-ascii?Q?q4ZCOM2wtpy6zXyBCeHaqKvW0TAmYb04ktLppWZh2aFzelRcjxKrdI25xwqC?= =?us-ascii?Q?wyITuIzRfo2YsC0TeFJhNuSGVqgbWvzNaVMAyiqBKSUeARL+Z5zF5T3O3ufy?= =?us-ascii?Q?O76xQqijhNYfg/x5T/0AyjFdVOaUV4MCBYpM1DSmF8JZF8YzxyUq5yB7wktV?= =?us-ascii?Q?xMLsckiZmvxIwtoIvnrMDNrH8rm4hV4hLrd5ii0yOO/dFT65xtpJ/96TxGx8?= =?us-ascii?Q?oiih6IJwYYw4kJfAHJE94Ur4d6t+qhBtqAyN9Bb98NUcDaZsJe0ODxaQSKrt?= =?us-ascii?Q?NkQi24iMcrXxX9zUqE2hJbvr3ubaDv5lNne2co6IlfBJ1l779J/JQmkCo018?= =?us-ascii?Q?t12rm1P6Dv3Kgp3Awf6kQtppARD5QWX6I5wzc5toRIbqQSlq2dt69Vcc2MjE?= =?us-ascii?Q?Zc9mgINkO5lrZ1DKA9JSO4l6vTLvKOkCS25rTXINOLpFUZ+aHiDteeM6aoHo?= =?us-ascii?Q?Iw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 684a0300-b279-4e42-0d93-08dbcbc02289 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2023 07:43:47.7863 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: T4QLpUBhovxNSEPX+DtWStcF0SFF8yoHoVtJTQOKrXmlDEevSRm8KVrQkb1rZowM5jHSoqERAkwhQL3ei1NDfw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8566 Content-Type: text/plain; charset="utf-8" In mptcp_connect.sh we are missing something like "oflag=3Dappend" because this will write "${rem}" bytes at the beginning of the file where there is already some random bytes. It should write that at the end. This patch adds this missing 'oflag=3Dappend' flag for 'dd' command in make_file(). Suggested-by: Matthieu Baerts Signed-off-by: Geliang Tang Reviewed-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_connect.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 4dfbbde6df77..f00942cc23c7 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -593,7 +593,7 @@ make_file() rem=3D$((SIZE - (ksize * 1024))) =20 dd if=3D/dev/urandom of=3D"$name" bs=3D1024 count=3D$ksize 2> /dev/null - dd if=3D/dev/urandom conv=3Dnotrunc of=3D"$name" bs=3D1 count=3D$rem 2> /= dev/null + dd if=3D/dev/urandom conv=3Dnotrunc of=3D"$name" oflag=3Dappend bs=3D1 co= unt=3D$rem 2> /dev/null echo -e "\nMPTCP_TEST_FILE_END_MARKER" >> "$name" =20 echo "Created $name (size $(du -b "$name")) containing data sent by $who" --=20 2.35.3 From nobody Thu May 9 20:07:20 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2081.outbound.protection.outlook.com [40.107.21.81]) (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 A564D5692 for ; Fri, 13 Oct 2023 07:43:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="mGsx3CXe" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L1vvfQ7mDkbSxI02rzrksZAGTJpzETeUif8Jyj+aRGIpqpIE5WsmPS6D/aOBlMo6iEiILsY5s8VQaWTkOiF+BiUNNrFuNsyTJgLxNzVPIyf4rA/lU+rhpV55FhtZLU379M3nvYJ0DHcdMjx5o7TYCt7j6n+6pUEZe46xlD0a+RqMY3chwbHIYZFItYjmKU0tSKEXni+yOvqo1rsiE6YkuiKWHvNk4BdpyemIWE2oPdR8NFG9huzOBjJZ5I+8au4hyjGa/Ko4iyOpD7tXvKlU3P5hXpsZQQKQQ1M2UrbApniIgXBjapT0tJ5AXW0cq9meRVMvG6PcUtObawWpnv1Arw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7YF2Io7e4wkf1aI9oNFbJOMGDZLmSNC4olmc7Nhu6OE=; b=ckDv/pc/GaPxAdTAzgpXjP1a5e1oFntzsWZiFSA5HJLowo1t+WbXodfravbMxmJBD7nDNf6hjLtRzxjgAeWPXpAcv6JG0FI7LPTfwOUi2tCnEEbZ5vTgHmz8nEIbBIZDjdYJkgL9nPARlsw/l9tQALFPCTKMAwhdfzR/JuLF37A94NeoRaFirx5rYRLQnqE5w1fmvpfKQ7LTWnDyF4YNVYlEhsQOZu3kj8Za9eiGyB0M08R8VnlL7PWl9dBvEHj7FV129Ac5hWcYYK818nvNHXcfJhQJsyKsPI2Kr4Lr6o/E7KSm9A/1aFzClicIZZ39IaxteWVwRt3gSh4pvOHw/w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7YF2Io7e4wkf1aI9oNFbJOMGDZLmSNC4olmc7Nhu6OE=; b=mGsx3CXe1rzfT4Z5awC0XbSvDT0to7wQ8wVHaoMrQA9+EbKXVW8f7koK+Xk6RAgPZbtXu6ZvrNFuhuTILzSDE7zIopl84wrQI8+T2ApP4nHVb5pYgEaRPuEZHwXKVfqcFtwpKqd5zyHyJGTzkOGqmxCHO3OkzK1EitihT7ZCY6DAKQGrtMuZjNci2yxViaT/AzR1JUIg5pP6gP4/rklGVrhc073BYXzhYKeDlNsnBCIrdhPLCwKRybpXDcWRT906nc6iY+urlACUlY2TS6jBmo+a20qRgfZ+6DCJdUVeScnH2uDPYTF1npLt/YDK3HLvVsCVPH7jtOuIauwQruD8Xg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DU2PR04MB8566.eurprd04.prod.outlook.com (2603:10a6:10:2d5::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.45; Fri, 13 Oct 2023 07:43:55 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::3852:4f89:9891:73c8]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::3852:4f89:9891:73c8%3]) with mapi id 15.20.6863.032; Fri, 13 Oct 2023 07:43:55 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 5/7] selftests: mptcp: add mptcp_lib_make_file Date: Fri, 13 Oct 2023 15:44:35 +0800 Message-Id: <985c9a3186e32bb08bd3d617c9a0c7653dda112c.1697182955.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0037.apcprd02.prod.outlook.com (2603:1096:4:1f6::13) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DU2PR04MB8566:EE_ X-MS-Office365-Filtering-Correlation-Id: a78e9a6a-2a06-489e-1152-08dbcbc026f3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vdgh8z4GaKNCaGpQR5pwq3S9U/SAEKKi6olCECkUdn5nKNDShKJK5PmXjzTPmpTty534TiZiRxfCJosQuOml8BFPJtN1cQi2na0hFfydJkuJiHvhgShuepYnW739dWh7OSUZmZaq+Mg7L3ODrm+BOLCPZKwtofNV6kNaUjARroBNscaurn4fAUbMHXj60k65aggmsvngnUwXpII8QCavtyrMHfSJfDzkf4blwENYvmFdQd5MJzemZ1AzhVzyFZzgJ8oiArMdy+VwQ49Om+t+KKhKyra57Ns6iuuwOK4CtnNTFs1qGTigzWH5m8Oo1PCkk/U3+YaPunOvp32iLo3r4dpHZ+JCa7/yMPF7C/YqCVpL+QeRP7ZeWOVSMVpMktPuIe76Gq4kGpSWA2GT9vSauIW6WM2lgUowhTpqoBrFu9+L71BKanwBFvVb9l4ZmtfnOnUxYcbgOLmhTZfBqGcRJNapQvsVZg/mbKGrlY2lO/7HKKa2cGJd5uyLY4fTP0t+nN7LsUL2pWIwMULjrnGIY0ZoluY8RKZiR43wG0+SHkoVGfCVUjzdYRUe/dWsCECZyo1jOyeczssJVBZygwQO8lzc+78ekmWSHul72octrRE= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(39850400004)(136003)(346002)(396003)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(26005)(6486002)(6666004)(38100700002)(316002)(107886003)(66946007)(6916009)(41300700001)(2616005)(66476007)(66556008)(5660300002)(83380400001)(44832011)(8676002)(4326008)(8936002)(6506007)(6512007)(478600001)(2906002)(86362001)(36756003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?LPPiWfcC/6iXjBJmoYte/xjebiXfC3RM1ClDst49jmdaCHFweWv0imRzlu/W?= =?us-ascii?Q?k9seM262EbUjcKr/buQI7hY5z4qGE5qDhhYawkBU1vOInmi99rpWjigaVby3?= =?us-ascii?Q?XAovQl7RX1vcn9HmR4fo1S7TOXxqfakhXy7S9Xcxlfr8Hdb1WQfaffNleDHK?= =?us-ascii?Q?Htf8JUFRTzFwM8UwJo5sM/ZTmi3u65PGtBHql0fHNYg9QI1S01sWDx03QVUp?= =?us-ascii?Q?kVCvL58hJO6fic1+qZcif+jVH02NUqlSf37hRmQPAwI6CxVk2vDZsZ6Umy2U?= =?us-ascii?Q?F0Y8XA1/IVErWOTJ8KcMzGVcgjxnrGnhHIzUFjQGpLG8XitZXtR6JutMh+7u?= =?us-ascii?Q?RiUl6a+mudABTalXHsrVTiwZGkSC1T+2TVJvffDGncR0koQWqwUTRmK+MpXr?= =?us-ascii?Q?OJej7WGKTFS/t7uVZCtzWlzR4LnMaI0RrUPA0J0u9+lS2CTzX/9zPT7WESVu?= =?us-ascii?Q?O4BriScWZRLn3IJfNJA5hmMLYClxiubP+YJ+WcwonSa5K/NkFaNlzfHWksmG?= =?us-ascii?Q?meeBBwJeZiiKwUS75zo2s6wR6Rw/8qmrDoqFq4+YVHc5Y7aNLh4LdHCDKsas?= =?us-ascii?Q?U0N84YV0V8Fc/Ee0xiUYsc9CCudct840PeidwkpFAQLLSV0elsLmpjGpjRV2?= =?us-ascii?Q?ujHOE5ZfZBzxor3NIlN1rynzwipMf+ZqDPm2I2w+vWqxPo9YdMTCjNIdZouk?= =?us-ascii?Q?BVLj5wBu6UeIMvmGkJ/1Fd9vbT8nJnOJukqKhTl3FrL8KQ5oDqZVd5lwaLbU?= =?us-ascii?Q?fkZwdqnVDCqXan6ziZc5S1gyHf4+KWgvWp0sLaUEET4mgm117HXLFh7jxwTe?= =?us-ascii?Q?cck9zUXEl9Hi8rK967beZt9SDgBApNjUG3gRiBAjNG5WjT4Ztsej83jPFCjm?= =?us-ascii?Q?MsYVBm341JgFJ7/JLcgDMEBd3IwSjivPythZhrZF1hqnrI5RuE8vumwdtaxh?= =?us-ascii?Q?TvsiKWhHaWZIvl1IomsTYIA0+MmMHgIcKf7f6y0TZi31bLNpKtbFl2TyT8cZ?= =?us-ascii?Q?eY15eyHG1Y3FIEIQWEvSIJQQ2emAPuM52zQbcciEPXPv/vt/ivRT1DjS0s5T?= =?us-ascii?Q?5kGmirb477dAtwlvVRLFQ93GD1AMkYu8o62FMDTcsXZyi72BW7rEmDNAJHEO?= =?us-ascii?Q?Z3zFwBwY26IoUTdmaLVFqelcaEyHTidG3BE1TDveGDPXDFR+yHgweAcJbBx/?= =?us-ascii?Q?4mzNsx13pZXUacV7qseYN/4kXRfXBZ1mToa9Ndbwprjs5WOwXxi3OqNX94A1?= =?us-ascii?Q?5FmcwhS415iV/8VthgvaBDAtLyR6EMsTPXPh2Zat6dCi90xqBDYjUMv2KRzh?= =?us-ascii?Q?23bgfG1GrTpfSf61cveEIVJkd7zu1a0oGU//J0891gdxdYLHY0oJX3OZkClG?= =?us-ascii?Q?YUwV0+X5TRq1HRIrr32zNvqxQr6pyI6ZFl0KYpi8nuCw9OKqbBpzNUu3cWG+?= =?us-ascii?Q?QUASad1/VIZQ3TsutOdQ9sltsMAnNRsgfWVEmIC6sn7y4iYIGgr6SzCZnQYH?= =?us-ascii?Q?OjwvhYUnVgBjtE+JbEZCHfiukrQLe/AadAhr4HuMQt4MxUzpLF9qVtURQTWH?= =?us-ascii?Q?u2VTWBgauEqsgc6caVXchiofUseNLRd97noDNlLcZ4bH5Pp85gT9uN/ju6zF?= =?us-ascii?Q?JA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a78e9a6a-2a06-489e-1152-08dbcbc026f3 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2023 07:43:55.4772 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9jfGMlDDuA9n6E72sSXRT6SPo+C4F21MmVWA0L+9ikN3Fn7nMPoex4r2bainhNdCgPdoTg83e41IdiFyV+bgig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8566 Content-Type: text/plain; charset="utf-8" To avoid duplicated code in different MPTCP selftests, we can add and use helpers defined in mptcp_lib.sh. make_file() helper in mptcp_sockopt.sh and userspace_pm.sh are the same. Export it into mptcp_lib.sh and rename it as mptcp_lib_kill_wait(). Use it in both mptcp_connect.sh and mptcp_join.sh. Signed-off-by: Geliang Tang Reviewed-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_connect.sh | 3 +-- tools/testing/selftests/net/mptcp/mptcp_join.sh | 3 +-- tools/testing/selftests/net/mptcp/mptcp_lib.sh | 9 +++++++++ tools/testing/selftests/net/mptcp/mptcp_sockopt.sh | 3 +-- tools/testing/selftests/net/mptcp/userspace_pm.sh | 12 +----------- 5 files changed, 13 insertions(+), 17 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index f00942cc23c7..409520f5b2a1 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -592,9 +592,8 @@ make_file() ksize=3D$((SIZE / 1024)) rem=3D$((SIZE - (ksize * 1024))) =20 - dd if=3D/dev/urandom of=3D"$name" bs=3D1024 count=3D$ksize 2> /dev/null + mptcp_lib_make_file $name 1024 $ksize dd if=3D/dev/urandom conv=3Dnotrunc of=3D"$name" oflag=3Dappend bs=3D1 co= unt=3D$rem 2> /dev/null - echo -e "\nMPTCP_TEST_FILE_END_MARKER" >> "$name" =20 echo "Created $name (size $(du -b "$name")) containing data sent by $who" } diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 7bfced890e50..9d8b8011cff4 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -1171,8 +1171,7 @@ make_file() local who=3D$2 local size=3D$3 =20 - dd if=3D/dev/urandom of=3D"$name" bs=3D1024 count=3D$size 2> /dev/null - echo -e "\nMPTCP_TEST_FILE_END_MARKER" >> "$name" + mptcp_lib_make_file $name 1024 $size =20 print_info "Test file (size $size KB) for $who" } diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 0e30c7bf24c2..6318752497f4 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -247,3 +247,12 @@ mptcp_lib_get_counter() { =20 echo "${count}" } + +mptcp_lib_make_file() { + local name=3D$1 + local bs=3D$2 + local size=3D$3 + + dd if=3D/dev/urandom of=3D"$name" bs=3D$bs count=3D$size 2> /dev/null + echo -e "\nMPTCP_TEST_FILE_END_MARKER" >> "$name" +} diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index bfa744e350ef..755ae0f5ac4b 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -251,8 +251,7 @@ make_file() local who=3D$2 local size=3D$3 =20 - dd if=3D/dev/urandom of=3D"$name" bs=3D1024 count=3D$size 2> /dev/null - echo -e "\nMPTCP_TEST_FILE_END_MARKER" >> "$name" + mptcp_lib_make_file $name $bs $size =20 echo "Created $name (size $size KB) containing data sent by $who" } diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index f4e352494f05..f9156f544ebf 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -164,22 +164,12 @@ print_title "Init" print_test "Created network namespaces ns1, ns2" test_pass =20 -make_file() -{ - # Store a chunk of data in a file to transmit over an MPTCP connection - local name=3D$1 - local ksize=3D1 - - dd if=3D/dev/urandom of=3D"$name" bs=3D2 count=3D$ksize 2> /dev/null - echo -e "\nMPTCP_TEST_FILE_END_MARKER" >> "$name" -} - make_connection() { if [ -z "$file" ]; then file=3D$(mktemp) fi - make_file "$file" "client" + mptcp_lib_make_file "$file" 2 1 =20 local is_v6=3D$1 local app_port=3D$app4_port --=20 2.35.3 From nobody Thu May 9 20:07:20 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2047.outbound.protection.outlook.com [40.107.7.47]) (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 E1566101EA for ; Fri, 13 Oct 2023 07:44:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="NWs5jrvj" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=klbJqXxVleoL+Lf903gGUE5gGIpSjTuVTl6X9OLP8c5TR1NIHXOtABkGVa6mIxZb1dAsiMoCp876u5Y+T67Ow7/AupNVTSFig1nbQOFVr9bkdmneALbG8qBs7Ctwn8XA6BOoSKYSxoE+DzeXLvUqYdjgsIv6tVS6JWiX4InsRP2BpkF0ya2Z84GLwE5BiGP6BYrXTqJx/5MSkLZtGEKk5PU5qxUPpDHl7+3ksyd3nVv3KgBtG50jTh1XwrBLjnZ1nvHp8u+SeDmwCJ7o6RcYh+tpQKoP/wBVXR52TXJEKg+HepeACBJqQpVLtWH8NxjtfD6DdKpoSxC/IR4QuLa4AA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GtFZ6DZJzV4+78frj955CzP0GHu3z8/oZaVg0FLt3oI=; b=IShTJ0ywQhKB7gw/zDP587L+5GCu43t5pUlqph1wjuNPLRnmjuhvQ10Y+qSOnbpoOTGwGJxpimRiPIjdTDhXwU2l4hvLGVuelGWRFRXtqwJYiRjr2E4P3uKo31Df7Y6FnEJowGYAEM6Hl6p2Op/uo6MZBYIURFZws41f0WenTZeiylwgdYwQwtr5Vw9nrdoYlHlJ2f32oYP+nARMvrmvcQIrDpelcq7Qhu6ztTDwWsFe0UUFpZ4FfFdOXUptA7KGTQJyGeFnaaz2uRJ/h3ilnNc6wA5dGf4AlRSoZELSrrm+UXSo7blFMrHBsxjgDDa4CYze7dq3NB0qOSSdPJTQSg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GtFZ6DZJzV4+78frj955CzP0GHu3z8/oZaVg0FLt3oI=; b=NWs5jrvj5/m3w70XTDBj09ZVCn1Nb4VnhSXQBReGYBzeMh/RpKoweYb2NOrtJs5fbU6NqSMdAUppZfwwSFRUlzCsV3Zb59NWv6zPwPtYO/CWpWME4HwMUXn8mym7xLvhRXnykdNBewxzbeIT2GL6X1wepvaQhNkRgoWRvwAMD/cF4qd+vol+IqD0zQS2928ap5xCFlMIQXR1Kpx2czdKqhs1m1DDCC2UTguaDdIh4cK+zrXmHsKVPZoAVaMWhMoEZ25GPIaDy4l/mA+rpXuOAwZW2GP0nGXlogxJLYEcch8h0wP4xUNd3qW5kJVWi4zrJyXQcuGdXw7tvTyFbB/8tA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DU2PR04MB8566.eurprd04.prod.outlook.com (2603:10a6:10:2d5::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.45; Fri, 13 Oct 2023 07:44:01 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::3852:4f89:9891:73c8]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::3852:4f89:9891:73c8%3]) with mapi id 15.20.6863.032; Fri, 13 Oct 2023 07:44:01 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 6/7] selftests: mptcp: add mptcp_lib_check_transfer Date: Fri, 13 Oct 2023 15:44:36 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0023.apcprd02.prod.outlook.com (2603:1096:4:1f4::19) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DU2PR04MB8566:EE_ X-MS-Office365-Filtering-Correlation-Id: 0589c04d-8003-4562-bafd-08dbcbc02ade X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZwgkXuR2ClF+6j9jkizK9fZ0iHBt4rr4pAGAuHTAhkDEUjS8qXoU/oTYZ+oRtSk1lVI3OVSxUZOzMWP3/c8e27f6vrYAlEgaR5bSNAegSTSwfevBkpGsRhPv9TPrfaZoMuN1aoAO8nzkGv6k1GFFBa++ZNuHm18R0wAVVsZM8kUNgS3A6PFoFQEa2k4I6O/2xpP8MRO+kZl1Zy1aRE8c16fBHc/AssV66B3aIa/7lHCoIkcpHGcVeJ5eZeKcGt/O3DqOE5xM2yf1L4iLShkn/NjYc1RCxDFMJpHCxetZjhIWi5yUNIUzN2eB+ZdZASasWYhJrKlJJ8IrsaAC04WHuQAbO8Fg/Ev+U8N8Pei0ujODYh3fo47ECNQdan7N7zZpSSydpIu5yW6WQl/1ZIFzzjC/WSXLPSYQAEwdaj+r5t/Eei9EUKkkdYazUUby4hRCsPG9O2+TK6F2vkjxqHjvOb0xjPnl4YVcenQjBnNloWvD9sS7gHkQ71qJKiQIy+ncnSg6IleWZiClnVYvJ3LbUyTkjcJ/BxKjmIJMrTvLbLcszqswXJIga0/9Vfv2QZocgJl9RoImN1MMRoQVkw25ji5kkCojNuDciiRR7nAi4Kw= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(39850400004)(136003)(346002)(396003)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(26005)(6486002)(6666004)(38100700002)(316002)(107886003)(66946007)(6916009)(41300700001)(2616005)(66476007)(66556008)(5660300002)(83380400001)(44832011)(8676002)(4326008)(8936002)(6506007)(6512007)(478600001)(2906002)(86362001)(36756003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?1yYo87EvsbXMK2vCtzf3CsbkBQgYicdebsRKg4ehfwcbIwFWV3hzNZQPTuNq?= =?us-ascii?Q?FXCuSTn9b9g9CrCJu4e09mJCuh75cJVhYkYduPSIK9qdJlKXjwL9wdeeLYvI?= =?us-ascii?Q?WlKSRS702u1jOzQ+WgsqZFTKkRAPujWHYHA0kNmGAA+Uhzc1JKVp09FBfTfW?= =?us-ascii?Q?L1G0UK0xwVxvzPEi6D/t6BtzXpJeAzhoQraF3MaleQ9vaqDXXzZaa7d5KuDU?= =?us-ascii?Q?QgfpfmvsT9MrKtcbXO4AjLIr4PGi0+1bsjKeygutOStOHQJ3CwPrlevFm0DT?= =?us-ascii?Q?7kFxT2L7GNtbRPffdPc4ZZllf46PE1pRezQrrOS36uj0Ov57F3ZrTashb5pI?= =?us-ascii?Q?ZJEhooMCnn+61mBZC+Z1chQM4xhwDZgBa7yuKujJCaFuyS5JdRtTQehHjdK5?= =?us-ascii?Q?iVuxXWsIfl6q20UL1VE4om7i256A5cW67IqPmQMhtipsMppGeAFqKOZymJXi?= =?us-ascii?Q?+C7m4mvfAQtkl3enQcHM+xVmNqGqW9QlJupjbnDxuYTlVnLMERyPznKxf92/?= =?us-ascii?Q?ekpBVw1QFh7KmuFrSmp9Zu+rhp29TmazqmQyMNtO7HrapNd0fDpRwLsR+cqR?= =?us-ascii?Q?+NAiUC6uBqjX6wF2I51jU4axMA6eQgqUoHdX6vFq06X8rZLqUcThRsOLogvQ?= =?us-ascii?Q?9y0w0XuOX/FzuRjPsAko+CzDfShWOwzn9qbV7c8PG96QAvHZtTkRSiXZM39L?= =?us-ascii?Q?J7ST05yyBbRTh+j5E7vE3e8u51o+l2m63MaOzQAMFZYbZ4012PW/+tb1PiV7?= =?us-ascii?Q?VeZm7KblYSFd48VyLlzQi3IBokc6uTqOV1TK0cGK3CEjYijPXlbuV/8HDOXu?= =?us-ascii?Q?nK4F5AFP8w/EZkYRn6oC/Uizkz/MucqZEDu9SGoFZqa1i0t8l8cfS3InifdI?= =?us-ascii?Q?Qu0mp6Vb5jtDhDSQ8YkISdWlufVObqm9dzRCuNP4DAWWGr0AUBPOEOjuVf1P?= =?us-ascii?Q?NbinLwcHraIkAABQm0dQN1c6y3V78zL6rpIz5sDi+xjZrR6KvmgN1JPfLR7r?= =?us-ascii?Q?ukI+BwoT8opO1rua06YkEPumYt1oTA1KtG7al4b3MUhAgH2yAfJge0OC/V6J?= =?us-ascii?Q?T1Zb9ckjBn33kK53mLn+CtVDPko4vOMlrCz9yTVSqc90Ywj2b0dABGDIHnei?= =?us-ascii?Q?0PO9PL+HWNQEIjyGmhzbq/1hUDEDsINju/20IfQvBVzhpfeXjjbJupKsQZlN?= =?us-ascii?Q?IByV80ckd3PRWyQegcDcx2IwpXdHQJK6h1zxQvQjB6KhB6aTf9SZhvlxZiTB?= =?us-ascii?Q?N3QukUlTf5jgQi6cow66fQ1MKoTKpgVkg1SK00rFtDNNgnPQaBOvkC7eNh2J?= =?us-ascii?Q?OuiWxEVPbtY3nmCz/ZamdKE9D29aKNyn/sFbN0oliMtxYoLE+8awGQTZjoUP?= =?us-ascii?Q?0sy9oMedB0oprCCdL63FGGCkhIrsuVjCqzaGwEsx/+cedSzomHdJXAovuzkt?= =?us-ascii?Q?CgsI+0FKSLOHpadODHRViBZxFTP8RmXlDjdX8d3lkISkBEFgGbLlKk8uo82g?= =?us-ascii?Q?YAt1P5jyRzQYwe/JSy/yKASv4xs0rCQEJzLoLX4FHve+dHZgBJpFG5Tkwj/6?= =?us-ascii?Q?4OB3zkzkBXDmWG/WFAQwCf3X5lFoRyvRpD2yUjFfaaRI+r+cFFsxxeXy1Lez?= =?us-ascii?Q?9w=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0589c04d-8003-4562-bafd-08dbcbc02ade X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2023 07:44:01.8329 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: aeF4smywo2tnift0quGsgysWMRuEug6YlFAo3GrVDX0aEc89kmS5LBBlw/82oyoanR5Hhlr8pRfxeJ88aYAcFw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8566 Content-Type: text/plain; charset="utf-8" To avoid duplicated code in different MPTCP selftests, we can add and use helpers defined in mptcp_lib.sh. check_transfer() and print_file_err() helpers are defined both in mptcp_connect.sh and mptcp_sockopt.sh, export them into mptcp_lib.sh and rename them with mptcp_lib_ prefix. And use them in all scripts. Note: In mptcp_sockopt.sh it is OK to drop 'ret=3D1' in check_transfer() because it will be set in run_tests() anyway. Signed-off-by: Geliang Tang Reviewed-by: Matthieu Baerts --- .../selftests/net/mptcp/mptcp_connect.sh | 29 ++----------------- .../testing/selftests/net/mptcp/mptcp_join.sh | 11 ++----- .../testing/selftests/net/mptcp/mptcp_lib.sh | 25 ++++++++++++++++ .../selftests/net/mptcp/mptcp_sockopt.sh | 28 +----------------- 4 files changed, 30 insertions(+), 63 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 409520f5b2a1..15f46a8c0ff7 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -254,31 +254,6 @@ else set_ethtool_flags "$ns4" ns4eth3 "$ethtool_args" fi =20 -print_file_err() -{ - ls -l "$1" 1>&2 - echo "Trailing bytes are: " - tail -c 27 "$1" -} - -check_transfer() -{ - local in=3D$1 - local out=3D$2 - local what=3D$3 - - cmp "$in" "$out" > /dev/null 2>&1 - if [ $? -ne 0 ] ;then - echo "[ FAIL ] $what does not match (in, out):" - print_file_err "$in" - print_file_err "$out" - - return 1 - fi - - return 0 -} - check_mptcp_disabled() { local disabled_ns=3D"ns_disabled-$rndh" @@ -483,9 +458,9 @@ do_transfer() return 1 fi =20 - check_transfer $sin $cout "file received by client" + mptcp_lib_check_transfer $sin $cout "file received by client" retc=3D$? - check_transfer $cin $sout "file received by server" + mptcp_lib_check_transfer $cin $sout "file received by server" rets=3D$? =20 local stat_synrx_now_l=3D$(mptcp_lib_get_counter "${listener_ns}" "MPTcpE= xtMPCapableSYNRX") diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 9d8b8011cff4..e0fe6aa4f958 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -511,13 +511,6 @@ get_failed_tests_ids() done | sort -n } =20 -print_file_err() -{ - ls -l "$1" 1>&2 - echo -n "Trailing bytes are: " - tail -c 27 "$1" -} - check_transfer() { local in=3D$1 @@ -548,8 +541,8 @@ check_transfer() local sum=3D$((0${a} + 0${b})) if [ $check_invert -eq 0 ] || [ $sum -ne $((0xff)) ]; then fail_test "$what does not match (in, out):" - print_file_err "$in" - print_file_err "$out" + mptcp_lib_print_file_err "$in" + mptcp_lib_print_file_err "$out" =20 return 1 else diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 6318752497f4..30096acb41f2 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -256,3 +256,28 @@ mptcp_lib_make_file() { dd if=3D/dev/urandom of=3D"$name" bs=3D$bs count=3D$size 2> /dev/null echo -e "\nMPTCP_TEST_FILE_END_MARKER" >> "$name" } + +# $1: file +mptcp_lib_print_file_err() +{ + ls -l "${1}" 1>&2 + echo "Trailing bytes are: " + tail -c 27 "${1}" +} + +# $1: input file ; $2: output file ; $3: what kind of file +mptcp_lib_check_transfer() { + local in=3D"${1}" + local out=3D"${2}" + local what=3D"${3}" + + if ! cmp "$in" "$out" > /dev/null 2>&1; then + echo "[ FAIL ] $what does not match (in, out):" + mptcp_lib_print_file_err "$in" + mptcp_lib_print_file_err "$out" + + return 1 + fi + + return 0 +} diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index 755ae0f5ac4b..b90a5f32416f 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -135,32 +135,6 @@ check_mark() return 0 } =20 -print_file_err() -{ - ls -l "$1" 1>&2 - echo "Trailing bytes are: " - tail -c 27 "$1" -} - -check_transfer() -{ - local in=3D$1 - local out=3D$2 - local what=3D$3 - - cmp "$in" "$out" > /dev/null 2>&1 - if [ $? -ne 0 ] ;then - echo "[ FAIL ] $what does not match (in, out):" - print_file_err "$in" - print_file_err "$out" - ret=3D1 - - return 1 - fi - - return 0 -} - do_transfer() { local listener_ns=3D"$1" @@ -232,7 +206,7 @@ do_transfer() check_mark $connector_ns 4 || retc=3D1 fi =20 - check_transfer $cin $sout "file received by server" + mptcp_lib_check_transfer $cin $sout "file received by server" rets=3D$? =20 mptcp_lib_result_code "${retc}" "mark ${ip}" --=20 2.35.3 From nobody Thu May 9 20:07:20 2024 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2050.outbound.protection.outlook.com [40.107.8.50]) (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 89ACF101EA for ; Fri, 13 Oct 2023 07:44:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="GhkEqf5A" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Tzb4zHvvG7eYyxk3HColrL/m1CM5yErInmqeoEj7jAl3zmK9owux69jj2OU+GRoq/Ow+wnI7ySzEzIYOx1G28vM88I92MXKq/9qHUTiq39BCmTsKEk8n6emZSwuEjCiOUp7YoGlucvwczVLqCvJOr1TSv4jZKKqN/0Nl5NnlcGdhADYPl3obCDLMQwf9ur1zIaZjkgApa2fPY2vGcgh/b0pjEkT0GuKyZ4BshQVcF4hX7VlOAL8md2UKvKWjHRZ3pFI63qGNOrVIfv7mDG+2lbcW7zXLBjqLURjMUeSuoeezrc2K4VScjcaqTuRiQlky97+jA6kSoFfUWtWtqghKPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=A5BQmwJlhGFE8Isp8xOaqpwa0dh22ICrqqglTn3rcEY=; b=RaVguNBuR+86uQFYw8KJeBYh+9FUT9MA2g0b6ICk98bmOjX30c1BOvcEuR5ONM2/B2b+c3xdCAnkIHFpMtfDCRDbEBobqtnGCXX5V5t3EqnHwoPQlDmIxG49fZdSwiJaaX8ZJYJpI/21lV3+X7glC4AmvIzGMFRDRHQ6Cx+5blPqujmrAqfuU+psTTTD8gGnrv/tiO1icqS89MJCAjRLJZP0RJQqIq+lyVHO6kKD5AinuqaFg5f5vMIOh7pLTjPowffhgO/u2IxvhNU6n6QAQBFYDTEijsdovQKTJFhotp+zxf2sp0LSUsFNfFL8uNDRoYuxogOlyezk51U13QaInQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=A5BQmwJlhGFE8Isp8xOaqpwa0dh22ICrqqglTn3rcEY=; b=GhkEqf5AsYsexI1osTT7KQQ2ZCTrHYpzCVfbfOKdm/yvc5nEhCOHBDbFj6XAkjPWY1K0+PdUsKeUfm8pz3VHC93HOYRLpMIIW4otC7CmDBEVTmVhrWE8hYgoOMmRAP47F0YNlU/8mMFLG2ZLE2ANq3rpGU7UYN6mT0jGrAwEB1K3A0r8qbEJHjTJlfCl/h+QxnW1MOdiyANK1voMTrMkIAvuQqdTkc4HsRdh0kn3usfJ3Bb73aMK5qrxBdqF+mS/yClrRB0PDQxaE+AFOFJumF4hwOFP+S514Lz3alFZLCYjARCHHqcX3cAjJ+bR2ZaMZWBB1tU+HVctvfQ98gcfQA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DU2PR04MB8566.eurprd04.prod.outlook.com (2603:10a6:10:2d5::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.45; Fri, 13 Oct 2023 07:44:08 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::3852:4f89:9891:73c8]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::3852:4f89:9891:73c8%3]) with mapi id 15.20.6863.032; Fri, 13 Oct 2023 07:44:08 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang , Matthieu Baerts Subject: [PATCH mptcp-next v4 7/7] selftests: mptcp: add mptcp_lib_wait_local_port_listen Date: Fri, 13 Oct 2023 15:44:37 +0800 Message-Id: <71949d82783458d066f4d49bdc5a0e24d8687e04.1697182955.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0028.apcprd02.prod.outlook.com (2603:1096:4:1f4::6) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DU2PR04MB8566:EE_ X-MS-Office365-Filtering-Correlation-Id: 2923f33e-4a59-49d1-a220-08dbcbc02ea6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zH8fV+icTo9vyetOZ2BlZnbCEWgslFnzVx/tN7NsUIbVl+mVFSa0YvVGat1OOa4Pggbhd+68VCPs2eYBueKGB0vs/ycfOM4a4s0Q16De1X3jUb9Ihm0OuTKZw1OKDDcaSPZ1l6NFBc5Pn8BKX3VoIZx7Yh+DSh4ixRZ52aZ305DEcOV2byB1cTnfavDTrLyJ8uEeRLOgwAlotze0n5k22Ctd5WHJeAJlo4GO0TkdjSeDF+fyGrlCUTsB1mo9BvdjGfq8jgjldNF0JnAcwA+O+BoFnwC+73yv5v5BbAi+59Z499/5yNcqYAIcIdflRBBMPHi7ZrlkktYH3tFNyWgNHhfY3RhchEdt5vs0qG3FlLt9re/A/thYtZoTOwmYImqYiAfIeoLxAbHbHJX19uydB0QJXE6YoFHcswNg/yezxAdUsPppOyTI1nDi2v72WoFWMJtIhys893tbml3G9gUiAgS+D1EOqaUgHEgz/+RPjq7h15ADDweeOkUdCDnpNAN0WsNFmjoO3OGtBb29mDs1bkZS818TwsVrEd4XpO1hdyS6L+Qbb1y3eews7D0LY6jhA/DbKFCUWCQMGPGGS/Ush99+LD+eISdT+0n1p7+FoCZ0rT1PV+13K27ObYAQbfq0w7l/kl6iabqRu2AO/5MEFA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(39850400004)(136003)(346002)(396003)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(26005)(6486002)(6666004)(38100700002)(316002)(66946007)(6916009)(41300700001)(2616005)(66476007)(54906003)(66556008)(5660300002)(83380400001)(44832011)(8676002)(4326008)(8936002)(6506007)(6512007)(478600001)(2906002)(2013699003)(86362001)(36756003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?z7/GJHmIyjIHbcHZ9v2idoYcNRIFwEgqTSNT7eyOmOP21E3G84Wi3YC075w5?= =?us-ascii?Q?BuyxdpfgoKynrQgpZrvYARz5wPjLAJi6wJpaqAyV0NKjLSa16g46+CNBfqEK?= =?us-ascii?Q?R2zYeFYRvgzDQknpQN/KyodvVueCtT/0mbLN1QDRtIjaEuFSdicQa1DT07yD?= =?us-ascii?Q?I/6XHOVkaKK8nZQYyBjUmh7KA/EaKcSkMwHcvkSA3E1eo0XH9kslRjQAXK3Z?= =?us-ascii?Q?Zdsx/50BK2ES6ucTlrTzKRHiFZ9U1/+xiB1OfwAWd9hYEP1XH0G6ApcGztp/?= =?us-ascii?Q?v+Nkp1XGDRA9IRybIIcyUq8rulQDJb43phSrq/xrElGLXeM11w/r1QOsrAD2?= =?us-ascii?Q?Dy9c82d8DPauZ3U2Bbo4HxDfUn3e8Ybck8O/DTo1zYm2qXt6pCFpBQJY3F01?= =?us-ascii?Q?iG2aV6shDEvPrKJFatLlYHIV4B9eyB0QpBQxJJqdyZff5H7ooJ6DdFe+JGi5?= =?us-ascii?Q?Dr9NU51cdPC1+NPosyx6UGhLS0rtnL2iLXFUT4dKzQSf0K/ayWYgRvwNRBti?= =?us-ascii?Q?/5MEPMepfxgIhbgqXW7Yzha1TYARLckhxszTbl+8x39ybsnurF4fDFcNI0tX?= =?us-ascii?Q?uESyEKiGuEIKEd/nIoM9o7ECbnjjLv/+TahaHNsrurcPIFRG4Ll6IP7ItJnN?= =?us-ascii?Q?erfE8tZ3hs4WoTHMGhqrgwW7Nk59Kygdx6za6o38SCr/x8QK7fjEMtQHEuPc?= =?us-ascii?Q?tUDy68pBO78xedH0LJoba+nl6XDyWRXLD+rjk0QiBkVO/HsO4t8rKbneLUaR?= =?us-ascii?Q?w0jXtIC3N2GUdQQU0ay5T0PBKqhFog5Qh59qIMMnYx1B4jsOMmW50DCp6Vdq?= =?us-ascii?Q?2Oq66iQTvJotAN1/+PDUsrpUYN44Hpuft4Len7yqqbI7CNX8/zUyBABwZonS?= =?us-ascii?Q?8KtBI6GmQCzisfcPWEY8+QxRtkMs6BJgfZMKbJyLTsUqZBVWAUraKcKbAvZM?= =?us-ascii?Q?xF3Fu/ZFifxF3I0+JFWdusuQ8sq39xjRbUdzm2++/cD5gqJaJh04KvAZZFSf?= =?us-ascii?Q?M4q4cl90pAfROui0PDcusKFTmi9lP2upIeVGJxvExirkB8tgZkdEAFqFpQRk?= =?us-ascii?Q?zzBeOQwahSa/uSuicUvTdnt6nVbQQvJlnJWRzVa0zJ8nSVO0SqkC31RQkSbi?= =?us-ascii?Q?EZ2yd8BWDap0HUqO4jsplxq7NJmVtKAHlHRs0dwC6NGRkUdOSQs2xJ3OHhDi?= =?us-ascii?Q?Z1VweL+Cg+Ws0/nNp3Y2IGCUtj2mDThAByCWD9V6510R+YBDd/G/d989rPm/?= =?us-ascii?Q?WHwOxOtWj3PFgBm8uJAtGJPOPbLcDbGUjGRGkgFk/ffIjxRR5Z09VxvomtBM?= =?us-ascii?Q?VPWNYQNzUU1SdgcpLmA2cqhHQ16lTOucLhRyvmAFADoIisooLunS5JnFEpsY?= =?us-ascii?Q?gbBtDb/naio08K1ioL1qamCIkQb3bLeVq/C90Ajknd/Scop+bqgyd48BE7cq?= =?us-ascii?Q?3XkLGeEX6BkcAyYItWlJX22Hh4GNfNcMqjEeUcYw8HauZephqhthdOjpij6C?= =?us-ascii?Q?0D5hVaJ5/41GnQHlb5d30KT0PGPSX6IOyrUVoQMgim8oTqykoJfT5P124umr?= =?us-ascii?Q?y3Fy+Ccp+gNrkN4qX6AbD7rn0WctLctQxEDzAqDCH7fxn1mDcz7TliFGfKjI?= =?us-ascii?Q?gg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2923f33e-4a59-49d1-a220-08dbcbc02ea6 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2023 07:44:08.3026 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Smkynj+ZC5M/odZEaAS3QmM6MCQq32FBBBBGohq51wKpijZ4vS+S6OHygcAzFECrBpRk5XN+tRPpE9IaqtYBZA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8566 Content-Type: text/plain; charset="utf-8" To avoid duplicated code in different MPTCP selftests, we can add and use helpers defined in mptcp_lib.sh. wait_local_port_listen() helper is defined in diag.sh, mptcp_connect.sh, mptcp_join.sh and simult_flows.sh, export it into mptcp_lib.sh and rename it with mptcp_lib_ prefix. Use this new helper in all these scripts. Note: We only have IPv4 connections in this helper, not looking at IPv6 (tcp6) but that's OK because we only have IPv4 connections here in diag.sh. Reviewed-by: Matthieu Baerts Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/diag.sh | 23 +++---------------- .../selftests/net/mptcp/mptcp_connect.sh | 19 +-------------- .../testing/selftests/net/mptcp/mptcp_join.sh | 20 +--------------- .../testing/selftests/net/mptcp/mptcp_lib.sh | 18 +++++++++++++++ .../selftests/net/mptcp/simult_flows.sh | 19 +-------------- 5 files changed, 24 insertions(+), 75 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index 85a8ee9395b3..95b498efacd1 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -182,23 +182,6 @@ chk_msk_inuse() __chk_nr get_msk_inuse $expected "$msg" 0 } =20 -# $1: ns, $2: port -wait_local_port_listen() -{ - local listener_ns=3D"${1}" - local port=3D"${2}" - - local port_hex i - - port_hex=3D"$(printf "%04X" "${port}")" - for i in $(seq 10); do - ip netns exec "${listener_ns}" cat /proc/net/tcp | \ - awk "BEGIN {rc=3D1} {if (\$2 ~ /:${port_hex}\$/ && \$4 ~ /0A/) {rc=3D0;= exit}} END {exit rc}" && - break - sleep 0.1 - done -} - wait_connected() { local listener_ns=3D"${1}" @@ -222,7 +205,7 @@ echo "a" | \ ip netns exec $ns \ ./mptcp_connect -p 10000 -l -t ${timeout_poll} -w 20 \ 0.0.0.0 >/dev/null & -wait_local_port_listen $ns 10000 +mptcp_lib_wait_local_port_listen $ns 10000 chk_msk_nr 0 "no msk on netns creation" chk_msk_listen 10000 =20 @@ -245,7 +228,7 @@ echo "a" | \ ip netns exec $ns \ ./mptcp_connect -p 10001 -l -s TCP -t ${timeout_poll} -w 20 \ 0.0.0.0 >/dev/null & -wait_local_port_listen $ns 10001 +mptcp_lib_wait_local_port_listen $ns 10001 echo "b" | \ timeout ${timeout_test} \ ip netns exec $ns \ @@ -266,7 +249,7 @@ for I in `seq 1 $NR_CLIENTS`; do ./mptcp_connect -p $((I+10001)) -l -w 20 \ -t ${timeout_poll} 0.0.0.0 >/dev/null & done -wait_local_port_listen $ns $((NR_CLIENTS + 10001)) +mptcp_lib_wait_local_port_listen $ns $((NR_CLIENTS + 10001)) =20 for I in `seq 1 $NR_CLIENTS`; do echo "b" | \ diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 15f46a8c0ff7..fa1675c37201 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -310,23 +310,6 @@ do_ping() return 0 } =20 -# $1: ns, $2: port -wait_local_port_listen() -{ - local listener_ns=3D"${1}" - local port=3D"${2}" - - local port_hex i - - port_hex=3D"$(printf "%04X" "${port}")" - for i in $(seq 10); do - ip netns exec "${listener_ns}" cat /proc/net/tcp* | \ - awk "BEGIN {rc=3D1} {if (\$2 ~ /:${port_hex}\$/ && \$4 ~ /0A/) {rc=3D0;= exit}} END {exit rc}" && - break - sleep 0.1 - done -} - do_transfer() { local listener_ns=3D"$1" @@ -408,7 +391,7 @@ do_transfer() $extra_args $local_addr < "$sin" > "$sout" & local spid=3D$! =20 - wait_local_port_listen "${listener_ns}" "${port}" + mptcp_lib_wait_local_port_listen "${listener_ns}" "${port}" =20 local start start=3D$(date +%s%3N) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index e0fe6aa4f958..6f0a9db49d18 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -580,24 +580,6 @@ link_failure() done } =20 -# $1: ns, $2: port -wait_local_port_listen() -{ - local listener_ns=3D"${1}" - local port=3D"${2}" - - local port_hex - port_hex=3D"$(printf "%04X" "${port}")" - - local i - for i in $(seq 10); do - ip netns exec "${listener_ns}" cat /proc/net/tcp* | \ - awk "BEGIN {rc=3D1} {if (\$2 ~ /:${port_hex}\$/ && \$4 ~ /0A/) {rc=3D0;= exit}} END {exit rc}" && - break - sleep 0.1 - done -} - rm_addr_count() { mptcp_lib_get_counter "${1}" "MPTcpExtRmAddr" @@ -1082,7 +1064,7 @@ do_transfer() fi local spid=3D$! =20 - wait_local_port_listen "${listener_ns}" "${port}" + mptcp_lib_wait_local_port_listen "${listener_ns}" "${port}" =20 extra_cl_args=3D"$extra_args $extra_cl_args" if [ "$test_linkfail" -eq 0 ];then diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 30096acb41f2..ff959409d08d 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -281,3 +281,21 @@ mptcp_lib_check_transfer() { =20 return 0 } + +# $1: ns, $2: port +mptcp_lib_wait_local_port_listen() { + local listener_ns=3D"${1}" + local port=3D"${2}" + + local port_hex + port_hex=3D"$(printf "%04X" "${port}")" + + local i + for i in $(seq 10); do + ip netns exec "${listener_ns}" cat /proc/net/tcp* | \ + awk "BEGIN {rc=3D1} {if (\$2 ~ /:${port_hex}\$/ && \$4 ~ /0A/) \ + {rc=3D0; exit}} END {exit rc}" && + break + sleep 0.1 + done +} diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index ce9203b817f8..ae8ad5d6fb9d 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -123,23 +123,6 @@ setup() grep -q ' kmemleak_init$\| lockdep_init$\| kasan_init$\| prove_locking$' = /proc/kallsyms && slack=3D$((slack+550)) } =20 -# $1: ns, $2: port -wait_local_port_listen() -{ - local listener_ns=3D"${1}" - local port=3D"${2}" - - local port_hex i - - port_hex=3D"$(printf "%04X" "${port}")" - for i in $(seq 10); do - ip netns exec "${listener_ns}" cat /proc/net/tcp* | \ - awk "BEGIN {rc=3D1} {if (\$2 ~ /:${port_hex}\$/ && \$4 ~ /0A/) {rc=3D0;= exit}} END {exit rc}" && - break - sleep 0.1 - done -} - do_transfer() { local cin=3D$1 @@ -179,7 +162,7 @@ do_transfer() 0.0.0.0 < "$sin" > "$sout" & local spid=3D$! =20 - wait_local_port_listen "${ns3}" "${port}" + mptcp_lib_wait_local_port_listen "${ns3}" "${port}" =20 timeout ${timeout_test} \ ip netns exec ${ns1} \ --=20 2.35.3