From nobody Mon Sep 16 20:24:03 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2078.outbound.protection.outlook.com [40.107.20.78]) (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 0AD0815D0 for ; Sat, 6 May 2023 05:09:47 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aEdT8xoZuirGz3a6AvyPAQUL1PI3/ypeb4z87YRHsraQ8oojSvzJaAuskTDFuxPecBSs/229Xi7DXqJ8doa4bcuNPpxde5GBZxdkyxWEZIJBonduaigWWLuzDUzVO9mTWAmithHgcV2hk0FRAOZ7j2FUsvNAY6D28sxoQR6vVTqIqMafUGlKC1tPw8tqHMbz+BAB3doSPX4S4uFjRv/sk1+vWDsIEl5gqAoH4r3Jjfj3wESqGcdq4H8qZW0T99f2zvJo1XKin+K/LGsBwMjrLIdmcot0Qn4b7FWFE6QM0ptmfrUh/mtpjQYsyLHYUcaN+p987ZnPeWXTtw5nA8yPeA== 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=bL42IA+kQ8MvGUMaWIkT+UOg37YOROAWI43kLS/Xe7I=; b=W4D/PZZwFdtHca3nlsD1fsiHol3whwfAmRQ5vSR3Fdg+DGPJqp2DB/lR26mQ/xjO5YLeI6yZJP4FktR7JOwLMCWcY4REC97Y2aOXQ7R8w9TNYR1nBZYlE6WvG5ybGJkd0kwoDWAkcCKngIhITcTntJZEvneRilAK+3puK8erOAVUvAjpRH4VS2ljz5Uf29K4cOKORaoMONmKKuPsvTnawvBlseFvWVMqXX3aS3eipzjn9/Xbut4KykZpos2z/I4VBiDe5Fc0TXjU4Nm1DJd+EKhxnq67KUhB81CEO6qXffu3YXzfosQKIPfxO9ExxT5NIcZSEPFW5weMVy8ZtboOCQ== 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=bL42IA+kQ8MvGUMaWIkT+UOg37YOROAWI43kLS/Xe7I=; b=n6JTd4c6OOxGxfhvMjx7Gvj0ZBWfLPID3ieVx5Ulyuhay/DtHpqO8tSrAl09qyaXLOJ0ehu8r4e4MJAlF2Gf/NksTpugSkNdo8tyaXZhjtTcVxcGlx0fRHuO3x22Kr69YooLrgmPB+eVnm9szMp3Mjjcbk46xrZLVz4GZ+ZOQEZkiA96N7bYqAXNYtQ689XBM3f+AhyG2zQw7skioh6uRuoMrTPHsCwyaHO8nF/2jqcAcoTfTwNLpekHcsVsU5iDMXK+0BgEiZGZvGZFQ8As9o0nuhw+tfNbi3u8hbesbc2K0R2GkY622rvo2FKpHiW0LrD5/wMA3DeNepeWFMxlAg== 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 DBBPR04MB7612.eurprd04.prod.outlook.com (2603:10a6:10:202::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.29; Sat, 6 May 2023 05:09:45 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Sat, 6 May 2023 05:09:45 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 07/12] selftests: mptcp: test userspace pm out of transfer Date: Sat, 6 May 2023 13:08:55 +0800 Message-Id: <57db5552ddcb29cbcfa55d882a60db7ed7bfc9c8.1683349666.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2P153CA0020.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::7) 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_|DBBPR04MB7612:EE_ X-MS-Office365-Filtering-Correlation-Id: f71e62f8-7782-49f3-27d5-08db4df01ba8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eSUFZueyxp93vDgaxuLd+3F0we8Kmmg6IOECO0y1RddvgZPdZpj2FmwxazMyYOPao0pCxQod7pvUBfVEeEFbLlStY3hZFTAlJxsld/7OgsApKtjRV05zLjkS8koKjZJTEWorNAdQu32Xjhyn+pvL5FQaqBpKb7RTQqYrAFuwG2wMy1vqfrE7XMqxPwcCogG7+vQHp5Wot4Zv42+7LWqYP/9JrX9I24vHWC64HngwzUBeN0ouMyP9gT+60ociqijDrdaC6xGPx4xhO25MWzswjVpPkYxhpar3Jq6CDhtkDhtXOfS0xLuHcK0w3QdE4rUGYyD81A9OH+nAfI+GgkP1sRQl7U8cJ1JKxjr1Ajow7A1juY5GyCv42kYXJ2EHM4GBTOFWVIGJAeSOiMM0Bif1kV6mMAbS1TKbakw6IcIKMtRIpX9M9IRE4MrOMT1I9TQaQO4WoWmXehn/kz495m4jKh2G3BEIRJzzeHwboF0K8YGiNWHINgMNryzk9Vx1plztd0HbN9Gb2iPVIszkgMXtDVn/tjDJptdcvkS5E9Q/HG6GDdZlFKxaTfKhn9KNBp36 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:(13230028)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199021)(5660300002)(41300700001)(44832011)(66556008)(66946007)(66476007)(6916009)(2906002)(4326008)(8676002)(316002)(8936002)(478600001)(6486002)(6666004)(83380400001)(107886003)(6512007)(6506007)(26005)(36756003)(86362001)(2616005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?qdR0JL3xnmkSaKF69GccMS57IuBgQTN5Gx3yCJBCozdpfhk98KZpxbKz/Twv?= =?us-ascii?Q?QB6FiK+qunP77u/fzrN0wB32YAsnEZ/tTZikLN1+OnIBlhShGPmlqfYDxvSb?= =?us-ascii?Q?MzpSXaoohR9CoUYIiLntKkQtxo5rUB76e7DKDnAC2vcN1KQ6AktrG4rd9dQP?= =?us-ascii?Q?gUCqnSbsnhLdL/9qOXRzapMiavSTBe9U05giA5g/yO8xMiiSNbtHwgoa+P7D?= =?us-ascii?Q?xXM5AWotxKRO3wO6ZP1uQ3RH/acirtLfYy5vQ+HbKsmopADJdgnvq7HvPsAu?= =?us-ascii?Q?TqCq9bJixz8zVcgYQAYtHfp6S4FIIfAHp4hkdzDUrzus+F3jU1ezzOVL/Chv?= =?us-ascii?Q?F1QgBi0RlTa0SKzUvx63qulHqqFFMMNbrMvPsDctWTrOolNPr4/qZXDJIBJR?= =?us-ascii?Q?z9yGrkAtuRTRbX//XegkntAlgry30/hFS2cWXi7wt9nztn72iSQh3v55T03u?= =?us-ascii?Q?mMaRtGeM6i3+3tNbyDdTPMesaKmGAV8LSwKledWMuHpwpsNVDMZd8/qhQmxp?= =?us-ascii?Q?u+qzJHykOWeEwus7b276EdXFrWKm97YkqwcUO88UC+VS6PVLGuHL2iH4DrQA?= =?us-ascii?Q?H1xL/EPwqlWtlQ87fW4WVxjr/pkQImT5kAq+sUg9gKkJ5+jFpyZNkrxo2X20?= =?us-ascii?Q?c3rn4ZqhP17K+2e7WKVsfLZZ6Hc4D6XVzQHP3OLM2iRwh3ASLexuk2+jogeQ?= =?us-ascii?Q?feB9n9yDxGzo/7QXOpVY8mHlUfif8oqAzQ9CtzFKDfM9QXv4DhQNbYVI90DE?= =?us-ascii?Q?//Upg0nLn/1GWO53P6oWIMDYztlCqLG3zMcuS49a3VA2H6dU8jtKnPM8neBG?= =?us-ascii?Q?T+hl9ehyffNmn6N9iNnf/L6la4JACOxw5oOxVW2NC+mkHXqKsaslnEC+jcq0?= =?us-ascii?Q?KRwZVXGOpFeY5kongW4zesu5ThlEhFgKyu3RtqTxqWY6vbd/28qV90u1Zk/P?= =?us-ascii?Q?ID7r/zgueOdGmpZ3JSIGeVE9u9jnWMxBctwfXdr2bGYNdL8XaWg9ByCV2alA?= =?us-ascii?Q?hWG5JAHA2KTWlDXGxusw0NPaxOCt9CFJ/TvixnPGCegNQaFqEeO0DMVyCTKM?= =?us-ascii?Q?awH6S2waYgIZBKmQWVnhTCKnVpBLD9bTnN0RCKDPD4/dGcjOxBQ/YWVkowmB?= =?us-ascii?Q?DEEygKr2Wd3ni5qg+r7kZw0hbxiJ2mb+RWWT7ROWAJo+FMtNzAk0wiVEf520?= =?us-ascii?Q?ggk0PCIyWs8h/RRPD8rdEFyOeHEisO5Q2+torXz1Hq9Lm/Jc/Rml1a+TzdI5?= =?us-ascii?Q?60foPfO8bPLRnovSsbnxYHVWHNERIlDVFs4svkInMmfYAmQ8APHgibwxXLBU?= =?us-ascii?Q?58jILJ0qH63DOfIFzV+s1qAlKc1LA4r8AJVCOFeCg5bDbYIIvEx5Z8OKTptU?= =?us-ascii?Q?k9UnVYKR+Zl6Fem4WRgnMuausnzI3Ig9w7XKa9Dj1W9tXJm7huDvKDpyBObs?= =?us-ascii?Q?lYxIGfPavUyhYVDN1mCyxLC/7Jz8Zogh4palrAApJmd9VZxfYYL5EmZJQcLC?= =?us-ascii?Q?dzSc3pFDZBYRoCKL1B+JqSu63VC1RLaODrFJtvHAnE1ImzCvVoBCevRJ6GtO?= =?us-ascii?Q?MlOWwnh8OlWfJ3aPvWSHapyRRrm4IYP2uYocjUBX?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: f71e62f8-7782-49f3-27d5-08db4df01ba8 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2023 05:09:45.7519 (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: 3Ecwp1Iv1A600EVMrXRishvEpsOKrp1gsYNgHhYyq4majb4GqTMXkD65u9Nktwhx89w3hfymzdOOA9VIeEPgMQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7612 Content-Type: text/plain; charset="utf-8" This patch moves userspace pm tests out of do_transfer(). Move add addrese test into a new function userspace_pm_add_addr(), and remove address test into userspace_pm_rm_addr(). Move add subflow test into userspace_pm_add_sf() and remove subflow into userspace_pm_rm_sf(). Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 123 +++++++++++------- 1 file changed, 77 insertions(+), 46 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 2dee1c6ea932..92b226260ed9 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -723,7 +723,6 @@ do_transfer() =20 local port=3D$((10000 + TEST_COUNT - 1)) local cappid - local userspace_pm=3D0 =20 :> "$cout" :> "$sout" @@ -760,11 +759,6 @@ do_transfer() extra_args=3D"-r ${speed:6}" fi =20 - if [[ "${addr_nr_ns1}" =3D "userspace_"* ]]; then - userspace_pm=3D1 - addr_nr_ns1=3D${addr_nr_ns1:10} - fi - local flags=3D"subflow" local extra_cl_args=3D"" local extra_srv_args=3D"" @@ -792,9 +786,6 @@ do_transfer() return 1 fi addr_nr_ns2=3D0 - elif [[ "${addr_nr_ns2}" =3D "userspace_"* ]]; then - userspace_pm=3D1 - addr_nr_ns2=3D${addr_nr_ns2:10} elif [[ "${addr_nr_ns2}" =3D "fullmesh_"* ]]; then flags=3D"${flags},fullmesh" addr_nr_ns2=3D${addr_nr_ns2:9} @@ -848,7 +839,6 @@ do_transfer() local counter=3D2 local add_nr_ns1=3D${addr_nr_ns1} local id=3D10 - local tk while [ $add_nr_ns1 -gt 0 ]; do local addr if is_v6 "${connect_addr}"; then @@ -856,24 +846,7 @@ do_transfer() else addr=3D"10.0.$counter.1" fi - if [ $userspace_pm -eq 0 ]; then - pm_nl_add_endpoint $ns1 $addr flags signal - else - tk=3D$(grep "type:1," "$evts_ns1" | - sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q') - ip netns exec ${listener_ns} ./pm_nl_ctl ann $addr token $tk id $id - sleep 1 - ip netns exec ${listener_ns} ./pm_nl_ctl rem token $tk id $id - sp=3D$(grep "type:10" "$evts_ns1" | - sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') - da=3D$(grep "type:10" "$evts_ns1" | - sed -n 's/.*\(daddr6:\)\([0-9a-f:.]*\).*$/\2/p;q') - dp=3D$(grep "type:10" "$evts_ns1" | - sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q') - ip netns exec ${listener_ns} ./pm_nl_ctl dsf lip "::ffff:$addr" \ - lport $sp rip $da rport $dp token $tk - fi - + pm_nl_add_endpoint $ns1 $addr flags signal counter=3D$((counter + 1)) add_nr_ns1=3D$((add_nr_ns1 - 1)) id=3D$((id + 1)) @@ -918,7 +891,6 @@ do_transfer() local add_nr_ns2=3D${addr_nr_ns2} local counter=3D3 local id=3D20 - local tk da dp sp while [ $add_nr_ns2 -gt 0 ]; do local addr if is_v6 "${connect_addr}"; then @@ -926,21 +898,7 @@ do_transfer() else addr=3D"10.0.$counter.2" fi - if [ $userspace_pm -eq 0 ]; then - pm_nl_add_endpoint $ns2 $addr flags $flags - else - tk=3D$(sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2") - da=3D$(sed -n 's/.*\(daddr4:\)\([0-9.]*\).*$/\2/p;q' "$evts_ns2") - dp=3D$(sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2") - ip netns exec ${connector_ns} ./pm_nl_ctl csf lip $addr lid $id \ - rip $da rport $dp token $tk - sleep 1 - sp=3D$(grep "type:10" "$evts_ns2" | - sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') - ip netns exec ${connector_ns} ./pm_nl_ctl rem token $tk id $id - ip netns exec ${connector_ns} ./pm_nl_ctl dsf lip $addr lport $sp \ - rip $da rport $dp token $tk - fi + pm_nl_add_endpoint $ns2 $addr flags $flags counter=3D$((counter + 1)) add_nr_ns2=3D$((add_nr_ns2 - 1)) id=3D$((id + 1)) @@ -3069,6 +3027,65 @@ fail_tests() fi } =20 +userspace_pm_add_addr() +{ + local addr=3D$1 + local id=3D$2 + local tk + + tk=3D$(grep "type:1," "$evts_ns1" | + sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q') + ip netns exec $ns1 ./pm_nl_ctl ann $addr token $tk id $id +} + +userspace_pm_rm_addr() +{ + local addr=3D$1 + local id=3D$2 + local tk sp da dp + + tk=3D$(grep "type:1," "$evts_ns1" | + sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q') + ip netns exec $ns1 ./pm_nl_ctl rem token $tk id $id + sp=3D$(grep "type:10" "$evts_ns1" | + sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') + da=3D$(grep "type:10" "$evts_ns1" | + sed -n 's/.*\(daddr6:\)\([0-9a-f:.]*\).*$/\2/p;q') + dp=3D$(grep "type:10" "$evts_ns1" | + sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q') + ip netns exec $ns1 ./pm_nl_ctl dsf lip "::ffff:$addr" \ + lport $sp rip $da rport $dp token $tk +} + +userspace_pm_add_sf() +{ + local addr=3D$1 + local id=3D$2 + local tk da dp + + tk=3D$(sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2") + da=3D$(sed -n 's/.*\(daddr4:\)\([0-9.]*\).*$/\2/p;q' "$evts_ns2") + dp=3D$(sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2") + ip netns exec $ns2 ./pm_nl_ctl csf lip $addr lid $id \ + rip $da rport $dp token $tk +} + +userspace_pm_rm_sf() +{ + local addr=3D$1 + local id=3D$2 + local tk da dp sp + + tk=3D$(sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2") + da=3D$(sed -n 's/.*\(daddr4:\)\([0-9.]*\).*$/\2/p;q' "$evts_ns2") + dp=3D$(sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2") + sp=3D$(grep "type:10" "$evts_ns2" | + sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') + ip netns exec $ns2 ./pm_nl_ctl rem token $tk id $id + ip netns exec $ns2 ./pm_nl_ctl dsf lip $addr lport $sp \ + rip $da rport $dp token $tk +} + userspace_tests() { # userspace pm type prevents add_addr @@ -3140,21 +3157,35 @@ userspace_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow 2>/dev/null & + wait_mpj $ns1 + userspace_pm_add_addr 10.0.2.1 10 + sleep 1 chk_join_nr 1 1 1 chk_add_nr 1 1 + sleep 0.5 + userspace_pm_rm_addr 10.0.2.1 10 + wait_rm_addr $ns1 1 chk_rm_nr 1 1 invert kill_events_pids + kill_tests_wait fi =20 # userspace pm create destroy subflow 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 + run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow 2>/dev/null & + wait_mpj $ns2 + userspace_pm_add_sf 10.0.3.2 20 + sleep 1 chk_join_nr 1 1 1 + sleep 0.5 + userspace_pm_rm_sf 10.0.3.2 20 + wait_rm_addr $ns2 1 chk_rm_nr 1 1 kill_events_pids + kill_tests_wait fi } =20 --=20 2.35.3