From nobody Fri Apr 26 10:41:35 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:b119:0:0:0:0:0 with SMTP id r25csp92932jah; Thu, 13 Jan 2022 01:29:35 -0800 (PST) X-Google-Smtp-Source: ABdhPJx0DN7M/2nnLj8T9MgKTw5Vnb/Q1v2IWYrWcbmyWuQQcP3LGSIUPeb/Dgc0I4QgVsai5IQ0 X-Received: by 2002:a05:622a:1005:: with SMTP id d5mr2742734qte.387.1642066175626; Thu, 13 Jan 2022 01:29:35 -0800 (PST) Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [147.75.197.195]) by mx.google.com with ESMTPS id l7si808188qvv.514.2022.01.13.01.29.35 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Jan 2022 01:29:35 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3104-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) client-ip=147.75.197.195; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=f4jZpF3B; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3104-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-3104-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ewr.edge.kernel.org (Postfix) with ESMTPS id 2733E1C09F3 for ; Thu, 13 Jan 2022 09:29:35 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B98642CA3; Thu, 13 Jan 2022 09:29:33 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) (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 634F32C9C for ; Thu, 13 Jan 2022 09:29:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1642066168; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ToJrZJTrgjSf+ni5qiFHsf2/XjPxWG6WsBWyQ40Dmis=; b=f4jZpF3BZ/6Re2DWWzaxYie3aT5ja5kn450bZsnReRLnqkiT+cj8ZRqlxbkHD+OQnOG1w8 0XPmKeA664trRgdr3wiE2/rttL3LiDNOp9LmIIXz0XSfKINOR7mBGjq3HOl+rjooAvTRPD mIvIUY817Yu4SXYj7GOu2uEQ3oWBKrw= Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04lp2053.outbound.protection.outlook.com [104.47.14.53]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-22-tYzGbFFkNUSOsRzybaV8jA-1; Thu, 13 Jan 2022 10:29:27 +0100 X-MC-Unique: tYzGbFFkNUSOsRzybaV8jA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ag7fGWxvNdpEgVIPOFvta3U2k2w8BHTT8CehCkrIanCQJ8LyRUkh857M/UgGVLMQNUSb573hirkJcv2sMiaLMLf70OsEZDhf+VBpnN7cvlPOrb/ztAS2XMTBRnl0An9qfzx7KxtEc8/qOEtsmHDAZvvkAwOM4ia4fEhvElPt4KPBs/SI9t6qtDXeBDRBBuSFboHrDQdZgKshXxQS+oFSrbSkVEmle4acOBdSc62ijDjDYa+qrSgUNEK4MBSLFyhiI7VE8DKqSEH15gQt7P89+oSJfldswM1UK1t7LKLw3B/j4PW7sdTjW8Y+P1zIwa5NlScJtY/dPfI7an7IX/5f5g== 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=h4BdXkBc//yzDLdSZJbatpJi67oMv0lJidcqnmcLz0Q=; b=bVfsWZZ2uXiYzPJfXJ7BvdZ0P69ApNpmcINpsCaijwpSlkJDnTWqDrchTuDynTbgepKWT3v03pGQEs4JGJgoUcgiv35vctlnLg96oC0dUgU7e8QGq60356AcUH8jB+A+Axk1bP2s3ePMkcKM33l0fUlemd63eFzIVZjolp3JuV/CKp6MCsXP8GW14ZQAPV8o5/loBrcX2tTLh8a3DPXyVe4hiKbNhwnottAa4LWS6dlTnAoOS9eWbD/e3q1LisYIpCN0Bp6oD24+A08efoSQEZTF1g/e2GsVZ/Zv/Bp657rSYIH4JcVylIOh2RapOtTzLDeO+9fh8nF/OtjZph2dUQ== 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 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 VI1PR04MB3199.eurprd04.prod.outlook.com (2603:10a6:802:3::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Thu, 13 Jan 2022 09:29:22 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::b5bf:e1b5:42fd:4dba]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::b5bf:e1b5:42fd:4dba%5]) with mapi id 15.20.4867.011; Thu, 13 Jan 2022 09:29:22 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v4 1/5] selftests: mptcp: add ip mptcp wrappers Date: Thu, 13 Jan 2022 17:29:02 +0800 Message-ID: <0e2f2b0ff5aaa523d4cdc532196a19f08633e5f2.1642065488.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR06CA0014.apcprd06.prod.outlook.com (2603:1096:202:2e::26) 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-Office365-Filtering-Correlation-Id: d877407a-8692-4291-34f1-08d9d6772ea6 X-MS-TrafficTypeDiagnostic: VI1PR04MB3199:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1443; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FqzS7efJsxN5EKP5jPn5ewT6LiQ0R9WJ2sur3V0WH1rjfTumkibRyaRnz/zXrjqQGnsZccBXNsSz7rCGHVpKEAh4KxnFNkYBHBtx/nbmXZ+X03Hob6g7EDOil9difZVWHl8QiQ/KHnjM/yA2Gj8qBhGgmHgdLOHz+m2dvA54tSUTlRIwMCpUldcQnbrdrYmQxmZqajA3zCye/bUf1/OWj4oSAXA0VwKWadDLeiVN5nMXxuZ4zLawaAaDKcZ8tF4wANdq/WKOZKYKKc/AIj556gx9hiGI0pu38EDEOemaNzvYYHcP05mf+E6s6FQK/Lj59iTfy6YOIsr062hLbPbfkCWHUeMhb+S5DY3Dbn32jNkEvuHOuzxoemtOYTIFPLHqTLNqtp7aLXuGnbZ2EzZmpP+glh0bwceqD7tqK9tSUORezxn6Kfvzz3DoWV09XWloDW/0i2Shaju2tGpvj5ylSiVzvUt6kea7jw5HPcR7Kks39hThZdbOwFSy3XHPJnue2gLOG1aGL9Xm5B9Rmr2xCH7i5lUE02Czf8iqNFyrlYpew/JhMXtCY68DCj70I57RnaXDT1i8ZH/jp0juIc40b2j0eFq4Ed4+0Q3cLrVtcPY3a49Hl/Ehwu5oLIBMmLSqSlIl6gOceOmIrCJb73pgOg== 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:(366004)(6666004)(508600001)(2906002)(5660300002)(8936002)(6506007)(8676002)(86362001)(38100700002)(66946007)(6512007)(66476007)(107886003)(316002)(4326008)(55236004)(83380400001)(44832011)(6486002)(2616005)(26005)(6916009)(30864003)(186003)(66556008)(36756003)(579004)(559001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?EQwiGIdHrCIXruw8ylMQyYzompbicnJ449J5oIcaJuyDtdHmSgzYa4zq7nBX?= =?us-ascii?Q?UT/K2XEEgpOWcjjfszYcodoFt6xx2AwtI3PERLFG2aTAHisqXU2/Bl3etHX/?= =?us-ascii?Q?LCJAh869r+tvrIk6t4qty0z0cUkntt3ymN9X/9zgqf4ozXgM+JcWclbc8shk?= =?us-ascii?Q?Fm80E803AUh60ffOOk2sbN/TzawYGrIMJ7nNVwJjENaR6dxc+VAyB+9kpnPC?= =?us-ascii?Q?3CrrrXD64C1ls3Ai6KMJZMpcoS96AAYOpp6+M7+NygrSn5Vsz+/zLr4AB8tK?= =?us-ascii?Q?zWTzi2sPzYbUOjCQtajtZR0z61FXcaMh7O5Z7ke/QU8e406RsPxc3JEJ8tAj?= =?us-ascii?Q?jt2zIRe4BOFwBlcvTNC//p1qWUnsOJS3ALkEtyV8CFOYHrp4+KkwY6S5jDeO?= =?us-ascii?Q?Td7O++BCCy4Schr7+xp8MUwNd3cL8yR/0ze9F0QYdftMvHqnXkMAUH5I/rVv?= =?us-ascii?Q?qb8cwjwnraVyQcOkQSnaM7hs/Pglpw4bCJcyOoISK31kqDwnlUFyPEerxMLm?= =?us-ascii?Q?cjH3qcqxNv9ic/TwNdtjVE6HixAaSdTrl8O3WfUGKd5T5D+AAvvBrjpvg5OU?= =?us-ascii?Q?xy9OHuqXqJ8bCLUGAPhRF3BffC1makA7Odj4TwT9BP6YCzma5JNQ7LcyDedR?= =?us-ascii?Q?lm1ccuL9C1gp16G+vQVvXVfngZw/KmcFGkyru3dkLVQedj1dnT07rgb/xVq3?= =?us-ascii?Q?cjrPQudx3iVxXQjgJRYbhvjOxFHpAWLZJbJtmqD7II8HXnnhnCkiK9cWmErd?= =?us-ascii?Q?KWzyhoRbWCvZMofIdFqRh17qqXRStazRnJN5rklm+0yDnnP5OMzcwXd0cgF6?= =?us-ascii?Q?QqK+Xd/0wPAhVGU7OSQ/Tb1AMGqHFAZjPr4UWmLkDywYXJ67LYcGIPej2lQt?= =?us-ascii?Q?glcROKTlEovfntnlFfnrrlk+TBgBxf5tkiO96bWKY2ONr6wy6X1Ew5uhGDWl?= =?us-ascii?Q?s7/t6iOyBBvKCMKcPK6xk7U7RWZEbbEBu+jhS3yJMw1dBGtevh9OkoSKv4Ej?= =?us-ascii?Q?1kw6XJUdIVLM1KtRm6AEOyghHJxRaK2XaScsBx7ekCtdpg2/Oj43z+QqqajK?= =?us-ascii?Q?5+5AupYJIV5RcN0R+4e1SBzDHPCsix8jOM/2MnKObH1C+04DAUwjfoXp2uzZ?= =?us-ascii?Q?XQiId1bJQbx7Dw4pgIxZCle71tLZL55wsxcYqqnWclU2Bq0CgVkfbzOdnwI9?= =?us-ascii?Q?/8yXfZWZdoYS32eTaSGdJVsJHBR7IJrNp4w6sSxRYKA6P31WfG1PnKtBiqlv?= =?us-ascii?Q?2Q0j3z1fne2yeUimqISWVuIeAP51kcFeGFFM+aDOXSeLNB4ClmJaBuNo3Uvb?= =?us-ascii?Q?jJej6fGW2JZwH1qHM2c9mJBe5fGX05ibDH71ysmr44Z4X9sGfhJQpkFx2drz?= =?us-ascii?Q?xxfzCr4+pyPTak8+BrGHow9yjDV53UpyqXAoYo9O++rcaASWXE+aFZ3QNr9X?= =?us-ascii?Q?jNR4eJY19F432T1nhIzXIf7jipNoyQz8/S32GneNloBvKlmjnZ8dRIJ2YHI2?= =?us-ascii?Q?lYr4umr46V+rmetNat5miHbSV+HltXD7fzdiqDpQjiA1C/WYOU7s0mH0Xjwc?= =?us-ascii?Q?lJpAIHsxuXcV9ac34remonbNULFYa91CZZ9UTyyh2ROF9MH6Db/X1NRVjlfs?= =?us-ascii?Q?ldaNOSgKYWqpim039JPl408=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: d877407a-8692-4291-34f1-08d9d6772ea6 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 09:29:22.5326 (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: S9GCZ6LWiQ2QzSi+jRAeT5FUkpbsuVz3lLgpOk+55b6hExQbz6fxSUQVUxAKv/KnskQs8zoACyM48G5K46/b/w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3199 Content-Type: text/plain; charset="utf-8" This patch added four basic 'ip mptcp' wrappers: pm_nl_set_limits() pm_nl_add_endpoint() pm_nl_del_endpoint() pm_nl_flush_endpoint(). Wraped the PM netlink commands 'ip mptcp' and 'pm_nl_ctl' in them, and used a new argument 'ip_mptcp' to choose which one to use for setting the PM limits, adding or deleting the PM endpoint. Used the wrappers in all the selftests in mptcp_join.sh instead of using the pm_nl_ctl commands directly. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 761 ++++++++++-------- 1 file changed, 419 insertions(+), 342 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 1a751c86d956..e6492347d75d 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -15,6 +15,7 @@ timeout_test=3D$((timeout_poll * 2 + 1)) mptcp_connect=3D"" capture=3D0 checksum=3D0 +ip_mptcp=3D0 do_all_tests=3D1 =20 TEST_COUNT=3D0 @@ -288,6 +289,82 @@ wait_rm_addr() done } =20 +pm_nl_set_limits() +{ + local ns=3D$1 + local nr_addrs=3D$2 + local nr_subflows=3D$3 + + if [ $ip_mptcp -eq 1 ]; then + ip -n $ns mptcp limits set add_addr_accepted $nr_addrs subflows $nr_subf= lows + else + ip netns exec $ns ./pm_nl_ctl limits $nr_addrs $nr_subflows + fi +} + +pm_nl_add_endpoint() +{ + local ns=3D$1 + local addr=3D$2 + local flags + local port + local dev + local id + local nr=3D2 + + for p in $@ + do + if [ $p =3D "flags" ]; then + eval _flags=3D\$"$nr" + [ ! -z $_flags ]; flags=3D"flags $_flags" + fi + if [ $p =3D "dev" ]; then + eval _dev=3D\$"$nr" + [ ! -z $_dev ]; dev=3D"dev $_dev" + fi + if [ $p =3D "id" ]; then + eval _id=3D\$"$nr" + [ ! -z $_id ]; id=3D"id $_id" + fi + if [ $p =3D "port" ]; then + eval _port=3D\$"$nr" + [ ! -z $_port ]; port=3D"port $_port" + fi + + let nr+=3D1 + done + + if [ $ip_mptcp -eq 1 ]; then + ip -n $ns mptcp endpoint add $addr ${_flags/,/ } $dev $id $port + else + ip netns exec $ns ./pm_nl_ctl add $addr $flags $dev $id $port + fi +} + +pm_nl_del_endpoint() +{ + local ns=3D$1 + local id=3D$2 + local addr=3D$3 + + if [ $ip_mptcp -eq 1 ]; then + ip -n $ns mptcp endpoint delete id $id $addr + else + ip netns exec $ns ./pm_nl_ctl del $id $addr + fi +} + +pm_nl_flush_endpoint() +{ + local ns=3D$1 + + if [ $ip_mptcp -eq 1 ]; then + ip -n $ns mptcp endpoint flush + else + ip netns exec $ns ./pm_nl_ctl flush + fi +} + do_transfer() { listener_ns=3D"$1" @@ -388,7 +465,7 @@ do_transfer() else addr=3D"10.0.$counter.1" fi - ip netns exec $ns1 ./pm_nl_ctl add $addr flags signal + pm_nl_add_endpoint $ns1 $addr flags signal let counter+=3D1 let add_nr_ns1-=3D1 done @@ -403,16 +480,16 @@ do_transfer() do id=3D${dump[$pos]} rm_addr=3D$(rm_addr_count ${connector_ns}) - ip netns exec ${listener_ns} ./pm_nl_ctl del $id + pm_nl_del_endpoint ${listener_ns} $id wait_rm_addr ${connector_ns} ${rm_addr} let counter+=3D1 let pos+=3D5 done fi elif [ $rm_nr_ns1 -eq 8 ]; then - ip netns exec ${listener_ns} ./pm_nl_ctl flush + pm_nl_flush_endpoint ${listener_ns} elif [ $rm_nr_ns1 -eq 9 ]; then - ip netns exec ${listener_ns} ./pm_nl_ctl del 0 ${connect_addr} + pm_nl_del_endpoint ${listener_ns} 0 ${connect_addr} fi fi =20 @@ -436,7 +513,7 @@ do_transfer() else addr=3D"10.0.$counter.2" fi - ip netns exec $ns2 ./pm_nl_ctl add $addr flags $flags + pm_nl_add_endpoint $ns2 $addr flags $flags let counter+=3D1 let add_nr_ns2-=3D1 done @@ -452,14 +529,14 @@ do_transfer() # rm_addr are serialized, allow the previous one to complete id=3D${dump[$pos]} rm_addr=3D$(rm_addr_count ${listener_ns}) - ip netns exec ${connector_ns} ./pm_nl_ctl del $id + pm_nl_del_endpoint ${connector_ns} $id wait_rm_addr ${listener_ns} ${rm_addr} let counter+=3D1 let pos+=3D5 done fi elif [ $rm_nr_ns2 -eq 8 ]; then - ip netns exec ${connector_ns} ./pm_nl_ctl flush + pm_nl_flush_endpoint ${connector_ns} elif [ $rm_nr_ns2 -eq 9 ]; then local addr if is_v6 "${connect_addr}"; then @@ -467,7 +544,7 @@ do_transfer() else addr=3D"10.0.1.2" fi - ip netns exec ${connector_ns} ./pm_nl_ctl del 0 $addr + pm_nl_del_endpoint ${connector_ns} 0 $addr fi fi =20 @@ -1035,51 +1112,51 @@ subflows_tests() =20 # subflow limited by client reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 0 - ip netns exec $ns2 ./pm_nl_ctl limits 0 0 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 0 0 + pm_nl_set_limits $ns2 0 0 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "single subflow, limited by client" 0 0 0 =20 # subflow limited by server reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 0 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 0 0 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "single subflow, limited by server" 1 1 0 =20 # subflow reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "single subflow" 1 1 1 =20 # multiple subflows reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow - ip netns exec $ns2 ./pm_nl_ctl add 10.0.2.2 flags subflow + pm_nl_set_limits $ns1 0 2 + pm_nl_set_limits $ns2 0 2 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow + pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "multiple subflows" 2 2 2 =20 # multiple subflows limited by server reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow - ip netns exec $ns2 ./pm_nl_ctl add 10.0.2.2 flags subflow + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 2 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow + pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "multiple subflows, limited by server" 2 2 1 =20 # single subflow, dev reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow dev ns2eth3 + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow dev ns2eth3 run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "single subflow, dev" 1 1 1 } @@ -1089,28 +1166,28 @@ subflows_error_tests() # If a single subflow is configured, and matches the MPC src # address, no additional subflow should be created reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.1.2 flags subflow + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow chk_join_nr "no MPC reuse with single endpoint" 0 0 0 =20 # multiple subflows, with subflow creation error reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow - ip netns exec $ns2 ./pm_nl_ctl add 10.0.2.2 flags subflow + pm_nl_set_limits $ns1 0 2 + pm_nl_set_limits $ns2 0 2 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow + pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow ip netns exec $ns1 iptables -A INPUT -s 10.0.3.2 -p tcp -j REJECT run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow chk_join_nr "multi subflows, with failing subflow" 1 1 1 =20 # multiple subflows, with subflow timeout on MPJ reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow - ip netns exec $ns2 ./pm_nl_ctl add 10.0.2.2 flags subflow + pm_nl_set_limits $ns1 0 2 + pm_nl_set_limits $ns2 0 2 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow + pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow ip netns exec $ns1 iptables -A INPUT -s 10.0.3.2 -p tcp -j DROP run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow chk_join_nr "multi subflows, with subflow timeout" 1 1 1 @@ -1119,9 +1196,9 @@ subflows_error_tests() # closed subflow (due to reset) is not reused if additional # subflows are added later reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow ip netns exec $ns1 iptables -A INPUT -s 10.0.3.2 -p tcp -j REJECT run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow & =20 @@ -1131,7 +1208,7 @@ subflows_error_tests() =20 # mpj subflow will be in TW after the reset wait_for_tw $ns2 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.2.2 flags subflow + pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow wait =20 # additional subflow could be created only if the PM select @@ -1143,16 +1220,16 @@ signal_address_tests() { # add_address, unused reset - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "unused signal address" 0 0 0 chk_add_nr 1 1 =20 # accept and use add_addr reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 1 1 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "signal address" 1 1 1 chk_add_nr 1 1 @@ -1162,59 +1239,59 @@ signal_address_tests() # belong to different subnets or one of the listed local address could be # used for 'add_addr' subflow reset - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl limits 1 2 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + pm_nl_set_limits $ns1 0 2 + pm_nl_set_limits $ns2 1 2 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "subflow and signal" 2 2 2 chk_add_nr 1 1 =20 # accept and use add_addr with additional subflows reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 3 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 1 3 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow - ip netns exec $ns2 ./pm_nl_ctl add 10.0.4.2 flags subflow + pm_nl_set_limits $ns1 0 3 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + pm_nl_set_limits $ns2 1 3 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow + pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "multiple subflows and signal" 3 3 3 chk_add_nr 1 1 =20 # signal addresses reset - ip netns exec $ns1 ./pm_nl_ctl limits 3 3 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl add 10.0.3.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl add 10.0.4.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 3 3 + pm_nl_set_limits $ns1 3 3 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + pm_nl_add_endpoint $ns1 10.0.3.1 flags signal + pm_nl_add_endpoint $ns1 10.0.4.1 flags signal + pm_nl_set_limits $ns2 3 3 run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "signal addresses" 3 3 3 chk_add_nr 3 3 =20 # signal invalid addresses reset - ip netns exec $ns1 ./pm_nl_ctl limits 3 3 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.12.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl add 10.0.3.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl add 10.0.14.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 3 3 + pm_nl_set_limits $ns1 3 3 + pm_nl_add_endpoint $ns1 10.0.12.1 flags signal + pm_nl_add_endpoint $ns1 10.0.3.1 flags signal + pm_nl_add_endpoint $ns1 10.0.14.1 flags signal + pm_nl_set_limits $ns2 3 3 run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "signal invalid addresses" 1 1 1 chk_add_nr 3 3 =20 # signal addresses race test reset - ip netns exec $ns1 ./pm_nl_ctl limits 4 4 - ip netns exec $ns2 ./pm_nl_ctl limits 4 4 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl add 10.0.3.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl add 10.0.4.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl add 10.0.1.2 flags signal - ip netns exec $ns2 ./pm_nl_ctl add 10.0.2.2 flags signal - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags signal - ip netns exec $ns2 ./pm_nl_ctl add 10.0.4.2 flags signal + pm_nl_set_limits $ns1 4 4 + pm_nl_set_limits $ns2 4 4 + pm_nl_add_endpoint $ns1 10.0.1.1 flags signal + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + pm_nl_add_endpoint $ns1 10.0.3.1 flags signal + pm_nl_add_endpoint $ns1 10.0.4.1 flags signal + pm_nl_add_endpoint $ns2 10.0.1.2 flags signal + pm_nl_add_endpoint $ns2 10.0.2.2 flags signal + pm_nl_add_endpoint $ns2 10.0.3.2 flags signal + pm_nl_add_endpoint $ns2 10.0.4.2 flags signal run_tests $ns1 $ns2 10.0.1.1 =20 # the server will not signal the address terminating @@ -1234,11 +1311,11 @@ link_failure_tests() # active backup and link switch-over. # Let's set some arbitrary (low) virtual link limits. init_shapers - ip netns exec $ns1 ./pm_nl_ctl limits 0 3 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 dev ns1eth2 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 1 3 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 dev ns2eth3 flags subflow - ip netns exec $ns2 ./pm_nl_ctl add 10.0.4.2 dev ns2eth4 flags subflow + pm_nl_set_limits $ns1 0 3 + pm_nl_add_endpoint $ns1 10.0.2.1 dev ns1eth2 flags signal + pm_nl_set_limits $ns2 1 3 + pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow + pm_nl_add_endpoint $ns2 10.0.4.2 dev ns2eth4 flags subflow run_tests $ns1 $ns2 10.0.1.1 1 chk_join_nr "multiple flows, signal, link failure" 3 3 3 chk_add_nr 1 1 @@ -1248,11 +1325,11 @@ link_failure_tests() # for bidirectional transfer reset init_shapers - ip netns exec $ns1 ./pm_nl_ctl limits 0 3 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 dev ns1eth2 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 1 3 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 dev ns2eth3 flags subflow - ip netns exec $ns2 ./pm_nl_ctl add 10.0.4.2 dev ns2eth4 flags subflow + pm_nl_set_limits $ns1 0 3 + pm_nl_add_endpoint $ns1 10.0.2.1 dev ns1eth2 flags signal + pm_nl_set_limits $ns2 1 3 + pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow + pm_nl_add_endpoint $ns2 10.0.4.2 dev ns2eth4 flags subflow run_tests $ns1 $ns2 10.0.1.1 2 chk_join_nr "multi flows, signal, bidi, link fail" 3 3 3 chk_add_nr 1 1 @@ -1262,11 +1339,11 @@ link_failure_tests() # will never be used reset init_shapers - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 dev ns1eth2 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 1 2 + pm_nl_set_limits $ns1 0 2 + pm_nl_add_endpoint $ns1 10.0.2.1 dev ns1eth2 flags signal + pm_nl_set_limits $ns2 1 2 export FAILING_LINKS=3D"1" - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 dev ns2eth3 flags subflow,bac= kup + pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow,backup run_tests $ns1 $ns2 10.0.1.1 1 chk_join_nr "backup subflow unused, link failure" 2 2 2 chk_add_nr 1 1 @@ -1276,10 +1353,10 @@ link_failure_tests() # the traffic reset init_shapers - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 dev ns1eth2 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 1 2 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 dev ns2eth3 flags subflow,bac= kup + pm_nl_set_limits $ns1 0 2 + pm_nl_add_endpoint $ns1 10.0.2.1 dev ns1eth2 flags signal + pm_nl_set_limits $ns2 1 2 + pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow,backup export FAILING_LINKS=3D"1 2" run_tests $ns1 $ns2 10.0.1.1 1 chk_join_nr "backup flow used, multi links fail" 2 2 2 @@ -1291,10 +1368,10 @@ link_failure_tests() # for bidirectional transfer reset init_shapers - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 dev ns1eth2 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 1 3 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 dev ns2eth3 flags subflow,bac= kup + pm_nl_set_limits $ns1 0 2 + pm_nl_add_endpoint $ns1 10.0.2.1 dev ns1eth2 flags signal + pm_nl_set_limits $ns2 1 3 + pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow,backup run_tests $ns1 $ns2 10.0.1.1 2 chk_join_nr "backup flow used, bidi, link failure" 2 2 2 chk_add_nr 1 1 @@ -1306,38 +1383,38 @@ add_addr_timeout_tests() { # add_addr timeout reset_with_add_addr_timeout - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 1 1 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow chk_join_nr "signal address, ADD_ADDR timeout" 1 1 1 chk_add_nr 4 0 =20 # add_addr timeout IPv6 reset_with_add_addr_timeout 6 - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 - ip netns exec $ns1 ./pm_nl_ctl add dead:beef:2::1 flags signal + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 1 1 + pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal run_tests $ns1 $ns2 dead:beef:1::1 0 0 0 slow chk_join_nr "signal address, ADD_ADDR6 timeout" 1 1 1 chk_add_nr 4 0 =20 # signal addresses timeout reset_with_add_addr_timeout - ip netns exec $ns1 ./pm_nl_ctl limits 2 2 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl add 10.0.3.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 2 2 + pm_nl_set_limits $ns1 2 2 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + pm_nl_add_endpoint $ns1 10.0.3.1 flags signal + pm_nl_set_limits $ns2 2 2 run_tests $ns1 $ns2 10.0.1.1 0 0 0 least chk_join_nr "signal addresses, ADD_ADDR timeout" 2 2 2 chk_add_nr 8 0 =20 # signal invalid addresses timeout reset_with_add_addr_timeout - ip netns exec $ns1 ./pm_nl_ctl limits 2 2 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.12.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl add 10.0.3.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 2 2 + pm_nl_set_limits $ns1 2 2 + pm_nl_add_endpoint $ns1 10.0.12.1 flags signal + pm_nl_add_endpoint $ns1 10.0.3.1 flags signal + pm_nl_set_limits $ns2 2 2 run_tests $ns1 $ns2 10.0.1.1 0 0 0 least chk_join_nr "invalid address, ADD_ADDR timeout" 1 1 1 chk_add_nr 8 0 @@ -1347,28 +1424,28 @@ remove_tests() { # single subflow, remove reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 0 0 -1 slow chk_join_nr "remove single subflow" 1 1 1 chk_rm_nr 1 1 =20 # multiple subflows, remove reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.2.2 flags subflow - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 0 2 + pm_nl_set_limits $ns2 0 2 + pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 0 0 -2 slow chk_join_nr "remove multiple subflows" 2 2 2 chk_rm_nr 2 2 =20 # single address, remove reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 + pm_nl_set_limits $ns1 0 1 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + pm_nl_set_limits $ns2 1 1 run_tests $ns1 $ns2 10.0.1.1 0 -1 0 slow chk_join_nr "remove single address" 1 1 1 chk_add_nr 1 1 @@ -1376,10 +1453,10 @@ remove_tests() =20 # subflow and signal, remove reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 1 2 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 0 2 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + pm_nl_set_limits $ns2 1 2 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 0 -1 -1 slow chk_join_nr "remove subflow and signal" 2 2 2 chk_add_nr 1 1 @@ -1387,11 +1464,11 @@ remove_tests() =20 # subflows and signal, remove reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 3 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 1 3 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow - ip netns exec $ns2 ./pm_nl_ctl add 10.0.4.2 flags subflow + pm_nl_set_limits $ns1 0 3 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + pm_nl_set_limits $ns2 1 3 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow + pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 0 -1 -2 slow chk_join_nr "remove subflows and signal" 3 3 3 chk_add_nr 1 1 @@ -1399,11 +1476,11 @@ remove_tests() =20 # addresses remove reset - ip netns exec $ns1 ./pm_nl_ctl limits 3 3 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal id 250 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.3.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl add 10.0.4.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 3 3 + pm_nl_set_limits $ns1 3 3 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal id 250 + pm_nl_add_endpoint $ns1 10.0.3.1 flags signal + pm_nl_add_endpoint $ns1 10.0.4.1 flags signal + pm_nl_set_limits $ns2 3 3 run_tests $ns1 $ns2 10.0.1.1 0 -3 0 slow chk_join_nr "remove addresses" 3 3 3 chk_add_nr 3 3 @@ -1411,11 +1488,11 @@ remove_tests() =20 # invalid addresses remove reset - ip netns exec $ns1 ./pm_nl_ctl limits 3 3 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.12.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl add 10.0.3.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl add 10.0.14.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 3 3 + pm_nl_set_limits $ns1 3 3 + pm_nl_add_endpoint $ns1 10.0.12.1 flags signal + pm_nl_add_endpoint $ns1 10.0.3.1 flags signal + pm_nl_add_endpoint $ns1 10.0.14.1 flags signal + pm_nl_set_limits $ns2 3 3 run_tests $ns1 $ns2 10.0.1.1 0 -3 0 slow chk_join_nr "remove invalid addresses" 1 1 1 chk_add_nr 3 3 @@ -1423,11 +1500,11 @@ remove_tests() =20 # subflows and signal, flush reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 3 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 1 3 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow - ip netns exec $ns2 ./pm_nl_ctl add 10.0.4.2 flags subflow + pm_nl_set_limits $ns1 0 3 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + pm_nl_set_limits $ns2 1 3 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow + pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 0 -8 -8 slow chk_join_nr "flush subflows and signal" 3 3 3 chk_add_nr 1 1 @@ -1435,22 +1512,22 @@ remove_tests() =20 # subflows flush reset - ip netns exec $ns1 ./pm_nl_ctl limits 3 3 - ip netns exec $ns2 ./pm_nl_ctl limits 3 3 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.2.2 flags subflow id 150 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow - ip netns exec $ns2 ./pm_nl_ctl add 10.0.4.2 flags subflow + pm_nl_set_limits $ns1 3 3 + pm_nl_set_limits $ns2 3 3 + pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow id 150 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow + pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 0 -8 -8 slow chk_join_nr "flush subflows" 3 3 3 chk_rm_nr 3 3 =20 # addresses flush reset - ip netns exec $ns1 ./pm_nl_ctl limits 3 3 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal id 250 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.3.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl add 10.0.4.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 3 3 + pm_nl_set_limits $ns1 3 3 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal id 250 + pm_nl_add_endpoint $ns1 10.0.3.1 flags signal + pm_nl_add_endpoint $ns1 10.0.4.1 flags signal + pm_nl_set_limits $ns2 3 3 run_tests $ns1 $ns2 10.0.1.1 0 -8 -8 slow chk_join_nr "flush addresses" 3 3 3 chk_add_nr 3 3 @@ -1458,11 +1535,11 @@ remove_tests() =20 # invalid addresses flush reset - ip netns exec $ns1 ./pm_nl_ctl limits 3 3 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.12.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl add 10.0.3.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl add 10.0.14.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 3 3 + pm_nl_set_limits $ns1 3 3 + pm_nl_add_endpoint $ns1 10.0.12.1 flags signal + pm_nl_add_endpoint $ns1 10.0.3.1 flags signal + pm_nl_add_endpoint $ns1 10.0.14.1 flags signal + pm_nl_set_limits $ns2 3 3 run_tests $ns1 $ns2 10.0.1.1 0 -8 0 slow chk_join_nr "flush invalid addresses" 1 1 1 chk_add_nr 3 3 @@ -1470,18 +1547,18 @@ remove_tests() =20 # remove id 0 subflow reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 0 0 -9 slow chk_join_nr "remove id 0 subflow" 1 1 1 chk_rm_nr 1 1 =20 # remove id 0 address reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 + pm_nl_set_limits $ns1 0 1 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + pm_nl_set_limits $ns2 1 1 run_tests $ns1 $ns2 10.0.1.1 0 -9 0 slow chk_join_nr "remove id 0 address" 1 1 1 chk_add_nr 1 1 @@ -1492,37 +1569,37 @@ add_tests() { # add single subflow reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow chk_join_nr "add single subflow" 1 1 1 =20 # add signal address reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 1 1 run_tests $ns1 $ns2 10.0.1.1 0 1 0 slow chk_join_nr "add signal address" 1 1 1 chk_add_nr 1 1 =20 # add multiple subflows reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl limits 0 2 + pm_nl_set_limits $ns1 0 2 + pm_nl_set_limits $ns2 0 2 run_tests $ns1 $ns2 10.0.1.1 0 0 2 slow chk_join_nr "add multiple subflows" 2 2 2 =20 # add multiple subflows IPv6 reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl limits 0 2 + pm_nl_set_limits $ns1 0 2 + pm_nl_set_limits $ns2 0 2 run_tests $ns1 $ns2 dead:beef:1::1 0 0 2 slow chk_join_nr "add multiple subflows IPv6" 2 2 2 =20 # add multiple addresses IPv6 reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl limits 2 2 + pm_nl_set_limits $ns1 0 2 + pm_nl_set_limits $ns2 2 2 run_tests $ns1 $ns2 dead:beef:1::1 0 2 0 slow chk_join_nr "add multiple addresses IPv6" 2 2 2 chk_add_nr 2 2 @@ -1532,33 +1609,33 @@ ipv6_tests() { # subflow IPv6 reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl add dead:beef:3::2 flags subflow + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 dead:beef:3::2 flags subflow run_tests $ns1 $ns2 dead:beef:1::1 0 0 0 slow chk_join_nr "single subflow IPv6" 1 1 1 =20 # add_address, unused IPv6 reset - ip netns exec $ns1 ./pm_nl_ctl add dead:beef:2::1 flags signal + pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal run_tests $ns1 $ns2 dead:beef:1::1 0 0 0 slow chk_join_nr "unused signal address IPv6" 0 0 0 chk_add_nr 1 1 =20 # signal address IPv6 reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns1 ./pm_nl_ctl add dead:beef:2::1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 + pm_nl_set_limits $ns1 0 1 + pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal + pm_nl_set_limits $ns2 1 1 run_tests $ns1 $ns2 dead:beef:1::1 0 0 0 slow chk_join_nr "single address IPv6" 1 1 1 chk_add_nr 1 1 =20 # single address IPv6, remove reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns1 ./pm_nl_ctl add dead:beef:2::1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 + pm_nl_set_limits $ns1 0 1 + pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal + pm_nl_set_limits $ns2 1 1 run_tests $ns1 $ns2 dead:beef:1::1 0 -1 0 slow chk_join_nr "remove single address IPv6" 1 1 1 chk_add_nr 1 1 @@ -1566,10 +1643,10 @@ ipv6_tests() =20 # subflow and signal IPv6, remove reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns1 ./pm_nl_ctl add dead:beef:2::1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 1 2 - ip netns exec $ns2 ./pm_nl_ctl add dead:beef:3::2 flags subflow + pm_nl_set_limits $ns1 0 2 + pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal + pm_nl_set_limits $ns2 1 2 + pm_nl_add_endpoint $ns2 dead:beef:3::2 flags subflow run_tests $ns1 $ns2 dead:beef:1::1 0 -1 -1 slow chk_join_nr "remove subflow and signal IPv6" 2 2 2 chk_add_nr 1 1 @@ -1580,76 +1657,76 @@ v4mapped_tests() { # subflow IPv4-mapped to IPv4-mapped reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl add "::ffff:10.0.3.2" flags subflow + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 "::ffff:10.0.3.2" flags subflow run_tests $ns1 $ns2 "::ffff:10.0.1.1" chk_join_nr "single subflow IPv4-mapped" 1 1 1 =20 # signal address IPv4-mapped with IPv4-mapped sk reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 - ip netns exec $ns1 ./pm_nl_ctl add "::ffff:10.0.2.1" flags signal + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 1 1 + pm_nl_add_endpoint $ns1 "::ffff:10.0.2.1" flags signal run_tests $ns1 $ns2 "::ffff:10.0.1.1" chk_join_nr "signal address IPv4-mapped" 1 1 1 chk_add_nr 1 1 =20 # subflow v4-map-v6 reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 "::ffff:10.0.1.1" chk_join_nr "single subflow v4-map-v6" 1 1 1 =20 # signal address v4-map-v6 reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 1 1 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal run_tests $ns1 $ns2 "::ffff:10.0.1.1" chk_join_nr "signal address v4-map-v6" 1 1 1 chk_add_nr 1 1 =20 # subflow v6-map-v4 reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl add "::ffff:10.0.3.2" flags subflow + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 "::ffff:10.0.3.2" flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "single subflow v6-map-v4" 1 1 1 =20 # signal address v6-map-v4 reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 - ip netns exec $ns1 ./pm_nl_ctl add "::ffff:10.0.2.1" flags signal + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 1 1 + pm_nl_add_endpoint $ns1 "::ffff:10.0.2.1" flags signal run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "signal address v6-map-v4" 1 1 1 chk_add_nr 1 1 =20 # no subflow IPv6 to v4 address reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl add dead:beef:2::2 flags subflow + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 dead:beef:2::2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "no JOIN with diff families v4-v6" 0 0 0 =20 # no subflow IPv6 to v4 address even if v6 has a valid v4 at the end reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl add dead:beef:2::10.0.3.2 flags subflow + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 dead:beef:2::10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "no JOIN with diff families v4-v6-2" 0 0 0 =20 # no subflow IPv4 to v6 address, no need to slow down too then reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 dead:beef:1::1 chk_join_nr "no JOIN with diff families v6-v4" 0 0 0 } @@ -1658,9 +1735,9 @@ backup_tests() { # single subflow, backup reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow,backup + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow,backup run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow nobackup chk_join_nr "single subflow, backup" 1 1 1 chk_prio_nr 0 1 @@ -1668,9 +1745,9 @@ backup_tests() =20 # single address, backup reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 + pm_nl_set_limits $ns1 0 1 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + pm_nl_set_limits $ns2 1 1 run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup chk_join_nr "single address, backup" 1 1 1 chk_add_nr 1 1 @@ -1679,9 +1756,9 @@ backup_tests() =20 # single address with port, backup reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal port 10100 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 + 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 run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup chk_join_nr "single address with port, backup" 1 1 1 chk_add_nr 1 1 @@ -1692,28 +1769,28 @@ add_addr_ports_tests() { # signal address with port reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal port 10100 + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 1 1 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100 run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "signal address with port" 1 1 1 chk_add_nr 1 1 1 =20 # subflow and signal with port reset - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal port 10100 - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl limits 1 2 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100 + pm_nl_set_limits $ns1 0 2 + pm_nl_set_limits $ns2 1 2 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "subflow and signal with port" 2 2 2 chk_add_nr 1 1 1 =20 # single address with port, remove reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal port 10100 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 + 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 run_tests $ns1 $ns2 10.0.1.1 0 -1 0 slow chk_join_nr "remove single address with port" 1 1 1 chk_add_nr 1 1 1 @@ -1721,10 +1798,10 @@ add_addr_ports_tests() =20 # subflow and signal with port, remove reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal port 10100 - ip netns exec $ns2 ./pm_nl_ctl limits 1 2 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 0 2 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100 + pm_nl_set_limits $ns2 1 2 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 0 -1 -1 slow chk_join_nr "remove subflow and signal with port" 2 2 2 chk_add_nr 1 1 1 @@ -1732,11 +1809,11 @@ add_addr_ports_tests() =20 # subflows and signal with port, flush reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 3 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal port 10100 - ip netns exec $ns2 ./pm_nl_ctl limits 1 3 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow - ip netns exec $ns2 ./pm_nl_ctl add 10.0.4.2 flags subflow + pm_nl_set_limits $ns1 0 3 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100 + pm_nl_set_limits $ns2 1 3 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow + pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 0 -8 -2 slow chk_join_nr "flush subflows and signal with port" 3 3 3 chk_add_nr 1 1 @@ -1744,20 +1821,20 @@ add_addr_ports_tests() =20 # multiple addresses with port reset - ip netns exec $ns1 ./pm_nl_ctl limits 2 2 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal port 10100 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.3.1 flags signal port 10100 - ip netns exec $ns2 ./pm_nl_ctl limits 2 2 + pm_nl_set_limits $ns1 2 2 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100 + pm_nl_add_endpoint $ns1 10.0.3.1 flags signal port 10100 + pm_nl_set_limits $ns2 2 2 run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "multiple addresses with port" 2 2 2 chk_add_nr 2 2 2 =20 # multiple addresses with ports reset - ip netns exec $ns1 ./pm_nl_ctl limits 2 2 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal port 10100 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.3.1 flags signal port 10101 - ip netns exec $ns2 ./pm_nl_ctl limits 2 2 + pm_nl_set_limits $ns1 2 2 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100 + pm_nl_add_endpoint $ns1 10.0.3.1 flags signal port 10101 + pm_nl_set_limits $ns2 2 2 run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "multiple addresses with ports" 2 2 2 chk_add_nr 2 2 2 @@ -1767,56 +1844,56 @@ syncookies_tests() { # single subflow, syncookies reset_with_cookies - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "single subflow with syn cookies" 1 1 1 =20 # multiple subflows with syn cookies reset_with_cookies - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow - ip netns exec $ns2 ./pm_nl_ctl add 10.0.2.2 flags subflow + pm_nl_set_limits $ns1 0 2 + pm_nl_set_limits $ns2 0 2 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow + pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "multiple subflows with syn cookies" 2 2 2 =20 # multiple subflows limited by server reset_with_cookies - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow - ip netns exec $ns2 ./pm_nl_ctl add 10.0.2.2 flags subflow + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 2 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow + pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "subflows limited by server w cookies" 2 1 1 =20 # test signal address with cookies reset_with_cookies - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 1 1 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "signal address with syn cookies" 1 1 1 chk_add_nr 1 1 =20 # test cookie with subflow and signal reset_with_cookies - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl limits 1 2 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + pm_nl_set_limits $ns1 0 2 + pm_nl_set_limits $ns2 1 2 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "subflow and signal w cookies" 2 2 2 chk_add_nr 1 1 =20 # accept and use add_addr with additional subflows reset_with_cookies - ip netns exec $ns1 ./pm_nl_ctl limits 0 3 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl limits 1 3 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow - ip netns exec $ns2 ./pm_nl_ctl add 10.0.4.2 flags subflow + pm_nl_set_limits $ns1 0 3 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + pm_nl_set_limits $ns2 1 3 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow + pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "subflows and signal w. cookies" 3 3 3 chk_add_nr 1 1 @@ -1826,29 +1903,29 @@ checksum_tests() { # checksum test 0 0 reset_with_checksum 0 0 - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 run_tests $ns1 $ns2 10.0.1.1 chk_csum_nr "checksum test 0 0" =20 # checksum test 1 1 reset_with_checksum 1 1 - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 run_tests $ns1 $ns2 10.0.1.1 chk_csum_nr "checksum test 1 1" =20 # checksum test 0 1 reset_with_checksum 0 1 - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 run_tests $ns1 $ns2 10.0.1.1 chk_csum_nr "checksum test 0 1" =20 # checksum test 1 0 reset_with_checksum 1 0 - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 run_tests $ns1 $ns2 10.0.1.1 chk_csum_nr "checksum test 1 0" } @@ -1857,26 +1934,26 @@ deny_join_id0_tests() { # subflow allow join id0 ns1 reset_with_allow_join_id0 1 0 - ip netns exec $ns1 ./pm_nl_ctl limits 1 1 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 1 1 + pm_nl_set_limits $ns2 1 1 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "single subflow allow join id0 ns1" 1 1 1 =20 # subflow allow join id0 ns2 reset_with_allow_join_id0 0 1 - ip netns exec $ns1 ./pm_nl_ctl limits 1 1 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 1 1 + pm_nl_set_limits $ns2 1 1 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "single subflow allow join id0 ns2" 0 0 0 =20 # signal address allow join id0 ns1 # ADD_ADDRs are not affected by allow_join_id0 value. reset_with_allow_join_id0 1 0 - ip netns exec $ns1 ./pm_nl_ctl limits 1 1 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal + pm_nl_set_limits $ns1 1 1 + pm_nl_set_limits $ns2 1 1 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "signal address allow join id0 ns1" 1 1 1 chk_add_nr 1 1 @@ -1884,28 +1961,28 @@ deny_join_id0_tests() # signal address allow join id0 ns2 # ADD_ADDRs are not affected by allow_join_id0 value. reset_with_allow_join_id0 0 1 - ip netns exec $ns1 ./pm_nl_ctl limits 1 1 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal + pm_nl_set_limits $ns1 1 1 + pm_nl_set_limits $ns2 1 1 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "signal address allow join id0 ns2" 1 1 1 chk_add_nr 1 1 =20 # subflow and address allow join id0 ns1 reset_with_allow_join_id0 1 0 - ip netns exec $ns1 ./pm_nl_ctl limits 2 2 - ip netns exec $ns2 ./pm_nl_ctl limits 2 2 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 2 2 + pm_nl_set_limits $ns2 2 2 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "subflow and address allow join id0 1" 2 2 2 =20 # subflow and address allow join id0 ns2 reset_with_allow_join_id0 0 1 - ip netns exec $ns1 ./pm_nl_ctl limits 2 2 - ip netns exec $ns2 ./pm_nl_ctl limits 2 2 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 2 2 + pm_nl_set_limits $ns2 2 2 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "subflow and address allow join id0 2" 1 1 1 } @@ -1916,10 +1993,10 @@ fullmesh_tests() # 2 fullmesh addrs in ns2, added before the connection, # 1 non-fullmesh addr in ns1, added during the connection. reset - ip netns exec $ns1 ./pm_nl_ctl limits 0 4 - ip netns exec $ns2 ./pm_nl_ctl limits 1 4 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.2.2 flags subflow,fullmesh - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow,fullmesh + pm_nl_set_limits $ns1 0 4 + pm_nl_set_limits $ns2 1 4 + pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow,fullmesh + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow,fullmesh run_tests $ns1 $ns2 10.0.1.1 0 1 0 slow chk_join_nr "fullmesh test 2x1" 4 4 4 chk_add_nr 1 1 @@ -1928,9 +2005,9 @@ fullmesh_tests() # 1 non-fullmesh addr in ns1, added before the connection, # 1 fullmesh addr in ns2, added during the connection. reset - ip netns exec $ns1 ./pm_nl_ctl limits 1 3 - ip netns exec $ns2 ./pm_nl_ctl limits 1 3 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal + pm_nl_set_limits $ns1 1 3 + pm_nl_set_limits $ns2 1 3 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_1 slow chk_join_nr "fullmesh test 1x1" 3 3 3 chk_add_nr 1 1 @@ -1939,9 +2016,9 @@ fullmesh_tests() # 1 non-fullmesh addr in ns1, added before the connection, # 2 fullmesh addrs in ns2, added during the connection. reset - ip netns exec $ns1 ./pm_nl_ctl limits 2 5 - ip netns exec $ns2 ./pm_nl_ctl limits 1 5 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal + pm_nl_set_limits $ns1 2 5 + pm_nl_set_limits $ns2 1 5 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_2 slow chk_join_nr "fullmesh test 1x2" 5 5 5 chk_add_nr 1 1 @@ -1951,18 +2028,18 @@ fullmesh_tests() # 2 fullmesh addrs in ns2, added during the connection, # limit max_subflows to 4. reset - ip netns exec $ns1 ./pm_nl_ctl limits 2 4 - ip netns exec $ns2 ./pm_nl_ctl limits 1 4 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal + pm_nl_set_limits $ns1 2 4 + pm_nl_set_limits $ns2 1 4 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_2 slow chk_join_nr "fullmesh test 1x2, limited" 4 4 4 chk_add_nr 1 1 =20 # set fullmesh flag reset - ip netns exec $ns1 ./pm_nl_ctl limits 4 4 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags subflow - ip netns exec $ns2 ./pm_nl_ctl limits 4 4 + pm_nl_set_limits $ns1 4 4 + pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow + pm_nl_set_limits $ns2 4 4 run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow fullmesh chk_join_nr "set fullmesh flag test" 2 2 2 chk_prio_nr 0 1 @@ -1970,9 +2047,9 @@ fullmesh_tests() =20 # set nofullmesh flag reset - ip netns exec $ns1 ./pm_nl_ctl limits 4 4 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags subflow,fullmesh - ip netns exec $ns2 ./pm_nl_ctl limits 4 4 + pm_nl_set_limits $ns1 4 4 + pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow,fullmesh + pm_nl_set_limits $ns2 4 4 run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_1 slow nofullmesh chk_join_nr "set nofullmesh flag test" 2 2 2 chk_prio_nr 0 1 @@ -1984,9 +2061,9 @@ userspace_tests() # userspace pm type prevents add_addr reset ip netns exec $ns1 sysctl -q net.mptcp.pm_type=3D1 - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl limits 0 2 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal + pm_nl_set_limits $ns1 0 2 + pm_nl_set_limits $ns2 0 2 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "userspace pm type prevents add_addr" 0 0 0 chk_add_nr 0 0 @@ -1994,9 +2071,9 @@ userspace_tests() # userspace pm type echoes add_addr reset ip netns exec $ns2 sysctl -q net.mptcp.pm_type=3D1 - ip netns exec $ns1 ./pm_nl_ctl limits 0 2 - ip netns exec $ns2 ./pm_nl_ctl limits 0 2 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal + pm_nl_set_limits $ns1 0 2 + pm_nl_set_limits $ns2 0 2 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "userspace pm type echoes add_addr" 0 0 0 chk_add_nr 1 1 @@ -2004,27 +2081,27 @@ userspace_tests() # userspace pm type rejects join reset ip netns exec $ns1 sysctl -q net.mptcp.pm_type=3D1 - ip netns exec $ns1 ./pm_nl_ctl limits 1 1 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 1 1 + pm_nl_set_limits $ns2 1 1 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "userspace pm type rejects join" 1 1 0 =20 # userspace pm type does not send join reset ip netns exec $ns2 sysctl -q net.mptcp.pm_type=3D1 - ip netns exec $ns1 ./pm_nl_ctl limits 1 1 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 1 1 + pm_nl_set_limits $ns2 1 1 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "userspace pm type does not send join" 0 0 0 =20 # userspace pm type prevents mp_prio reset ip netns exec $ns1 sysctl -q net.mptcp.pm_type=3D1 - ip netns exec $ns1 ./pm_nl_ctl limits 1 1 - ip netns exec $ns2 ./pm_nl_ctl limits 1 1 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 1 1 + pm_nl_set_limits $ns2 1 1 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup chk_join_nr "userspace pm type prevents mp_prio" 1 1 0 chk_prio_nr 0 0 @@ -2033,9 +2110,9 @@ userspace_tests() reset ip netns exec $ns1 sysctl -q net.mptcp.pm_type=3D1 ip netns exec $ns2 sysctl -q net.mptcp.pm_type=3D1 - ip netns exec $ns1 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl limits 0 1 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 0 0 -1 slow chk_join_nr "userspace pm type prevents rm_addr" 0 0 0 chk_rm_nr 0 0 --=20 2.31.1 From nobody Fri Apr 26 10:41:35 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:b119:0:0:0:0:0 with SMTP id r25csp92940jah; Thu, 13 Jan 2022 01:29:36 -0800 (PST) X-Google-Smtp-Source: ABdhPJxFhR+6DjFElllXJs5h3tzPK6ZwYUEeiCRgL/ZabaBUS/Hi+VjWkL4Nb0OjioOGZe2NVSi6 X-Received: by 2002:a17:90a:a093:: with SMTP id r19mr13486991pjp.62.1642066176706; Thu, 13 Jan 2022 01:29:36 -0800 (PST) Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [2604:1380:1000:8100::1]) by mx.google.com with ESMTPS id k16si2276837pgi.162.2022.01.13.01.29.36 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Jan 2022 01:29:36 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3105-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) client-ip=2604:1380:1000:8100::1; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=msAg7jTQ; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3105-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3105-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sjc.edge.kernel.org (Postfix) with ESMTPS id 372303E0F6E for ; Thu, 13 Jan 2022 09:29:36 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id CF8522C9C; Thu, 13 Jan 2022 09:29:33 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (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 82A3C2CA2 for ; Thu, 13 Jan 2022 09:29:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1642066170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BeHruzZ7KK3kOCNWUBgD5MJC5atbY3Zn68WKd793jas=; b=msAg7jTQulOBEnRN+C5h77o8mcH8ZUHlgxawww8nOrSodPwpFVn/Qq1RoxSd0PumbPBq1o noQffeQ6UoIJ/baVE0dkMTQYmNcJT8MWCLvhkBrYPd7Zy1ZmQd4Z2z4+aQgNypTzqNGPjG 1boZ/ABfT/6dTifqZdtQAR1BZY+/gnI= Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04lp2054.outbound.protection.outlook.com [104.47.14.54]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-41-j_fTD-fWO5igIJjXJJ0V2Q-1; Thu, 13 Jan 2022 10:29:30 +0100 X-MC-Unique: j_fTD-fWO5igIJjXJJ0V2Q-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H9Qynwk+OlnH0ZMghxTWW8s7F9F5+g8WV4pS3tUHZtqdhAaU7QzYRESW8G1lcez+3Jj6OvxPN/dd8qsgHNKsJ8n8n45UKUYKz7lLcTDGciM3FHJb+3EO7suO0D5VYmdJEwoMEWMa4PeAc/+I6Y7K4B9KrYa9MqIsNSleW46+ziOM6+W26xlaZ6gvwdBTfcxhZKmmOuLf3X5qvpFGHWDSFcL4Y2bD/9lXQHLePPZE7MBcldiwt57Me/Vz55JpnVMHFNCi2kBGinPmM+It9nsopyKbI4EFiEhGNVSzybGgmGbA6hqcXUxzqxgDXyNNWPhTYPsMA+qz+9ExY4d7WoIffQ== 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=dgKCwLDIaoSwyRdTxC9AvPZiwnd2XUrLx4oJSXvp6jk=; b=fKuOIdL0B3VInVFxJXL4UBUp15fBMPyQvoNZkISkqmSrBiBJPsjnGXWeSXCAprNXiYwqe18/Dd51m98XzaFKHBpW3iXAvdKzHZw31OqO2KRPOZbun0l/tL/s5lYL7aYdpFbMhKlDYxHuioYAlnVAIQACv2E29uT7wyrYgkrBNsTifczq5O6EVDtHzdE7d1eXSLSrr0AKfuyRcjtOgKDNj/6/0xjeBEdocaxhuF3Zdntym7ARb6XLvHRNnM/mn1nZQMNedU+rt+Nd9w/v3Am1ECZ8jWGsFL/Q4i0dLVI2PBh9CNHxbEy+Zy454GIFi4h5uHAgV5lGxb3eT0JN8tScEA== 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 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 PAXPR04MB9446.eurprd04.prod.outlook.com (2603:10a6:102:2b3::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Thu, 13 Jan 2022 09:29:29 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::b5bf:e1b5:42fd:4dba]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::b5bf:e1b5:42fd:4dba%5]) with mapi id 15.20.4867.011; Thu, 13 Jan 2022 09:29:29 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v4 2/5] selftests: mptcp: new approach of getting ID Date: Thu, 13 Jan 2022 17:29:03 +0800 Message-ID: X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR06CA0016.apcprd06.prod.outlook.com (2603:1096:202:2e::28) 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-Office365-Filtering-Correlation-Id: e87076d1-5a48-49d1-69b8-08d9d677327c X-MS-TrafficTypeDiagnostic: PAXPR04MB9446:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6108; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aNBjNhyaobbW0H6xROsgJEHZzOt8hPxcg27rOyPM6plcmFe9RVxKsHqfSR9z2eDseC7TJFJTVbzw9mFzAu9vUZhCz1Srzna6PeGCEMt8aPiJY2v9icie9QWxbwxfABgFfLVtwxXTtjGddqCmJAMZbYgwnAjpbJ9zJdwEvkT5Bj3u0n1ed7NJYJzc3KJMyFyZy/6fjk3suHzS5vz5NV2gYWpMFobXnJHwH9r1AV3mA90dU0DKGJ7oZBLGR/0ONnj/EbKMaintadXKuA4c5Y9xze+L9AL5VgR/NV6QuWw427VJ9/pS0zbv1wxta7GRxiZyrbTCLK6d79ParphCQGXYIPdelqWAkCSCNR4BClkLdS68PNmM5BK6BEQcZTGyN8er390ulPGMbCpteqS7Cf0sdGbmxKnV6hHlOjwoL2ahfdQDjDhExQByycVGPz6XV5bJr7g11caQn1nn0zhJY3vCeoP9Wj2MKk+PgN3xHok/5wjN9ZW2Wf+xhdEFSfGZmemBiYvXm2NON8vbesMR6H2h+OaVBuuo65SAN2p49mRNMJYFPMagGx+TqicaPFRj/LNNK7CvEEkNxr4zpPz9kMeXY0iUnChqTv3KeiRMHH/nT9hEFSTBYS1aJnjyMpUXHX63YpX2MrkI9DVBa3fr3XjqCA== 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:(366004)(6486002)(508600001)(83380400001)(26005)(38100700002)(86362001)(6666004)(55236004)(2616005)(186003)(66476007)(316002)(66946007)(44832011)(6506007)(36756003)(8676002)(107886003)(8936002)(6512007)(2906002)(66556008)(5660300002)(6916009)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gHNUVqfUcyDzC7OX0Ye8kTbaRORIQqnqeU0dcPCjIIKqWH8/ydri/6Kn5p1h?= =?us-ascii?Q?tmPmCN/A6tYIT/bt4whzQh0thfdZdRA+7EAAHkkWX/z6B+F4BunjIbVqr6O5?= =?us-ascii?Q?wkgz2O9UY59IOVltPxtlA4Wr51rD7/w/in8CVU/aFu6/GUp0FU8bxqN8pywN?= =?us-ascii?Q?XXEfuilKL3waNACKr6Pgztu7VwL/toz8KmkUv7fUIArgRMuUqv+GCM4vUZtY?= =?us-ascii?Q?3/i9pbk8bpaPekOGv5s6plqPsaAluucmuUdKQrydPnviU5GD9FheaSskK3Ri?= =?us-ascii?Q?eaPx/IO0EDKfH8opCl/3Xhi1iy91UYxh/EPZOf7xVqNvhXY3VeqRHq8Pu/dc?= =?us-ascii?Q?o859bLfDlZSHkU6zUFkPtWTafhB50tszBpxzxiXUz1NNoednhFdieA2Xiowy?= =?us-ascii?Q?Gk4au5GNaXO7txGNQuJSfcjzKnTraX02r51UWA32BIBZmgFc/AezswQhGMsw?= =?us-ascii?Q?zkfD3aAC7vnjZ85jiN22J9TtPneHGTSOxcaQEmrZRCzjk0zrGWEoR14fLzli?= =?us-ascii?Q?MqvxxFn4FuJgk233SwyLIh+Osjzi5SI7M+p8SCP4/BgpQR/UpECp+FplUnNq?= =?us-ascii?Q?kneyIeAjmDbMdYDEsfOxh5+/ja1SaLrk/dGL1HU6es4DGaBqc7YgUvZTplkS?= =?us-ascii?Q?63TLRPVi1XOhIkrxpOHDySDH5Nsh4K9XR/yowcCDdhl4XTQasLTJ9bIz1ulK?= =?us-ascii?Q?6j7F5AiIP1kmvVNlNCLH/NAeciC3hhffSzIsvZTfUJQJCx33tZa8DaYH0R5v?= =?us-ascii?Q?fMT1j9WxjAHdE9q5OrgQD7pjkLaUxIJrctRDjMIkRJjdM5R41c+UUh4LZI07?= =?us-ascii?Q?5iZzmTq4DFiTToG4ZGlD80lrCx1koYLqU7GlSyeQI2izBV+TlArXSFM2C56R?= =?us-ascii?Q?2k9EoixRlKpbMUFPImqs78d8SNk+2WkNII3KTvY1AqmYqXCUwXQZPj0/cuXh?= =?us-ascii?Q?LlmKV4B5NwijE2jZtK2M4dNjDRiYCU6u+JQZoMU0CwG8g07888N23LtZp9DQ?= =?us-ascii?Q?EubxOG/Y8L37AGfsYoVDl2wu+9MHL64sTeB0bUrfQdWtNSShig9S6VNJm9Ks?= =?us-ascii?Q?iAX9seLrpvHZbvIWZI+clumItQ5R6Ht80ii1uWth9dpFcS4cHhsMn6A7KzoB?= =?us-ascii?Q?TnDxrUQn6n5MJC+VgWBziTjvQ6rp0/prDbfgeJVYJKMqO1hIF571WidNVUNY?= =?us-ascii?Q?VBK4B9qMGj/yJUJaxs9B7ltcNBnPe0fr6+LoDd8has7/zYMcVEvqp6lNxwAV?= =?us-ascii?Q?drMXlPXes9JmyaZkuT6qa2vXUX+Qyk7RQ5wwxbcYc6P49ZI6YIHhr4lzWYOO?= =?us-ascii?Q?XkPIAUV4H/mx8Jf5le1grBUWqs3l6r8ysedbo6fO817pz9tg55318/V0HF57?= =?us-ascii?Q?1pdksx5ejGyvOHIXDnGAuEK+n95r6yk0b/w6Nv04T1DVY9Qi0Dhb7XCYP3gA?= =?us-ascii?Q?goqsY9JXt0nCIfkURia+8VsETNyEHLLAWRoFuiUTUJMD7lFO4Vzq6A6csuv0?= =?us-ascii?Q?wwDtF6qSYa51i0nErMiCyMYaLlmelQ5FBZENAqC9uGot2ZXi8+WRmqn+dwW4?= =?us-ascii?Q?3prhvrT2ALH5juSZOE91sDqNGW4pnQnb97BFRIVaaR29cPLd/JJJG8b73cDu?= =?us-ascii?Q?Hf4VlHl/nnChBIdyQNQAhdQ=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e87076d1-5a48-49d1-69b8-08d9d677327c X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 09:29:28.9070 (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: XN1VBFeJ9a8/leX068MhIzsuAs9/RI2QrzEnTeCs/W5XvaiyWLzczPVOIwPhB9Oguh9o1JgpbTuZ66h1GCWzTg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9446 Content-Type: text/plain; charset="utf-8" This patch implemented a more flexible approach to get the address ID from the PM dump output. The original 'pos+=3D5' in the remoing tests only works for the simple case of 'pm_nl_ctl show': id 1 flags subflow 10.0.1.1 It dosen't work for the outputs with dev or port: id 1 flags signal 10.0.2.1 10100 id 1 flags subflow dev ns2eth3 10.0.3.2 This patch rewrites it to fit for more cases and the output of 'ip mptcp'. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 65 +++++++++++-------- 1 file changed, 38 insertions(+), 27 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index e6492347d75d..a2d5cafb2174 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -472,20 +472,25 @@ do_transfer() elif [ $addr_nr_ns1 -lt 0 ]; then let rm_nr_ns1=3D-addr_nr_ns1 if [ $rm_nr_ns1 -lt 8 ]; then - counter=3D1 - pos=3D1 - dump=3D(`ip netns exec ${listener_ns} ./pm_nl_ctl dump`) - if [ ${#dump[@]} -gt 0 ]; then - while [ $counter -le $rm_nr_ns1 ] - do - id=3D${dump[$pos]} - rm_addr=3D$(rm_addr_count ${connector_ns}) - pm_nl_del_endpoint ${listener_ns} $id - wait_rm_addr ${connector_ns} ${rm_addr} - let counter+=3D1 - let pos+=3D5 + counter=3D0 + ip netns exec ${listener_ns} ./pm_nl_ctl dump | while read line; do + local arr=3D($line) + local nr=3D0 + + for i in ${arr[@]}; do + if [ $i =3D "id" ]; then + if [ $counter -eq $rm_nr_ns1 ]; then + break + fi + id=3D${arr[$nr+1]} + rm_addr=3D$(rm_addr_count ${connector_ns}) + pm_nl_del_endpoint ${listener_ns} $id + wait_rm_addr ${connector_ns} ${rm_addr} + let counter+=3D1 + fi + let nr+=3D1 done - fi + done elif [ $rm_nr_ns1 -eq 8 ]; then pm_nl_flush_endpoint ${listener_ns} elif [ $rm_nr_ns1 -eq 9 ]; then @@ -520,21 +525,27 @@ do_transfer() elif [ $addr_nr_ns2 -lt 0 ]; then let rm_nr_ns2=3D-addr_nr_ns2 if [ $rm_nr_ns2 -lt 8 ]; then - counter=3D1 - pos=3D1 - dump=3D(`ip netns exec ${connector_ns} ./pm_nl_ctl dump`) - if [ ${#dump[@]} -gt 0 ]; then - while [ $counter -le $rm_nr_ns2 ] - do - # rm_addr are serialized, allow the previous one to complete - id=3D${dump[$pos]} - rm_addr=3D$(rm_addr_count ${listener_ns}) - pm_nl_del_endpoint ${connector_ns} $id - wait_rm_addr ${listener_ns} ${rm_addr} - let counter+=3D1 - let pos+=3D5 + counter=3D0 + ip netns exec ${connector_ns} ./pm_nl_ctl dump | while read line; do + local arr=3D($line) + local nr=3D0 + + for i in ${arr[@]}; do + if [ $i =3D "id" ]; then + if [ $counter -eq $rm_nr_ns2 ]; then + break + fi + # rm_addr are serialized, allow the previous one to + # complete + id=3D${arr[$nr+1]} + rm_addr=3D$(rm_addr_count ${listener_ns}) + pm_nl_del_endpoint ${connector_ns} $id + wait_rm_addr ${listener_ns} ${rm_addr} + let counter+=3D1 + fi + let nr+=3D1 done - fi + done elif [ $rm_nr_ns2 -eq 8 ]; then pm_nl_flush_endpoint ${connector_ns} elif [ $rm_nr_ns2 -eq 9 ]; then --=20 2.31.1 From nobody Fri Apr 26 10:41:35 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:b119:0:0:0:0:0 with SMTP id r25csp93000jah; Thu, 13 Jan 2022 01:29:43 -0800 (PST) X-Google-Smtp-Source: ABdhPJyZcsFpmAmnIBu86jdc6GQBQLhGYF7/uyw0UO15YK3HRfXl4rdCLreXilw0C9r/4IW+pZCH X-Received: by 2002:a17:90b:3644:: with SMTP id nh4mr4161651pjb.222.1642066182910; Thu, 13 Jan 2022 01:29:42 -0800 (PST) Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [147.75.69.165]) by mx.google.com with ESMTPS id r33si2188408pga.332.2022.01.13.01.29.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Jan 2022 01:29:42 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3106-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) client-ip=147.75.69.165; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=TfsrTsXy; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3106-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) smtp.mailfrom="mptcp+bounces-3106-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sjc.edge.kernel.org (Postfix) with ESMTPS id 6D3023E0FA2 for ; Thu, 13 Jan 2022 09:29:42 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 5ED912CA2; Thu, 13 Jan 2022 09:29:41 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) (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 EC6402C9C for ; Thu, 13 Jan 2022 09:29:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1642066178; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=hgDF8RSani62gB4xYNwgT3lXjk1DtdkXos/ZneUanLY=; b=TfsrTsXyCat07CIKOxJY3R84edVM+XEi6gvrCvuxi/DRyB5FLTqlfLg1SG+qONetN62HWL gK+4F2HaIX82e4GTzibA+XaLb+2FIehERQvdxGiUHFgb+mOHTj7Z7saB6+n0SxYn1+925U 5VXJstCP4m5C7AcPRFv1ISQZzVWew1A= Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04lp2055.outbound.protection.outlook.com [104.47.14.55]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-2-Khvl3aCXPk2K-lDBd3lKlg-1; Thu, 13 Jan 2022 10:29:37 +0100 X-MC-Unique: Khvl3aCXPk2K-lDBd3lKlg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ngbvQVo4b8Sw1goUDncpt2JkgvNwbyP77IbnKWA2CWQJ8y62yoYUYlBIJojaJdxnxliBoCJCU2eB2xV0jygU3op/xTkAAzLoPLNM4sJ73ThurmVg7ZSTiw7O0Yp7GlbbJx5M+4oZ4lDdvctSbqvWa9ta4jbaKm9ve1lON/iAXmpzsXnW0FzmnjKEX+yO4nSY/LLPkEODq2MOygEHSvvaN4c+O+RziD97lXlqMx61YHDfNRTg9W+L8f3hTJjnKTewdmtTYGdVL23ot5nUHJwM+CaeV23HQbkVfCZNPfYKCXBNAA+G4vG/C34xEakPXQ9jPgs+0ppAQerJZnzKdljfHA== 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=131jIaMkdJ3hWqyBRWcrC0FVUgXi3uyawDDazxg+Kgo=; b=KYss2qra/7Otu8gUc5fyUaQbNZ196HyZhZtAcEKnTU+0nBR/Kg267oj338+gD4699sahGQlQBdUglPgn9Ch3kkMr0GLq23AOY+JTZmCiMzgpQqLgKQLdn4l0+Qffl5k6K+W2O4A+UPQmPAuXP399kc2aS+vGS9iQBVcIFFrXOqwF2Hp/YERIK7Xt5+XOo3kMDzndtSlgwsuaQ3sY0bJP9AdZcIKwnXX3ilpkzFYHWGAKi6t55NQkqf3ZqtU/KqhuJfDabSbIlS7bia0FGUn1U8lbFzg2+ugyNKjb6wI+HtRPn430qiCclCJUZQCzlEJt8vKozl1rdsZhQVb3DrmtQg== 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 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 PAXPR04MB9446.eurprd04.prod.outlook.com (2603:10a6:102:2b3::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Thu, 13 Jan 2022 09:29:36 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::b5bf:e1b5:42fd:4dba]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::b5bf:e1b5:42fd:4dba%5]) with mapi id 15.20.4867.011; Thu, 13 Jan 2022 09:29:36 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v4 3/5] selftests: mptcp: add wrapper for showing addrs Date: Thu, 13 Jan 2022 17:29:04 +0800 Message-ID: <212346e3199ce09ed978a82c47d055a0f189984d.1642065488.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR06CA0006.apcprd06.prod.outlook.com (2603:1096:202:2e::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-Office365-Filtering-Correlation-Id: 04f18131-760d-40a7-424d-08d9d677371d X-MS-TrafficTypeDiagnostic: PAXPR04MB9446:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6430; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Pa3whbFPrZN7pBbQ+jrNbmliCcw9QF7Ma22zr+i22qTjqMKi+Z/Ql6/7sOFkCe6whxbRZPzjj14Vpibpp4qhD8weTD54ZGJtA42WpBj/ptLsFHsyHQAn4HrMhdQJhOKl/cWAEW3OxLCnBzgTkpNneTPFiDqLDfFt4nohb6R3av2mfpTEPFMKjsmiMC62JDMdKZA9bt6wnxN8sZImalSlgZSYARwhPK+M6ixzo3FK1SfK9r0j6ff6Fi8W9u8dJWwAWcrnyAsjVVw1+U8xOsTAF5noJPHjZvYIjx8b+U3cBxivoqlOBMgsVn9aY+SnHw04SXJkBgugiiQqWff5HmmQXgr9dx3d08KSWLZEVNC15vzG4kzygf22GOCRzMwn3FszOQJckcrxg35rBvqveKsDHfAh/u2Pz6NOwTqR7mHv7Xe85+gVb9OqCHkVwgeGgCd/ExcmuShn/TXxuJMrfIM4YM0npvPDLU3UOPP6BerLelbckIGrtNnjU4SOWyf3XUhpOEGYUJG8fQo852bnkb5IZTNcxK4hOQb3tbVCjckpJD3WiXQ/6KBr0OskqzPcw1AWQMY3nXp2M5c9WeHKSTltw2504J+Rk8jIIei7hHUZsTxh8/PAhAHOcbZ7QxTmM+3L+k/4+z0eBE1YnK1JHzNXLw== 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:(366004)(6486002)(508600001)(83380400001)(26005)(38100700002)(86362001)(6666004)(55236004)(2616005)(186003)(66476007)(316002)(66946007)(44832011)(6506007)(36756003)(8676002)(107886003)(8936002)(6512007)(2906002)(66556008)(5660300002)(6916009)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?lRUzycOEmLHJNOSJ4bZ5ItjVNNWIImTbFUfW7btfMHatw+7XxkjvZxQmZaCj?= =?us-ascii?Q?pHfKCeZ8K1NahGPpwC2Ah0gFCwNH9LrDtIilmQtY49YDSdcHC8Xw0NJldEZ7?= =?us-ascii?Q?CYVi/oBto5MI+xKBTUzICXR08ajbvuFIn1nvCpGSIvX3i3yTWo03vcsUIACq?= =?us-ascii?Q?5WXh7J+2bpY4oBtPAGAws7a22e6xOnmOO4S2ctp1t3aV7Xa34sZVSgbJ4blU?= =?us-ascii?Q?uBCv50n7DUYkgzGmXwVVghVzMXWlYGYgj4uoQw/GUrP2huYr3zm5wCoOrnUr?= =?us-ascii?Q?7MvBPom6saf59jN1H4P/69I5XKSzhF1aMO4gaOKtpFQmxYIuFJKI0sqO25vF?= =?us-ascii?Q?xY3XCyMjyfiV1D5uKSMAqBhFDdg6uVLhr5x/YRX4cAiJnBJhFr5cBI8xIGxh?= =?us-ascii?Q?RKnSlMgW5NG4Q14khy3XM3/PvIcOfQuiADUuy+vv1egQU2slayjI931Zt3S3?= =?us-ascii?Q?HbU3mg350MLRLiU32IR65p9XDvqNVOdjhSKDT1DAbhRWl71CMptWUkRUy32U?= =?us-ascii?Q?1mwRrWrDWRJqnF/Vij+YRyZ/y93DPdp8dcoFfhYgPfRBKxDDV/5tF1VMAptc?= =?us-ascii?Q?mtfFiiP8xPf9e3nfeLTr+fabMtY0P5je9Wa5Av1HHM+JFA1Nf3IKO5F6q5+p?= =?us-ascii?Q?CNrKt2rVMst7Ds6bwtB+nh3cw8VFShhM/+LbqFXHIY4pqFrHiXv+/ZRQMlJ5?= =?us-ascii?Q?BhqWvXXKW08dsHUw/Vs+DtIRGtS6GYu1pQhPISMd6W3m2JcTe/zN4h6r24YU?= =?us-ascii?Q?aBRtA8c31wf0RSgtnaqATbzfCGJtbxRs1A8yh9vdk/m22oILhn3Rb0ZJj0hs?= =?us-ascii?Q?UYGJh3dDFrjgzAeuq3S6ZsxJSoUvgZbyrea3YMTtjeUsWwFxp0+kimZ4Q974?= =?us-ascii?Q?/XJ/h81BIMeMx0r30xypVcx7L9Mo5rWJ9woZn0qp+wQdSM6k+/V3WqDM3zep?= =?us-ascii?Q?skPUqtNVdCGej0EIXN2ZDhNEtC5N04fITVaf8pj1K/soH7nC4o7OHr/xPnkR?= =?us-ascii?Q?13cpz3I/5R4REZFteybjJvQyNMhJtrnv4E4qZMTyMrd0Zr8HzQkfH+zXi9Dj?= =?us-ascii?Q?x/Z2Nx9Anh9W5g67kI0QoLtihmyLXTxZXmuMBaT2ydOVVDpptulG+Vjx8Mpe?= =?us-ascii?Q?I2gkSHjs03COlBokWMpALTTAGEsn69O37m0bsaes3uKzBMoq+m2VrNjPnELc?= =?us-ascii?Q?YJ/JotDfvASqBS2e6iaS2a3SnZCbBq3oXQYbvtC2LKnX2qdliMMqrlIr3ZUQ?= =?us-ascii?Q?/12/9pp1EZ8MM9NiMsE125NaLpRRZOGgHjMeFGGxyRRK4Cr/lnpPYlK7Docb?= =?us-ascii?Q?YP42lNeKtWy2F3VXKjfz3oxOOabjZz2y9durtY6NjEPYhDCmchZ9fNMP8aHC?= =?us-ascii?Q?vemKZgbb4uhciQ0E3RFtLdg5Kh/5X9rwhWYsOYrasEksZJloyDISxDNBqUbG?= =?us-ascii?Q?30QjEE/zaISmTvirSvm5ZgTSpntqnDCDMrglq4N/epYZiuQakRizn6cXcevd?= =?us-ascii?Q?t4AbVBbSDzi3U9jb7XSFkOQ1d76bQ+YCZTBMhaOZkgm4PL1qZ+pjNBvMtTzF?= =?us-ascii?Q?QCLHSBlX/RXS67H8lFotjuxZmtHis3lm+ruIRPcaLRwxWfw/r3e82kaFpNwR?= =?us-ascii?Q?0bkQI1nx2Llz11kk312uAs4=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 04f18131-760d-40a7-424d-08d9d677371d X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 09:29:36.4533 (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: 05Kvw1fv/io+MgqBX9DVG13kyvLctpEx8iDJoWonlLjBs3h+EDTyLLAXTXglqobD28LTcJm1PNLiZkPTldtk/A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9446 Content-Type: text/plain; charset="utf-8" This patch implemented a new function named pm_nl_show_endpoints(), wraped the PM netlink commands 'ip mptcp' and 'pm_nl_ctl' in it, and used a new argument 'ip_mptcp' to choose which one to use to show all the PM endpoints. Used this wrapper in do_transfer() instead of using the pm_nl_ctl commands directly. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index a2d5cafb2174..ec86ea9d57a8 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -365,6 +365,17 @@ pm_nl_flush_endpoint() fi } =20 +pm_nl_show_endpoints() +{ + local ns=3D$1 + + if [ $ip_mptcp -eq 1 ]; then + ip -n $ns mptcp endpoint show + else + ip netns exec $ns ./pm_nl_ctl dump + fi +} + do_transfer() { listener_ns=3D"$1" @@ -473,7 +484,7 @@ do_transfer() let rm_nr_ns1=3D-addr_nr_ns1 if [ $rm_nr_ns1 -lt 8 ]; then counter=3D0 - ip netns exec ${listener_ns} ./pm_nl_ctl dump | while read line; do + pm_nl_show_endpoints ${listener_ns} | while read line; do local arr=3D($line) local nr=3D0 =20 @@ -526,7 +537,7 @@ do_transfer() let rm_nr_ns2=3D-addr_nr_ns2 if [ $rm_nr_ns2 -lt 8 ]; then counter=3D0 - ip netns exec ${connector_ns} ./pm_nl_ctl dump | while read line; do + pm_nl_show_endpoints ${connector_ns} | while read line; do local arr=3D($line) local nr=3D0 =20 @@ -562,7 +573,7 @@ do_transfer() if [ ! -z $sflags ]; then sleep 1 for netns in "$ns1" "$ns2"; do - ip netns exec $netns ./pm_nl_ctl dump | while read line; do + pm_nl_show_endpoints $netns | while read line; do local arr=3D($line) local addr local port=3D0 --=20 2.31.1 From nobody Fri Apr 26 10:41:35 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:b119:0:0:0:0:0 with SMTP id r25csp93078jah; Thu, 13 Jan 2022 01:29:50 -0800 (PST) X-Google-Smtp-Source: ABdhPJz4oPLF/djBD3Kt2x+XfrLXoFBl3wfIfitLbTZ2p1Mgot0s+PsZN1CYLLxqr0Y2wFFv4q6X X-Received: by 2002:a63:ad02:: with SMTP id g2mr3157319pgf.153.1642066190047; Thu, 13 Jan 2022 01:29:50 -0800 (PST) Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [2604:1380:1000:8100::1]) by mx.google.com with ESMTPS id j13si2296295pjn.112.2022.01.13.01.29.49 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Jan 2022 01:29:50 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3107-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) client-ip=2604:1380:1000:8100::1; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=TO2fOtMb; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3107-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3107-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sjc.edge.kernel.org (Postfix) with ESMTPS id AA3493E0F9A for ; Thu, 13 Jan 2022 09:29:49 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C8E882CA2; Thu, 13 Jan 2022 09:29:48 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (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 8F27A2C9C for ; Thu, 13 Jan 2022 09:29:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1642066186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=i7l6wLgF+2Q9N3mWGVsKGw1k/5+1jzL+HPMW/46Uki0=; b=TO2fOtMbkIZdpx2Xe0KYk979mkW0JJgTvbnOVpkELuX2xVUg+QiWm7eaXgixhWTlBTt404 gf0zbDE9oM+0jlKAJlrHMpixMhF+hxziKHoo6fh4FR1fN0nq5gKwha2S+kjE7tPlqz16YW LF0ONmQT9VL07kACJOKY9vrR6dufPXg= Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04lp2052.outbound.protection.outlook.com [104.47.14.52]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-41-81gKY6usP4G4rw7nu-00Vg-1; Thu, 13 Jan 2022 10:29:45 +0100 X-MC-Unique: 81gKY6usP4G4rw7nu-00Vg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VUzgOKIgDdFpwuAmxP8m2DjHgCQXHid1VH7+eY6Akg5IuiVyM4RKjmDmqdUcqqxlZZt2fhvucvrRrNuFKrPTOaRa583RpurABknTh6B/7XpCEBBBbZQq8Le8tmso+fHn1tCLStn1auQ3rNfSmb/0c05AI/csESS2oBsF+c2y+M60GYr/Im9hfjeSttsYhMSgaofh4C8aFZaXagmSqxlbySy+n6wjNBG24uQx+m1V7zGyULm4gsGLeOnJb1Zyl9Q9sq8U5qfrwo1lvycuzQspBmaVPmH2M2d+4CiIWiUPwnIptgcJxojSVedNXzWEY4q5xl6KXaRiACyPlKe4lTd6pQ== 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=MHAHoFc0iw6PqoWhOuwEdOgBWr9wFmUEYwQ4bLichvo=; b=HMuK2GwNf5hRNr5FTDXUTLSA3mfx8Q8tV/BJznxvbldwGTAL1CPlXBLRj0cqqdxj2euxsswy6o7GP0pRfTCBgJOQ5/4CFobuc0YRp0ooDkVMWvEKgIvUNny5od17C+xg7D9rsNUyDfkmeKMTYSQUdiSGJX1qke6GXyobqH/pH5oXdkk2gx7I0cmQGqWjgWRgjLy8mjdvPkdkEg8Jk2WNVnCE2tEpdKV0RRa2e88c5BBvdY3p4ibaATaqCfdfUc+/RHfS2DrX31zoy/HlAqwEHUdA/o2Oxm52aX5foehBMrz9RhIHa/P5nUBak/XhXQAaPPGLr6gdK9Do4bvqj5eBFA== 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 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 AM7PR04MB6888.eurprd04.prod.outlook.com (2603:10a6:20b:107::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Thu, 13 Jan 2022 09:29:43 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::b5bf:e1b5:42fd:4dba]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::b5bf:e1b5:42fd:4dba%5]) with mapi id 15.20.4867.011; Thu, 13 Jan 2022 09:29:43 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v4 4/5] selftests: mptcp: add wrapper for setting flags Date: Thu, 13 Jan 2022 17:29:05 +0800 Message-ID: <3c95141d5176affb237a541824177b799dd62d2f.1642065488.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK0PR03CA0107.apcprd03.prod.outlook.com (2603:1096:203:b0::23) 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-Office365-Filtering-Correlation-Id: 7163bb92-e1f4-4cb1-d533-08d9d6773b33 X-MS-TrafficTypeDiagnostic: AM7PR04MB6888:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4941; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LDbu3O5DRCvZpdwjZHYXMuEz283wKG0QBKmMgk0QVRXLTboeHu5DugzbMpLbyC1LqillHba+KDntGO/7FQXjEUYR8yqqb+WT5kg5/d2Rw147Dp81jTBc1XPBesBWAL3WNCjib+kQvmpb5hmuPkAD/tOoyGulHgizZ3YC4cEr6nuOyrx1A/oQFRoW508oGh9wAHWex4CMnQ5EkZaNYR5SofbB6XPghV48HsvICGirOmrr6OpV0W2xiqfg8n3aDJpujPygVwXo7nHewjUbIubcYevh5hgh7z57lHkWXRfHhMlwMO8jc6oWBusIF+Xoadd8j8kq3MCmF80dbAtTseBxqDR2chYJqBXBeS5F585y/NFhHxCLSbNjuL1HeOr1t9VIz1hC+fKebgxz0TCaWcut1TTamCa7lX5UyJy3tTZRp60KWAMdDgX0jdlCiH5A0oT3PVnf5heRQKrkkCVbSF/OR7+7I1xwqTLCuDorSvzmTmgmyrpxtLKHV9/KXnerbST2Q9hHNnvZnRomCBvhP2WCltmyntyz6c03+ZR+iTkAspH6vMunp9ePTUvcAt0G+HtJrNL4Mcup8xquz6ZvFuhUmihcMa2tgJGiy+eqz0B+6WIs62FGzIsMuzKNR2X51UzoySpcwPoRBuP1QI/zK3e9Yg== 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:(366004)(2616005)(4326008)(8936002)(6506007)(55236004)(8676002)(6666004)(508600001)(186003)(316002)(26005)(83380400001)(2906002)(38100700002)(6916009)(107886003)(6486002)(66556008)(66946007)(36756003)(6512007)(66476007)(44832011)(5660300002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?K0DLL0KKbTe4ixy156oY/kj1PJrruhZpZlpT3IWiiZl58sWXM0OBhYt1b359?= =?us-ascii?Q?iaADGzM/LM+G7ZyddHudVTEVoNRpi6Cz8pmAqlMVDZ+y5enybsHzgpMSxdE+?= =?us-ascii?Q?0jekU29H5qkHf8DsOs2YsuNeGBkxkkSR1rrHiPEJJ1tAcPSv8H7BkQWt6gLg?= =?us-ascii?Q?XCONJn6icdDTnbCpvh3LXBDEGIdUj6RVRUmsJSqHC9gFu9+Wv4Ewr+bLshE3?= =?us-ascii?Q?4th/zNdTsoeVCsL42LId9PCgrkEKzTGPlpgd4Q+CFIS1HVmRDeIOdM10mR6N?= =?us-ascii?Q?oB/zTTr/2zaMKhb34lHLGHmOvikqb+ZTxVDdE2xW6RPGnI/kvBwRLqiQRcq0?= =?us-ascii?Q?3WUKFaJE66Rz7caFpCyDh3l1pIO61HY6gALi0iPm8O49U95XNhPFFP2UtU6k?= =?us-ascii?Q?NAjATarV0oY7z+Oka7jfHI8bGezg6XJfmFvSAcU0OSFfgIGF6PkITHtPxlJF?= =?us-ascii?Q?ht3o8Da24NyH0D/QpDqLunoQjQT+i1urPGtssFJ+f32fD8yhPn+RJKuBWCRW?= =?us-ascii?Q?aNE5zMfzez9WSsS/SlcuBN/ZWXXO+VEKcVuRFjppxUjpHQIU9B3uvKMb03rZ?= =?us-ascii?Q?Ecfh52s+AztJBhPXTPuFa084i+UG0yDqRJ/FgADQ8UlL8Od1n6P0kmX9igeN?= =?us-ascii?Q?isdbQVjeOOuaWIMADDrtKV0HBhX/mcbUHLTo1RZUeCdpURcDGhKv/myhslTr?= =?us-ascii?Q?O3KzXqoG1dNy5dX6RfKoSRI0f8N8gkERQQxIP5CONfhBwvHDcLK/Mo9peWj9?= =?us-ascii?Q?+cg7y0obuCT+7wfYOC14j3tbybA1JbOb7VySNnROxnuHQRcgj7moXbCuzaO6?= =?us-ascii?Q?PCY9fLUqIs2Cxaye/GuBNiORsa04EfoMSu9q+RtiYqnSFCMnK4EtosjwTPBA?= =?us-ascii?Q?4f9g+mRGpgD3XuhJL1Ab0X2RXnNvAjltw+fy41fLnpSkz+k31iUYRs11WbKE?= =?us-ascii?Q?6qzES/IBPuxS+bCc2pk5+wcSNZYAjNAHXAyN/pcB1yCRrBhep+RALoiVIEKn?= =?us-ascii?Q?pc13D58xC2XZP1tuK5i10GXt2IYaFl8GBZ7cbw6U6bSp15Mt4y+k0LhWDj+V?= =?us-ascii?Q?3IilgpkaXU977U+TYdQQpTCK3VnwybHzAXqIPZWs9ARjnx/3TvJgsS4g9bmk?= =?us-ascii?Q?hJU5qamvXlSaiTqo0PGOMdAjTOv1q6uudI8PqWWSBL1/WK+MMSINuiKzCcGA?= =?us-ascii?Q?ooIVL67FGp7Ozda4AocvR1QqT+MjYpnCOHWO+dhJCgVE8SBlHIu4739tiFw5?= =?us-ascii?Q?k6J9sXsLSRUBDcRe5w8PjOsG9FVCQGHjj+eT87yML37C3GDCauK97xdYND+1?= =?us-ascii?Q?Y/M/KoE0YOjPzJkL5jD3csQyuGjWZp5OWruzcZHbSbexVTCEVnBzY1/owGiX?= =?us-ascii?Q?X6CV9yyYI+8ncIVYztoELOFDUB50MPrPpfHnMd67WrAsOVcGSjDwml3QYIsU?= =?us-ascii?Q?gBblIo8GIA2FK84Kl7puOGMrEvb+rwmcZKzaF7Vbt3FoSiB+Z3bT6WjwXttO?= =?us-ascii?Q?DqLLV7YXmhmydYZSvlfYH4O8LLzF6p5Fe77OIbBf/BM3j6pESx+jWv+1XZ4/?= =?us-ascii?Q?1QYNVewk6VTqVeIrYWyLWKqShU2sFvMMEEWINB9MUa0Nv6umc/ew0ioD/tQz?= =?us-ascii?Q?g4Yr5GPHOIeJplQHydjz5i8=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7163bb92-e1f4-4cb1-d533-08d9d6773b33 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 09:29:43.3278 (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: gRJCI2YDEADy9dmo90HusqR4FO3G5MtgsqPmKCX2ls0HV4wzieKEhE7vR8/kHREaTiszFmj3PjhiRQTrEsoPhQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6888 Content-Type: text/plain; charset="utf-8" This patch implemented a new function named pm_nl_set_endpoint(), wraped the PM netlink commands 'ip mptcp' and 'pm_nl_ctl' in it, and used a new argument 'ip_mptcp' to choose which one to use to set the flags of the PM endpoint. Used this wrapper in do_transfer() instead of using the pm_nl_ctl command directly. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index ec86ea9d57a8..16fb756e363e 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -376,6 +376,24 @@ pm_nl_show_endpoints() fi } =20 +pm_nl_change_endpoint() +{ + local ns=3D$1 + local addr=3D$2 + local id=3D$3 + local flags=3D$4 + local port=3D$5 + + if [ $ip_mptcp -eq 1 ]; then + ip -n $ns mptcp endpoint change id $id $flags + else + if [ $port -gt 0 ]; then + _port=3D"port $port" + fi + ip netns exec $ns ./pm_nl_ctl set $addr flags $flags $_port + fi +} + do_transfer() { listener_ns=3D"$1" @@ -577,6 +595,8 @@ do_transfer() local arr=3D($line) local addr local port=3D0 + local nr=3D0 + local id =20 for i in ${arr[@]}; do if is_addr $i; then @@ -587,11 +607,12 @@ do_transfer() port=3D$i fi fi + if [ $i =3D "id" ]; then + id=3D${arr[$nr+1]} + fi + let nr+=3D1 done - if [ $port -gt 0 ]; then - _port=3D"port $port" - fi - ip netns exec $netns ./pm_nl_ctl set $addr flags $sflags $_port + pm_nl_change_endpoint $netns $addr $id $sflags $port done done fi --=20 2.31.1 From nobody Fri Apr 26 10:41:35 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:b119:0:0:0:0:0 with SMTP id r25csp93158jah; Thu, 13 Jan 2022 01:29:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJxsjhH7O9pPy8GyX9YsHZcO0ZfLYuszPjn0G95rdBoBq8J9nqC/Lncik3J6q85KHpVQQ/Oe X-Received: by 2002:a05:620a:22f4:: with SMTP id p20mr2440741qki.101.1642066197149; Thu, 13 Jan 2022 01:29:57 -0800 (PST) Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [147.75.197.195]) by mx.google.com with ESMTPS id l2si897287qkg.214.2022.01.13.01.29.57 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Jan 2022 01:29:57 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3108-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) client-ip=147.75.197.195; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=Y5Edh03M; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3108-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-3108-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ewr.edge.kernel.org (Postfix) with ESMTPS id D930F1C0B62 for ; Thu, 13 Jan 2022 09:29:56 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A55B02CA2; Thu, 13 Jan 2022 09:29:55 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (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 7DDE32C9C for ; Thu, 13 Jan 2022 09:29:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1642066192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=op0zL/NuF+ryK5CLusB4Sf2I6mERYrJjbeGrY7y2C1I=; b=Y5Edh03MzysoThM43UCIBKR+UMgvJAjS99BjGKmsLnpzqpgIiEuml0/kcHBqZgRlOTSTkt T2Et9/K0xPB9f/vZGRJF1H5QHbSEUnOI5EwPw/p6L5La17epCCNWk3fIshI/pz/eEJfac+ LPy0CKyNzqf2srWryB/h5L1S7wJu9zk= Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01lp2054.outbound.protection.outlook.com [104.47.2.54]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-17-8SIRobM9OHeQRiBHpq__Mw-1; Thu, 13 Jan 2022 10:29:51 +0100 X-MC-Unique: 8SIRobM9OHeQRiBHpq__Mw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Oy06Jo6oWRU7UUVprRqygzpJWTeVQ0MZkJSd7dAisTsL+CacHq6zQJjo8SzlysH/1IHHuYcNHOcAkraEi4hxbWsfdUf5ilkCuGbkixw6a20wyEafWRrXdpfcgs+PPq4z9o95Z25HDVph/xlIQG23lnyHjFEFPosrLE5uEelfhODqv6zKYWGkgVGZZFKudTCebLL4dWAb27vP54rlsw9FhYhwVRNC/j2XG9lxciZAOsNqgHbY+cz6/CzPQBc1W9BuhxGUoEk7UhYkrNvmNB86JpprDnEN0tBATXFEoQPq72YUvr3Fg/8EwKSe87Zm8Tbp4ZDLR5gvViJI3grzwada+g== 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=RX5+tG+FCQ0Mh+YMd0eT7LyUbjfx5LDWFI3GnFHypC4=; b=eiKEoDmak22r2e2O0MBomicSHlqD4l8gw0CqlNwOchveBk+nEAzfcqK1zjH0KfE2MAGLZDiDxbxzA/gFOjalsFxZgQMHFR+HLpy4bRWp7+acvMd4KBwHEX+ze6TpPha8QaZexlMtYnDvnm7YxEPDSAvl7zpYJ8digDpCaFhW+hg8+EwZtcGoq6Nfxp0j+k0KbLvr0PpsX+J6rOk2iWANsbvf7dVMV1TQfXV9KJI/yBQVBAMlXNYxll5q/32RWCUAKBY29XcfB2HGTAUCHRfCIQh4I0+dAVTZeZbu/K2h1F1qG74s26b4F7iAnLNZ3B0O7LQeBZgW/HAkQ3rcXnloTA== 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 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 AS8PR04MB8596.eurprd04.prod.outlook.com (2603:10a6:20b:427::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Thu, 13 Jan 2022 09:29:49 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::b5bf:e1b5:42fd:4dba]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::b5bf:e1b5:42fd:4dba%5]) with mapi id 15.20.4867.011; Thu, 13 Jan 2022 09:29:49 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v4 5/5] selftests: mptcp: set ip_mptcp in command line Date: Thu, 13 Jan 2022 17:29:06 +0800 Message-ID: <3fd46eec8c2341f54fbc4456fc709defdaf39317.1642065488.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK0PR03CA0109.apcprd03.prod.outlook.com (2603:1096:203:b0::25) 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-Office365-Filtering-Correlation-Id: 3432cf39-2e35-407a-bc28-08d9d6773efb X-MS-TrafficTypeDiagnostic: AS8PR04MB8596:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2512; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: U70uI+t4RaT/qQKebJS2Ltu6QF9jsDcuTZuhx8B8l/8LwKJ+YtEyO/9Nh5Bdxe49kZXjA7z0FK9MZYgTXPyvJnN7bPmI7qp3IeI6xnYVJ3T7fpphlAMqm105CiWTEJ8fPkOZcUnLdsrGRi0m0oGfTqcoTwBfXS+jMgbWvty2wb5ZsOGBljCK2mT/bf7qVDrXA8wgY1NmAcFvtBFEdXUiRhrD15++hzcIB2t05ewwDVD8uBxK/lsYNF4wrrAvuLwDD/ER6ChVvfZRFSrDa325GCmYthHsT3RncpnsjyIMwKtPnYXCOKxviCYo09KB6itxXXMz9Nkg/e4v+aTFLsDKZJA8GxxGLs7dkBEouZD6+cq4AmxPO0+C1G+b5yBZqm0O2uRiwvU+28RrjkoTbtCgdcG8vQ2O6fDZnt9oxAOXsj8IIH7q2ok4zqPy3wN3X7WZHkXolhwLTXOcf6oWzHn7Bos0bTAKyMJNU+VbV1Hfjnxfu+fhu+PWO3isIT6Ix1CTK3EhjbXHgZ3WeURxnsQBJSRujJCi/i+blifHVjgfuDh9qU9mZPkPp112zVZaTbMoUmlNdLJvIkBfgH1FP68jcTDiiDrch12HztUVXbdZFpHzlIm9pp2bR/2HTQRYpz27SnqhTaotAwF2L/lV/IbPSg== 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:(366004)(36756003)(6506007)(55236004)(107886003)(508600001)(26005)(186003)(8676002)(8936002)(316002)(6916009)(66946007)(2906002)(6486002)(6666004)(5660300002)(4326008)(6512007)(86362001)(38100700002)(44832011)(66476007)(66556008)(2616005)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?iVNYCNryezKkbICYt4b4A+3fTvNFYCIG+RsffGE2JyHWj4zfy/vX9OBv7Vp6?= =?us-ascii?Q?Fj27J1xC9/zIrT3GFDp/wZqmWv78ZKi8bDYa2GUw7d+AZ1vdEmOpyYvN9GQv?= =?us-ascii?Q?fOzBF/ROHKeXH06pGUJYcbowHFTRkum6kvRwteDVkGsTWemEY4WFx33c0ndV?= =?us-ascii?Q?IOFxVzU4ej7qm/GvjDNBEOUXkV8FvhnrilpMbgucFsBSgEvJc8KJ7TlRR8GX?= =?us-ascii?Q?zGZlA+F0X3T+ITD3AzR61uITCj/xaQNCmyKzXzfj6l/nhQ9VE5C7DWn7ryfJ?= =?us-ascii?Q?bgjX6ZIFgUm99VNAiThS74J7BsXeMzIvfMj7itlcWaXGaDE24z1CN0Yq/0i5?= =?us-ascii?Q?fo0UttXqBxU+vsR02Uv6ctooU8davYkKAIhq/G5m70GxErEH9UaXBQyiGTcy?= =?us-ascii?Q?k/kRoRFgR4O2mlwuLJ1ct17zYVkwHZfspAV1kA4vcMGMpeYLqm6N1gd57qlE?= =?us-ascii?Q?kkZY3ihkPUxO4hWl/NUJxXhHswg0UrCl67moUhWH+8DhK6p3C0cPZjZ3wT1t?= =?us-ascii?Q?C6s3X0lZK7G/AqMUAnOrMGwHO5kvWILRemdddmgjFYG5i/DyoFI2goejk2A9?= =?us-ascii?Q?Uv9FU74w0gnYJul4wX2LV4nGbZKdyGs9Gxf4k6CS2E1ImEsWN7uNDwBdzU9U?= =?us-ascii?Q?dfGFRFJTlZlpTqVe9Us+a8AcGIxrBJDKnIvITnNLuUGycI8IVRPOWLraGASu?= =?us-ascii?Q?7K/zHgFThdfnSkVGdNTmNV7yW+tQEDLdJBWSTDjeeK/3HwuTTNSRTvQVO9rr?= =?us-ascii?Q?D2dQEqe6RKfatC8RnDzyNzbYPM863NT8TgBP1L2tXDxjqiN+ioi+eiDYe5Jp?= =?us-ascii?Q?2osvmGOtNHPEf8q48NP/sOZu7fZH85BPRmUlchzpyUU74RrMMTsIo3emTSXk?= =?us-ascii?Q?0H22nOWMAmq/C17F59Um2k/eTm64TpcohbJGM0DpgWVEczfWq6OU+m+IZhY2?= =?us-ascii?Q?wKC5ew1hS8Y4LGWugAMRbJDio5PcWUwvPzPpbWQnhUq3TyweWX7mXcFvMRSq?= =?us-ascii?Q?QvRZ16LWtEg2dKUkkxO06Ejavx35QfJqZKfliyRNk4Wy4j0haXAy9c+ZFS91?= =?us-ascii?Q?cQ9mUDeVO+XZhg2SM4rqBEQHiolIkQRUGySWD9zzoUn+NMiLfafoybB1sfYn?= =?us-ascii?Q?FFKpUa4JZezA1qR2T271CmjhUmeZ7O/EMccHpGCF29xTOisJ5ZTbh6nMxMxB?= =?us-ascii?Q?ob0xBPA3df6iqCGK718tIoSbU7J3PHxLD8p1tNUXyqbnVnRX2F6BzvVT1i2r?= =?us-ascii?Q?GGi6y6hh0lS805gCJSMXZUCKTdG8BhJnOYvD+J6F/WJHa0sJ4ViTnU7i1lfO?= =?us-ascii?Q?y6X/kvzjwzcOJhn33auCKIoLKr/jCF1ieeLBQb29Q+vTChD4Stuta/ihQLJ/?= =?us-ascii?Q?DFEM2HQeOiWjTCKpjiYV8SOxK0VckSiSyaIbCxrLLVFBrAg+dgMfDNsfmm64?= =?us-ascii?Q?XMqdK7YQMWlnk6gamWw4MirfGV1O1potxfN/nD+W+sK9H3kXxmbcALxS1Xia?= =?us-ascii?Q?+xYl85V0QRSk6iG0FPt/cvIizd8j5OU5AkkucS+coIRH46j5DQgFwUsAcyjv?= =?us-ascii?Q?FtjydnoVQprkogiQ4l6BadI7g3ZqBFGfJGowWmAX/wyjKSQJmlQ3xhVrltcP?= =?us-ascii?Q?/PPP/vFHBchyMGm5si4BW3Q=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3432cf39-2e35-407a-bc28-08d9d6773efb X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 09:29:49.6554 (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: /EHH3pN4LNMeu8sm/PPO7iF7nMkOZI8ESJ6WpHMuXu0wMIgintwh25WRY9CuPO2/jnR/FFxej2Ljj3CVGBqe2A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8596 Content-Type: text/plain; charset="utf-8" This patch added a command line option '-i' for mptcp_join.sh to use 'ip mptcp' commands instead of using 'pm_nl_ctl' commands to deal with PM netlink. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 16fb756e363e..1302cf7c0454 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2202,6 +2202,7 @@ usage() echo " -u userspace_tests" echo " -c capture pcap files" echo " -C enable data checksum" + echo " -i use ip mptcp" echo " -h help" } =20 @@ -2223,9 +2224,12 @@ for arg in "$@"; do if [[ "${arg}" =3D~ ^"-"[0-9a-zA-Z]*"C"[0-9a-zA-Z]*$ ]]; then checksum=3D1 fi + if [[ "${arg}" =3D~ ^"-"[0-9a-zA-Z]*"i"[0-9a-zA-Z]*$ ]]; then + ip_mptcp=3D1 + fi =20 - # exception for the capture/checksum options, the rest means: a part of t= he tests - if [ "${arg}" !=3D "-c" ] && [ "${arg}" !=3D "-C" ]; then + # exception for the capture/checksum/ip_mptcp options, the rest means: a = part of the tests + if [ "${arg}" !=3D "-c" ] && [ "${arg}" !=3D "-C" ] && [ "${arg}" !=3D "-= i" ]; then do_all_tests=3D0 fi done @@ -2235,7 +2239,7 @@ if [ $do_all_tests -eq 1 ]; then exit $ret fi =20 -while getopts 'fesltra64bpkdmuchCS' opt; do +while getopts 'fesltra64bpkdmuchCSi' opt; do case $opt in f) subflows_tests @@ -2289,6 +2293,8 @@ while getopts 'fesltra64bpkdmuchCS' opt; do ;; C) ;; + i) + ;; h | *) usage ;; --=20 2.31.1