From nobody Mon May 6 20:58:18 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2077.outbound.protection.outlook.com [40.107.7.77]) (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 C090E33DC for ; Fri, 25 Nov 2022 13:40:29 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OJG6JI8CUE80wjd2wm3SDVShEWGGW7Yd929f9jtQhldRyO81Kc+uGe3CMOTpOVpEVL7TD/nsCUnEvr3MmCHxMkmAY2nFbAW6/ODN7uJIYqB2NeALb+ynx3t54VCqDUm6I023mAXGWi9s7qKqPhxUu4ZkQ4Ip+RQv54mNnzHk/SBy8aGHWt0mzxWRjvp7OZPIoOejJKR9RjdXVrgQfHJhOqoQJJXxqpwZrVKFXZRzTk5wdn/FeAYN8Q6EFdT423yMd779lg8DqcPcgbJfuGJRidbcP21KSZF/YzNTQfz66cRsYD0GPjXrXcsOka49OecbLXfFaLhVnq/jKJmD3O1TGA== 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=1IoAc9J0XeonFkR+rMnvYcpmdVacci0GsTEO4BLPmr0=; b=k3TNb4JCXb/PdxkEL3pcSCKOgjs6dTUPAVYp34jBRO9IJY3YvFcGBEbZHuQnumEn60Zob1cHSMLDiJG41Mkfhht7kBTYRleaKTfxxMlkhEtDirYvi4n+nGYB3WF52GFweYUPwZH0hPf8K+ARdNlOtEeSd31G5jnkiGv5UREplXVbx8L4Xhqil3IW5hRVu+ZUBmL2PVQ58xzjCTFZR+CoRhWlzQFvzdIHYEdsX1/Nx3Rwz6OIitQhcSVx40gxVFrLfbHM14lEzn6nkJk0o5Puj3wNw86kT0c0ySLWCZaOqdjqCUjcJAbw0uenDxAKeTml9itoqHrzrItVXz2bqagzjA== 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=1IoAc9J0XeonFkR+rMnvYcpmdVacci0GsTEO4BLPmr0=; b=gFpmecDzBQR1IMjxx+G+mA33htryaNCsvyLQEx40SYe+WA2PwQp4yCvGqbraLpUQmh8bKkDAZIJNlUgFhuuZT6EnmZqVXHldE09WUusTzbs+jKllxK+EtGEYiBQqCaNOQpP916RIQMX+svmeQ8jaTSCXbWuKJKQzUpar+QpJ+qoqhBy+ENElRD+SMIc4SmYeK4OjonSGd8wG/TYP9OC8ZsjboBo27c/4wcxtTf60uJjO8ivMeALfUpRlfCADGMAy5Yr+yq///Uw+utiYyBdDj3YA3Y5G7ENxDvfR7ouqSy8V0f9cCbyFiER9zO3N4EL/i+MEQX/H4aDxGe4oakPk0Q== 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 AM9PR04MB8604.eurprd04.prod.outlook.com (2603:10a6:20b:43b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.11; Fri, 25 Nov 2022 13:40:26 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::62bf:d98a:f54a:2852]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::62bf:d98a:f54a:2852%7]) with mapi id 15.20.5857.020; Fri, 25 Nov 2022 13:40:25 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang , Paolo Abeni Subject: [PATCH mptcp-next v2 1/4] selftests: mptcp: make evts global in userspace_pm Date: Fri, 25 Nov 2022 21:40:46 +0800 Message-Id: <7b755941b11aeb74e443e3178c07c143986a5227.1669383374.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0027.apcprd02.prod.outlook.com (2603:1096:4:1f4::18) 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_|AM9PR04MB8604:EE_ X-MS-Office365-Filtering-Correlation-Id: 85e52b58-49f3-470f-71e5-08daceea9b74 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: G4CFgL/+uC76AJag3V6AfEcmQXoa72/7fUpPCXrumw7opI/z4ToeuJveXLmgVXZxYr9Hn1dcKhb8PLqFMJ6iKHBfy2WQPNsFqLwJYLlo2i6OZIaKGK37UTnz3FEKCUc7+ZlZcbX8vSvtCfaG4dZ/loQMrdCfU8TekNUQFw7zOwxeBxl7kPZykOLDbZ3gSVzUxo6WpdCDeirdQPdXNPER0B73XK4EFGHf4O0v5Vou6yprz2cBJAZlOuxe9swDTomS6H771yPqaEP7SvvNbDxAvjizeIcsDIrCJnFYescSPeqJDhgsf82v8Y5c2gNCMIj7JMFPiSYxTpzZjEmkyko5wVe63BH2yCm+Zwr3uGfd3/eQdYlnl15yKx7Ywtaueuy3N0ve1IBdPUu3KJnbhrm0zEelEVmovcPIjXaW/BppjTTwNkAPkk0xjkAr2BvMHBAfcHDp9ryJLVWUTOrTfLS4ltuwwZ7HiAYPTGf84yCJfgJwKS0wQe/KV/Rrmq4qJ/jyZnw2Y6NSlAcSXeIgGoT6PG1/qxnwc/9w/VwJCRuXZvFcp5iv7LKpnHx9kb5WPi2XOWo17LqSYkhvQbp2kOh8W1CTtUwRqVEUNNdR+4vPtlUd62Sz4qix0yS7Vtl6bu1fACn8ONC0kox4E+6Qy6zy6A== 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:(13230022)(396003)(346002)(366004)(376002)(136003)(39860400002)(451199015)(66946007)(66556008)(186003)(38100700002)(41300700001)(2616005)(66476007)(86362001)(44832011)(30864003)(5660300002)(4326008)(6666004)(8676002)(6486002)(6512007)(316002)(26005)(478600001)(6916009)(6506007)(36756003)(54906003)(8936002)(2906002)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Eq3AuhrKoFgVP3u2bVaK1nM3THgZVnfo74moic3YjJ2zjkVrtDbROxnJXhpw?= =?us-ascii?Q?5WKkdzbEJe3cutBb7z2RZJ0qXGttcaNQxXF0AuABXL6dJcDNq0F5e1zY5xQp?= =?us-ascii?Q?1a7FTwN9COzvpVmc0r4Hi+eMnpAsZ6n6PRjN3FXIwTS9Ry9kJT6t9IPDXm4d?= =?us-ascii?Q?RRUE8R+oZGIWd5BXZqtlMpgKOwv3/wSyHW0734+P2O1Dd3mLs1B7HSPIyfUM?= =?us-ascii?Q?FVU/B26/UFqbu8AtKPVvbsvUHHQM+J4AU8MhbmjABvN35ugUcjsyKmq7Qq1z?= =?us-ascii?Q?gFFADseBfJQN1ESqhJwFWC6hgiyRZYDLbDuryQeIc2f7kf/wy6emd/p5KiYK?= =?us-ascii?Q?p+cC8/Y3vwoQN7OseB91hnEIX0sIgmyfqQNCbYTnhHOKRu0le5q4TUOKHJNk?= =?us-ascii?Q?D6IN6AQCLRt5YjZ4cn1lj9Bv4MAsOxSJwqI+h1niriUSn+C3L+2kaoFsJJwG?= =?us-ascii?Q?jPvUn2VAICY2EC86hv18dbT+3k0vJGJ8Ji3Q6AW62l9PEAfpqhTxx4Meu3+B?= =?us-ascii?Q?G1OxwYru0XR1NC7PgXKKquxQRicJJzzvBJGLvYdh+iO4gm+1niFQzkXy4eaq?= =?us-ascii?Q?E1sqd5VVQzbwZ3MInyDfuoz2trmgcGGv9q7cQ6tUkE1DUsheU4LQEY9XO6aa?= =?us-ascii?Q?WohCjUnupW6idCLNmlv8G1tb+4FqeoH7LZQIhDwFKXB+4dmwEm5a3NdAktRd?= =?us-ascii?Q?Tjq+bAq4BUnO0mdsUsBSGYZGWleO5oTG/9N754rvZdsqg9vAEKjUFEQrleAy?= =?us-ascii?Q?nAzADLfCcn9TYxkeBBvwmMKs8C8LZS6aAwUXVz3XL/KoUUhQbiGzJitPhhSe?= =?us-ascii?Q?dJT4j3eoT1EZbm8XvYRv7QYOwF1k9GA7BqriAs3KBupPo0d/MFzzVnsJS0/J?= =?us-ascii?Q?rkdI3ff7+wBVVwPUV0N9Eg3EBPZlLCCInng1OkWvcMZ8iKOVxWPMPVGgN2xg?= =?us-ascii?Q?B8Smlw5Skkn+peZucfRXujpWc2RELvQkEEZ0jq8QAlR2kYAGRrp3KKn6FLT2?= =?us-ascii?Q?dn6Fc4zrmcuzfVUG5ikQSWR2TWwSkGqylUjAAdzWzAUUuXMtOaRCeNHhHJfA?= =?us-ascii?Q?tnvCHFpoRE2z4bP9OdSnJ7L6/h+hVYOlgypBgUcTrmg8pXM28BcTMlbWwFDG?= =?us-ascii?Q?64QjlnMcs1Dje2Qa7W/DMnwJPiTOBWBe6mUEURxTd42k4a0y9PQHAJHM3hHo?= =?us-ascii?Q?CCzr1ucfbXAb0OFjThUGKnwZ++ZNxQveodpNcG5gk6oiM1GK3tWFdlWPpUzX?= =?us-ascii?Q?TJs9MHheth6hdhP77Ujuo+ApUnG11EAwgvQghLWK1qnD+onrZsKfBxLXUqFC?= =?us-ascii?Q?dNXUywx/2yeIL0UmeVxOJIVo/CV9ZbxreoTVzC7hOz8f4jXYxrHwgKKRvVjr?= =?us-ascii?Q?XzYSfC70jsosFGCZDsPMagQH3P1IJE49+N569j4S/BNvTmUnFg/t3ovfrDu+?= =?us-ascii?Q?xFAGn6lCtYovSHJZ6IWH/7wdbp0s3j0dixaXW6T6VneA+3xtTqbpP+Kk8c1U?= =?us-ascii?Q?w6XwQ0tesQfi1v6k0kHxv8vAO655neJzduS6f68sFMW97Rjbe6H+UQsWi7sb?= =?us-ascii?Q?3chqJGSdOWuxqNst0NKB5TmfUa+TstYjJ+d5gHQmy6ir8VKguOZwDLmzrSvI?= =?us-ascii?Q?jg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 85e52b58-49f3-470f-71e5-08daceea9b74 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Nov 2022 13:40:25.7427 (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: PRYTYXg+r9eTrvTNyBpkDD0Jr5ZyuStB+TNkfOvF5gA4Eew8hOpETNov8yScqs0l0q2kuU5OymLB6AZjt7AkWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8604 Content-Type: text/plain; charset="utf-8" This patch makes server_evts and client_evts global in userspace_pm.sh, then these two variables could be used in test_announce(), test_remove() and test_subflows(). The local variable 'evts' in these three functions then could be dropped. Suggested-by: Paolo Abeni Signed-off-by: Geliang Tang --- .../selftests/net/mptcp/userspace_pm.sh | 209 ++++++++---------- 1 file changed, 90 insertions(+), 119 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 40801279ebdf..a1b7592621b7 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -17,7 +17,10 @@ LISTENER_CLOSED=3D16 #MPTCP_EVENT_LISTENER_CLOSED AF_INET=3D2 AF_INET6=3D10 =20 -evts_pid=3D0 +server_evts=3D"" +client_evts=3D"" +server_evts_pid=3D0 +client_evts_pid=3D0 client4_pid=3D0 server4_pid=3D0 client6_pid=3D0 @@ -49,7 +52,7 @@ cleanup() { echo "cleanup" =20 - rm -rf $file + rm -f "$client_evts" "$server_evts" "$file" =20 # Terminate the MPTCP connection and related processes if [ $client4_pid -ne 0 ]; then @@ -64,8 +67,11 @@ cleanup() if [ $server6_pid -ne 0 ]; then kill_wait $server6_pid fi - if [ $evts_pid -ne 0 ]; then - kill_wait $evts_pid + if [ $server_evts_pid -ne 0 ]; then + kill_wait $server_evts_pid + fi + if [ $client_evts_pid -ne 0 ]; then + kill_wait $client_evts_pid fi local netns for netns in "$ns1" "$ns2" ;do @@ -134,18 +140,25 @@ make_connection() =20 # Capture netlink events over the two network namespaces running # the MPTCP client and server - local client_evts - client_evts=3D$(mktemp) + if [ -z "$client_evts" ]; then + client_evts=3D$(mktemp) + fi :>"$client_evts" + if [ $client_evts_pid -ne 0 ]; then + kill_wait $client_evts_pid + fi ip netns exec "$ns2" ./pm_nl_ctl events >> "$client_evts" 2>&1 & - local client_evts_pid=3D$! - local server_evts - server_evts=3D$(mktemp) + client_evts_pid=3D$! + if [ -z "$server_evts" ]; then + server_evts=3D$(mktemp) + fi :>"$server_evts" + if [ $server_evts_pid -ne 0 ]; then + kill_wait $server_evts_pid + fi ip netns exec "$ns1" ./pm_nl_ctl events >> "$server_evts" 2>&1 & - local server_evts_pid=3D$! + server_evts_pid=3D$! sleep 0.5 - # Run the server ip netns exec "$ns1" \ ./mptcp_connect -s MPTCP -w 300 -p $app_port -l $listen_addr > /dev/nu= ll 2>&1 & @@ -161,7 +174,6 @@ make_connection() sleep 1 =20 # Capture client/server attributes from MPTCP connection netlink events - kill_wait $client_evts_pid =20 local client_token local client_port @@ -173,12 +185,11 @@ make_connection() client_port=3D$(sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2= /p;q' "$client_evts") client_serverside=3D$(sed --unbuffered -n 's/.*\(server_side:\)\([[:digit= :]]*\).*$/\2/p;q'\ "$client_evts") - kill_wait $server_evts_pid server_token=3D$(grep "type:1," "$server_evts" | sed --unbuffered -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q') server_serverside=3D$(grep "type:1," "$server_evts" | sed --unbuffered -n 's/.*\(server_side:\)\([[:digit:]]*\).*$/\2/p;q= ') - rm -f "$client_evts" "$server_evts" "$file" + rm -f "$file" =20 if [ "$client_token" !=3D "" ] && [ "$server_token" !=3D "" ] && [ "$clie= nt_serverside" =3D 0 ] && [ "$server_serverside" =3D 1 ] @@ -242,13 +253,8 @@ verify_announce_event() =20 test_announce() { - local evts - evts=3D$(mktemp) # Capture events on the network namespace running the server - :>"$evts" - ip netns exec "$ns1" ./pm_nl_ctl events >> "$evts" 2>&1 & - evts_pid=3D$! - sleep 0.5 + :>"$server_evts" =20 # ADD_ADDR using an invalid token should result in no action local invalid_token=3D$(( client4_token - 1)) @@ -256,7 +262,7 @@ test_announce() $client_addr_id dev ns2eth1 > /dev/null 2>&1 =20 local type - type=3D$(sed --unbuffered -n 's/.*\(type:\)\([[:digit:]]*\).*$/\2/p;q' "$= evts") + type=3D$(sed --unbuffered -n 's/.*\(type:\)\([[:digit:]]*\).*$/\2/p;q' "$= server_evts") stdbuf -o0 -e0 printf "ADD_ADDR 10.0.2.2 (ns2) =3D> ns1, invalid token = \t\t" if [ "$type" =3D "" ] then @@ -267,71 +273,63 @@ test_announce() fi =20 # ADD_ADDR from the client to server machine reusing the subflow port - :>"$evts" + :>"$server_evts" ip netns exec "$ns2"\ ./pm_nl_ctl ann 10.0.2.2 token "$client4_token" id $client_addr_id dev\ ns2eth1 > /dev/null 2>&1 stdbuf -o0 -e0 printf "ADD_ADDR id:%d 10.0.2.2 (ns2) =3D> ns1, reuse port= \t\t" $client_addr_id sleep 0.5 - verify_announce_event "$evts" "$ANNOUNCED" "$server4_token" "10.0.2.2" "$= client_addr_id"\ + verify_announce_event $server_evts $ANNOUNCED $server4_token "10.0.2.2" $= client_addr_id \ "$client4_port" =20 # ADD_ADDR6 from the client to server machine reusing the subflow port - :>"$evts" + :>"$server_evts" ip netns exec "$ns2" ./pm_nl_ctl ann\ dead:beef:2::2 token "$client6_token" id $client_addr_id dev ns2eth1 >= /dev/null 2>&1 stdbuf -o0 -e0 printf "ADD_ADDR6 id:%d dead:beef:2::2 (ns2) =3D> ns1, reu= se port\t\t" $client_addr_id sleep 0.5 - verify_announce_event "$evts" "$ANNOUNCED" "$server6_token" "dead:beef:2:= :2"\ + verify_announce_event "$server_evts" "$ANNOUNCED" "$server6_token" "dead:= beef:2::2"\ "$client_addr_id" "$client6_port" "v6" =20 # ADD_ADDR from the client to server machine using a new port - :>"$evts" + :>"$server_evts" client_addr_id=3D$((client_addr_id+1)) ip netns exec "$ns2" ./pm_nl_ctl ann 10.0.2.2 token "$client4_token" id\ $client_addr_id dev ns2eth1 port $new4_port > /dev/null 2>&1 stdbuf -o0 -e0 printf "ADD_ADDR id:%d 10.0.2.2 (ns2) =3D> ns1, new port \= t\t\t" $client_addr_id sleep 0.5 - verify_announce_event "$evts" "$ANNOUNCED" "$server4_token" "10.0.2.2"\ + verify_announce_event "$server_evts" "$ANNOUNCED" "$server4_token" "10.0.= 2.2"\ "$client_addr_id" "$new4_port" =20 - kill_wait $evts_pid - # Capture events on the network namespace running the client - :>"$evts" - ip netns exec "$ns2" ./pm_nl_ctl events >> "$evts" 2>&1 & - evts_pid=3D$! - sleep 0.5 + :>"$client_evts" =20 # ADD_ADDR from the server to client machine reusing the subflow port ip netns exec "$ns1" ./pm_nl_ctl ann 10.0.2.1 token "$server4_token" id\ $server_addr_id dev ns1eth2 > /dev/null 2>&1 stdbuf -o0 -e0 printf "ADD_ADDR id:%d 10.0.2.1 (ns1) =3D> ns2, reuse port= \t\t" $server_addr_id sleep 0.5 - verify_announce_event "$evts" "$ANNOUNCED" "$client4_token" "10.0.2.1"\ + verify_announce_event "$client_evts" "$ANNOUNCED" "$client4_token" "10.0.= 2.1"\ "$server_addr_id" "$app4_port" =20 # ADD_ADDR6 from the server to client machine reusing the subflow port - :>"$evts" + :>"$client_evts" ip netns exec "$ns1" ./pm_nl_ctl ann dead:beef:2::1 token "$server6_token= " id\ $server_addr_id dev ns1eth2 > /dev/null 2>&1 stdbuf -o0 -e0 printf "ADD_ADDR6 id:%d dead:beef:2::1 (ns1) =3D> ns2, reu= se port\t\t" $server_addr_id sleep 0.5 - verify_announce_event "$evts" "$ANNOUNCED" "$client6_token" "dead:beef:2:= :1"\ + verify_announce_event "$client_evts" "$ANNOUNCED" "$client6_token" "dead:= beef:2::1"\ "$server_addr_id" "$app6_port" "v6" =20 # ADD_ADDR from the server to client machine using a new port - :>"$evts" + :>"$client_evts" server_addr_id=3D$((server_addr_id+1)) ip netns exec "$ns1" ./pm_nl_ctl ann 10.0.2.1 token "$server4_token" id\ $server_addr_id dev ns1eth2 port $new4_port > /dev/null 2>&1 stdbuf -o0 -e0 printf "ADD_ADDR id:%d 10.0.2.1 (ns1) =3D> ns2, new port \= t\t\t" $server_addr_id sleep 0.5 - verify_announce_event "$evts" "$ANNOUNCED" "$client4_token" "10.0.2.1"\ + verify_announce_event "$client_evts" "$ANNOUNCED" "$client4_token" "10.0.= 2.1"\ "$server_addr_id" "$new4_port" - - kill_wait $evts_pid - rm -f "$evts" } =20 verify_remove_event() @@ -359,14 +357,8 @@ verify_remove_event() =20 test_remove() { - local evts - evts=3D$(mktemp) - # Capture events on the network namespace running the server - :>"$evts" - ip netns exec "$ns1" ./pm_nl_ctl events >> "$evts" 2>&1 & - evts_pid=3D$! - sleep 0.5 + :>"$server_evts" =20 # RM_ADDR using an invalid token should result in no action local invalid_token=3D$(( client4_token - 1 )) @@ -375,7 +367,7 @@ test_remove() stdbuf -o0 -e0 printf "RM_ADDR id:%d ns2 =3D> ns1, invalid token = \t"\ $client_addr_id local type - type=3D$(sed --unbuffered -n 's/.*\(type:\)\([[:digit:]]*\).*$/\2/p;q' "$= evts") + type=3D$(sed --unbuffered -n 's/.*\(type:\)\([[:digit:]]*\).*$/\2/p;q' "$= server_evts") if [ "$type" =3D "" ] then stdbuf -o0 -e0 printf "[OK]\n" @@ -389,7 +381,7 @@ test_remove() $invalid_id > /dev/null 2>&1 stdbuf -o0 -e0 printf "RM_ADDR id:%d ns2 =3D> ns1, invalid id = \t"\ $invalid_id - type=3D$(sed --unbuffered -n 's/.*\(type:\)\([[:digit:]]*\).*$/\2/p;q' "$= evts") + type=3D$(sed --unbuffered -n 's/.*\(type:\)\([[:digit:]]*\).*$/\2/p;q' "$= server_evts") if [ "$type" =3D "" ] then stdbuf -o0 -e0 printf "[OK]\n" @@ -398,40 +390,35 @@ test_remove() fi =20 # RM_ADDR from the client to server machine - :>"$evts" + :>"$server_evts" ip netns exec "$ns2" ./pm_nl_ctl rem token "$client4_token" id\ $client_addr_id > /dev/null 2>&1 stdbuf -o0 -e0 printf "RM_ADDR id:%d ns2 =3D> ns1 = \t"\ $client_addr_id sleep 0.5 - verify_remove_event "$evts" "$REMOVED" "$server4_token" "$client_addr_id" + verify_remove_event "$server_evts" "$REMOVED" "$server4_token" "$client_a= ddr_id" =20 # RM_ADDR from the client to server machine - :>"$evts" + :>"$server_evts" client_addr_id=3D$(( client_addr_id - 1 )) ip netns exec "$ns2" ./pm_nl_ctl rem token "$client4_token" id\ $client_addr_id > /dev/null 2>&1 stdbuf -o0 -e0 printf "RM_ADDR id:%d ns2 =3D> ns1 = \t"\ $client_addr_id sleep 0.5 - verify_remove_event "$evts" "$REMOVED" "$server4_token" "$client_addr_id" + verify_remove_event "$server_evts" "$REMOVED" "$server4_token" "$client_a= ddr_id" =20 # RM_ADDR6 from the client to server machine - :>"$evts" + :>"$server_evts" ip netns exec "$ns2" ./pm_nl_ctl rem token "$client6_token" id\ $client_addr_id > /dev/null 2>&1 stdbuf -o0 -e0 printf "RM_ADDR6 id:%d ns2 =3D> ns1 = \t"\ $client_addr_id sleep 0.5 - verify_remove_event "$evts" "$REMOVED" "$server6_token" "$client_addr_id" - - kill_wait $evts_pid + verify_remove_event "$server_evts" "$REMOVED" "$server6_token" "$client_a= ddr_id" =20 # Capture events on the network namespace running the client - :>"$evts" - ip netns exec "$ns2" ./pm_nl_ctl events >> "$evts" 2>&1 & - evts_pid=3D$! - sleep 0.5 + :>"$client_evts" =20 # RM_ADDR from the server to client machine ip netns exec "$ns1" ./pm_nl_ctl rem token "$server4_token" id\ @@ -439,27 +426,24 @@ test_remove() stdbuf -o0 -e0 printf "RM_ADDR id:%d ns1 =3D> ns2 = \t"\ $server_addr_id sleep 0.5 - verify_remove_event "$evts" "$REMOVED" "$client4_token" "$server_addr_id" + verify_remove_event "$client_evts" "$REMOVED" "$client4_token" "$server_a= ddr_id" =20 # RM_ADDR from the server to client machine - :>"$evts" + :>"$client_evts" server_addr_id=3D$(( server_addr_id - 1 )) ip netns exec "$ns1" ./pm_nl_ctl rem token "$server4_token" id\ $server_addr_id > /dev/null 2>&1 stdbuf -o0 -e0 printf "RM_ADDR id:%d ns1 =3D> ns2 = \t" $server_addr_id sleep 0.5 - verify_remove_event "$evts" "$REMOVED" "$client4_token" "$server_addr_id" + verify_remove_event "$client_evts" "$REMOVED" "$client4_token" "$server_a= ddr_id" =20 # RM_ADDR6 from the server to client machine - :>"$evts" + :>"$client_evts" ip netns exec "$ns1" ./pm_nl_ctl rem token "$server6_token" id\ $server_addr_id > /dev/null 2>&1 stdbuf -o0 -e0 printf "RM_ADDR6 id:%d ns1 =3D> ns2 = \t" $server_addr_id sleep 0.5 - verify_remove_event "$evts" "$REMOVED" "$client6_token" "$server_addr_id" - - kill_wait $evts_pid - rm -f "$evts" + verify_remove_event "$client_evts" "$REMOVED" "$client6_token" "$server_a= ddr_id" } =20 verify_subflow_events() @@ -535,13 +519,8 @@ verify_subflow_events() =20 test_subflows() { - local evts - evts=3D$(mktemp) # Capture events on the network namespace running the server - :>"$evts" - ip netns exec "$ns1" ./pm_nl_ctl events >> "$evts" 2>&1 & - evts_pid=3D$! - sleep 0.5 + :>"$server_evts" =20 # Attempt to add a listener at 10.0.2.2: ip netns exec "$ns2" ./pm_nl_ctl listen 10.0.2.2\ @@ -554,25 +533,25 @@ test_subflows() sleep 0.5 =20 # CREATE_SUBFLOW from server to client machine - :>"$evts" + :>"$server_evts" ip netns exec "$ns1" ./pm_nl_ctl csf lip 10.0.2.1 lid 23 rip 10.0.2.2\ rport "$client4_port" token "$server4_token" > /dev/null 2>&1 sleep 0.5 - verify_subflow_events "$evts" "$SUB_ESTABLISHED" "$server4_token" "$AF_IN= ET" "10.0.2.1"\ + verify_subflow_events $server_evts $SUB_ESTABLISHED $server4_token $AF_IN= ET "10.0.2.1" \ "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 =20 local sport - sport=3D$(sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q' = "$evts") + sport=3D$(sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q' = "$server_evts") =20 # DESTROY_SUBFLOW from server to client machine - :>"$evts" + :>"$server_evts" ip netns exec "$ns1" ./pm_nl_ctl dsf lip 10.0.2.1 lport "$sport" rip 10.0= .2.2 rport\ "$client4_port" token "$server4_token" > /dev/null 2>&1 sleep 0.5 - verify_subflow_events "$evts" "$SUB_CLOSED" "$server4_token" "$AF_INET" "= 10.0.2.1"\ + verify_subflow_events "$server_evts" "$SUB_CLOSED" "$server4_token" "$AF_= INET" "10.0.2.1"\ "10.0.2.2" "$client4_port" "23" "$client_addr_id" "ns1" "ns2" =20 # RM_ADDR from client to server machine @@ -586,31 +565,31 @@ test_subflows() listener_pid=3D$! =20 # ADD_ADDR6 from client to server machine reusing the subflow port - :>"$evts" + :>"$server_evts" ip netns exec "$ns2" ./pm_nl_ctl ann dead:beef:2::2 token "$client6_token= " id\ $client_addr_id > /dev/null 2>&1 sleep 0.5 =20 # CREATE_SUBFLOW6 from server to client machine - :>"$evts" + :>"$server_evts" ip netns exec "$ns1" ./pm_nl_ctl csf lip dead:beef:2::1 lid 23 rip\ dead:beef:2::2 rport "$client6_port" token "$server6_token" > /dev/nul= l 2>&1 sleep 0.5 - verify_subflow_events "$evts" "$SUB_ESTABLISHED" "$server6_token" "$AF_IN= ET6"\ + verify_subflow_events "$server_evts" "$SUB_ESTABLISHED" "$server6_token" = "$AF_INET6"\ "dead:beef:2::1" "dead:beef:2::2" "$client6_port" "23"\ "$client_addr_id" "ns1" "ns2" =20 # Delete the listener from the client ns, if one was created kill_wait $listener_pid =20 - sport=3D$(sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q' = "$evts") + sport=3D$(sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q' = "$server_evts") =20 # DESTROY_SUBFLOW6 from server to client machine - :>"$evts" + :>"$server_evts" ip netns exec "$ns1" ./pm_nl_ctl dsf lip dead:beef:2::1 lport "$sport" ri= p\ dead:beef:2::2 rport "$client6_port" token "$server6_token" > /dev/nul= l 2>&1 sleep 0.5 - verify_subflow_events "$evts" "$SUB_CLOSED" "$server6_token" "$AF_INET6"\ + verify_subflow_events "$server_evts" "$SUB_CLOSED" "$server6_token" "$AF_= INET6"\ "dead:beef:2::1" "dead:beef:2::2" "$client6_port" "23"\ "$client_addr_id" "ns1" "ns2" =20 @@ -625,44 +604,39 @@ test_subflows() listener_pid=3D$! =20 # ADD_ADDR from client to server machine using a new port - :>"$evts" + :>"$server_evts" ip netns exec "$ns2" ./pm_nl_ctl ann 10.0.2.2 token "$client4_token" id\ $client_addr_id port $new4_port > /dev/null 2>&1 sleep 0.5 =20 # CREATE_SUBFLOW from server to client machine - :>"$evts" + :>"$server_evts" ip netns exec "$ns1" ./pm_nl_ctl csf lip 10.0.2.1 lid 23 rip 10.0.2.2 rpo= rt\ $new4_port token "$server4_token" > /dev/null 2>&1 sleep 0.5 - verify_subflow_events "$evts" "$SUB_ESTABLISHED" "$server4_token" "$AF_IN= ET"\ + verify_subflow_events "$server_evts" "$SUB_ESTABLISHED" "$server4_token" = "$AF_INET"\ "10.0.2.1" "10.0.2.2" "$new4_port" "23"\ "$client_addr_id" "ns1" "ns2" =20 # Delete the listener from the client ns, if one was created kill_wait $listener_pid =20 - sport=3D$(sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q' = "$evts") + sport=3D$(sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q' = "$server_evts") =20 # DESTROY_SUBFLOW from server to client machine - :>"$evts" + :>"$server_evts" ip netns exec "$ns1" ./pm_nl_ctl dsf lip 10.0.2.1 lport "$sport" rip 10.0= .2.2 rport\ $new4_port token "$server4_token" > /dev/null 2>&1 sleep 0.5 - verify_subflow_events "$evts" "$SUB_CLOSED" "$server4_token" "$AF_INET" "= 10.0.2.1"\ + verify_subflow_events "$server_evts" "$SUB_CLOSED" "$server4_token" "$AF_= INET" "10.0.2.1"\ "10.0.2.2" "$new4_port" "23" "$client_addr_id" "ns1" "ns2" =20 # RM_ADDR from client to server machine ip netns exec "$ns2" ./pm_nl_ctl rem id $client_addr_id token\ "$client4_token" > /dev/null 2>&1 =20 - kill_wait $evts_pid - # Capture events on the network namespace running the client - :>"$evts" - ip netns exec "$ns2" ./pm_nl_ctl events >> "$evts" 2>&1 & - evts_pid=3D$! - sleep 0.5 + :>"$client_evts" =20 # Attempt to add a listener at 10.0.2.1: ip netns exec "$ns1" ./pm_nl_ctl listen 10.0.2.1\ @@ -675,24 +649,24 @@ test_subflows() sleep 0.5 =20 # CREATE_SUBFLOW from client to server machine - :>"$evts" + :>"$client_evts" ip netns exec "$ns2" ./pm_nl_ctl csf lip 10.0.2.2 lid 23 rip 10.0.2.1 rpo= rt\ $app4_port token "$client4_token" > /dev/null 2>&1 sleep 0.5 - verify_subflow_events "$evts" "$SUB_ESTABLISHED" "$client4_token" "$AF_IN= ET" "10.0.2.2"\ + verify_subflow_events $client_evts $SUB_ESTABLISHED $client4_token $AF_IN= ET "10.0.2.2"\ "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 =20 - sport=3D$(sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q' = "$evts") + sport=3D$(sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q' = "$client_evts") =20 # DESTROY_SUBFLOW from client to server machine - :>"$evts" + :>"$client_evts" ip netns exec "$ns2" ./pm_nl_ctl dsf lip 10.0.2.2 lport "$sport" rip 10.0= .2.1 rport\ $app4_port token "$client4_token" > /dev/null 2>&1 sleep 0.5 - verify_subflow_events "$evts" "$SUB_CLOSED" "$client4_token" "$AF_INET" "= 10.0.2.2"\ + verify_subflow_events "$client_evts" "$SUB_CLOSED" "$client4_token" "$AF_= INET" "10.0.2.2"\ "10.0.2.1" "$app4_port" "23" "$server_addr_id" "ns2" "ns1" =20 # RM_ADDR from server to client machine @@ -706,17 +680,17 @@ test_subflows() listener_pid=3D$! =20 # ADD_ADDR6 from server to client machine reusing the subflow port - :>"$evts" + :>"$client_evts" ip netns exec "$ns1" ./pm_nl_ctl ann dead:beef:2::1 token "$server6_token= " id\ $server_addr_id > /dev/null 2>&1 sleep 0.5 =20 # CREATE_SUBFLOW6 from client to server machine - :>"$evts" + :>"$client_evts" ip netns exec "$ns2" ./pm_nl_ctl csf lip dead:beef:2::2 lid 23 rip\ dead:beef:2::1 rport $app6_port token "$client6_token" > /dev/null 2>&1 sleep 0.5 - verify_subflow_events "$evts" "$SUB_ESTABLISHED" "$client6_token"\ + verify_subflow_events "$client_evts" "$SUB_ESTABLISHED" "$client6_token"\ "$AF_INET6" "dead:beef:2::2"\ "dead:beef:2::1" "$app6_port" "23"\ "$server_addr_id" "ns2" "ns1" @@ -724,14 +698,14 @@ test_subflows() # Delete the listener from the server ns, if one was created kill_wait $listener_pid =20 - sport=3D$(sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q' = "$evts") + sport=3D$(sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q' = "$client_evts") =20 # DESTROY_SUBFLOW6 from client to server machine - :>"$evts" + :>"$client_evts" ip netns exec "$ns2" ./pm_nl_ctl dsf lip dead:beef:2::2 lport "$sport" ri= p\ dead:beef:2::1 rport $app6_port token "$client6_token" > /dev/null 2>&1 sleep 0.5 - verify_subflow_events "$evts" "$SUB_CLOSED" "$client6_token" "$AF_INET6" = "dead:beef:2::2"\ + verify_subflow_events $client_evts $SUB_CLOSED $client6_token $AF_INET6 "= dead:beef:2::2"\ "dead:beef:2::1" "$app6_port" "23" "$server_addr_id" "ns2" "ns1" =20 # RM_ADDR6 from server to client machine @@ -745,38 +719,35 @@ test_subflows() listener_pid=3D$! =20 # ADD_ADDR from server to client machine using a new port - :>"$evts" + :>"$client_evts" ip netns exec "$ns1" ./pm_nl_ctl ann 10.0.2.1 token "$server4_token" id\ $server_addr_id port $new4_port > /dev/null 2>&1 sleep 0.5 =20 # CREATE_SUBFLOW from client to server machine - :>"$evts" + :>"$client_evts" ip netns exec "$ns2" ./pm_nl_ctl csf lip 10.0.2.2 lid 23 rip 10.0.2.1 rpo= rt\ $new4_port token "$client4_token" > /dev/null 2>&1 sleep 0.5 - verify_subflow_events "$evts" "$SUB_ESTABLISHED" "$client4_token" "$AF_IN= ET"\ + verify_subflow_events "$client_evts" "$SUB_ESTABLISHED" "$client4_token" = "$AF_INET"\ "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 =20 - sport=3D$(sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q' = "$evts") + sport=3D$(sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q' = "$client_evts") =20 # DESTROY_SUBFLOW from client to server machine - :>"$evts" + :>"$client_evts" ip netns exec "$ns2" ./pm_nl_ctl dsf lip 10.0.2.2 lport "$sport" rip 10.0= .2.1 rport\ $new4_port token "$client4_token" > /dev/null 2>&1 sleep 0.5 - verify_subflow_events "$evts" "$SUB_CLOSED" "$client4_token" "$AF_INET" "= 10.0.2.2"\ + verify_subflow_events "$client_evts" "$SUB_CLOSED" "$client4_token" "$AF_= INET" "10.0.2.2"\ "10.0.2.1" "$new4_port" "23" "$server_addr_id" "ns2" "ns1" =20 # RM_ADDR from server to client machine ip netns exec "$ns1" ./pm_nl_ctl rem id $server_addr_id token\ "$server4_token" > /dev/null 2>&1 - - kill_wait $evts_pid - rm -f "$evts" } =20 test_prio() --=20 2.35.3 From nobody Mon May 6 20:58:18 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2077.outbound.protection.outlook.com [40.107.7.77]) (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 7470933DC for ; Fri, 25 Nov 2022 13:40:33 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MdTxJCX5tLO2+VMj3kb4c9IjqvSpXj9LI7TZgVAFHkVbVnQdoVzcJflpRIxWUw+8JzMnOCcgsJITKTal2utfUM2AvjLOdf7/2QvenBu/kz3TkNWw7/bN8XQ/TGTSq/YVnSrcgxonIj+p+QFebYHdXQH0b+XsPGBDu+u/veoDLVCxMYClrqKVFPtzSIB5SpoR1RG+tFxyIgHe/ts63mPIaUjIRvHnlVIAoNi9N9dSKV4ecUdh2XOMsPxdLl4NqPAr6KRKhm0Ek5ULR31Uk2sfzryzAfDQtliuCHrHd7oAoJGFJjgXY1VTzGcGsLf99ujrcFrxsE3u3ThsrV4ii0efjA== 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=vBLyMu/c7Sp1bcBRjuTB2jdFKaviwk58/F/YWfXCQsg=; b=Fhs1GeaSoPNCvROF+agF1PxDNTgNQkFMkxcEUMExoG6Ou0CKG/gdWXIGlUuZYF5/AeJle8tL1WUxEXd0VnEizXLv9s+JZ6l3ZqOi4EkOkZCBCBmNP1Mz/0FbzF4JHQZWVMnrrRaFt6RXt0ZOU7m08OnMVgcFy7uPiDU4k+RVbBvcoIrj3ieHewTcBjTgqeMVJ4Et76fxEQEd2XUlSONy5u0Y0NtDjNvNU33EJeNml2WhuGy9QpXYIdjRm/P/zxvOk7zWVc+mk5xQogox3T1ZiW2LeEaqCzE0tTat1CmFBJDfnJw9V3i0Zjko1YkdHZKjwQaGEtIZK5dAv/wa+lBYog== 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=vBLyMu/c7Sp1bcBRjuTB2jdFKaviwk58/F/YWfXCQsg=; b=l+Sjh6vu0eOy8+dJUessVQBCi64J3gxMkUUQzNU/qP0K4NIYJT6fpyy13wTjd/c2KmVrFo3RPY/+1vAYB+WboGKfkJeKR0EYCBfJSJv9y1KUEvROMXrAx42pR0qXQGmHwOYSy6e2sAGE328dSX4h+EAjxMS/ZP8hZoQm4O1oQLW8lKKwtkrYogQxyHwZl/6dPPGur/6aFl34ysbhvxfH2rMwgNk5auuXORKAh/n/5kVJ4iOheqNt0ny6OIwP0HOaIePX26y8lA5O60fdZshiq5VevSdONy/cMKrZKIFXLM0XapFHCoq0X0pJBlAximooAc7ocW3zrD8hJOiSv3s8dw== 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 AM9PR04MB8604.eurprd04.prod.outlook.com (2603:10a6:20b:43b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.11; Fri, 25 Nov 2022 13:40:32 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::62bf:d98a:f54a:2852]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::62bf:d98a:f54a:2852%7]) with mapi id 15.20.5857.020; Fri, 25 Nov 2022 13:40:32 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v2 2/4] Squash to "selftests: mptcp: listener test for userspace PM" Date: Fri, 25 Nov 2022 21:40:47 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0022.apcprd02.prod.outlook.com (2603:1096:4:1f4::16) 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_|AM9PR04MB8604:EE_ X-MS-Office365-Filtering-Correlation-Id: ce1563eb-43db-4e05-0786-08daceea9f6c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: yEXvjEiWJ4wXXaeP/juWP/DAGHnq19RCndK2aiv0f8iJcKCJzNc29kuEFRIMP5cvsOkOv28r/xtCfGFbyigI3nSg2wuDVh1z2f8j/q935qzocSdCiUemu4XKBAASnLU3XLsqjGnWfI2hB7YFBtVOzrULGTUsUknr9hUFrAkWAE6c0T5ZeAffazORlhb0oXJ0b+AaXY5XK7yIDVD+pywrduG+e7rmqEmIGUG9DMxFSkvbGidTx1UxQORR8G4Br3wkKGgPpKZ8K7jKaebntiFWctDYS3OoOl8Pdzxw9VM9buj6iJIDze/FUZgIZS2U7XSHZrOvzcxCrQoTBfJyjZY1vHsFPkoBSkDZBVXWD5wHTDb+521OQpEtv45YTrRPrBajWImuGKEMIP28RzapB68Hgaz+RdRXifhlWVDqpypWrhYGFitk5ddbb2ZAN0hW9ojfS/YCEDd8j9BkFC3MqbZsSxGPV1nrIt/CLXNIxV3v5kxsRvZdJ6Ktm/OJ3f94qe+s7JTFmMJr6dhx4RqnAI4cxnweKXWEjCddZx2rXbJFkJkD1ICi3w5nLVJRHWHtZeG5OfK6ESU4yxwHTQCosBTbiJ8+z3XB6Dyel8u590z19SskO6rpcSN6cqMPrv47Bd7s5SARuRYAIK3b10tOUct1cw== 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:(13230022)(396003)(346002)(366004)(376002)(136003)(39860400002)(451199015)(66946007)(66556008)(186003)(38100700002)(41300700001)(2616005)(66476007)(86362001)(44832011)(5660300002)(4326008)(6666004)(8676002)(6486002)(6512007)(316002)(26005)(478600001)(6916009)(6506007)(36756003)(8936002)(107886003)(2906002)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?8y3CAo3/E0Mp3Cc+mgVh2Uo3KQwJB5WTlcw7n26Zrq8UMFNSxm5VyssJcQpE?= =?us-ascii?Q?saylcXTg0QRiMtrvnmCnSNoVSoWYVsQkKnufSGMSXpzjQLilLjp3gePFv+xC?= =?us-ascii?Q?I9IY5+4jp6zAxr0hSnrgWOlG8PG1vmMTHFtzZ93UNILgEBVLI9nckWAsFHsu?= =?us-ascii?Q?sgUgOXfoe5yW80qsPUeijRFkd/BdEIf7rGBKLlujWrOzzByyedbTOZiZ9wx9?= =?us-ascii?Q?/VxJOHRvM39sNaQDUcUCl0f1M4H59xcBjgrPHGJOf7WNcjWNcKePq0vUERvJ?= =?us-ascii?Q?//eWTR8w8S1t7WTPa+eEkDU4KIP2jq/w7Ky5Xdjf3s5h5niFDQJxWnpTwY2X?= =?us-ascii?Q?ASCE9mh/mKm3iwFX/uw7tWp4uwi9T7YjSUBH7ZZtNqddIAyhxaaCeJNqBFRu?= =?us-ascii?Q?hI0ovM5NdTunYZ3xAGo78xHHt27uXSUYunpqamhOAvTeTeepxw1qZzX9qzcK?= =?us-ascii?Q?l2zjXpuRh3y1LxtdDo/rSK+HVqnC4kVk2DvUvF7T9q/9uxjAe6t4Lqj0WNli?= =?us-ascii?Q?Qy+Ycj+MkCA2Rn7GYt9rnr0/DBhWcrXclbD3oFWxK0D41ucttOruSBafcu1k?= =?us-ascii?Q?lMrHDB8Ewj80pM5McHzL5eGR+vtk4ieYRZdqDvm9ZKtcfh/kDlCOI5SnLI6t?= =?us-ascii?Q?4Id0vD7JpMGJctDcmtbIKi5gIjL83TbG1JMUJ1LzRebAvm//MHShc2I6FoRg?= =?us-ascii?Q?IFiI1myLkXmaZePJLTw9xKibtkX0S+50gb1uSZRbX41XWEENPggxEIRZ+Duy?= =?us-ascii?Q?fUQ58kbb/PB8rNiadsc53uavkiMUlnxEtkaGYjJONiavR1M1/MJfgLvPokBo?= =?us-ascii?Q?lVF9hBmbutBl8aNJWE3xOFiK3eS0YVg/CwFU3bRucKm17S/FepxkeKll1WUL?= =?us-ascii?Q?D7OWqoZXJ/lFn10iE3Y7wm9GK2FppnQzyv+z6B8i1c9SP/0S/u9YptaGwRV9?= =?us-ascii?Q?JKADd4KQZOF8hyno9xD5CNgNNDmMme+qeDZ2a0ax/bKtaQwZI/ExPhzARFpI?= =?us-ascii?Q?UzfEboM76nTeNo0rZjpmGR54Nn6TnI1TYKFqfpvq5TtUxylMHqtImJUQHU3V?= =?us-ascii?Q?pNKRKYuXf6nqnoEUqsUZUV5AuBfKxTj96iWOAv3sZx16i94c+fIH9wqE0EBf?= =?us-ascii?Q?S7P5kprFv3QvihZ7R61XMf6l4abH75cn0Hhp5H1RQsKDoGgaxKE9nBq5t15I?= =?us-ascii?Q?ozDu4980cZr5tdRCzwDiFng/91moJ6asQKeptGqMKKVq8+LUN/jIEWReET6R?= =?us-ascii?Q?rL1Grg/EN8KxXCDKZoiT0sm54m3FF+pZkrpWzdLLEXV7ZmnIheQpJvNXMike?= =?us-ascii?Q?nTUpiK3mB+xKddvzrPk2+0kvj87kvlbYJIDM6y2ujpRbEHdzyeZ/69O/ujoY?= =?us-ascii?Q?DYWsoohBleHLxIB1AVL83rOemycofCXaBhwEXruChAJT8220+Fvoi0h+Kdai?= =?us-ascii?Q?SEWd7nmWrPUmyBX3Guh5rhwvltnGrjAdPCVaSGOsUljtH9BoiOZeUWDfnYlp?= =?us-ascii?Q?/OB9JN0M8Y81ezMp3AYtxaMikI5mJ6DQXxp1hc9iH97C8PTB0bKfVECWOHcY?= =?us-ascii?Q?b209DDVYibvGzacdGA54YzaZRVNuHQv6VjZI+a62BwL4A/3igP7qpSyBiz+L?= =?us-ascii?Q?kg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ce1563eb-43db-4e05-0786-08daceea9f6c X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Nov 2022 13:40:32.1328 (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: Rp8YPpZXeglbUorrtr4bHjjrolRwVL6IvbgI37nb9w/xWGYnP4IPjJ+ik+AALrDiQO3xanl/5Jpmcmed5MiW7Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8604 Content-Type: text/plain; charset="utf-8" Do some cleanups. Signed-off-by: Geliang Tang --- .../selftests/net/mptcp/userspace_pm.sh | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index a1b7592621b7..2cebb20552b8 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -807,7 +807,7 @@ verify_listener_events() sed --unbuffered -n 's/.*\(family:\)\([[:digit:]]*\).*$/\2/p;q') sport=3D$(grep "type:$e_type," $evt | sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') - if [ $family =3D $AF_INET6 ]; then + if [ $family ] && [ $family =3D $AF_INET6 ]; then saddr=3D$(grep "type:$e_type," $evt | sed --unbuffered -n 's/.*\(saddr6:\)\([0-9a-f:.]*\).*$/\2/p;q') else @@ -815,8 +815,10 @@ verify_listener_events() sed --unbuffered -n 's/.*\(saddr4:\)\([0-9.]*\).*$/\2/p;q') fi =20 - if [ $type =3D $e_type ] && [ $family =3D $e_family ] && - [ $saddr =3D $e_saddr ] && [ $sport =3D $e_sport ]; then + if [ $type ] && [ $type =3D $e_type ] && + [ $family ] && [ $family =3D $e_family ] && + [ $saddr ] && [ $saddr =3D $e_saddr ] && + [ $sport ] && [ $sport =3D $e_sport ]; then stdbuf -o0 -e0 printf "[OK]\n" return 0 fi @@ -826,20 +828,15 @@ verify_listener_events() =20 test_listener() { - local evts - evts=3D$(mktemp) - # Capture events on the network namespace running the server - :>$evts - ip netns exec $ns2 ./pm_nl_ctl events >> $evts 2>&1 & - evts_pid=3D$! - sleep 0.5 + # Capture events on the network namespace running the client + :>$client_evts =20 # Attempt to add a listener at 10.0.2.2: ip netns exec $ns2 ./pm_nl_ctl listen 10.0.2.2\ $client4_port > /dev/null 2>&1 & local listener_pid=3D$! =20 - verify_listener_events $evts 15 $AF_INET 10.0.2.2 $client4_port + verify_listener_events $client_evts $LISTENER_CREATED $AF_INET 10.0.2.2 $= client4_port =20 # ADD_ADDR from client to server machine reusing the subflow port ip netns exec $ns2 ./pm_nl_ctl ann 10.0.2.2 token $client4_token id\ @@ -854,10 +851,7 @@ test_listener() # Delete the listener from the client ns, if one was created kill_wait $listener_pid =20 - verify_listener_events $evts 16 $AF_INET 10.0.2.2 $client4_port - - kill_wait $evts_pid - rm -f $evts + verify_listener_events $client_evts $LISTENER_CLOSED $AF_INET 10.0.2.2 $c= lient4_port } =20 make_connection --=20 2.35.3 From nobody Mon May 6 20:58:18 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2041.outbound.protection.outlook.com [40.107.7.41]) (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 8C21C33DC for ; Fri, 25 Nov 2022 13:40:43 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DfBev3d1QX4NwedU04r7MGdJnq9HBueE6AWd/xOVN2goWM+Cr70848K8lHpTlNrSvYGyWoZ+A53Geh/PM2A/0uL/17WqlhlZTSH333qxkNZzldsCR6VU44DqH/jmhz0Fp4iGFIYcC4hK0FHmPwnxjYc80pvfZZIpWGA+tcMV5MZXCruL8co6h6dzlhQmIOmeLnMtGmrKbAKNeqaZ2ZU7hVIuU3F5zhXlhbPtRGxnhtCdfP2bKsogl9JBUZTEsCmaDART8/ZPbqRYI42vEj0n5U7xUkUdPTDF3LdIlIFbjNXmSkXc+xN/v/Ts5tISYfIss00tOIvjdaueK3GiJpTA9A== 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=vl3s/c9Q+3ks3zOx5aAeyuGVmYBBGO4jHe/B2EDhsJE=; b=DjQlbSdoW+zxh34wUJCHUpHWfds2BMf+WCGXwVMIOdmtAaipIOfvF9ewMkAVRrQioK30bFK7jnmZzQENdq9QBTglgTFOpixOcUNpSd7Ddd2i1s8c01oWKMOJV2/zZ03qCEpF97NoyQhdEe2goUQpS8PpEe7zvkse8Klhhz1k9blfE0MQQF7th8BTL9PAc0Y7ls4ayXjeQU5ZTWNjTGh9I9srvjApyerSjwspl4aUOA8CAvd1KWsM9wu6Nct0zR2YHPiVpkuTwamc8f8gC9t06wjpg9AhC1d/YrAfIVv1FV4Td4+dqDtgEeoxJLC0FaVlz3uF3qnRqtxkMWl1PvvewA== 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=vl3s/c9Q+3ks3zOx5aAeyuGVmYBBGO4jHe/B2EDhsJE=; b=0712WYvCnFwCpaZu8x1oXKInqXs172uQ8D1OjqsUy3rkatsVFqlCRhkQgt5VxujuWqam4WyoIv+4A8mwyuLEjo4NyEOCXxfUvTbJOlvgYw1mA+gPIoaLFe9BLZOmkEn96DzJiNUeCA7WK98dqBLwTT2MVo/f/OiizJsSPPGiQUzEMsswLJrP171w4Bstk02Dvgl1rI+t3khLx8hhHGR+DNeSxRAh21OJaruhIcbEl4jaQb9MHCBPiKlD3oUmeEI1HMupA7amRWpVhbPvV9OW5kbkeCCbzyZ7+GTjTaeJJhr6dUwxui9sQQ8mOKv+rn1yYR1q3NgFwkgvs/lXNj5Zsg== 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 AM9PR04MB8604.eurprd04.prod.outlook.com (2603:10a6:20b:43b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.11; Fri, 25 Nov 2022 13:40:41 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::62bf:d98a:f54a:2852]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::62bf:d98a:f54a:2852%7]) with mapi id 15.20.5857.020; Fri, 25 Nov 2022 13:40:41 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang , Paolo Abeni Subject: [PATCH mptcp-next v2 3/4] selftests: mptcp: make evts global in mptcp_join Date: Fri, 25 Nov 2022 21:40:48 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2P153CA0047.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c6::16) 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_|AM9PR04MB8604:EE_ X-MS-Office365-Filtering-Correlation-Id: de3cfba7-854b-4113-eb08-08daceeaa49b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Gava+9QngYe5HVNZNR8tk3vK0eiPKCPsHVHo1ygXm87jwK9P/TTV0mr9nLBjPsvMO8zeKnT+jC1TLT3u9TobF+6Y5GoruKdt82a7HR4DLfHIx3zXtuYDbEiPVHgHGIAzJh+N9D9pO2CgyR4krWTcwuZMtCx9JOVgtHkhXQk8IRy7NtVn2W9xrG3QJVwzn+Hx64i0i6BcmVqOrsh+e2+v65QaNXY+pAFbdxDKI/NbqYYudgQnTUpeMMW4dh1WC2/xoBm3K3cvi81KH5jeEaAmV74lDz0xV8f7FfvIkhgrwkGyKk7udVfNadTDFzWojrTAHpgmcS7cgfXAD3X2+TyQBUXnt8GJEunXdmmHtufpb7GxuMgyVdCdOp3xBzjS2npD3CGxyI3bkeBVyOXtZywEoInkVoT43jeEk7CPeRn0l0gxC0kcOCWjgXLHkeIBn20IypSb1Pxhj3oJNwa7YN00E12t/fCNNI1MjA9cVfjyqtJDLB0RJE7npn3zLGx6Kw60CGNR2iS6VaSA0+VwNDbTwk2te6ijMSdQDPI9PLFKr8LSqix8982Dbcfnhjv//8I83l3ZUyFYAN4wsF/R30DXfO8NJWf/2FTueP8URxCg1jJaIbjEg1pWd5PVRTXG0bW9EG7ucwR1rvgva32/vcKPnQ== 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:(13230022)(396003)(346002)(366004)(376002)(136003)(39860400002)(451199015)(66946007)(66556008)(186003)(38100700002)(41300700001)(2616005)(66476007)(86362001)(44832011)(5660300002)(4326008)(8676002)(6486002)(6512007)(316002)(26005)(478600001)(6916009)(6506007)(36756003)(54906003)(8936002)(2906002)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?znpOQtAkwP8EHqBTA75j12rqsbr6o+3cjnrcoFWHt+whbfeD1kYLe//eg19s?= =?us-ascii?Q?yDvpcMv+hA6YF/Oi0HFvLukUFtGYukKMVuVTHQQ9vjeYIkwyqv7kOLsQdS5u?= =?us-ascii?Q?9DuMArXgsJ+nIsbZVO4GqIoBx5PfR3Hp+3rV8A3haoTLUY7sTmZx8JwYeC60?= =?us-ascii?Q?X6mGX5PnBMijtwnXvIYcxftNDcDfyIoYgPqFaH+iK4sV1eCgYo06KsbBvy7a?= =?us-ascii?Q?ZFJsAdBrMx4yVuO1XxxgrDWqFvII9mC76TqnyA40qWLqVGG/jwpnOfzgADBi?= =?us-ascii?Q?EG9szb3DpFPYFQxlgcH3Zrqz69kwp0d7L1N61Ya54WgQRj9aootX7W0oMZ8S?= =?us-ascii?Q?we3rSQCqPtoVL2X2H/2MqHH93jEorQqpO1T/6KCwN9V+4eUgUgZH9zVqvvnL?= =?us-ascii?Q?/Nlyw72W5ptFyDFZT7BRsU2p4cGkXeGXlHf3RrRksbOukNVAIM/fbloLX6Nv?= =?us-ascii?Q?xeNNEtadun1bKPyLLfy+Ra3T9MNZ/rH7LilovQuNprUHP8qw5wPaZFGXtTCw?= =?us-ascii?Q?FBW+6/yL0q/imm9O5OTbcon6moBnyIB9OZvML3dY+NiK2/4k2WKgKQhzzFNS?= =?us-ascii?Q?Jh4vMPw7wLqqEGJQQaJvIA42nGsoGCcOw0SBDzRauFXGA7vEmCef/jcS1glN?= =?us-ascii?Q?naRhurz7saKURTDpPwxXh8T4B1mR7kIXxVrG72SlfHdlJeaejQUVp96aus4w?= =?us-ascii?Q?nfKDWe/pFr8tQdPrfKeEbv9xhhVXF3xX5cDzoLmojWSsd4Sh4pluuhs28PdZ?= =?us-ascii?Q?pOs/a9Lsvnye/SzXimGHTeAtMbYQqbKj64jRaCeG/5gWr2oaXXapluJeeo23?= =?us-ascii?Q?nuGlFzgPAeXmKy9uvbgfVNyaPywOKjBxoB6wQ2gq+wIm524ravbcexu1z+6M?= =?us-ascii?Q?JoOF9jm2wKljs1gOA+malrA3pB+/adY56m+XEfwBNsHHPvjd8E2DteJ4Rtpb?= =?us-ascii?Q?PjWKrUdz3tIEDM+jIfS6awLqrNRJoi5/m4BbZQ7U05cIgxxaIgDLHW59qJTn?= =?us-ascii?Q?zCavBPDeWhypwGHHmCjEGI981kJcHBbr6gRGVJZeW8uDwfZczOVKyVcHjzYV?= =?us-ascii?Q?LmOdddgQOanmX8ZUOLb/Go8FM7VkgbhWEVFYq96Hv2kNBLrhbC/aVO7g4SiP?= =?us-ascii?Q?XtXjxvBnauIPtIHG7km8toW2UwJEvClbI8kqC1Rg9YeEMAQLNHou70cRl59h?= =?us-ascii?Q?McXzqCzmIf9148jk4SCOCfE0R74G9/H3tccNQ84DtxWE+xWWJs0OJGJ7c4yk?= =?us-ascii?Q?ETXjZhv3pRxg0E/0zah8DoUe7G/3dgFhsHAA+kFBmyt8SG4YwjtwzLQIMlDI?= =?us-ascii?Q?Ogjgj1UtzQQ6xs9LQC7eRad1p743wTmqu76ONdlnIsKxcV1mtTrPKyddfapH?= =?us-ascii?Q?8maexWqdz3aqLR0CcH8oFVtKBCpHFyEJUM50ykwa5iHtOhiJIkjfadMqSSCr?= =?us-ascii?Q?lrMN0EkaqzktztDzLYSeTCWAQYUpjdZhaNcnXlk29ZyTCoZIdsCOScZ1ZcB8?= =?us-ascii?Q?gAM7Pnutx2j1qWFPUHuFdA2XY1OOYE/SaLo3GlMYK/CCQtg7qYLAIuJ8HKZg?= =?us-ascii?Q?Zxv+dopuFqhKELgBjbPjSZj+3+sQ/T7L5avlgbf2/toLycx3Aw92KQFU06X/?= =?us-ascii?Q?0Q=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: de3cfba7-854b-4113-eb08-08daceeaa49b X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Nov 2022 13:40:40.9759 (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: iDHN9hAvNhl/TQQ3l4VwtVOwk81kyjk/Wqza8UEFZ4Hl6zopGB7lAfkpS9mMOWjCa7yXVc0HKUaOgmRVn8DBQA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8604 Content-Type: text/plain; charset="utf-8" This patch moves evts_ns1 and evts_ns2 out of do_transfer() as two global variables in mptcp_join.sh. Init them in init() and remove them in cleanup(). Add a new helper reset_with_events() to save the outputs of 'pm_nl_ctl events' in them. Suggested-by: Paolo Abeni Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 70 +++++++++++-------- 1 file changed, 41 insertions(+), 29 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 89a30225bbd7..f568c71884c7 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -26,6 +26,10 @@ ip_mptcp=3D0 check_invert=3D0 validate_checksum=3D0 init=3D0 +evts_ns1=3D"" +evts_ns2=3D"" +evts_ns1_pid=3D0 +evts_ns2_pid=3D0 =20 declare -A all_tests declare -a only_tests_ids @@ -154,6 +158,8 @@ init() { cin=3D$(mktemp) cinsent=3D$(mktemp) cout=3D$(mktemp) + evts_ns1=3D$(mktemp) + evts_ns2=3D$(mktemp) =20 trap cleanup EXIT =20 @@ -161,10 +167,23 @@ init() { make_file "$sin" "server" 1 } =20 +kill_wait() +{ + kill $1 > /dev/null 2>&1 + wait $1 2>/dev/null +} + cleanup() { rm -f "$cin" "$cout" "$sinfail" rm -f "$sin" "$sout" "$cinsent" "$cinfail" + if [ $evts_ns1_pid -gt 0 ]; then + kill_wait $evts_ns1_pid + fi + if [ $evts_ns2_pid -gt 0 ]; then + kill_wait $evts_ns2_pid + fi + rm -rf $evts_ns1 $evts_ns2 cleanup_partial } =20 @@ -320,6 +339,26 @@ reset_with_fail() index 100 || exit 1 } =20 +reset_with_events() +{ + reset "${1}" || return 1 + + :> "$evts_ns1" + :> "$evts_ns2" + + if [ $evts_ns1_pid -gt 0 ]; then + kill_wait $evts_ns1_pid + fi + if [ $evts_ns2_pid -gt 0 ]; then + kill_wait $evts_ns2_pid + fi + + ip netns exec $ns1 ./pm_nl_ctl events >> "$evts_ns1" 2>&1 & + evts_ns1_pid=3D$! + ip netns exec $ns2 ./pm_nl_ctl events >> "$evts_ns2" 2>&1 & + evts_ns2_pid=3D$! +} + fail_test() { ret=3D1 @@ -467,12 +506,6 @@ wait_mpj() done } =20 -kill_wait() -{ - kill $1 > /dev/null 2>&1 - wait $1 2>/dev/null -} - pm_nl_set_limits() { local ns=3D$1 @@ -673,10 +706,6 @@ do_transfer() local port=3D$((10000 + TEST_COUNT - 1)) local cappid local userspace_pm=3D0 - local evts_ns1 - local evts_ns1_pid - local evts_ns2 - local evts_ns2_pid =20 :> "$cout" :> "$sout" @@ -753,17 +782,6 @@ do_transfer() addr_nr_ns2=3D${addr_nr_ns2:9} fi =20 - if [ $userspace_pm -eq 1 ]; then - evts_ns1=3D$(mktemp) - evts_ns2=3D$(mktemp) - :> "$evts_ns1" - :> "$evts_ns2" - ip netns exec ${listener_ns} ./pm_nl_ctl events >> "$evts_ns1" 2>&1 & - evts_ns1_pid=3D$! - ip netns exec ${connector_ns} ./pm_nl_ctl events >> "$evts_ns2" 2>&1 & - evts_ns2_pid=3D$! - fi - local local_addr if is_v6 "${connect_addr}"; then local_addr=3D"::" @@ -982,12 +1000,6 @@ do_transfer() kill $cappid fi =20 - if [ $userspace_pm -eq 1 ]; then - kill_wait $evts_ns1_pid - kill_wait $evts_ns2_pid - rm -rf $evts_ns1 $evts_ns2 - fi - NSTAT_HISTORY=3D/tmp/${listener_ns}.nstat ip netns exec ${listener_ns} \ nstat | grep Tcp > /tmp/${listener_ns}.out NSTAT_HISTORY=3D/tmp/${connector_ns}.nstat ip netns exec ${connector_ns} \ @@ -3023,7 +3035,7 @@ userspace_tests() fi =20 # userspace pm add & remove address - if reset "userspace pm add & remove address"; then + if reset_with_events "userspace pm add & remove address"; then set_userspace_pm $ns1 pm_nl_set_limits $ns2 1 1 run_tests $ns1 $ns2 10.0.1.1 0 userspace_1 0 slow @@ -3033,7 +3045,7 @@ userspace_tests() fi =20 # userspace pm create destroy subflow - if reset "userspace pm create destroy subflow"; then + if reset_with_events "userspace pm create destroy subflow"; then set_userspace_pm $ns2 pm_nl_set_limits $ns1 0 1 run_tests $ns1 $ns2 10.0.1.1 0 0 userspace_1 slow --=20 2.35.3 From nobody Mon May 6 20:58:18 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2077.outbound.protection.outlook.com [40.107.7.77]) (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 8E6D333DC for ; Fri, 25 Nov 2022 13:40:51 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AYBlu22uvFb2WwDM4/B9QUCIK09wqjYlMRseFzdcujG4Ciwr/lhBDu0T3J34ogYmfKEMdvq69IsAiBzWKrlagV61h6mLh9p8eDoKnlsXiKnpEF31nkZcSlxTUrusALma64TvN6CJWDJG2ozxhHxLgwsQD4OrhM+Y7SPEaXBnolxxVZp9+QqPK1qd6oLSVCd+P3HfqKk1tCLsqTkB2D0IL+5eOVv5H3TPk1qpdZr1KqcKpJ28kjeQh13mmdUOUf4aMKJGyPWxEwBUHl9tCpLvlE7ZGtafCSKLuHJ3jK+1sB3+YsEYwRs7duOV/Xu+U26Id7jIroPXDwt/x1j3sHpzAA== 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=S/IncbtFLQu7vLDdzRAa6Y/GtCGqGshgGMergICxoS0=; b=YjCq5eKJ5GkxGZJjYBiKjqaUHFCgV2gLoawQQwMfiCUIJ1ifFkcU4tOfyFXo7tc0v7a8Ls6AkRi0rao8zxDdgRswR05Rm/SQ+d6vr5HgUqSR5E57bIpKCZ2mqkEZFxRP8f2sGU/HG57Tf0s/EdhbXCnoP6VJsexsYuw5/TXeQaTv/i9wPuF8snNP0qzapWBV5moab0ZA8NC9m3V4mh4HgIGbvges7O7pWCQTbnd7mWPxsOQzOA+ZOf1DZIAKXkZc9oUWReecaRr46fwjXfE0DbLeg9AausVWQAok2h8IRf7BAFNNelRlRx8vagANy/MVdUVUNtXmTGnK+FrC1KLO7g== 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=S/IncbtFLQu7vLDdzRAa6Y/GtCGqGshgGMergICxoS0=; b=NzulIPcdXzLU3JaKav9sQ36QfGA7NEJnjAO1g9ML1xvLbfwddhjwYQRKcVz+iyPrYJoWHIXgaQziDc0a/iX3dAGbbFgMEi1OdXNlOXMr7esVMojGrhgunuAq/0B2s83KixQLcTU3AL6ynAXlpi9CSz6mrx+6wdWjwwaF0a8FsUe36c7hIb/H/aF6KqxKUz3iAAnez33R5KgWC9Sawerhptq1DeA57Y3B6Q8d2WK6jCnUEFmorr4Lf2UR9wz4JyvSRqG/dXSL9koxnkTsbZJIKPhC63S3ckY3EmGIXUxWcQIHU74+7uSQrzh6ydOWsIt19sOCKqi1WCR/MxmJSg9Ozg== 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 AM9PR04MB8604.eurprd04.prod.outlook.com (2603:10a6:20b:43b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.11; Fri, 25 Nov 2022 13:40:49 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::62bf:d98a:f54a:2852]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::62bf:d98a:f54a:2852%7]) with mapi id 15.20.5857.020; Fri, 25 Nov 2022 13:40:48 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v2 4/4] Squash to "selftests: mptcp: listener test for in-kernel PM" Date: Fri, 25 Nov 2022 21:40:49 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2P153CA0037.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c6::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_|AM9PR04MB8604:EE_ X-MS-Office365-Filtering-Correlation-Id: 10130a84-9cf6-4853-65ee-08daceeaa8fc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 14s2QPz5khkwtbkkoEEdWKrGaJp9EnnRwypuBWH7Hanfjn4XY6y83why/Z5RrT0UTgIZp5iH+Ts+jA2VFqVZhzXyWQeklrpEDJOgo/f2vbsh4Cr624RaGkbO7H9PJLL0OVGffmxQ8LJGqbydTxdcQ2d1wq/ikv1+fAxcOllrE5k8dbnjGl1a6tUsvQtmvFTesQKu5tWtNBk+UEVAlJAPnNbNBCaXj69laVq5Ny16w+FFvpbmlchj1iZUvKNVZ9myYMFHVEL1kfXF+rA/qylxGyBh1FlCbYbNutqXXL3d8Ysx4BsXGUlCzhzXuGy/qUZRqoE6zTkfVPID6yGzNTtttOlmAKrq5JgANFwnI0sCL2toOAH0xvYh4HP16HuYL0Caw29aorrDxeeBr149WPIGNCDt6r4lzpE38q3sO5xq17WIQ89A/HagndoHY7MRhLta6K/nOuNv1FSJ2UEWhdupkUiF29ww903P3Q0bl9PfvH4HrPnqyIVftjfiKuU57Bm5AA1EWcbR7VeNswLly/34qMPFx234lzT3HLbCA5lf0kymRZBn0lro0TpDVEPNKwsn4M5I3N4GEIVZ+IvoFwX/1ozbk92HBfEJb/WZXVNNqhRbGgrlAQyBkYFNhM4Edwu7/dr4VqNtxxH0KD1Gv68paw== 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:(13230022)(396003)(346002)(366004)(376002)(136003)(39860400002)(451199015)(66946007)(66556008)(186003)(38100700002)(41300700001)(2616005)(66476007)(86362001)(44832011)(5660300002)(4326008)(8676002)(6486002)(6512007)(316002)(26005)(478600001)(6916009)(6506007)(36756003)(8936002)(107886003)(2906002)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ZGnH8qlueT10wOArNy2Xxe4Au7lXPk/RNuO21mHHyXrRIWBcVzckz8lDPTYA?= =?us-ascii?Q?DYAXO0uBHG54yaETYkx62E2ObbE+NmV+qZSPLI0lJ+R/4iEa7cnT5t6Zb7TL?= =?us-ascii?Q?TYa4fXb3qyBNvcmx8oA3l8z9id6tqZG9qTlTbGdvWmUxd1LFD6afo3SfbQBW?= =?us-ascii?Q?7ohW98A6zJkD0PYvkJUMKORfFDMvXJguUcvuM9geJY1cpS8ujUYS8Fh0R1GP?= =?us-ascii?Q?yCie/QMWSSTive1CIs1ZLzerN+DSetQ2J5PfZ6crieM1dlJcXrTWT3zPzgx5?= =?us-ascii?Q?8WKdkKbfatUpAg1oWaxsdvA/jSvMasq2BX9HJLLe1Nk3xa4F7mfSbJCU+79h?= =?us-ascii?Q?c8ciuPep9jC46V5FipR3YKJdvRF/d27AEeGUdq+hJmvJNy+853bHSA77hq93?= =?us-ascii?Q?b8miUKbeTSgZ4IURoVzm+ywbgWHjjNkWGJJlzaK3uvhPyQdeXgA8cu5B2/S+?= =?us-ascii?Q?96MjJ4Bc1MFQP4S8Fj4DQjtia1ejuBElUMrZjmQBbrV7VdOL557iSqqmQMb+?= =?us-ascii?Q?uPNk8yapZPzFZmy112LuhFrvLRUd26q5LujgHde6r32bAMNPqI0QjW786FI8?= =?us-ascii?Q?CPcrLveWoP45y0oXQS0nawL9nFjbXfPWud3MJRl8pGYfnzQQAySkqSauE3VM?= =?us-ascii?Q?B5kKPx0koyY19/wNuLmUqchWwyX8coJF5U68zySExDay74yZC2596Ki/4cSC?= =?us-ascii?Q?ymQdSHfQwagRWj6/GNfJPAf+Emhn9jwKiwDvr7c7dd0zpDfpvClj9lK2+ZyS?= =?us-ascii?Q?ThRAY9WJznOn/EAl1kgNQQvcmfIsNytLzK1r1FiF4aRmpneDTF4Rm1nPf/BS?= =?us-ascii?Q?Hdizn8UksLqZl6Fgq1mK5Q1pwNPKBdXL1S7eDoW2LbAQ4nwMepmX5Zf7is8J?= =?us-ascii?Q?S/WkYMLakjhDTGhEBCvmEENdzIwFvgjOVruNcYcwzegOwTMd67g6g2JXQxN2?= =?us-ascii?Q?nmwoS1eEx9sTOpa0BOsR1tyTOfaDO/bmw39XCzx/afdnNz0JDkaoem2V8SIk?= =?us-ascii?Q?aZp0ABcVvVgQLkLd+V3gN76m8gmESV2EoxJNIsj1GyuOwfuesk9ldH3nNgjF?= =?us-ascii?Q?3MWm5WWA5gorfHe4VRaQTZvrvBRMeFnvjC8HpLNDO7A+as3O7wb9AUieA7gv?= =?us-ascii?Q?yhr2Wq4l+SeS+iRDsjWn6OfWRtjOWs0pDJ4fztyvv2eapzsNCWLfSi450RsY?= =?us-ascii?Q?OIGstpWw0bZJUFiXhyuRa7pu9zl5P8Txbz7o0sZQWC21032pqTzXkw/a9tcj?= =?us-ascii?Q?LD9oz/2yNw/BdfVMLSLG98PkGWpb+9PadseCToPM4+0xsj0LLmWS3MUPnP7k?= =?us-ascii?Q?UUZrbusfZrNL6Gt2KJvtQs3HiTMfKjYjYpnmXuhK5xfnnltld4vUWLBctrNL?= =?us-ascii?Q?5F5DOAvd9Aq5iG47+TOfSWJQaBa5Y7bSVhzSPMu43PQlpBn+1vbHfOA3R5+9?= =?us-ascii?Q?YHrmqRzDKkFhSJTpTzQAY35E77w+dIByfcoGY58uIIzWi0qcEzzQKezqlDzS?= =?us-ascii?Q?hcyRkGcZ/sx5XZmxist57rFIa1ik2QJFmoK/JmkJme8suDlcPv2xHr9PhYMi?= =?us-ascii?Q?3R7slNzsybkIFSsBUnBItfgW1qKnbpeQPEa3ypir7FObJ2XRLg1qa5MYN1fR?= =?us-ascii?Q?8w=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 10130a84-9cf6-4853-65ee-08daceeaa8fc X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Nov 2022 13:40:48.8815 (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: FtKUOcJmCoqOHtegHArYK1voaUBE8utdc699uRaybtTms9nJNUeHELvk5QbPdwy22gDsZ1+dDxrjsfUPf59VmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8604 Content-Type: text/plain; charset="utf-8" Do some cleanups. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 25 +++++++------------ 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index f568c71884c7..168426798971 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2553,7 +2553,7 @@ verify_listener_events() sed --unbuffered -n 's/.*\(family:\)\([[:digit:]]*\).*$/\2/p;q') sport=3D$(grep "type:$e_type," $evt | sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') - if [ $family =3D $AF_INET6 ]; then + if [ $family ] && [ $family =3D $AF_INET6 ]; then saddr=3D$(grep "type:$e_type," $evt | sed --unbuffered -n 's/.*\(saddr6:\)\([0-9a-f:.]*\).*$/\2/p;q') else @@ -2561,11 +2561,14 @@ verify_listener_events() sed --unbuffered -n 's/.*\(saddr4:\)\([0-9.]*\).*$/\2/p;q') fi =20 - if [ $type =3D $e_type ] && [ $family =3D $e_family ] && - [ $saddr =3D $e_saddr ] && [ $sport =3D $e_sport ]; then + if [ $type ] && [ $type =3D $e_type ] && + [ $family ] && [ $family =3D $e_family ] && + [ $saddr ] && [ $saddr =3D $e_saddr ] && + [ $sport ] && [ $sport =3D $e_sport ]; then stdbuf -o0 -e0 printf "[ ok ]\n" return 0 fi + fail_test stdbuf -o0 -e0 printf "[fail]\n" } =20 @@ -2594,15 +2597,7 @@ add_addr_ports_tests() =20 # single address with port, remove # pm listener events - if reset "remove single address with port"; then - local evts - local pid - - evts=3D$(mktemp) - :> $evts - ip netns exec $ns1 ./pm_nl_ctl events >> $evts 2>&1 & - pid=3D$! - + if reset_with_events "remove single address with port"; then pm_nl_set_limits $ns1 0 1 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100 pm_nl_set_limits $ns2 1 1 @@ -2611,10 +2606,8 @@ add_addr_ports_tests() chk_add_nr 1 1 1 chk_rm_nr 1 1 invert =20 - verify_listener_events $evts 15 $AF_INET 10.0.2.1 10100 - verify_listener_events $evts 16 $AF_INET 10.0.2.1 10100 - kill_wait $pid - rm -rf $evts + verify_listener_events $evts_ns1 $LISTENER_CREATED $AF_INET 10.0.2.1 101= 00 + verify_listener_events $evts_ns1 $LISTENER_CLOSED $AF_INET 10.0.2.1 10100 fi =20 # subflow and signal with port, remove --=20 2.35.3