From nobody Wed Apr 24 14:45:30 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:b119:0:0:0:0:0 with SMTP id r25csp198610jah; Fri, 14 Jan 2022 02:27:00 -0800 (PST) X-Google-Smtp-Source: ABdhPJyNl0vHeWMaxzA6KTx/Cq3hasMBmquMlQ5waummxaJOA0rjyffw2OLzF+lfX3gIUsdQZH9b X-Received: by 2002:a05:6214:f07:: with SMTP id gw7mr7602577qvb.6.1642156020410; Fri, 14 Jan 2022 02:27:00 -0800 (PST) Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [2604:1380:1:3600::1]) by mx.google.com with ESMTPS id 72si1819318qke.49.2022.01.14.02.27.00 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Jan 2022 02:27:00 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3138-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) client-ip=2604:1380:1:3600::1; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b="K/Rglb5v"; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3138-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3138-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 1E6281C0A40 for ; Fri, 14 Jan 2022 10:27:00 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A80CD2CA2; Fri, 14 Jan 2022 10:26:58 +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 776F62C9D for ; Fri, 14 Jan 2022 10:26:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1642156015; 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=aSihoU0EtgnB00/pit+ZLSdq3dILNuWYNUJKhFe7Ck0=; b=K/Rglb5vvenP/yjZgTOo3xcIvRHk2Y0nx5SaW6dZIAxSacrYi/+zYxiTp/qe/0Xp1V7zMg LNdY6nXAdmFauHrOb8KL+on03vTIItIKLu04Xg/vDKsKrxmXuHyPyKficcjsSSKBVilLUg oCovdH87WAd8nVb2xWCdsZQzLaczDa8= Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-38-C-HhFNQ6PHKkG8kJtDLq7w-1; Fri, 14 Jan 2022 11:26:54 +0100 X-MC-Unique: C-HhFNQ6PHKkG8kJtDLq7w-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WFZA3/pQK0HIjBt/YjNjEt5FZB5t0A/IJcE2oWxZCwmmzPnDYbQujjfXi2olSGM9KWhcWT2GFDXcgz5NXt8KqE300mNpo/y09xAU9RQZLdfLEpTSPBe1QKnouNaNJ63GJBf3m/gtq7bjXp01caJzSN6JL1ZVE8RqtJsZXZhj/NDgPOZarj8ExMdbqEGmC3eNMeRKZ/Is6D0gEUQlPm5ERhyJprEXy9dYETLrdL7dYBA5zsnS3K5ur5bk2y6oDT+wi0jKp80xdkqlI6bb/nikpgyAuPdLmZeWu3a9tYV/L3Fskbzl1eNKSM9h1myFA3ODpeuEKo1PGrejffIPsPXfmg== 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=VFK+g6Z6N8c1GbnquCJla3DjX5xQ5KMFNlbH2gFXSDg=; b=Hs5rlyNC/AGqseO+CecuX1LvGteNZUflQwuIcutY+CojCKjJ37PwjKPwHeSFVK7XCDYJiDGzhB5aCPKkSPUg9c9IHpTTzVGySDQvdLxLok10wpxlkA79gbjFfhfAcSv/E4EIFdzCEWrwYb7Ez10BZkupdItClVt/gOnTJJICxy546Wjqj0eG4NqemcGRSeHWLkM0zAfGZFTSgSnYacF+n3aQdpfHuMagTBP0SSz9GE0i2K9ip7VxQ407CvOoW/SJUXEU4J/4TRZSSnG1gOu6jiDLHZ0J2BbVmNlM7G4foFvFf6f6Ku2GagPdUI1Yfmxumjnrv99dlzjEr22SamTpbg== 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 VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) by VI1PR04MB4317.eurprd04.prod.outlook.com (2603:10a6:803:3f::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Fri, 14 Jan 2022 10:26:53 +0000 Received: from VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484]) by VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484%4]) with mapi id 15.20.4888.011; Fri, 14 Jan 2022 10:26:53 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next 01/11] mptcp: set fullmesh flag in pm_netlink Date: Fri, 14 Jan 2022 18:26:20 +0800 Message-ID: <73d69473106598109da2db398f9eb57ca1a3947a.1642154579.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HKAPR04CA0002.apcprd04.prod.outlook.com (2603:1096:203:d0::12) To VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) 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: d1c5aab2-6c30-480e-49de-08d9d748620a X-MS-TrafficTypeDiagnostic: VI1PR04MB4317:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:392; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oTkkiTKP1mDUjlJugHjCwhAh1UMG1t+kB7wVbKqntvm16VqJO8ckRpj//W/sh75antOfGd3tditJEIwh6OYuxhIOhPS2FJLeaUKrm7hkB2tHrfOReV5TOSQ0afSzMQKXZ8b2+/syURwBBlLbL286uq6fZ+TNNsmv7VDW7344mY9A+WUs9t4HZbxtWwdkS5gZ9c0HkevmPU+MORbOffTLkimcwG4Y7dJVdWGDcmPzBHIDUCWKcWh1bG9l/6UiP1GsRLplgd8FW9g154P22kpglluU3H+6NSyle/TdUP1XuZLEi13rAwuPWI2V5maoF5BH6dJRw3XR3uXREDCutIqJxzpsFrFjbDmXfbzSPlg3ZdWruuYvb9NGqivrRpx/QYaDKQ8dbfVEtT+Bad+FS4IHtrV8v55nPiaEOgxwrsdvTO0lUU7H3Dsyce7tQKsopjMaJx8bqKqtUStD++spzCJSiXXY/ahqGF3NAJoJk7mPEzD23awUOGI7zAzaWKML2OiJa6Hsd89tazjlNzHJZmnOK1wO/VNHdIMcdBaHs8aqdgeUhIL4YWAf8GzdUKiEOkgVZlOOmaNbnjY9kg5y1tSjRfkvmEdzdwbtgavXaW3BZPc0fQaSp+rDpI14/f+OTlGNKKJUb1ehc8+eufY89rWCVw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR0402MB3503.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(316002)(55236004)(66946007)(508600001)(8936002)(6512007)(6506007)(26005)(2906002)(107886003)(83380400001)(66476007)(5660300002)(36756003)(8676002)(186003)(38100700002)(6486002)(6916009)(2616005)(4326008)(66556008)(44832011)(6666004)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Ihgqpe2Ae/aNhC/IHDiUUSSnVj/rTx3AQKenREW97L+I//HqvlKjrp+JfLin?= =?us-ascii?Q?tLsCbknVJQiGKRHxkipMrFttNeaWD6F65A9bF1ugnO2JiZEYcpwykgkfVj54?= =?us-ascii?Q?szVuF0cueURLl9JX8zo62Ix5LRmLrEqylVY1yIQSCSNZ6TPumw2I32RWsOtj?= =?us-ascii?Q?inpHQJJ8amZxwKlfRbzsKcdgvoaoI7LQSUXA3sqA5WAD1uEZJ2Kq6Z3ZTnE6?= =?us-ascii?Q?yS9pVdAhLqFig5HUGtZr+9gvGNTN1DTT1aB0Bd31GrGypQcvSdyETdoQvNeK?= =?us-ascii?Q?ydgXGp1JIGH/DsZja8LZOhmb9xZQjzvXAmXqFinBwkH5ZQNfLAUcG98gBxRl?= =?us-ascii?Q?RZ/Vej5gntfHNrWPoauxcsQI517W0zd7nZacBFsE6ryhKkmVbJULDkCymMsP?= =?us-ascii?Q?T8txhr0IXmqe1jqnTgs7dmnPQk3TgrqRzit+HMUU64lmPino55nlTbNFFM2T?= =?us-ascii?Q?xn2PewfCU/nV3RIN9oan2C3euQN0XE/Lc+Zgrzim+7m8aQPQH8zQoeSQra/Y?= =?us-ascii?Q?QGO2NdZTGQvaKHCQIEGNTuhurktJgdXQCFax0Ja7iffGctq/cVbS2u3nx907?= =?us-ascii?Q?o4CmMgLqk5NqNxxWrV9osfzxM+7EfzaEf++yRTMIX90QZXoe4RFeM2RqDk5E?= =?us-ascii?Q?6QG2uYatUwmD22dVlKnba7oPCuP7KNbFNJho1lRGpERptbZN1yHagg/bqIn/?= =?us-ascii?Q?b2wfnTQwTw8BhyMMVUnw7KTkseozuBlXHa693YM6TVBdWNsDus5kad6dW4iy?= =?us-ascii?Q?I89egfS6MFoqPubGyl5NH9zgkFS7wNtcdIS0fH8Xm4vxRyIyqC+zg0GkycPg?= =?us-ascii?Q?7P6TeWMuGAbJ6pP9JjvqQoZJH8bJagceM0fp1okESLLDHzEnbbrCSWPEQXMO?= =?us-ascii?Q?XVJl5mabP37lRnHHeeNJ4gefXFrlX/Od4b4iMGUmlkeGnfLGt2U2jKeWZ9T0?= =?us-ascii?Q?9nLIDFVUpNy7z5ZcgaBcUW5kU3fjuRnufUZ6KREUqqFrSjb4szL8Z0LxeDJN?= =?us-ascii?Q?zOXztYwSe7kp+Ib2UKZIJ6HFXprRVX0FX3ijKHIkmxFKUqsUG+rtqryIAtmZ?= =?us-ascii?Q?bNMsG3IWWBrBt+b6UfOPcRDMOCseeETX3dq31L9IrmU6ZzGl0AVVBkP+byGa?= =?us-ascii?Q?KbXR7sC9jkefvOh/ax7zv28Tl/sQLPPHvNfClAhWC3WWFLHBxFthkbVLywRe?= =?us-ascii?Q?Kc2vukRFAfkaxLBcMDv0sWF7tclTdSG36jj+kF6Q792oKfJHqsl1O6sAe8ui?= =?us-ascii?Q?J65uSxX7CBwgE5cVQfQl6iysHrCUCon+bpV7tYFJYsvWLOwE2gfUZi/K1uuq?= =?us-ascii?Q?EM3J0bMmOQuqe3afOawtRVeFImd1mmGn5fgwrZh071oa1lHuQ2K/5qJoThYj?= =?us-ascii?Q?H+Z+thCRlCf1yeHuG0/YKs6fAHfQUzlcPOhN8O+tyf4E+rS42IgFor9uf7jz?= =?us-ascii?Q?0qQ1eYRjJeQ0ak9a/xq/OJzh60FuPa5MpY4SGmVAQy5Z9/smEX/P6li53ZaZ?= =?us-ascii?Q?C0jWYk5m1Lgng56/xwJdYgV72ilFr6pBPIBoNVFcK5dvqkn/VVSadxZMsNmW?= =?us-ascii?Q?16dgl61PE4/uGGJainQ3vipEOMMtzZyqR1P9jVpoo1XE7odWeKItQfSyrI6w?= =?us-ascii?Q?X6Ai+uvHp50+eam/enb9UFQ=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: d1c5aab2-6c30-480e-49de-08d9d748620a X-MS-Exchange-CrossTenant-AuthSource: VI1PR0402MB3503.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 10:26:53.3188 (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: CXp+AWwV9jeamdYv8cdf6SPzeT7yJ6XBpe0ZS5E1yRYX4BFZfq9GQb2a2lgSMxCrRPODcQvYRifn+XZtDXUaWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4317 Content-Type: text/plain; charset="utf-8" This patch added the fullmesh flag setting support in pm_netlink. If the fullmesh flag of the address is changed, remove all the related subflows, update the fullmesh flag and create subflows again. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 38 +++++++++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 4c06cd6381ef..b86bdb6cd0ee 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1722,9 +1722,20 @@ mptcp_nl_cmd_get_limits(struct sk_buff *skb, struct = genl_info *info) return -EMSGSIZE; } =20 -static int mptcp_nl_addr_backup(struct net *net, - struct mptcp_addr_info *addr, - u8 bkup) +static void mptcp_pm_nl_fullmesh(struct mptcp_sock *msk, + struct mptcp_addr_info *addr) +{ + struct mptcp_rm_list list =3D { .nr =3D 0 }; + + list.ids[list.nr++] =3D addr->id; + + mptcp_pm_nl_rm_subflow_received(msk, &list); + mptcp_pm_create_subflow_or_signal_addr(msk); +} + +static int mptcp_nl_set_flags(struct net *net, + struct mptcp_addr_info *addr, + u8 bkup, u8 fmesh) { long s_slot =3D 0, s_num =3D 0; struct mptcp_sock *msk; @@ -1738,7 +1749,10 @@ static int mptcp_nl_addr_backup(struct net *net, =20 lock_sock(sk); spin_lock_bh(&msk->pm.lock); - ret =3D mptcp_pm_nl_mp_prio_send_ack(msk, addr, bkup); + if (bkup || !fmesh) + ret =3D mptcp_pm_nl_mp_prio_send_ack(msk, addr, bkup); + if (fmesh || !bkup) + mptcp_pm_nl_fullmesh(msk, addr); spin_unlock_bh(&msk->pm.lock); release_sock(sk); =20 @@ -1757,6 +1771,7 @@ static int mptcp_nl_cmd_set_flags(struct sk_buff *skb= , struct genl_info *info) struct pm_nl_pernet *pernet =3D genl_info_pm_nl(info); struct net *net =3D sock_net(skb->sk); u8 bkup =3D 0, lookup_by_id =3D 0; + u8 fmesh =3D 0; int ret; =20 ret =3D mptcp_pm_parse_addr(attr, info, false, &addr); @@ -1765,6 +1780,8 @@ static int mptcp_nl_cmd_set_flags(struct sk_buff *skb= , struct genl_info *info) =20 if (addr.flags & MPTCP_PM_ADDR_FLAG_BACKUP) bkup =3D 1; + if (addr.flags & MPTCP_PM_ADDR_FLAG_FULLMESH) + fmesh =3D 1; if (addr.addr.family =3D=3D AF_UNSPEC) { lookup_by_id =3D 1; if (!addr.addr.id) @@ -1778,14 +1795,25 @@ static int mptcp_nl_cmd_set_flags(struct sk_buff *s= kb, struct genl_info *info) return -EINVAL; } =20 + if ((fmesh || !bkup) && (entry->flags & MPTCP_PM_ADDR_FLAG_SIGNAL)) { + spin_unlock_bh(&pernet->lock); + return -EINVAL; + } + if (bkup) entry->flags |=3D MPTCP_PM_ADDR_FLAG_BACKUP; else entry->flags &=3D ~MPTCP_PM_ADDR_FLAG_BACKUP; + + if (fmesh) + entry->flags |=3D MPTCP_PM_ADDR_FLAG_FULLMESH; + else + entry->flags &=3D ~MPTCP_PM_ADDR_FLAG_FULLMESH; + addr =3D *entry; spin_unlock_bh(&pernet->lock); =20 - mptcp_nl_addr_backup(net, &addr.addr, bkup); + mptcp_nl_set_flags(net, &addr.addr, bkup, fmesh); return 0; } =20 --=20 2.31.1 From nobody Wed Apr 24 14:45:30 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:b119:0:0:0:0:0 with SMTP id r25csp198675jah; Fri, 14 Jan 2022 02:27:06 -0800 (PST) X-Google-Smtp-Source: ABdhPJzXBNbVKGmGRW0ouapK7g+zmxAI25UTjozQvavxLBQ/nxCCuxFTO/crizHwAvlPzL+Sf5ue X-Received: by 2002:a05:620a:4590:: with SMTP id bp16mr5657753qkb.157.1642156026745; Fri, 14 Jan 2022 02:27:06 -0800 (PST) Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [2604:1380:1:3600::1]) by mx.google.com with ESMTPS id g4si2685830qko.191.2022.01.14.02.27.06 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Jan 2022 02:27:06 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3139-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) client-ip=2604:1380:1:3600::1; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=ifBewEUa; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3139-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3139-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 562971C0BB1 for ; Fri, 14 Jan 2022 10:27:06 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id EE47F2CA2; Fri, 14 Jan 2022 10:27:04 +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 C8D5C2C9D for ; Fri, 14 Jan 2022 10:27:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1642156022; 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=MjhzF5PoEJuwwWAa22cnMbzTBhyfzDBP4zMPxwH47Yc=; b=ifBewEUaj2cUpCHbotI/DsAnyiggKLVW/dVvDaxNxWOcuW59107c3Gld9yIojkG7o1LAF1 2I9c9O5OsvMeCLu6Z09ZeIX86hAzUAHid7c6Lg5Y/SMM5IrrIlZq80Fo9BHn/5oEK0N+O+ UtSoo+anXN20K1lNgN6Gy2sbQNOzGzQ= Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04lp2051.outbound.protection.outlook.com [104.47.12.51]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-39-gOsYFcRJMWWks5tJcwpngA-1; Fri, 14 Jan 2022 11:27:01 +0100 X-MC-Unique: gOsYFcRJMWWks5tJcwpngA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y3TSitaJCpeuPCfJev3Ls80cniF1vE5NQ8VZcktZ5EL0qSdP/TDOlOsKRg6eaOsfmNaHf2ZgIafwbuBz9SSZkl7FidyVlz3jnEL+TZoH/oLCkuTfQ1ljVvuVj5fBAyN4y6R21Vu6MTwn9D99NtGhBq/tMr8ot3RlBuCz4mP/EJHHlprvIfHe4QDYg4jDH+ab/KgXyDN/a9L7XxxFLyUKTwYq2pma6yY1b7B/Va63MBfQBvvT4KPk4gWQfYr4qv3yQhKbrlwwyKR7YFbEyk1pdMRL57GP3CQ8Zk18+lmbr7YhSC1rYpe9mZxf4VMjYRI8pwYQWXlHJZEc8xTQH+dFGA== 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=07GI3ftnUr37Z1HJrB3SsxT0T9Jz3pwnTguJIgU49KY=; b=WhJcBQxhAPPVAonaYPqh5bxrBt/2GLQnkHhK47rC5U+G4ZbFvs1+N0B+J5Ztnw5CvosiNw4jhQ0hxcJtcZD1tgI8kb9mpBtGDe89cEh7DwBECeW9GTDGp2XQSWPkgYtVgCfRJVMls7GQy/DBMpfm4//92d7k1nGjbA3dvJ3wtwHCqkIbIgIjkEHsA/C4y6nRcH1UCDfNHVWBskXoVDH0g3jzO/gRpnx0M2uRCZP44srMdLqccTpgTGGUVccu2R1ifKDs1dbutwnxCHLXgIpac4w9ElA6YZDDVdpvbKvPjjBBeiSHBuQr/vxtRw+vQXECwOdMxl2S3bWUUv32CoFreQ== 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 VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) by VI1PR04MB4317.eurprd04.prod.outlook.com (2603:10a6:803:3f::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Fri, 14 Jan 2022 10:27:00 +0000 Received: from VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484]) by VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484%4]) with mapi id 15.20.4888.011; Fri, 14 Jan 2022 10:26:59 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next 02/11] selftests: mptcp: set fullmesh flag in pm_nl_ctl Date: Fri, 14 Jan 2022 18:26:21 +0800 Message-ID: X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR0302CA0010.apcprd03.prod.outlook.com (2603:1096:202::20) To VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) 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: 02e27360-e2ab-4439-9460-08d9d74865f3 X-MS-TrafficTypeDiagnostic: VI1PR04MB4317:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2887; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: d4wsTR/9J11lTyzn77DZcGEJ6ciONissyXxVgW8H0EJkH1s/7OKxHTo5EzETDilHVJpDDywp8B0zqnlrsBszDQHClx75pTZUVywAXYFxBQ6p9ncTRbQvk/d48LRl5EAQ1ype0IotDIrlSGH0sLrFx0CllEMf5HBLBR/fyo7XWUzvcjEZSPs4DGbgyPGASHfXmsFJwKHSrVYc7m7ULeHSI0t/p6ItLmYwcIVFWNJ05hmNoLwIn/SJ6oqtdemj5P4zwMudCfhYDdxEyPPAbiHT6Zi8bCxIr2YDCvQjbkNfcr/sBAViwGdBGe+qp5RiZO/ckMRD3Zl+e+hSA6x+3NsEhATZczNLu1O5AEW5l3+S43XJxI9IdoEwr8NweHjK0pC1R7XtVzSWzF9xXOGoRQt8wEFt8aGOvAXa4oTPtgD5GkZkztuWCclie339yiq95LM7oHcs23hPEGfHJN2z0pfaVvXii5xTsAXWoicV6hzXbvNGshbkktnvbUXjZp1LMO3c8RP9jDJE9zTX+/XTbWhmiVBuGR3z3MfQ5qZF6EJnKs/49nqEYg7Y9tbccuaI9Deflu6V6iYXc9ey6KfYEVDOqa7WwOYFV1knZmm8CY2yFwSyM7Ul55c/oz2RP50iB1o/kiFnaDgXwU3PAdFPuzfEKg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR0402MB3503.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(316002)(55236004)(66946007)(508600001)(8936002)(6512007)(6506007)(26005)(2906002)(107886003)(83380400001)(66476007)(5660300002)(36756003)(8676002)(186003)(38100700002)(6486002)(6916009)(2616005)(4326008)(66556008)(44832011)(6666004)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?khXriM6RX4uff1VLEXfmnwBQaXvRtQ7jKjJR506UKWu/n9o2hj3y+2uQqGs5?= =?us-ascii?Q?4tOlPByfT+HYoz5KjioFHC3zaWXKIgu42QHg7sAenWEzuuH1UpSWIanytFCe?= =?us-ascii?Q?bWosf0ML3I1BJDW4dHXd4EnQ/grWlDvmB/t9JKd6gWH7dSwWyZUJSAxsIyfb?= =?us-ascii?Q?rcpSHTQmzLF8Z1RpOgDn7y+24Sc5eIDgXr9BAe74N5xj5SBwxdWcGUny8hdG?= =?us-ascii?Q?SqSWTPvBVSVgE2DGJWYMtFNgSZtE9ZGdAmBcNIGAFCwrFnn6zWC2SFxuj029?= =?us-ascii?Q?6+RpNTFGA79gAC7z9R3P4gvgqUiDmZi2MrVaPxB32n84NkTXtIZNUQsDtneg?= =?us-ascii?Q?ny2aT9Jg/hN1jLKe1ffaLzi3aKp5IJXuSkWDYXVpgirhZgpn9Xb3o+fRXl6q?= =?us-ascii?Q?KY9NI/GsMHF8KupEfA85HZwqtCtSYOCsloFMnu0mVf880xfU0+ZrXYAq07oW?= =?us-ascii?Q?RgiF6j9uv+AbiL3oibreLcd0whakrCzdYxpnTFZauy7PusBqPe/CdYJjvOyk?= =?us-ascii?Q?ucu62pxMbBeaIngK0H3WZfk8vKDlPMgQTCYNnn1MR3u+d0gAjRveqjM+XxZE?= =?us-ascii?Q?WyUCs+/yVLasY0w5i94p15y/Gxsq6LGJp2SR6avp2GHcWA+YTGMEX6+aun1p?= =?us-ascii?Q?sdicE/8TXGwQ+Iwvge5b5Yf5CvIW4MVTinmpwSX+n7fv9PUXC54U+49FNQ4q?= =?us-ascii?Q?/rnFl9cqHlnWuPfIstW4/G+b+gTE+AXkEvZwtXzmQTm/a3p13hlbl2JAd86e?= =?us-ascii?Q?O1yhgHCavB20tiT/Zj28B21PaYqTV7SthHu3PlZXxo+lKNW2IhC+nbT5m8uY?= =?us-ascii?Q?taa05qCPy/tM1bnqorBdJSVpYaoIMehcdE5zQGMebDBbdrnsdmZpExP+3fkK?= =?us-ascii?Q?SmBxlPUcDHW4f0Msaha1GLz7a3WLPwvLbQ34D5y2R2KnevOUM8hvIoGkH8pL?= =?us-ascii?Q?10qjcaJmc2ZaIzgNoYLpsxgDPyRlsikFzFTm0roX313ZtDhwXaOS7oppkKJ7?= =?us-ascii?Q?I3oY4Jr6pW+AwOsgU8SzSmVPnycUep8c9PqvyykI1BvJJ8/qGDuCr34HBEJ5?= =?us-ascii?Q?u38TD9AP5lljlRVQ/fSGGi2csZtgoFZF9gvO+xOc9WAE9uus4YVKVU2Ir9HV?= =?us-ascii?Q?HmB1nggM+kccb8zYQLktnvVDH0qzui63PwUxwhn/tHtc9bYykC4rDg0PzXdO?= =?us-ascii?Q?3T/codDWUvZkZLMN2wxkv1h9YUbGJo0KVhsM+/vYgW+i/aZ01uWF3NlvONIF?= =?us-ascii?Q?CmK+NRk/TBO9QOGkTRCjUQNgEKLcVlx2cFaPmuIsWva+CMmI/xUEmNgiB4Cu?= =?us-ascii?Q?aZyX4wcWmuCtR611kcPDHgQR2Mn0wxDPleluFd2w32Axbf4p47jyuOPF9WKA?= =?us-ascii?Q?Yz5YkpFO0IRtuhzTjBoJqzFJffrwWdQrGk19nUuG9k/Luw3McvUygjM2vgyr?= =?us-ascii?Q?Dm+cocmaTFguryw5wSTqQHNJD91UnIOsOJCnJAs5fFcpTFRzro21vsVBPF4E?= =?us-ascii?Q?CRBx03t3kHM0XMTJCXJwJeYYagaeHJ/BYNxyky4mryvNU7WsCXU5ZlMBwx8N?= =?us-ascii?Q?GJ6kkVS8QF9EbVra0ypcZwReEL+ttSCNrheeL9WXUdaTJppi70KL+D3vZ/NL?= =?us-ascii?Q?FQoKY0taPTn4+XX70K/mOSE=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 02e27360-e2ab-4439-9460-08d9d74865f3 X-MS-Exchange-CrossTenant-AuthSource: VI1PR0402MB3503.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 10:26:59.8964 (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: Ywaq/7P7sSNskPAXs3TdaFm8WQnzeSV6b/ncPT3DjemodGX9Yf/E2gZdb/YGGNJlVLM5Mq7SHe3Z/KH5sNr5WQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4317 Content-Type: text/plain; charset="utf-8" This patch added the fullmesh flag setting and clearing support in pm_nl_ctl: # pm_nl_ctl set ip flags fullmesh # pm_nl_ctl set ip flags nofullmesh Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/pm_nl_ctl.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c b/tools/testing/= selftests/net/mptcp/pm_nl_ctl.c index 354784512748..9b6db9d77223 100644 --- a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c +++ b/tools/testing/selftests/net/mptcp/pm_nl_ctl.c @@ -28,7 +28,7 @@ static void syntax(char *argv[]) fprintf(stderr, "\tadd [flags signal|subflow|backup|fullmesh] [id ] [= dev ] \n"); fprintf(stderr, "\tdel []\n"); fprintf(stderr, "\tget \n"); - fprintf(stderr, "\tset [flags backup|nobackup]\n"); + fprintf(stderr, "\tset [flags backup|nobackup|fullmesh|nofullmesh]\n= "); fprintf(stderr, "\tflush\n"); fprintf(stderr, "\tdump\n"); fprintf(stderr, "\tlimits [ ]\n"); @@ -709,7 +709,10 @@ int set_flags(int fd, int pm_family, int argc, char *a= rgv[]) str =3D NULL) { if (!strcmp(tok, "backup")) flags |=3D MPTCP_PM_ADDR_FLAG_BACKUP; - else if (strcmp(tok, "nobackup")) + else if (!strcmp(tok, "fullmesh")) + flags |=3D MPTCP_PM_ADDR_FLAG_FULLMESH; + else if (strcmp(tok, "nobackup") && + strcmp(tok, "nofullmesh")) error(1, errno, "unknown flag %s", argv[arg]); } --=20 2.31.1 From nobody Wed Apr 24 14:45:30 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:b119:0:0:0:0:0 with SMTP id r25csp198756jah; Fri, 14 Jan 2022 02:27:14 -0800 (PST) X-Google-Smtp-Source: ABdhPJyYLgzW4gBiMiYAn21GjDc1xFtT7S/L1ky59b0UfflNDLUhPsa/GD1l7rtNJsJXFhmVVXLv X-Received: by 2002:a17:902:bd4b:b0:148:fdda:e85b with SMTP id b11-20020a170902bd4b00b00148fddae85bmr9240864plx.116.1642156034633; Fri, 14 Jan 2022 02:27:14 -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 t1si5781729pfj.0.2022.01.14.02.27.14 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Jan 2022 02:27:14 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3140-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=hAl++Mur; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3140-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3140-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 35E873E0FB0 for ; Fri, 14 Jan 2022 10:27:14 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 4F7302CA2; Fri, 14 Jan 2022 10:27:13 +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 DD1C72C9D for ; Fri, 14 Jan 2022 10:27:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1642156030; 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=KrQSPz3zRN2b2H7A/MUUj/os+XGbVVO1bEx4irTaHwM=; b=hAl++MurihjNa9KD21pXQuKbsjwGZjpnPB3jmXos+jU/Whotzj0O42e4SaeuHflmxrPZO0 pjk66fBKSYIEPxo5cyP7gaLUEVCAPBiRp45zhxJieMktOKn0jjmPvK5T/gYZ6MiKZBPyxe hAfr1qKhYOv16VIhgIdAGRAFC9TBluM= Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04lp2052.outbound.protection.outlook.com [104.47.12.52]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-34-29i6__-JNwKPeB0ayOJOyw-1; Fri, 14 Jan 2022 11:27:09 +0100 X-MC-Unique: 29i6__-JNwKPeB0ayOJOyw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OyOGpFYEbjQxiFy2QmTOjeLv4ocZF4yiwmDfDvLh7NovHT5n8Al7hViJT/EmSyg/AhCO4EfX207RRVEbXVe0RBtE8fYS9AwRbsLTpFfL6auOZ5BLzGRLrLOFlFgmAjYVeu6VcbJ0PswIQHYYS3avz1zHJxp5noff9PxDp0kOQMAssVGN9CRKSnIMJSqKrXBZbadVpZo2Ow+p3p8OHjdiKHIFQKG86LdAJbrpD3n484djtX3jZsctsUZjWm6bVT+fE9HbYbgGTY+g3oCdASM3k3RNgsDu4MqMHhyVHW5MFizzrgszopFcWK8spLAmJtVqsmYJvhitJwm1UvjVnSMqgg== 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=96eBrbPswxSsJepKyE0ofVP8Ku9aw8pjkQAZLe0zlMc=; b=SI9x8lrBV235jEEWUlf80Dduo25DMi/98ljVT4hlKJfs9FnAr/X9pH8gjX8rRt+hPILN3qZ8a6iIU9Y6d31C2aFKx/ISsVH9yytjfzpL9xk2gHIo7Fv745hXDdnoZxvcGfaoEu4L1Ku5jDi14fNqIjehqntugT1XgxvXefVfxmzXpHzzepYDFxaaIQgzyhOaHVJSlEGqfe4bPZYEmIKfo3hsx1aMd7siP5SZavqdPAyo7/YthS9rOjPxtq1xhU2rW/oDAu1BKAdyBXhWX4pgoxtNHMGR6f4kYGuRwm0jC+YNF3XGhuw1IWUh+4Croscm6BwfB+sCg1mnm+khpbrLEQ== 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 VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) by VI1PR04MB4317.eurprd04.prod.outlook.com (2603:10a6:803:3f::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Fri, 14 Jan 2022 10:27:06 +0000 Received: from VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484]) by VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484%4]) with mapi id 15.20.4888.011; Fri, 14 Jan 2022 10:27:06 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next 03/11] selftests: mptcp: add fullmesh setting tests Date: Fri, 14 Jan 2022 18:26:22 +0800 Message-ID: <9faa0a7cc6df3469d98dc902bcfc472bd300cec3.1642154579.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR0302CA0015.apcprd03.prod.outlook.com (2603:1096:202::25) To VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) 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: 9f3d844a-589e-42cb-a178-08d9d7486a00 X-MS-TrafficTypeDiagnostic: VI1PR04MB4317:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5516; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: b1fkUsbaeiQh+4PO/qqb9I4oqNXE/1tNenhgwUj/RMaNa66HYu1lw39IulJhu9nrqnAGRodB0JXOIdVa17aawV9z72IPGEOtp1jMoHgPLP4RtvqpyAGZufT7wz7Pj7ZF2WJ/Rua6RcSnjPA7t8FSxRM8AmY8veib2m0BsmGR773x5ojK7GB7s9U3nbzSlf8t3EzcR29Q8xj1v30XqGMUEOfnDHvtv8tPhDSekJ7P9p0YMn/ZOA4vSVJPbyTbBiK7SAsqHN7PXhq1A/zLkB5HfLtDB7fNhkqauJqhgPl6Z2g322KzuyVqAQBN96xC+IjBdX9UTLSOnsKaSRcVTXBGYJ4CNm0e3D89eqiMcvl7brzYwvju6GosYkhSfBoYmIh/WYmkVYUYOROpYPdpXYHSWXKEHgtjW4J8OEZvWoA7aPNBZ/Lz81YgkzGBCJhRFYRwhMjAk42d7/eMapGr3MjgZDUxE3/hDrwo/4iFvcileAaF+A1Dr3sxj/LGW+Zbqd0FHRB9VAuRs8Rx9YPbQh5yQV4hbJd6hGyiM56EZn6i2G763fwehIra/RV9fI8NlBAuPqwhY79vBUkZFKOSenG4Fb3mBY8LR2TyZi1kDD2tXiaHdnR2nvOkzxi1kBUzoxZgQI9vxLtO3n5RlqNzQSF4eg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR0402MB3503.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(316002)(55236004)(66946007)(508600001)(8936002)(6512007)(6506007)(26005)(2906002)(107886003)(83380400001)(66476007)(5660300002)(36756003)(8676002)(186003)(38100700002)(6486002)(6916009)(2616005)(4326008)(66556008)(44832011)(6666004)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?w6rHqaIvyDmYd3lRF6Dwi8ZuTguvK9F9c6OZ+wvisnrvaSn0504CRzTzzUGH?= =?us-ascii?Q?HxupaP7T8oLquuEdtssFruk/3IC3LDYerrIvbNVPBAk+YMiXTifffH4JeC58?= =?us-ascii?Q?ZX+O/1PbR3x5k7e3LZvBbpnctm2TUmHjBmDwkQDwERaFrkWdHspSjh4tyL/6?= =?us-ascii?Q?c4fKygpj4KtrSYuPCZMhUt2EyU6ajbRrm6DRsHhwxHQrvRWLv3NDWfYXb3E+?= =?us-ascii?Q?owZX1H3XxWVoDDUTf7j3u8QCPLgzZwa2E5tAqjG6zXuUxCWNcuTdQb5ZFCIS?= =?us-ascii?Q?Q6kjPvINSzvgNbkyHfNhTNK7wnkLegR5BptYbL/HNvKE8hehWIADuzkJTHEj?= =?us-ascii?Q?rruS6Y7qsGGz1S5g8imSftvqlqfWl8PSobZR8mCCvCHwp8dvMH2o7yI1wuBX?= =?us-ascii?Q?feLzwwoUCAtRHDTxbDIWnadNbRdc/OMKpZhVLZkfGoK0YpXqN4DoHC9mWoyO?= =?us-ascii?Q?h6ahVLQqHICSYVbuI60n+sJSG1tHSNGnaQS+8QjEzxiSdeARZQ763lxOJBAL?= =?us-ascii?Q?3PKCZsRE2PDvCrAeAW+a/5W/Ron0MlKmfl4LMDf5Pvw05qoxR8VXK01x77Gb?= =?us-ascii?Q?P59SrN/L/B1F+SbLZw2OXw2pO2q1wHWB9CvCm+63b5dcmSILzx4CeARt8EWC?= =?us-ascii?Q?7u31Nh0gzROYTtnbMw/sKmPfxGzEegOwWs39zvh3IYW/AZD0+NVhGTDlSk5l?= =?us-ascii?Q?MffUq1qMYCPtDCZ9I+NaNIYHxUHxdVTBC4wG8sRn+wxT3P/zlFDkUyyWCRVp?= =?us-ascii?Q?k64hZ4wWL7jE5dYNtHaSfTezncD49JPGGZ6CozSczJaeO8noJD5vSAcJiq+H?= =?us-ascii?Q?ODleMcdll3AUk9QuLzgDuUAyzXLJqwaUgQNOxdN493pcqRZUqdYsjn+n8W3P?= =?us-ascii?Q?Q2PidiNHYkj9W/Ikwc+YFlcJVzoaElqaDDYloHAXNDJ5XYw/JMD+YjkGv+yf?= =?us-ascii?Q?WYlwidM/2sX73uFwRJ2F6uWjYNuL/oPJur5td8LFYm/7fEhzgYx6Rhb0nBi2?= =?us-ascii?Q?bkBsDQUcWP2BT85ZUR0cJYBMau+DH6LjOtwvTEUtUuEgbnkjEtHWWq6XskFT?= =?us-ascii?Q?e6CtzNryMSMM2hcamTNlT6s77j7AfuXXrVDX5j0eaQzncGoV9NHf1ah1yu2z?= =?us-ascii?Q?RahSyZFzfeE2AVEyIHG1NbaZcsIcspzkLwcvoS2YQuCxsvTUjDyjGUFOJrik?= =?us-ascii?Q?C+9BmZL1KBKtOid0laEbO22OCJdPnWeuCufxRQtTG6aF/mBANEhTVkHNmzgT?= =?us-ascii?Q?/3Ls1qcf8vZyf/CdixlNQbK9fyELWREHhcPhMOZPXGzch/XVBxnvnwlwRNV7?= =?us-ascii?Q?+sJaBdc9+ATs567vv8CPxCH7P2UpAt94avOcRN17/3obaamZOJUvSBgGDfhw?= =?us-ascii?Q?0th2btsQmSdOF//W5/utn7RjIJz0lEImhhReocULAZq5kRB/X51vOymXQ5FB?= =?us-ascii?Q?D+/WvFTm2s/hRr0ra0x3ztX5TP6SK8olVjhiuADizDZeKALmj7ddIPL99xEH?= =?us-ascii?Q?7z+lNQQ2WIY8b34BCMFmrhejaae9ZUU9wPtnUa495zbZDmy65C2tfBSElYTW?= =?us-ascii?Q?cgfq8v/i+wZCGwr9WtCU0BwtbqVP4FEhXCgXHDsVOJTGQHe/Y4ACHR4sSNDa?= =?us-ascii?Q?GIdzxNQw3TJANyiJg2nqLOM=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9f3d844a-589e-42cb-a178-08d9d7486a00 X-MS-Exchange-CrossTenant-AuthSource: VI1PR0402MB3503.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 10:27:06.8647 (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: rMA+6Qu0Nc3/J/NV7crLLe34T4dnVMrbP0X1hr9Ha/gdveNcz7jdjX+leOCRn+si6ToESpT2EBwAQfkoo/oo2g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4317 Content-Type: text/plain; charset="utf-8" This patch added the fullmesh setting and clearing selftests in mptcp_join.sh. Now we can set both backup and fullmesh flags, so avoid using the words 'backup' and 'bkup'. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 53 ++++++++++++++++--- 1 file changed, 47 insertions(+), 6 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 2be3cad4b52b..8286ef2f76d6 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -290,7 +290,7 @@ do_transfer() addr_nr_ns1=3D"$7" addr_nr_ns2=3D"$8" speed=3D"$9" - bkup=3D"${10}" + sflags=3D"${10}" =20 port=3D$((10000+$TEST_COUNT)) TEST_COUNT=3D$((TEST_COUNT+1)) @@ -462,14 +462,13 @@ do_transfer() fi fi =20 - if [ ! -z $bkup ]; then + if [ ! -z $sflags ]; then sleep 1 for netns in "$ns1" "$ns2"; do dump=3D(`ip netns exec $netns ./pm_nl_ctl dump`) if [ ${#dump[@]} -gt 0 ]; then addr=3D${dump[${#dump[@]} - 1]} - backup=3D"ip netns exec $netns ./pm_nl_ctl set $addr flags $bkup" - $backup + ip netns exec $netns ./pm_nl_ctl set $addr flags $sflags fi done fi @@ -546,7 +545,7 @@ run_tests() addr_nr_ns1=3D"${5:-0}" addr_nr_ns2=3D"${6:-0}" speed=3D"${7:-fast}" - bkup=3D"${8:-""}" + sflags=3D"${8:-""}" lret=3D0 oldin=3D"" =20 @@ -575,7 +574,7 @@ run_tests() fi =20 do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} \ - ${test_linkfail} ${addr_nr_ns1} ${addr_nr_ns2} ${speed} ${bkup} + ${test_linkfail} ${addr_nr_ns1} ${addr_nr_ns2} ${speed} ${sflags} lret=3D$? } =20 @@ -1641,6 +1640,7 @@ backup_tests() 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 + chk_rm_nr 0 1 =20 # single address, backup reset @@ -1651,6 +1651,7 @@ backup_tests() chk_join_nr "single address, backup" 1 1 1 chk_add_nr 1 1 chk_prio_nr 1 0 + chk_rm_nr 0 0 } =20 add_addr_ports_tests() @@ -1922,6 +1923,46 @@ fullmesh_tests() 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 + + # 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 + 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 0 + chk_rm_nr 0 1 + + # 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 + 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 + chk_rm_nr 0 1 + + # set nobackup,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,backup,fullmesh + ip netns exec $ns2 ./pm_nl_ctl limits 4 4 + run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_1 slow nobackup,nofullmesh + chk_join_nr "set nobackup,nofullmesh flag test" 2 2 2 + chk_prio_nr 0 1 + chk_rm_nr 0 1 + + # set backup,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 + run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow backup,fullmesh + chk_join_nr "set backup,fullmesh flag test" 2 2 2 + chk_prio_nr 0 1 + chk_rm_nr 0 1 } =20 userspace_tests() --=20 2.31.1 From nobody Wed Apr 24 14:45:30 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:b119:0:0:0:0:0 with SMTP id r25csp198853jah; Fri, 14 Jan 2022 02:27:21 -0800 (PST) X-Google-Smtp-Source: ABdhPJw3VQNCqkMwKjKQ+x+5O9e86n/eJ4tIZlxHadZW46o8cY8/ch0aVEmAEJPFPO22HpLZ6Ytn X-Received: by 2002:a17:90a:5d8d:: with SMTP id t13mr10007375pji.47.1642156041216; Fri, 14 Jan 2022 02:27:21 -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 f7si4954683plo.148.2022.01.14.02.27.21 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Jan 2022 02:27:21 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3141-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=CZbA6iYR; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3141-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) smtp.mailfrom="mptcp+bounces-3141-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 8F9A83E0FDE for ; Fri, 14 Jan 2022 10:27:20 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 857102CA2; Fri, 14 Jan 2022 10:27:19 +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 41CD42C9D for ; Fri, 14 Jan 2022 10:27:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1642156036; 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=W7UgUhY7NAo4dsenNOuxQoreUuGy4nPUHuHWIamzIAM=; b=CZbA6iYROycB7fPnAN9v63Irm7qYJ3BIloesi9VZhH2atzaDrE8RyL49F75VwSG/I2i5TX IRDt39tfxKOshiO3Idc/ZKpGWd0w4jpMXa9YfokG+kvdM1yuwipOZtFu4Vi3+8PsZT7gZ3 cR2h6q3WttW6TRRHiqyvqWJi5rZYLSI= Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-8-HKG-p0G7NYGajTb5vz_Hhg-1; Fri, 14 Jan 2022 11:27:15 +0100 X-MC-Unique: HKG-p0G7NYGajTb5vz_Hhg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZFzty+5UzMO+D1gUa7kJq53xC5tTFPQ/RyMXCgtHQwDvhRsE2E22fJOwMvRIRj6O96HLuWRkOA9DEkODhFSkihNo2WIMmBPTyRlsSl/KbNCXTcz1gUW6IuWGlVas/eYnG9qnj5KRi0VNYkMoIf9oN6DIkJ3t+JjBAwfGJ+pDTBFckfWquSd8oCELIf+GPRakWdgU/oWNWHR/znAQwpCrIO3OkiP8fGv7vrPzk8WgePYSRXI42Tb1S+3OdIdk17cqqNL93JxdMmf1xm4sTeN4zXPR1xJa5Wfjw24YfrhhxTRZZVsivVfFyYZxF269/VxU/x6Hf8SOHJm8Wm4XIdQbuQ== 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=6ihbpFixW8TYVz2mHulyY2C4ZhnkGUFynoT5wIS6SpY=; b=djd90ycRPdYkF53XFgcCthfcTEAJKHQ5PNYe4f3nVaXrX5/Szbo3vBbCFAE2dm5CfGy2ukAp/UszZZikQncR6K3pMg2dU8WrH0jUnqIGXiSCIDemZSfSELiaxO6mLpvCTJ9pVsqIlf/3xecoJCk11ZCZRZ2XswkhMM7r4xH9Nkak8d46MRFXJ1gGNYMs6JOSpBwIa6U9Psj9uWnKaUbWE7irt1Ck1WaokyDKxDjyagYxvigJS4oKISsOi8TeUHzukLjx6W2sZhIY1arptg33CYBnCX547XdFa/+BLxo6kDhJSMOpWmcTqiyN8K1a7kPQaPLDTLOeQ9k6hn4I9bXsWA== 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 VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) by VI1PR04MB4317.eurprd04.prod.outlook.com (2603:10a6:803:3f::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Fri, 14 Jan 2022 10:27:13 +0000 Received: from VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484]) by VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484%4]) with mapi id 15.20.4888.011; Fri, 14 Jan 2022 10:27:13 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next 04/11] mptcp: allow to use port and non-signal in set_flags Date: Fri, 14 Jan 2022 18:26:23 +0800 Message-ID: X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR0302CA0009.apcprd03.prod.outlook.com (2603:1096:202::19) To VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) 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: 09a8228c-9fbd-4ce0-aca3-08d9d7486e2c X-MS-TrafficTypeDiagnostic: VI1PR04MB4317:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5797; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: A5srMHpTWFmA+NW06BEvNgUR3iRnmWumgWZy2c0lH58ccl9u+/Gq161dI01Zfn7/rkmLfGGNeure7aOLTCYv75GjdJjml5nNJT+pWj21OnaAEmFeB3GFhYn9YYMllg380bZvj97jo6q/KfUWaXOQky4n0fwWKHuhn2Mi2mv2UIp3Sz7EeyB1M7PCr0KbHRSCWtN3IZic6ZUVuXzBhx8PtiKAgrPc+d9qFIL8qtXmALNr5aZLx+dskWaAJuq0hIgBrQf3z2BNDg/vYDzEYtCijFjCB2P40uBFLQFslHy44Z5NniI89GI1grkQqSWGpwrLtQMCwtyFC8FPUIzermYI5pqJjEY4X+HFDGouZoqu3tzDzvvkn5qPnnQH+18MvTGfE4xPkkoArdhNuJVTiESLu/LPebMUMxEfTH7MtkK9H9nDKnB1fToN1ktUpXYyvIP0L3b89RN4Y1hsNg3VLL7aK8R/0rF7Oc2w4+WpvU+8iHqy5pqupkQX5KKVE5koxCLG7JhK7IIWx+4j5ZyqLWE/rJBvPbK08onMDrkyq//J604VO0C+bHlBgQhDf9MGwM44G0o/qA5f34qu/qmA+l5Va+QW2bjxY1SXRIL56t7tUQNF3yn55FpRrgHZ/x8h5d1vTeDe87tg+wMOE4oIUDHBDA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR0402MB3503.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(316002)(55236004)(66946007)(508600001)(8936002)(6512007)(6506007)(26005)(2906002)(107886003)(83380400001)(66476007)(5660300002)(36756003)(8676002)(186003)(38100700002)(6486002)(6916009)(2616005)(4326008)(66556008)(44832011)(6666004)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?VzfLP0mQIRhVsGCYGY6qxpcRkC8w8bD7WrIPiT5H4DqiK0NZXNzMp1V9MYSp?= =?us-ascii?Q?DQNgaucyBfsG1hs00c5ToDt9LOnGYSCI0a0fyHpR859VfZ2dP+CCQGWsZKm6?= =?us-ascii?Q?ySGvbQ9OOOxuLHdCWYVZpYR+K3jwWbaePW2SsiEFBpA5xwuBZH+HVYlpqtnv?= =?us-ascii?Q?p7uJSZC44sG/4I1JgHPGBNIfuEXmtNTh/ujsA902rZUISK0GfhNVwHGBb7s7?= =?us-ascii?Q?pFdS4gxsFQ5vQLxeMKkgADb6RrCyF7dpn5LggC5nNPuup1XzTbXmxm4W7wk1?= =?us-ascii?Q?qmmnVuW8/aIoN/xmlaznO+qm/ItgU/XQUIz/w8sq7ZN7F6qNmrtRrKz7/zUK?= =?us-ascii?Q?vxie/4DayaJU7J356fzS+Owb/aA5SG2P7nQX7AoAMOnqZGJCWXss7qhckeo1?= =?us-ascii?Q?1s4jWMgsz1WrY2VnP7kJ++t69FGqTu+x2fjR7aN8eon0xBVLr5aU2rUXiO/2?= =?us-ascii?Q?81ZN2VR/kJgpmoSvU5UShRCI+Oy7N3uzvts9/kFi7W2Q/9mSEJQjlD3NJMoU?= =?us-ascii?Q?JlAz/LkTPgljmITfKOBzLcu+cK9JfyHFN8CQfEq2OokpIX9k1koNOhBuvJpq?= =?us-ascii?Q?KmDx6EZMHJYHs96rEQoqq89E1kEt/mOfMwfkKAL80gvfWNdecnEc1fgh2dQF?= =?us-ascii?Q?p7zXaIHt4+603Zp6Plg8oF6VMDarCEM454PN2jo9Uom0PmU2IjR51hxX1gtb?= =?us-ascii?Q?kUlTBxkNHHXyKy1/OrYmEY2xoHPJAz7bnISXwbUhl/+03i2roTQ1q1weKn3F?= =?us-ascii?Q?PmhjmLAmRj4TiUZLGQwQydu06kf7LwNGlG/hcvyrTvm4nsecaGkyhbTiokov?= =?us-ascii?Q?Zg9UKOBpOJ8Ro1mvK0ZeGjtEYB3tZn7URavuXERBNAKjdofpshKm3UYFVy0H?= =?us-ascii?Q?3D/UITFhz/9hJqhrbHp8wBDSmPUR5yaI6gBbNugOOSF2WSKlUDTomV1oSwzs?= =?us-ascii?Q?tXoF/3HQ89mCeZK7zM3bbmHmrRer6ez1rWiFyUS4QqeqQrbwUcjBUZ4CcaVF?= =?us-ascii?Q?/RK3moSOUCLeQFC+a8ShnikplAe8t3LdFrT1uLfBk9lvwLotDv9lk3DvoT3g?= =?us-ascii?Q?aKPR7Fi6O1tZhsDVlyHNLG1aJLE4goAr9PjVja+AvHzg5Juy8hQMfO9dfn7j?= =?us-ascii?Q?C5uMg2FBFtaIo+w1IXSY0CkFf1J6t5DdfqFxP5XzYrOYU1n506AoAzjRee1N?= =?us-ascii?Q?4rT/kKyBTELa1aa9fJh07cY9BQI2DJt+45ICF2BsGn9mYBE5PVO6nDPc5Thm?= =?us-ascii?Q?tfvB5VDOYBRyPxXgd3Q11udla9Exj16oBo0rq2t2uylDUDr88mp02SM6IbQs?= =?us-ascii?Q?Kc9PvqF1hDRc2F3H2zRV0ESxHybf9bnKCLKPVhUao5++O5APhhzSjLfMozEK?= =?us-ascii?Q?b7pObO0r+/IkqeXihj0c2BSqYkj6jKzydtPTzZGCt+VZpty9AztqVBDQ7A3t?= =?us-ascii?Q?XaY9YAVMcTnfMRWTn0NDllP5OJ2AL/mWxgh4c1f2qWlECXgwwM3ltrE/2tqJ?= =?us-ascii?Q?Js5CrQaqppQn2fvfA3llV/lia3mA0kvT4DbqAUkLwPPvJVKanjFGkOHSvuF2?= =?us-ascii?Q?nnH1G6Hj5vG8TVQMibxRFi4UqPfPPWHGxN2OivDRvxpcNpI6KxT0dt/YQ+kx?= =?us-ascii?Q?KxajaOdaAeoiuLWTVIqYQ1Y=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 09a8228c-9fbd-4ce0-aca3-08d9d7486e2c X-MS-Exchange-CrossTenant-AuthSource: VI1PR0402MB3503.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 10:27:13.8643 (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: x0AaqZdwJwBjl04uUuqZHarVaEElgkoQiFzACQfZ4sOesSR/u2Jhrajn5/MH685V5splJjMDttOPcPSSmAiPaw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4317 Content-Type: text/plain; charset="utf-8" It's illegal to use both port and non-signal flags for adding address. But it's legal to use both of them for setting flags, which always uses non-signal flags, backup or fullmesh. This patch moves this non-signal flag with port check from mptcp_pm_parse_addr() to mptcp_nl_cmd_add_addr(). Do the check only when adding addresses, not setting flags or deleting addresses. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index b86bdb6cd0ee..e69e2104a7f3 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1162,14 +1162,8 @@ static int mptcp_pm_parse_addr(struct nlattr *attr, = struct genl_info *info, if (tb[MPTCP_PM_ADDR_ATTR_FLAGS]) entry->flags =3D nla_get_u32(tb[MPTCP_PM_ADDR_ATTR_FLAGS]); =20 - if (tb[MPTCP_PM_ADDR_ATTR_PORT]) { - if (!(entry->flags & MPTCP_PM_ADDR_FLAG_SIGNAL)) { - NL_SET_ERR_MSG_ATTR(info->extack, attr, - "flags must have signal when using port"); - return -EINVAL; - } + if (tb[MPTCP_PM_ADDR_ATTR_PORT]) entry->addr.port =3D htons(nla_get_u16(tb[MPTCP_PM_ADDR_ATTR_PORT])); - } =20 return 0; } @@ -1216,6 +1210,11 @@ static int mptcp_nl_cmd_add_addr(struct sk_buff *skb= , struct genl_info *info) if (ret < 0) return ret; =20 + if (addr.addr.port && !(addr.flags & MPTCP_PM_ADDR_FLAG_SIGNAL)) { + GENL_SET_ERR_MSG(info, "flags must have signal when using port"); + return -EINVAL; + } + entry =3D kmalloc(sizeof(*entry), GFP_KERNEL); if (!entry) { GENL_SET_ERR_MSG(info, "can't allocate addr"); --=20 2.31.1 From nobody Wed Apr 24 14:45:30 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:b119:0:0:0:0:0 with SMTP id r25csp198908jah; Fri, 14 Jan 2022 02:27:27 -0800 (PST) X-Google-Smtp-Source: ABdhPJzVqahVZO6I7V92zSxMW9tvoDLu59zNOB8VWf7WXa9FLiDNGPctB30RzzuUHEVjloF/hCII X-Received: by 2002:a25:d653:: with SMTP id n80mr6866329ybg.616.1642156046880; Fri, 14 Jan 2022 02:27:26 -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 o13si4624560ybk.754.2022.01.14.02.27.26 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Jan 2022 02:27:26 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3142-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=YK5bt4Zs; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3142-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-3142-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 7AB231C0BB1 for ; Fri, 14 Jan 2022 10:27:26 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 115652CA2; Fri, 14 Jan 2022 10:27:25 +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 E7FA32C9D for ; Fri, 14 Jan 2022 10:27:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1642156042; 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=Edt1p9KSDoya75M6IGXtjEKGXl8SOfJIAkR/V+wo6XU=; b=YK5bt4ZstD9PFtLVST4+xCkh7EvhIryfda0QriQn0u5M/eUjNjJBFHq37ndxl18b4UAA+v cVmfFrjgkn5qG+eU2Z1L22H7ZgB5k4LUaJ9Q9m1VuqXG7S9LkD6V20dU0iU46iFt0TvC4X 1S5skpg62YBTBiy1JLOiqPmABIBVDoc= Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04lp2051.outbound.protection.outlook.com [104.47.12.51]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-9-ze8uFsgSO9KXTwRyJwGNaw-1; Fri, 14 Jan 2022 11:27:21 +0100 X-MC-Unique: ze8uFsgSO9KXTwRyJwGNaw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=moh4V0Jr2AKaGId1gelwbZsZZTE9Tw/6NmVCyWp6a7vp0xBjdf7zIdAMWfvQO9ca3Vk/K7EFsLQ6tnMx9ArP10dnAiy11kAiSWTrM4bamQCstRXaYiVovIgxlwjEI3yHNUUYNVKd5SjuJAoFl7qWBk8nUraktqDt7Qmismkxn1tcGumk87yLHyZfB+e95fcitPTF9mCehHINhEBY7+FYvRJVbsW+uTMGigGlQHkly5shXYsFacY7EUc+uf0Fk5iPpQEaawjuUpFyRL9XoJbNmUe32ym080xPbdD0M3LSeXqoRUmx2uLrE/u2CxlEXZODRJ4s4fdQHk4oY8gM9hUThQ== 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=w2ju45BwrOeaW84wTo2BgVqr4hubXPkYYwiKW/v1dwo=; b=n71Fuz9oVhiGROrmTkQXBQEMmOmY1MCnkJJwPiVE7smk6dac0JD1Glun2dBlncDBeMqHwZICW+w7ojJDpHmj6hqYz7tJ/S5iv5a9HBlQ8GG3iXq48NU0ce/+CMrQBAgXXWtZHSthvTeJrtFXsC+5WUAuO8nNoffeBohX8zyrsh7IQkxxfN++WJ29qgeP3QSZhX5pc7upz9d3ue7fzelEiR/qAxLuyR867RYcmzkSeBuoZHPzuWkSnsE9gUAdo5A5tpJsSk5UrKLN7luHmdZsTLbaZeWjocDpi8XGj+Pw+V24qx8arfb1i24Px1EjJD+vbzhDMfADYv/312U8ThCMEQ== 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 VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) by VI1PR04MB4317.eurprd04.prod.outlook.com (2603:10a6:803:3f::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Fri, 14 Jan 2022 10:27:20 +0000 Received: from VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484]) by VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484%4]) with mapi id 15.20.4888.011; Fri, 14 Jan 2022 10:27:20 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next 05/11] selftests: mptcp: add the port argument for set_flags Date: Fri, 14 Jan 2022 18:26:24 +0800 Message-ID: X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK0PR03CA0117.apcprd03.prod.outlook.com (2603:1096:203:b0::33) To VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) 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: 31733b5f-c98a-4afb-b9b8-08d9d7487239 X-MS-TrafficTypeDiagnostic: VI1PR04MB4317:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1850; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0tw/i1dvQnyKDAg/YYm4vYgX5H2ZAwQ35inDCpWK0YpMmsfjc6uCsP+tGQ5pdFClYNFUwIvk9vRmIlgdyQiTHfkCqG/GcZrIB94+BO3MAJ+zE6gawJFFssY+iZWiGOkMS/Z5WjM6UExki7YNq5IkAuBWrithWRmMJWAOOxQaTNfxo9hMsrgXwGi0+almlPJmCt7p6MCKmeQC1UOxVawUsOV8fhrb02F2vYptePrg6QnklZstZ4ZhfbT66mZl61WzvHurUkiPkvVqQw1uRtnj9tyIUFeA8eTDF9RUMQfOsYdi5uCP7lejg08N594bQOue8p4uZ0rx4Y3w41Oa1CTqJwVFX1Y3ng2UUQ4eEAfCAH8IV9LctuiGwCObFzbuo+unueL/vgjF5g/lOgO69tFbNLbWVHan1TSFxtMD4qD60j/HEzjQ0HE8RUTv9lQo4Zs1VBcebp88faU7eMZreuWDlBbYlv7XieE6XtUjBEIAMX5CkqEQ3z61gBegUa//sMPsCs3hmYvU9I2UhJAxwkBwEpoWBAh0y1q+ogd10nvoUg7Gpb34gMzzCOW3crHiwXj0uGJWEqP37DCa/9xTSDrIuMtPtdHyFFFMNHrKJrsnMx4TiKm5CBHc2SHEtnJD7cAwpWs4VCWqvdm+diLv9LLZMg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR0402MB3503.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(316002)(55236004)(66946007)(508600001)(8936002)(6512007)(6506007)(26005)(2906002)(107886003)(83380400001)(66476007)(5660300002)(36756003)(8676002)(186003)(38100700002)(6486002)(6916009)(2616005)(4326008)(66556008)(44832011)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?wrTV+FncZHL9EIMAdIEoZ1BfsbrJ9sIUxNdjeD9RFErOY+49agpr1KmwlrWx?= =?us-ascii?Q?SwZGlEsPv+i6Q15Yq1MaJk+ia/+3mXFKgm7nWz+87NEiJJucCSZvYls3FCcX?= =?us-ascii?Q?Iq81zoAGZ2n4/sGGIIOuqFOQfhfs/pNCmSdvcTxSWBO9nDGWH+p/4YpXrXff?= =?us-ascii?Q?zLu4u6qng1zYIFHE7NjZs6P9/RY1Fz4KhpYuixdX9yDT8x/HzZHTh9XG67Wh?= =?us-ascii?Q?RSU+0VdmUVNifbrJgkgCG+4wrfAajEPkhwrl913Ece1/kNYBwDv0beU1la5/?= =?us-ascii?Q?Eg+bRk+vmYWYPlNQJiVhrH76Sq2rzQc2bFw8q6ZWy7hhJFWpmZZy/zUizIp8?= =?us-ascii?Q?HRUFdPofebMyP8JVwd5NqrMGzTg+/8/gstkg9hALYDfQnxPeVHE2fQh3Nb6O?= =?us-ascii?Q?xbyh8Nx7aB+pe9D0hfIxNb2XX9SynXim7pN5dRFN8fwKbE5f/B7xgOgklbP0?= =?us-ascii?Q?eO69HLAa+7CcesdPEQ2hiyFq67bEP24TEcmZxsf0xWrQbfRU55jw8PcIO8hm?= =?us-ascii?Q?7blYOUNHERoezWJQ4LKSSaOd8Oj1I4OydKDbp8vcoZ2xG0Ps55DWUPG/O6yJ?= =?us-ascii?Q?B+5C6j7nW0sCSJQevGZKv89ePQHM4LUSByIpqTh4MgoNBkmeGCryrNxT5oVF?= =?us-ascii?Q?PcZE0ejrdtrlUI0xJzwU4+/kHRjDbDIhtjRjgZY06lYPmCq5HSrMEPTxz1Gp?= =?us-ascii?Q?TWqwk8He5JvuHAaqBx5pVVDT0+2QwaNYU1vP81iCdt10Tb4a46rFkCcMOeR+?= =?us-ascii?Q?GsKTG+LT9/0CPK8Jdq7HVMLbusNjurIFlbvDcU8ESQF6jpryReh3ts4MsnXT?= =?us-ascii?Q?YLl18B7OwsH6ORBBzt+CtDAHPXlss0s/aqfBkUNbNN5ua4JQVlLlWHgeHKfE?= =?us-ascii?Q?zDAFEm8WEXRJ+Jv0qn8jZVw+TJMKr8sDl+me7uohTwHrIP60sC8GYtTMl/Jo?= =?us-ascii?Q?+Mb3J/1RibSP9/xd0Q2cqKDWZX/WQbSjifbieMkmAarkoevZaA9S5ulbpqBy?= =?us-ascii?Q?0bfnGBGuF5PnWD3gSp0cmf2YGIIaivOsszUQoCTxXEZqGfh9aFak5A/WXr74?= =?us-ascii?Q?ULktbCivcCsB3zJKEga+ABFRZXAUtVE0wtclLwOBeKRR9bh6JKz+I1u1MG8s?= =?us-ascii?Q?MoH3DIsxSwovMdKV1cM9eIQXXVJmalpLV48edzIGX6K6bw/1+lPrKB/k9SKY?= =?us-ascii?Q?GwwcxQlmfY65a2EccL8mb45l/mtCBrqfqNex65vlAh46EA2kxr+7ADPrLuz2?= =?us-ascii?Q?C4I7JdUi2AQF1VcYXGQL3FiV0Y/TCejyVRzwML1X9AB5gUlvCR9vd2lTjEGe?= =?us-ascii?Q?WiZi5tIn+um0IsuDTNOl4olNKuibuoLCcYsd4Uj37sJL/Suz5bgl6fNA3auY?= =?us-ascii?Q?+laH9BnpfaNjIroIKc1JLzJxjDJ+ufy1SpjqeJ8OSvNIqM2tqNC7NXdmD54d?= =?us-ascii?Q?ZwDMJmcrdkaVaJmcBAg19vgpFUArtm0x33FC6Neo6/tmDlL8I8hzZLMcubqX?= =?us-ascii?Q?mNxfTchVJUke82lMYSlzqOwNehAqRcGTcEqHPVdrr0IPzsYoLBw79mYoB3n4?= =?us-ascii?Q?zNEzmiDXvQeRKdbdqNV3d9YEZkVK5cGBK+MqbYTEeVM0P0+zpsfMTUMsBw/4?= =?us-ascii?Q?NCs0WiPN82ARDyp8HnrtpYQ=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 31733b5f-c98a-4afb-b9b8-08d9d7487239 X-MS-Exchange-CrossTenant-AuthSource: VI1PR0402MB3503.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 10:27:20.4732 (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: kBeM6GUewB0+ddUKYkwd/tMxgWO2jk/JcvG4OS0JWA0v2yrlnCD8nywOGjNeSkEz/pvFqW7sjmer5OCrqJ1RlA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4317 Content-Type: text/plain; charset="utf-8" This patch added the port argument for setting the address flags in pm_nl_ctl. Usage: pm_nl_ctl set 10.0.2.1 flags backup port 10100 Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/pm_nl_ctl.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c b/tools/testing/= selftests/net/mptcp/pm_nl_ctl.c index 9b6db9d77223..3c449158d821 100644 --- a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c +++ b/tools/testing/selftests/net/mptcp/pm_nl_ctl.c @@ -28,7 +28,7 @@ static void syntax(char *argv[]) fprintf(stderr, "\tadd [flags signal|subflow|backup|fullmesh] [id ] [= dev ] \n"); fprintf(stderr, "\tdel []\n"); fprintf(stderr, "\tget \n"); - fprintf(stderr, "\tset [flags backup|nobackup|fullmesh|nofullmesh]\n= "); + fprintf(stderr, "\tset [flags backup|nobackup|fullmesh|nofullmesh] [= port ]\n"); fprintf(stderr, "\tflush\n"); fprintf(stderr, "\tdump\n"); fprintf(stderr, "\tlimits [ ]\n"); @@ -722,6 +722,18 @@ int set_flags(int fd, int pm_family, int argc, char *a= rgv[]) rta->rta_len =3D RTA_LENGTH(4); memcpy(RTA_DATA(rta), &flags, 4); off +=3D NLMSG_ALIGN(rta->rta_len); + } else if (!strcmp(argv[arg], "port")) { + u_int16_t port; + + if (++arg >=3D argc) + error(1, 0, " missing port value"); + + port =3D atoi(argv[arg]); + rta =3D (void *)(data + off); + rta->rta_type =3D MPTCP_PM_ADDR_ATTR_PORT; + rta->rta_len =3D RTA_LENGTH(2); + memcpy(RTA_DATA(rta), &port, 2); + off +=3D NLMSG_ALIGN(rta->rta_len); } else { error(1, 0, "unknown keyword %s", argv[arg]); } --=20 2.31.1 From nobody Wed Apr 24 14:45:30 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:b119:0:0:0:0:0 with SMTP id r25csp198971jah; Fri, 14 Jan 2022 02:27:34 -0800 (PST) X-Google-Smtp-Source: ABdhPJyFLCw7hvCq8PNJf3dzV6zqpLPmSBSixVmyPTnosrFkuqq9cOJlEVXTz9LuPDWyfZlF+SMB X-Received: by 2002:a17:902:9890:b0:149:8930:47e4 with SMTP id s16-20020a170902989000b00149893047e4mr8737490plp.89.1642156054094; Fri, 14 Jan 2022 02:27:34 -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 y20si5963470pfa.367.2022.01.14.02.27.33 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Jan 2022 02:27:34 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3143-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=cjwoNT0k; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3143-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3143-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 BCBD33E1002 for ; Fri, 14 Jan 2022 10:27:33 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 99C622CA2; Fri, 14 Jan 2022 10:27:32 +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 42A102C9D for ; Fri, 14 Jan 2022 10:27:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1642156049; 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=fzGaSnx9oZh8iGnTdLmQbTh1iTDkBbR1taHTF8Y33HE=; b=cjwoNT0kzyY1BqMSrQeBPgfFHfk29cHCfyMXcbgMwXMn624Z80jz+7hUwPEbowxdTSJpAV dCTl+buJPBvBPs5ze6u1QZnNjXHR8cgCSGJhIs2lfAOkkM+GGvCXsGi+YA2Xh3JU6TKcWR v4lYr/pWBvVrnzsbaDm9WQ18lu7D/XI= Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04lp2051.outbound.protection.outlook.com [104.47.12.51]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-36-x2agCEOmOSOPWHVEWrVetA-1; Fri, 14 Jan 2022 11:27:28 +0100 X-MC-Unique: x2agCEOmOSOPWHVEWrVetA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nLydUsf4y2Jy2iD2SaHF4aaTM+VPnMeTtXvyPljbIK2cSZm+ow4gOwciqWuk95r7OMht0sY760Aa6jMLJR80nnoWkS8AXc51WwgAkUI1HtcNE0VAtWC71vv1ILcnZXadcYV7nvpuHOYlpjlh6vPttUlPbjEGT9sW9Z96HOQcYyzGSjN7fpIfDbBdjLHFv4ynQZSqHYyvyKlGjrgZJ4hxOGJFW+p2y6BJstYE8jUlq7iju9FeRp6YZklesoZeegt/bEJWBXdNojU9tYaY0jkU1fkU0toIlFWazwqXA7qjz+F++Wtz/LYrUJfRfsL0uzOA/L/rmp+gBLErrJ3tbcotow== 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=yh82OVGH7wOlGCOopRacbZhPVBwjGhytlm/dP/EGTPo=; b=Aw5ygItW6O9Gq29wM3X8ubKVeFj8XGVqZ9GlMeITL8rNQsRiVi43dzOr1yoVFHEIdds9EiXTjewZMsEZCf1X7SYNZHkZGFCaWnjnElWhEoMBRHTQDu5ORMihRQassmxrp5yX4jFwzqt8xbaXfIBzHxmKofYGOGY4i77QkyjSlHQNXVfVWjiTtYXVmslw7IGspuYQJZsfq1qw/C+2B3kBvCmDp6jkBOjMd4I2C7juxdAI/M7ArHKa+o9YUv+t8Zh+zn/+QkjKJKfS+xwHVJPI86F4iJhJfDSLTDyoUiZ6THr0fX8uFb4IUm597+rAPkxQU6gABNVuYqv1ZHz8YnsxFw== 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 VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) by VI1PR04MB4317.eurprd04.prod.outlook.com (2603:10a6:803:3f::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Fri, 14 Jan 2022 10:27:27 +0000 Received: from VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484]) by VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484%4]) with mapi id 15.20.4888.011; Fri, 14 Jan 2022 10:27:27 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next 06/11] selftests: mptcp: add backup with port testcase Date: Fri, 14 Jan 2022 18:26:25 +0800 Message-ID: X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK0PR03CA0106.apcprd03.prod.outlook.com (2603:1096:203:b0::22) To VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) 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: b2ac121f-d9bc-428a-12cb-08d9d7487674 X-MS-TrafficTypeDiagnostic: VI1PR04MB4317:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qVoBIpNC9KfTHqYkCrLL3H26rlbKhNLWHeti+kanRF32QlNd66LEHPAQhmTebpAGYNpVnSvJGYSyLzoDqMC90MDR/tkIUpOMu9S9yUS9oxKFVO7jSFD2xFTyYXURUCvdIsAt/tLUt69/9uumaHU2ewxrCHwXM+I5itZR2nkA7iHADFcOBKu37aMV6qMc3G4uIdbBv3RyCrPraMeRDhO3z48MYyr6av346kfov7UFEingqtSa+xtl+XbFZpfNTpM34AGfuamnNQlQVniDHdTkIYhhi/NGZz4NcMPPoCj3L2Fw7gTWhZ1b736oVRiK49knfvC2Gx5M1YubrH9BV3hzOu68bnVwXU4t0z5mfHhIZiv0SwNbC64bZhcCUzkWx0OfC51+5/nNJsY7wFkk/woLda5yIThjCMyoGOhpDHF/unubuNNUGSzuT8scYJTdGk+DNa+6eokcpelAtpoYC6OLNooJksS5lR8soiTM8Y8z/UYfZFpakyGqDoRth3FWpI5GY2oGILzEzOpt1uSRps64teIO6fm97HCx/P6Ouils5h0Bl351tmHmHRG1vAbMNNypr6Ys4o+EL9g9yk6hVenjGzlG7KbPb+aF4ttV7MzT4+wQJV9PnvByC0J4T5J4mcdX7pfmvEPW33/iEzVyD4tr7Q== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR0402MB3503.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(316002)(55236004)(66946007)(508600001)(8936002)(6512007)(6506007)(26005)(2906002)(107886003)(83380400001)(66476007)(5660300002)(36756003)(8676002)(186003)(38100700002)(6486002)(6916009)(2616005)(4326008)(66556008)(44832011)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MMHlFSwyvHE/JnXGog3ij4O7AxTAOIN6ksNUDSQNMyfjECup2z1TLQ5nkNss?= =?us-ascii?Q?ETyk8AH5+K+0wQcVOCxpV1D/kjbJxb9GTclHLTAyN9X4hsYkQPhxoOB/kOMO?= =?us-ascii?Q?hxVoWcJ09vqI1nimiSk8T8FN7BQlPx7UcVl3qiJqZGWeRrloiXgKxBdyxUk+?= =?us-ascii?Q?M2n0XUxqAFGfJVT1zVeX9YZW/OPKKbgi5Hhsv8+Z/PJVs1DljWvtck63GT20?= =?us-ascii?Q?W1etZ6lkMarzT3Ncg4ACpVzzVVVMlLF6VqYd18ACmBpU4UwbJRYEdOHGLldN?= =?us-ascii?Q?QQoISq/c2yPCABLtrxQSDa7ClyhBt8nRgwxTlgbYVTRiR1hjq9GavYGPUDzw?= =?us-ascii?Q?g6aoHe09CCe0+uRJWEkanCgBDvoKuYxhju1xhtB05dPioWlC3haDvQhO/Dfm?= =?us-ascii?Q?9NYoa0a7LQ1AwVB4Z6Al/MjU6kx0suS7X90Wzr1ObddvBQk978fDzNvtHLBc?= =?us-ascii?Q?ppRE2HYzqwUY9n2rk8X3IKKWs8ktl82Xew9T04ArdJ0R7cRt/ZbjP8xhyVq7?= =?us-ascii?Q?qbdHu7hnrYYmwGZ/ziamVTtj0rZVs9A+w1lp949kpH8QPEerkm1c2GxOMvUQ?= =?us-ascii?Q?xY/y2P82e7xNac2sCKnACydxhvY2Hs+O2fGlFav9WxlJy4eWeskLqCB83LlO?= =?us-ascii?Q?xRcyjA8EMjwWYHQ0ECXcZda1YkNCouamaHN/YLUZIqV8hutIm2Z4cJ6nSbVJ?= =?us-ascii?Q?p8hZzoY7dJNs2XhMREyL5mEjfQDBF+3goNywPv8QA2rbnQ4+OrRuYuJRxqW6?= =?us-ascii?Q?0dEmqqcbOGIOMnlixKePC95Z3jJfPrXSpXez4c+avVBCUOEniwHfVfFjFGJb?= =?us-ascii?Q?Ss9D1gwJvqHOCGKLc282YxaHdFnme+3yzYr9J2pYb81VOmAfd4pggaKqnhaC?= =?us-ascii?Q?fIHVQ6vy2tHg/bDIvpnL4h/NnUy9EeLcb0+lPraGDb2n4FG5mhWBqhFi8Tjf?= =?us-ascii?Q?ItuF2g7eByfUDazNUUowzlMfH6lVGnkn5ne1tC0Na80OTXNfE1GHcj127WVt?= =?us-ascii?Q?xtCg8SGcLvB5hVg2QKOmfdDKH5gVhxoZh5PlbHXnTEqGCHXIN4r6PPs8Vzpv?= =?us-ascii?Q?HaBEpWVZY+iZOhekQE/5TX82Z5YW6fB7UExQPgASTQZu5TnptAwos4e/OU7q?= =?us-ascii?Q?kCdxq8+7VDGfZ/dJSSsewIrFt2nYVnNOw/3tk7tRQR46qQOppsSEbCdqtsNu?= =?us-ascii?Q?A2Q7k33BI4RIQHX+nNw9Z5GrAa9/BO4euw3oGbr+JYBmh0YP6a5cfTPeuFA+?= =?us-ascii?Q?fY/OPWRHWSLN/Qv+FxViD6uSww26fZIa6yZYnPvT+18LVLTALI075X+02zex?= =?us-ascii?Q?VkwDKVNuYcDdpisaA+WpJ7FgRWzdqPUC81S2LEK9aPJGBm/ogndBEEcjRc6p?= =?us-ascii?Q?bsQyfsylgceL5Rmv8C7Hp5daVKEBqdCXdL53eUPC1NLRNpgyyWYP+b4uyL8Z?= =?us-ascii?Q?2GWQbQnyqWogHLUZ7fCiX4eeR8iLLMoBQKTiw4FB76tB1ffL7I4fPi4pDIZJ?= =?us-ascii?Q?d0gmFI6d4Xl4147frukLyMxF+YjiKdyR81eXRtXaCmseao27FfiJ5O2HUAtB?= =?us-ascii?Q?rP4NhH1dp+ci7hwrTFrrAlFrNiAj+1xVOGOHJryGCjEDInu8sNNNE2MV1jUg?= =?us-ascii?Q?mHynzjYLcVSt9DjU8+Pv6Hw=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b2ac121f-d9bc-428a-12cb-08d9d7487674 X-MS-Exchange-CrossTenant-AuthSource: VI1PR0402MB3503.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 10:27:27.7383 (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: KdEhpAZBcvV9ORElHKMJVZH0jKmc5XonmclEWuxWfDz9BCSyLgShrGI4i7s+YG8S1SoUQzO1YiXficMglBGwFw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4317 Content-Type: text/plain; charset="utf-8" This patch added the backup testcase using an address with a port number. The original backup tests only work for the output of 'pm_nl_ctl dump' without the port number. It chooses the last item in the dump to parse the address in it, and in this case, the address is showed at the end of the item. But it dosen't work for the dump with the port number, in this case, the port number is showed at the end of the item, not the address. This patch implemented a more flexible approach to get the address and the port number from the dump to fit for the port number case. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 45 ++++++++++++++++--- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 8286ef2f76d6..e918e3151c32 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -240,6 +240,16 @@ is_v6() [ -z "${1##*:*}" ] } =20 +is_addr() +{ + [ -z "${1##*[.:]*}" ] +} + +is_number() +{ + [[ $1 =3D=3D ?(-)+([0-9]) ]] +} + # $1: ns, $2: port wait_local_port_listen() { @@ -465,11 +475,25 @@ do_transfer() if [ ! -z $sflags ]; then sleep 1 for netns in "$ns1" "$ns2"; do - dump=3D(`ip netns exec $netns ./pm_nl_ctl dump`) - if [ ${#dump[@]} -gt 0 ]; then - addr=3D${dump[${#dump[@]} - 1]} - ip netns exec $netns ./pm_nl_ctl set $addr flags $sflags - fi + ip netns exec $netns ./pm_nl_ctl dump | while read line; do + local arr=3D($line) + local addr + local port=3D0 + local _port=3D"" + + for i in ${arr[@]}; do + if is_addr $i; then + addr=3D$i + elif is_number $i; then + # The minimum expected port number is 10000 + if [ $i -gt 10000 ]; then + port=3D$i + fi + fi + done + [ ! -z $port ]; _port=3D"port $port" + ip netns exec $netns ./pm_nl_ctl set $addr flags $sflags $_port + done done fi =20 @@ -1652,6 +1676,17 @@ backup_tests() chk_add_nr 1 1 chk_prio_nr 1 0 chk_rm_nr 0 0 + + # 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 + 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 + chk_prio_nr 1 0 + chk_rm_nr 0 0 } =20 add_addr_ports_tests() --=20 2.31.1 From nobody Wed Apr 24 14:45:30 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:b119:0:0:0:0:0 with SMTP id r25csp199140jah; Fri, 14 Jan 2022 02:27:48 -0800 (PST) X-Google-Smtp-Source: ABdhPJxK9nEgsDUxp7Faw+1iUkXcqOGDExq0a8iN/aluNwfBzJxu5swR2l6hOTnz+qQztLV37iEW X-Received: by 2002:a17:90a:a90:: with SMTP id 16mr9866323pjw.125.1642156068664; Fri, 14 Jan 2022 02:27:48 -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 d1si6331865pfv.50.2022.01.14.02.27.48 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Jan 2022 02:27:48 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3144-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=gXSv9axo; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3144-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) smtp.mailfrom="mptcp+bounces-3144-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 E72A73E1015 for ; Fri, 14 Jan 2022 10:27:47 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id DB3FF2CA3; Fri, 14 Jan 2022 10:27:46 +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 AACD02C9D for ; Fri, 14 Jan 2022 10:27:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1642156062; 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=HkllnbNoV7Zwp3D/usyIvgl9x7NLrporAxgejhtBBRY=; b=gXSv9axoS4ziVYA4naf6K2Mhm8bhlsnsSfUA5j3xbFSTn9zus7MqjlGsWEX29+TzMlohPt skK6obBN4WKqbJ+MU8ZaYKYE/x5QPyCYO1YoYZKWReermdFcCHxLXRAU6Kkjdxx80/6Ld5 TnnmoYOJw54dBzRbSD6gub99tOX+i90= Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2106.outbound.protection.outlook.com [104.47.18.106]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-24-b8yKUdUgMMqkPykkPDHNBg-1; Fri, 14 Jan 2022 11:27:40 +0100 X-MC-Unique: b8yKUdUgMMqkPykkPDHNBg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bB3TG+5KRC0h6bNRZ08DbiLyLgeVSBERWOQ85qI8vq4xEf4WZDeB/zkkK9j3lBtuq5L4Z/jd3jb6FKeiTP9CrL8vYcYa+APd+OXqMcCtjiXu/tdkPgfvhZu6iwOuQ/tuqTV+Urm+kN4GUKyfU8OWApeCaW2B1MEWYh6vu0Er4WTLIvBCb2iwb3LMSFUNt97Im3DCXT1f2z20Ce1BUAfhyJoTe7wQvSO4mulyhUodVJtlCOx7aIAisKOTvicQnW545PznDWQPnMw8q9hsChdZ2c3B+sEmPpR9TLBYhmtodPo/5dXVa7wQMKbc195byqn06y9p16iiZ6yQzvcrd9z7Fw== 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=/mNcWdJHzrbLigRrIIC+UPT7wV+flrWeKKz/EYQTp7I=; b=DbjnBw/0hDBOlgQC2g2TQvT2/57o60ty+snM1Gw2s7jY6OMF6FzqasAB1hieXQy4/EvKGY9KtQOPtRyVtR7ICR5kRJxHLy8iT2cq8dvYeFfMOo/FkVdH/ZZyaB2TNHAeAnWt61SSI2x2vGIQBsmqdBvBlBbujLOKb2LgrLQgCzjJJSPYOQtSSxhKtHjJ1bT8R4rbvJm9b3Bco0JexZPv9VL18okz1X7b1b0eN8aWXU71QB6qrrG61OyI7KLZKssn/JyNLkAjuWu/b+yTRrnZe7NzNyl6XerfezUWy6HmO4GIA3Cgjog6fg/rAXKe2eyQ2c7rEYs4Vhuh6ijIix/cEQ== 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 VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) by VI1PR04MB4558.eurprd04.prod.outlook.com (2603:10a6:803:6f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Fri, 14 Jan 2022 10:27:34 +0000 Received: from VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484]) by VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484%4]) with mapi id 15.20.4888.011; Fri, 14 Jan 2022 10:27:34 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next 07/11] selftests: mptcp: add ip mptcp wrappers Date: Fri, 14 Jan 2022 18:26:26 +0800 Message-ID: <0750c11b47f0c4ec864dac1b65aff184dc2f041e.1642154579.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR02CA0197.apcprd02.prod.outlook.com (2603:1096:201:21::33) To VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) 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: dec58c0d-03a9-4e83-3259-08d9d7487a94 X-MS-TrafficTypeDiagnostic: VI1PR04MB4558: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: L831flygvxoSv3QC0os+ggB54Iv3rQZi8KjNyHKxYGKRMybBAMspUEYjbqFY98oFqQLkxuziR8Ht//ZHpi2KeQFYu0On3n9+iw0c5z9aFjyZbGxipYdRxeNoDDIGTkEL51nVxh3/efX1bQpynOdAOpu+Igp6TCJRT8Mdfv6zivf7X+7exbtmPBo2ITv9N8Rh9o4en5Rd4cnpqUK+ydeRHorklZxu+b+GV2MACaOkIYU37LhsWUFcxfzxadztOwt9OGkrfBOL6EVgCjj0tQ1SRAFdwuFO+kTqDn7QDY6+rxqA7pWOYA0Y9Jkl0i/DkqB5HvTxDldStXLLvBodfO84FoKg3XS/qcpjOBCEokapCMclbwGsQgJGN7ks8hQ0SdwBnS1mjMoUPGG77mz6BIZaaHXXy5N5OG5SpfwUrZKQ05EXLyn+4iu81WEwKXzFhdl3PQYB8yBosZiRDKHDMjWQMRlXZHMoVuayY/kO7V3ozx5OV33eW/nVeErjTcK413IxVdqDC5W/tSeH38TtWqGYW1HERv55ThoBLyiW2S2BM8lBrR9afm/WVvPqWquEPti/a7H8LojJ7pQNkug6XeH6fm0XAgX+72mJqXp2uzfR4F1uI7GwCNBKn44MBSFFHmQvAiDc45Ir6pz1CP1Q8iRFrQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR0402MB3503.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(83380400001)(6512007)(5660300002)(38100700002)(316002)(66946007)(66556008)(6506007)(8676002)(36756003)(86362001)(8936002)(44832011)(2906002)(26005)(4326008)(508600001)(6666004)(2616005)(55236004)(107886003)(6486002)(66476007)(30864003)(6916009)(186003)(559001)(579004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?X1RTY4ohQ2pq9Gly1WGOHuIHX64ZP6/D7KPDGOZgAq/yWYeYiVSivCHXbZON?= =?us-ascii?Q?7OHx80pCsn6q+IBfn+VPZb7akanFM+0JnGs8I5opsb4KtArVsZRB+sHLQAfd?= =?us-ascii?Q?GMwOtV3VWO0fIOHrA0FtNYaAxiKtjmvZ6FHujrIDhnIbGHntTF88jSqL3tYy?= =?us-ascii?Q?3b2J9m03ovBBReXrAW+ogtYOU10LUL1z/f8ccb2sDK+2lndr/2iwzgE5GR++?= =?us-ascii?Q?/sAteKJZNgvWBx7NYY9xtrzWsza3E8rZ+BcI4yC5KDiMsSYwBj+gU4yEg7Iw?= =?us-ascii?Q?E9H3kptigy7wDerJYoDo7UK7RCrz30Vs3q/TgrijREDELApChgMf0p2177HO?= =?us-ascii?Q?pA7aSCzCJaBZPdqyqLHCHxtjWqdYgnEXkiqoFCYPZOponnqwFoMDFny9wpgj?= =?us-ascii?Q?YR7D6FCzW4ut9ic/RWW94N7e4LFufr1I/4KzADuaO00tGMwf75f9N+cOoixT?= =?us-ascii?Q?kUj4SJxyNOPWM1IqvKV2xqzhosybfp6MV723kbG0vx5ZvoSlmI5JVCLvcFp8?= =?us-ascii?Q?J4GnlH3gbqnPut44Ehyb502fiNHOGZxQa92R91Y7ox9D5LJW1hSjzUzkwqkJ?= =?us-ascii?Q?agccdfoSgCftprOPgHy9r7MwLih3Sn4Tj/DhEb9v8vc02a0DSJLS445CLF7E?= =?us-ascii?Q?1Ut+11ycEh6P+bVdBrLcENWAB7qgXziw7NHMGe36gFKTb7NwM6YHTEWCG0MW?= =?us-ascii?Q?EvMLxXDF8UAoJJX3TwzdGWG+LVGoYfhTs9f7Pyw9wFmLetssDovLV4Sp518Q?= =?us-ascii?Q?/k09CWrsszZYFP/2FfErSlelheh93S3Tb7WP+qy50aaVr9C8oihhU0jbn5Dt?= =?us-ascii?Q?0o20h4TQ3v7xh/SDoTr9TRz92u0AQrd/4K/gG+Ph5hFhojaN6zcFs1LR1kQm?= =?us-ascii?Q?heW3EZjDv86Ei6vNBXcCO/TfnIWabAqNtGFB3K8KcGrnUbrgKkS1t+qlrvoF?= =?us-ascii?Q?NAb6vcQB1wpGzMeyKI3JEfnutVLJtVYxoVnF4PTEMm6PiyafICML9JFc5gpU?= =?us-ascii?Q?DEzOoYnU+yuaMiAeWIpJ7ZV57HVc310t2ijN3VFOM2YgXdnAbMON1IAGsK3U?= =?us-ascii?Q?1y8/L4M44ocp9AYHDW6ZHgHAKVT00RGYwxPEOHDa/LBfrNCt5BS21D3zmeQT?= =?us-ascii?Q?qTf6dtBGur1ZovdomOQpGkx7W0WBjt+vDeAC+ris3zv0hikLPktQtj5AbKul?= =?us-ascii?Q?KeNb6Kz/LB4HIjVOIVWcuLqoZaNkKhDreHa1vbNJPo6V8TVghCkRiK/Qouo0?= =?us-ascii?Q?OS260K4NltmqFtIPXzGyEZ491iM9rR97eo1fMgd5vmGIxpI0H7iF98K65whH?= =?us-ascii?Q?90wWrLEbzoW55J9Oej0N90v8lZGM/s3rsQWx7owrWSdfXXP1ID7kFkC5I4sJ?= =?us-ascii?Q?PJO2AxN+3n4svoR99QKlmn/VGg1EZtnWtMPuDi90EpsBvoFCzPx/8qJfPEnm?= =?us-ascii?Q?TteEmQNXNxLmIs4WkmJ2WcrhtX+sMdKFG5aUb/6pahPRVSjDCIKMMCeJ0/wT?= =?us-ascii?Q?ytF/Mu7Z4NiKd4EH80TPuESJBcZARqN3z49OVwBsFqJi7PwFwW5iOEN/v+u3?= =?us-ascii?Q?0Pf5pqitY0NR6PfHMmuJ42R9q0IsgZB0FPdoLpqnsF2Doz+ShhoUBm5/tk76?= =?us-ascii?Q?XdIWg+sOCIMNjrS8BryzmqE=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: dec58c0d-03a9-4e83-3259-08d9d7487a94 X-MS-Exchange-CrossTenant-AuthSource: VI1PR0402MB3503.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 10:27:34.8160 (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: I9891Jjd0JZYO0GQyyyygEjH7sdreP9ZfmVb9nGy3K7FfiqI/8SyVHucCilX5YelSaV5v5JWYZkXPhQ3wTsrgw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4558 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 | 773 ++++++++++-------- 1 file changed, 425 insertions(+), 348 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index e918e3151c32..b8090963d1df 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 @@ -289,6 +290,82 @@ wait_rm_addr() done } =20 +pm_nl_set_limits() +{ + local ns=3D$1 + local addrs=3D$2 + local subflows=3D$3 + + if [ $ip_mptcp -eq 1 ]; then + ip -n $ns mptcp limits set add_addr_accepted $addrs subflows $subflows + else + ip netns exec $ns ./pm_nl_ctl limits $addrs $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" @@ -389,7 +466,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 @@ -404,16 +481,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 @@ -437,7 +514,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 @@ -453,14 +530,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 @@ -468,7 +545,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 dev ns2eth3 flags subfl= ow + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 dead:beef:3::2 dev ns2eth3 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 dev ns2eth3 flags subfl= ow + 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 dev ns2eth3 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 @@ -1693,28 +1770,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 @@ -1722,10 +1799,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 @@ -1733,11 +1810,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 @@ -1745,20 +1822,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 @@ -1768,56 +1845,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 @@ -1827,29 +1904,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" } @@ -1858,26 +1935,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 @@ -1885,28 +1962,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 } @@ -1917,10 +1994,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 @@ -1929,9 +2006,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 @@ -1940,9 +2017,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 @@ -1952,18 +2029,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 0 @@ -1971,9 +2048,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 @@ -1981,9 +2058,9 @@ fullmesh_tests() =20 # set nobackup,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,backup,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,backup,fullmesh + pm_nl_set_limits $ns2 4 4 run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_1 slow nobackup,nofullmesh chk_join_nr "set nobackup,nofullmesh flag test" 2 2 2 chk_prio_nr 0 1 @@ -1991,9 +2068,9 @@ fullmesh_tests() =20 # set backup,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 backup,fullmesh chk_join_nr "set backup,fullmesh flag test" 2 2 2 chk_prio_nr 0 1 @@ -2005,9 +2082,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 @@ -2015,9 +2092,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 @@ -2025,27 +2102,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 @@ -2054,9 +2131,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 Wed Apr 24 14:45:30 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:b119:0:0:0:0:0 with SMTP id r25csp199157jah; Fri, 14 Jan 2022 02:27:49 -0800 (PST) X-Google-Smtp-Source: ABdhPJzzJt+cRD0FdhM2j2MXVLW3UepkEuczhOBqZjgVg3+msZFYZYA3w6uAlEd9F/N5Ez/tbL8I X-Received: by 2002:a17:90b:1c91:: with SMTP id oo17mr19437696pjb.58.1642156069407; Fri, 14 Jan 2022 02:27:49 -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 o20si7238169pgu.490.2022.01.14.02.27.49 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Jan 2022 02:27:49 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3145-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=TMW932VJ; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3145-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3145-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 356D63E1014 for ; Fri, 14 Jan 2022 10:27:49 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id F3D382C9D; Fri, 14 Jan 2022 10:27:46 +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 BAC682CA2 for ; Fri, 14 Jan 2022 10:27:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1642156064; 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=Qb9OFtwENt4D/tQvc7XQ3rg5vqfQXNlr7jrhTX+Ctq0=; b=TMW932VJ3XrwOeMtPsI3LfQab2JgblT+W+U7efJOnBPcOta0zLznPBkzgg8zXUUWgK+8kq Jqr1a1NZRPTLkEMzryx9nEbuPVLIBNTZFx5KKjBH3BNoM51dxqwqgl1uFqAyHSz0zaikYV zpvGW6tPPMxy0H93xKCi9JkqqQRSsb4= Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2111.outbound.protection.outlook.com [104.47.18.111]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-32--FzHelQkPSqjJZ1JUCdjSA-1; Fri, 14 Jan 2022 11:27:43 +0100 X-MC-Unique: -FzHelQkPSqjJZ1JUCdjSA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lC5E4OPjKwvvkRMFf2/StTIJehhfsDIZAgQdlKFTwIigOyFRRRhse57i7wR2OLELx/anJfuVENdijoyFaLC6fL6jCMJF6yOwyBQVVp6JFlXKT5aDsESrCuLyTU9Ca93mfss2s0MmWxjtOibfXEFLZBUipOUUoDj1tOUKvSWeUL5/m1XYL/UVKQB14umLajicMI+fwoK9/uIT0qSfcDjFybtzRxIruoAzrF4dlpHEjqgUtD53Fqm25JUToLeveBqz4OTIKYju3AG25+P6DFEaEcRHHsmn/DKZPgq3dP1izE7pAHzPYJLaxNEo6HrckMozZ/xk6i3CG7xTCd889qo9FA== 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=5t+MW8f6yp/T2U2D7v/fggsiJcfW3b7dg2aV7Fz5nck=; b=QpYvD2kcrKSq+6MbRRtmscDaW03yzeEn8FJv3tlEt8rWN7mrd2SW+561BsmLmb5FvNLe/8qmFQqZ10XfYOXVCjRskznQlFPxRyys69GIjBCSTQfJ+i7yvPH0jql0CKeLu6j2s1uXNw/T5f8ahO3A97HGuLBfdJqdS//upWYZWkm6zjpvlwsFWsWeGJFhQzukkw/kzQuL6ULen7W1TN8CgU0TX2EHo5/lw3KFeMU33BzLIO5sLyXHYvfbxnJYYEnvYF/FyKCd21R/8/FHpszBhParoswoWx8ecqt0Wuner5o2FAqOfNOe5SObNK9rprj+Wze7b53GqXIf1ghfIWvUbA== 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 VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) by VI1PR04MB4558.eurprd04.prod.outlook.com (2603:10a6:803:6f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Fri, 14 Jan 2022 10:27:42 +0000 Received: from VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484]) by VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484%4]) with mapi id 15.20.4888.011; Fri, 14 Jan 2022 10:27:42 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next 08/11] selftests: mptcp: new approach of getting ID Date: Fri, 14 Jan 2022 18:26:27 +0800 Message-ID: <14e547f9691ee85c0e34a0c8c87a3e6f19612b22.1642154579.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR02CA0193.apcprd02.prod.outlook.com (2603:1096:201:21::29) To VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) 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: b5b0c087-0f16-46a3-35aa-08d9d7487f3c X-MS-TrafficTypeDiagnostic: VI1PR04MB4558: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: l9Osp5iVXIJbmEnYruxJ9ryWhm31lUXrsxjPfgDLwRbDJhPyoGShXo5sH2pUs45RxWFnzNMY6n9JkKu2Jv46ERYrTzJcT12MFOaMHCtIlDdrA1YE5jI6A7OOONhNrFQPhAQla9LnTSlk+cVXNi43yhc55Ma80itYURWsKvIQU2/zJYWTzMdAmXYBvzKI2wQwLUnT21rcWDCgzucXb/fjENuHfZVk2mDbHDNtLTu+qsKi2oW6YZjRZoqS3ZicT53ig0EdGry57EBoMPoUvZQl0HHEwY09KZaoyKIeBBPlmAGFu+wv5F4GPYytAlrY5oHCC2mKw5+eI2jj9dZcbfLwqA0a/LgFZijHDNX4uwBdLqhTxs6Hw6QCH3Otm7n0zmlKE+uI3qR69DlMk4aVP0F1NbknoSW3o9v5s/eAVdmG8RqBBRMM8Liq+1Ue1ZmjbWD+UrSnHMQRbfjEku1J6L/Htx05IcF93B0bx+mqvP7TFLf5f3yJk+tv8t1iENVqKflvNjWRoicBvbFSahwxR7814KWVlWUy8Su2i04hBYwK3khVyb98M6BLoVE0GgXstSPfjANk4vmUBMEWj3L4J5ztLbKUiLsyplug6RnIkWYFah0/ga6+kEfbV+PFFaHGcq7CqnHBbtuMULKo/5CkCz1cJA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR0402MB3503.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(83380400001)(6512007)(5660300002)(38100700002)(316002)(66946007)(66556008)(6506007)(8676002)(36756003)(86362001)(8936002)(44832011)(2906002)(26005)(4326008)(508600001)(6666004)(2616005)(55236004)(107886003)(6486002)(66476007)(6916009)(186003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?SMnHvO7l43Zq4lCXBU2Aw+1LS7KPokcfYvIzMLfEhPqXdhCF2oJniDI8Y6vG?= =?us-ascii?Q?zct7CKY+43SAqy7g8pHm58K7QBpf+qZad77AdItMmadEqO3ZTpx40GyPWnnG?= =?us-ascii?Q?N4VZ9r8S/KF6gCtu8PF5zCqBl4MWPA3ONRhXGaAUVFBrygCnUuvVA4AFmJkb?= =?us-ascii?Q?yItc5ls/LIxmfiyb0ePlMcEEUf5gqWgVgzK0iRbR3XKgbhqBBA0/iA+Nbs7E?= =?us-ascii?Q?3e2RGcDDkp2lJmk+9Rzel83NGx1LwLq0VJ2Vh/fOQu58ePacAa7VKQCUiXOW?= =?us-ascii?Q?uRpusGQ1H9CgFCtvRZ1DG4WlNwEcjtmnTbi2iIg3Vp6d9qP91CgQci0sUH4Z?= =?us-ascii?Q?+bepp+yVrwgs6KuEwTT9w8HfjHvbCwjgqNCOgW6Nu6zlrTfbz6/zt3951oNS?= =?us-ascii?Q?uzHcMS+en1aBzkeByL5BFuRG0h50JaxSZWB8VtbIjcFLLt0VYrfF3aHmByVc?= =?us-ascii?Q?oTuEEMQjv21AjihWgYvcFXyahYnNPPKpCjJ07OWFG9rGEeScC9vAyx/R+eMT?= =?us-ascii?Q?QLuitPI6GREttDrv6hAM5GOJNIpUuIQD4TxF40IGQncGUdyFjK/vzO7zf/aw?= =?us-ascii?Q?aYNlG5Erf2yzZpeM3qxYYQToIbq3xqB9qx0Ikx50pxQPShRYqhP5N4ILTUd1?= =?us-ascii?Q?fX+bU+fVSrjOYdf+kzwPCPhXJAbNBgHejPIwe825JthZSJMqXHl3frrWzdXA?= =?us-ascii?Q?JX5MhM5xFNNPDv90KNINAeeJNe72JmKjSghpK84+xGkjcYdO7rXidSmqtLuI?= =?us-ascii?Q?xZ73yDHBT9HJHJlSlxidvDxRQ0BLVfan8hHuC8QN3BhvR91iTTndmBhm7Obi?= =?us-ascii?Q?IhyLPtCTTTMCuU2TPD2l+ZsbcexFgONpJQPXuu88NIshFAvw+KlF3W1iBIWj?= =?us-ascii?Q?pOqscMfNCEnl7pHYULhtOFE3F83mT0Jr7z2NAbxkyGsWXfGeHQ1sYBpdwl2U?= =?us-ascii?Q?O1M5Fhb3xyyEYkBXjTrRL90BAUw8YrQrg5/oUpdkAYRMoDSCpbaaK6N0ahGL?= =?us-ascii?Q?/UYEvulJCuhvIeh3ZZMDXh8sO8Tv6RLYrxFoZiLIfcCfHWbseSG07wpmCGGh?= =?us-ascii?Q?togRc6TqEHOEM/TNDEvgsHrbsic+VHUVBStbzX8lHjILqNiCmx9zhnubeRnj?= =?us-ascii?Q?80XCKY2hElUydnxm0I/in6R2FS2NkTsp83J1o+lRbEXWZA+Heo120r5hCZ/r?= =?us-ascii?Q?/I52o2vDEIv5jatf6zpNAhkAqlZer4qytvvA1SOww6PNJX5C+PfPcpHLH1je?= =?us-ascii?Q?ccyOS8Su9fL56nwpjX/dxWAzBoHW/8//PsKT0zgW/Hef+Vaw1267dmEDmc/C?= =?us-ascii?Q?V6PT7TvL/aXiJzXzy0te3oLaNOow1t8pk+frv9vvsTAEDDEr+1JmTmihf9S9?= =?us-ascii?Q?B+cSW8+CNEPvYm0uXkEcZeXWydCXD2O889A9BmvjcD6w65o9QvBNLRXacMHm?= =?us-ascii?Q?9ZzwRya+Y1CrCkFIN+34drLlbcAfPOivQPCqtb0TvGh2cRCwuNBRRtV2eTY6?= =?us-ascii?Q?DnyUfQz9uck/mo1ZhQyVW7w0T3Fa4HhIvhctArzFlP+10Ds8je2r0QWJ0OFx?= =?us-ascii?Q?e7Rqjj1rUJaERG7lg1X5lwZ+vvlkD4KzmPd0LGNSatMf0eUNB2jjblVJQvw2?= =?us-ascii?Q?rCnQX/rloTsgZT4ruu6NCoQ=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b5b0c087-0f16-46a3-35aa-08d9d7487f3c X-MS-Exchange-CrossTenant-AuthSource: VI1PR0402MB3503.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 10:27:42.4873 (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: 3WA5R6bwYGkRAqKXvC0hmRn7QOVZGYyOBS/sYPogFyhEa4GuumkYUWi3kSyjyZ5zNSacVjsb8xfhHRPAqL/8cw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4558 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 b8090963d1df..866b499202c3 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -473,20 +473,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 @@ -521,21 +526,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 Wed Apr 24 14:45:30 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:b119:0:0:0:0:0 with SMTP id r25csp199242jah; Fri, 14 Jan 2022 02:27:55 -0800 (PST) X-Google-Smtp-Source: ABdhPJw+DYKNMNpvnE01ljb9pWTRetqElmMmFVEQapSrLEvhTylR6wtxM3CkGVqhoIP9nAzMJT3/ X-Received: by 2002:a05:622a:d3:: with SMTP id p19mr7047645qtw.342.1642156075380; Fri, 14 Jan 2022 02:27:55 -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 j22si1821443qtl.331.2022.01.14.02.27.55 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Jan 2022 02:27:55 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3146-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=GYnTD21u; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3146-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-3146-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 0BA891C0C50 for ; Fri, 14 Jan 2022 10:27:55 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id CC92A2CA2; Fri, 14 Jan 2022 10:27:53 +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 7AB1C2C9D for ; Fri, 14 Jan 2022 10:27:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1642156070; 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=ncG+5ATqQHyMEGsfHF6Rg5FTXN0naavnhILa1zSedAU=; b=GYnTD21uIm1UO7ASMACkXSZtafllugRDYKqoqanbKr4CgsXW19H1MvQmZm8wSbPofPUqE3 72BXaG2xQcj2lxbpb1MfRSNXjdeE0V1sJ9kvUjgVB6azRcBP43wy7m64AzEv8JWJMFDSJr ekHQFoZcF7K0M130iFvliXJ0AZpwi/0= Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2111.outbound.protection.outlook.com [104.47.18.111]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-39-89mwztYeM6KYj8Hklfl5FQ-1; Fri, 14 Jan 2022 11:27:49 +0100 X-MC-Unique: 89mwztYeM6KYj8Hklfl5FQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y9FE+Kj9NpWivhxiiNI52pLqK1EaOzcaGhpf/De+OVl3kXh8Y15BzIwNYezFHq1mXajJIjVg6pxUIm7TaH9BUyZGjkqddGepEcOlT3x1JxEupWPfpK8aK89gtJXsGiCIdMgqW8GNe6T/GJ9ugQ/fAoUfOo1YKxalnVIygddz021H5Ikb9MuIINTnDAz0zWbDlmxHu+ZFf3zTiHxcQThvPSM2DsruolqCbqT7JEK1gt6lgUzpMjUDpQJ2JSZ7pF6+P+zVfvqWRGztWjOXEy/PqrK9Bl/LwHwssJgQ0LD9McoklFXFZDGTshhpc2MU+GiK6u0sInGdkyG6CK4V/xqkdQ== 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=vnJWkMkOYMtyQWdabgLC5T/Ns0d+BYRR5TW+IV9Dm54=; b=fHUSV7D3JbPBppVECnOcz+ASiuVEZHcrg4sKAnfYG70cjWZy9gZSfmFm2jVBZKgRWBelUaFoDCmYfz9+LUG5NxVkRQaw2iZVakMk++Tmdb0e6KzwGf8EIN9Av2s8z6p4J2CfKsVrzpyomhEiG9WdCRRri/r3cTkh6XZvxxwvvIo3l+Fzml6WJFX4vDHS06v9Py3lOe8MWIBYq+dKMwFIcX2Od3GBNtGZJSGZYxX0la8qlG+8h3bjKUOpoPrP9X03ZEZauvxi8u3j+k0vQEtCnffk0ZFFISfESi1vsi6dYgKAg9cTdqeUiQfVtki7jEZ4/4NppNVngtU4rVeVPLa8fg== 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 VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) by VI1PR04MB4558.eurprd04.prod.outlook.com (2603:10a6:803:6f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Fri, 14 Jan 2022 10:27:49 +0000 Received: from VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484]) by VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484%4]) with mapi id 15.20.4888.011; Fri, 14 Jan 2022 10:27:49 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next 09/11] selftests: mptcp: add wrapper for showing addrs Date: Fri, 14 Jan 2022 18:26:28 +0800 Message-ID: <82515476d59253de8cb0807a8214d5552e26c0b9.1642154579.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR02CA0172.apcprd02.prod.outlook.com (2603:1096:201:1f::32) To VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) 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: a400f859-4d7b-477e-b975-08d9d748833f X-MS-TrafficTypeDiagnostic: VI1PR04MB4558: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: PQWIzdADKajfB3UndjJwbHU8Jd1bzGSCf3wZuQArBLH26ygVYjpxtbmzFRWHRwJfOwtZnHW/juR527Dfq0N3uzGrpSx1pDkNHMyb+JFWuN5ICyHDY6WXlB4xVndl+MZQmPELuLJhcbI30Dqf+iKV5Wa8aBqqmPvJaUoCKvRrtRtkm8caFGIBs6+Ll5JwfhrN7VxJfvH2dkU5K+63Z1jMQY45TvesSNUDzu4GhsThyWgNA0hZlW0XdSpYHA7ob4ewUOFDTALAEkefZcKFMUpsKacxneWX9JJHn/pVyhF/HsI7VFH9a+y0y5caFM6zUkONL2bBLD2NW5rSGd5ME19S1tLYnX+myf2D0WlWrhAi0oUVFVeSN23YMIvI9UwCM8T2CeQp+n0zmw+9mE7Bk560R1byEB0f8KIKV0ga9RMmfy+p0fTuEXOJOQtncf7UM6v5PS/vTSzvkUotOd2EGcGToYUIlLQEA7lh7iQMgLjY8VCS778BVEm70R04ATjrjiiFFuBReX7017eZP4v/sgVih3S0lqPJhp/PgsqWppaTzpSC48id44ikaBWPM47pcXljNgOKGzhxJ/NRHoz+MVX0A7CJEB9HfctiSkntS/Wy/AWnb4ug0RpBeqFC3fE4U0EMjqHQ8o1KgH9r1uXET1CQWw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR0402MB3503.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(83380400001)(6512007)(5660300002)(38100700002)(316002)(66946007)(66556008)(6506007)(8676002)(36756003)(86362001)(8936002)(44832011)(2906002)(26005)(4326008)(508600001)(6666004)(2616005)(55236004)(107886003)(6486002)(66476007)(6916009)(186003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?185bcYlzbQJjr71mmiMaFc3cJrg3V3lr8INWhl2TbOkfNC2LsHUVSU83A0/Y?= =?us-ascii?Q?X+i/CbH3NsclRPhZEo4GxCryT0Evu/8k0VYPDXjNYSFwmAre+O5y6i8xjAM+?= =?us-ascii?Q?yB3xVW7Qw1Jz+otPXGN5sPV3kK/Hq2R988rzjvEf3Xk/iGdF7iJUrMX9kfGT?= =?us-ascii?Q?uWMHJB0/WnJaE+emY2+IFvBdFdCo+xkvDKjSHl9K33dyVBXUChCQg35LW1Q4?= =?us-ascii?Q?rzoUwhpUdJ8xoWwJwewQkbNflM0ngN7J66i1wUllzSxdYFtODdXl7c2hAS20?= =?us-ascii?Q?QnnMnJbLK9W8n2zsutEx8bhgLCZ6Yp2Hjg38QpmkG2NiTxrEuIkGkKMIUN7Q?= =?us-ascii?Q?LUju643M5J/30tW94aW5FEpQbSBr/fgU6zH/xaaa1+Dnk91ZR6k+XjtKmH7A?= =?us-ascii?Q?+TQgjXwwuKNsfg3cNFo8MdgZuoVSsq0m2yh8y44o95H8N74zpFDQfcqAiPu0?= =?us-ascii?Q?InNX0K1G/GP2dr/m0/YdX5P75MgnyP27hR9xow3+HFWGuQSn9WMudJit0dLi?= =?us-ascii?Q?c2bOB5dMvBQj8JvyjPRYqwIihVnf+csyV2JBOo4FfdXOMpQcRCNPGbYmWSUF?= =?us-ascii?Q?dLvywr+YCfy/78hrsgfigePHA7djwgxdIN8yC7vjxaouWXgMzqOlxJxzZTua?= =?us-ascii?Q?a6Sn4DB/w713WYzJ0TjqT9iYgbGmXpKBkPMTufNdxGBBWF3RgIT0IvrFW3Xe?= =?us-ascii?Q?7cWLeOihEe8kvAZJV0UiF2ve5glu31FYi6Awvg3QrG5Ti3v0iqZN0yHBuQ8k?= =?us-ascii?Q?N5IamLaxwwOZHPPngx0GPsbQVHg8gYlRnjGKjRoWJ3BxVgXRTv6fWwC6tlrk?= =?us-ascii?Q?qCzwu/sbu7pp1V6HzOdOTBm2DLJyMiVIoxapTvmDPhuoI57TM4QFyuwWOjYL?= =?us-ascii?Q?y8/luQfkGVzMYlUYyQw+Rvu8cVmPgx28yaOYNHOth7yupdqdaWMxx9Hqr0Xi?= =?us-ascii?Q?mxaXgUE9d6am1f3YrMNPwWR8S9ujYPdSDwzc0GAIqSOWbA3fgjfFf77PD5PQ?= =?us-ascii?Q?iyKr/uW/vjTVqhwIBaBU8ygJD7fuRJG3GCifsUVFYrJdk3be2D+WeoJocQP8?= =?us-ascii?Q?oA+O/SQbisT9mytBS14M+LuL9a2YrqoW6PwG21cw4oJWxXzy4Yd3eUXD90Dq?= =?us-ascii?Q?QaJ9L3JDACy/K1kNLvff4rvjb1gUWCqO9i+wkJMzF0iqIILxhsP9mPF3a7s+?= =?us-ascii?Q?TN2vR55Ey3hIDLZjzAx9lzNQ3b+4mL09btmLMFtEgZkPPA1uW28BcrzhXPrq?= =?us-ascii?Q?zihc5+iGh3j5fRg5BpJYh/WCFvEnJrx+FsflD7YuUS/XkkHukvE5EESPP4TO?= =?us-ascii?Q?iYDwaxMGXFPu8oBaXZOJva5InVwietBzoBJVolAJKR6ud3H8fh+jvPwl5gDJ?= =?us-ascii?Q?2z2V6TT9kMT5LSXLGpA++pyi1iSitk2igEFOGsfk9jyn6ehMFA4TvKyrc6oQ?= =?us-ascii?Q?y3+SGjwWjAfsKapADpBhI6swS6gESq8htNA9Ors/TqdayeyGxOJYdbqxQ8A1?= =?us-ascii?Q?OJbAp+81KEof0/7XY7jsr7yYoLMx+K8bXXOMQBqSaVGjd0cPy2IJpTYMe7DD?= =?us-ascii?Q?0/yvpX3FYtu3e32H7maHnJhq8O91cHWEuu2o1NVq0lT/actdQhVfWaSp3jW7?= =?us-ascii?Q?Lcy370ePR/Yvu+ecR7aM+jo=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a400f859-4d7b-477e-b975-08d9d748833f X-MS-Exchange-CrossTenant-AuthSource: VI1PR0402MB3503.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 10:27:49.0181 (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: jwLUb5vp1zj4CQWgBQGaHX8RasQxxExzrNtX2+nzhPIOjc8nE8nz2CflypNgH+MEafeV5iSZEiT5uul6H0tq5w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4558 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 866b499202c3..24cabed18f58 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -366,6 +366,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" @@ -474,7 +485,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 @@ -527,7 +538,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 @@ -563,7 +574,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 Wed Apr 24 14:45:30 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:b119:0:0:0:0:0 with SMTP id r25csp199337jah; Fri, 14 Jan 2022 02:28:01 -0800 (PST) X-Google-Smtp-Source: ABdhPJwZ5Xt+iUlnuRR13D+ZwbaQwoF+Vm6St5FP1nU4p//zRmlcc8QkpRKyEjpWAXnoRVucpPGi X-Received: by 2002:a17:90b:1c01:: with SMTP id oc1mr19178181pjb.27.1642156081622; Fri, 14 Jan 2022 02:28:01 -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 u202si5259308pfc.132.2022.01.14.02.28.01 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Jan 2022 02:28:01 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3147-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=YKcY8fud; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3147-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) smtp.mailfrom="mptcp+bounces-3147-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 301053E1015 for ; Fri, 14 Jan 2022 10:28:01 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 18F1E2CA2; Fri, 14 Jan 2022 10:28:00 +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 E24222C9D for ; Fri, 14 Jan 2022 10:27:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1642156077; 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=nvAWRRoUChJHIa4L6i+pqT2WIp2d4La8IfNJj61+7dM=; b=YKcY8fudpvTXyTd0h+pu0f2D+w4dFkylvs7CAeo8HT45VK+k8XfvLj4ntV5JDn6wf9kcqv 41fpNkjVx9Hx1VP7ksSA78IH8YWbOPmDo3bgZet1C5/hfS3gj23Vt4ehuRyCyYlihIQPHV QV0tltcQJL/j19ZoFfF4JGKoFl04Wdo= Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2171.outbound.protection.outlook.com [104.47.17.171]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-11-k0UyUEpmOeW2T5Fd2Kt_Rg-1; Fri, 14 Jan 2022 11:27:56 +0100 X-MC-Unique: k0UyUEpmOeW2T5Fd2Kt_Rg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P/xZV8+XImbmhyU4G7uHLJ2wQU0gfBBowiCuGc9DN8HI/LtAoNYVKJS6HdYrFqWXUsSN6B6hCBROzs8rL1GoFiNSgyymNbIl9d2TlhJcr1uKNwTiA4Zc9ZsI2p2RUfktku2X0moL1nQm77XA/nZWdvjaXE4X8EQKsic4lMTzV8nCbRlQ1gt/7CZl5JckwmIfZBkCPql9YaJByo8MwKi7qyZ839fNwJA66mcl/zuL65849gAvj0BjvaBNFTGf8J8rXtiV7HJvFIeg9WiRDqQucZumidg7OIBnVpFBReDS6RlYIbQidO6onQyeWeQhSMV06Z7h2ufnylbxBpCwyTFE6A== 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=XzDy9N2dzu7E4CAr/2+3lbFvTBKhFTG7oALX/BrCs/Q=; b=VjT6ixZOanKIY/6zHBiTV4FC9RI/6iB2DfU/tZyoEKZ24tyCSWIeCUZ6cDVmDtGBuwE/WyNjp7d59Skbc6PfySh0jgOjhAzepUmZOyHncUlwk2vZTqhKmtshA6d5MeVWXoCD6PnGWzAPNrDiNZfUhu+WoHcC3tg2WHs+43kwf1hSX1aNK8WdTEq2g4QxCZxf9EeAzd/klIgN5DB0Fn93rH4vm7Gi2sJ606rb8loBb6Zqod1239VwrgKIL/YZ0HZK95x5QXKq4qSQZeJqECXPtMx7fwEtpp3/3kUrNY7mNrAhjompugY8MJHoJ8dXwSC/6qzbjhmzVD6/3CFpZCgNDg== 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 VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) by VI1PR04MB4558.eurprd04.prod.outlook.com (2603:10a6:803:6f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Fri, 14 Jan 2022 10:27:55 +0000 Received: from VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484]) by VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484%4]) with mapi id 15.20.4888.011; Fri, 14 Jan 2022 10:27:55 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next 10/11] selftests: mptcp: add wrapper for setting flags Date: Fri, 14 Jan 2022 18:26:29 +0800 Message-ID: <5fdfe3efa18f141a43ec07a9b01d5b679d1a4a4b.1642154579.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR02CA0161.apcprd02.prod.outlook.com (2603:1096:201:1f::21) To VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) 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: 5edb2b53-1d52-4fe5-51c6-08d9d7488737 X-MS-TrafficTypeDiagnostic: VI1PR04MB4558:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zg46YHx/KUUPWt5RgYRdNEMFJ6TOBIdRrpDbj0YEtAjw5rNlAEv4HnTwICwFrdkwpxwWTrM8w4haLpcky0c3VlLJ4j2g9TQUKkwwXOAiTG6nz/tRdN6IL6nKMABA7EtKkef6jhJrC7JmVv2S+e99GfgItQznaswJW5K4ab7pe6Afdt8sai7ivNfBCB6xdkV9c2KT+8TprXU2ZjpLYsAulg31UIojPcyAt2OEj2G8/lcXB10sYbwfDe8d1S4DeKc/AygBtD5b73R3Ni8Z1lGRWawUH6PMYBD2Abyx+Zb0iavKiMZ5Pbwr+4Czt085yqhrzsic/9iBXxDwzusryhbrUIR1x74UHOONqRk9aKGNmNaLEodLexq0BSoTPlrkU74QvFHJzPphxmyZPkb2L7D1sd2WXgUtTSLDN1GYlo7XDyLvLxl5mb9b7/SLjwSNLynoV/8GPX2gUGJyMVRCWDYr5m7PT4J47gEPvAUyA/OgIrSExmcYOrHN9geyo3S3HETnZOUGtbMcsLM3/vn4rOWQqTHi0yexyApMcO5T8PBycfreqrhS8nMop4g5l2qTeXelbQ/jrx89Er/5YqE3Qee8NT9nTb7fP1TZW3tiQKNzxCheAx7AylolKBVBefxE9BiLHMWV3M1bSMHdLtTbVNVmzg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR0402MB3503.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(83380400001)(6512007)(5660300002)(38100700002)(316002)(66946007)(66556008)(6506007)(8676002)(36756003)(86362001)(8936002)(44832011)(2906002)(26005)(4326008)(508600001)(6666004)(2616005)(55236004)(107886003)(6486002)(66476007)(6916009)(186003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?wNno9cVQsUQ+Nz+xuU9G2+uVXy7mY0iVts0hmDJB/yuXGjgSXFrI6aPCkPfy?= =?us-ascii?Q?lzMockmNZzGXiX4ttTz2e70y84KJJhN0HBfAkqZV1cHEhAdhNXJ4QXT4Cwim?= =?us-ascii?Q?2dMlxcjYZDLeJ5+8CFFxjNUuLs9gphyTcY4NeIxbq372Bt3pLkJLuOaiJ1mA?= =?us-ascii?Q?XASP4eN0rmFjA9FVer09Dtsmek7LI4VjuN3p52I1IRMZkaBf/25jdEtXkFzX?= =?us-ascii?Q?KFJMW8yFNutSN07KDt5YW6nID6C1D8jIPrdZAJsi9frdFWKfEZLNIeYoFNLZ?= =?us-ascii?Q?2X3W3jkqn1EsbZsak6p16Fv2+83soLF+BbJPOJdlXHpFSbaJstPv6tH9Q15p?= =?us-ascii?Q?HJMjbaCRqAZ3euISZPn72a0M0KfQerPKGYpE4NeC7+No3oD1XqdHEEGqb+xM?= =?us-ascii?Q?7s5PiuNrz9pLRhU0g2bbzq8AOJoUK6MiBxqeyrVykGK53eJRoF8ZSeO6T9a3?= =?us-ascii?Q?BmcmTzGZkBgVwtk+wGfc+AVvH/One+82+2u78q5G8rFuyB08ESMxlRlXA0yJ?= =?us-ascii?Q?9xGMmHO2nA+UfgYuhs1AFycnW4nxauZEwwvOXzE8C4FfcQVqxlBQAqABI1hj?= =?us-ascii?Q?qGmMmZIv+I2u94SBt5d9M4vjwxKLjyn6u24Xa955XTGMD4orM4SuqSM2HojY?= =?us-ascii?Q?ToYKxu9NgfdTppKg5kCSaJABfcPWw+jWVAspli1ki9o2Kq45Tp3yb48Q3twJ?= =?us-ascii?Q?lvg7A91wqTJNaUjMCPf/HakFa5s8nSZjsNS499iB31WygRrN7JibHTcGstWf?= =?us-ascii?Q?328dE8DL1kDJxUvc2iVliJ86ZgTWDBswgDC4/sI57fasEoQizh+MB5lp1nnt?= =?us-ascii?Q?yH/TFg7hVkFnYN/N9iE9G8l4O95+E/wwtIJ1mVKaQr0U5x91X1KXui13GMGU?= =?us-ascii?Q?C8+ODP+4b+zDytcnVKHKJUL30c4OfavV0C3U3yR1G3wf5N3TzvvkZk9sZ+0i?= =?us-ascii?Q?0827m4lJEBfFwUJWECp/m2bSeVVO7IkM1BB7aLomPU59byTd4OuwGbk5fzjI?= =?us-ascii?Q?RBRjjz1kyhbGTV6j+9IoFlMbClOQr1gwVUfY9N/1YqN477fH/yFwFgoatOsx?= =?us-ascii?Q?gVoU1BrbRvKH1fm+pb57Mnn44FCKh51Pqa637+0Tswt5dz3qm0u3m+skEzmt?= =?us-ascii?Q?/uQZPQftbsM/9mSmUe0D3i5egRb2OTGQ1qVPi+QMFaGrPhmkjiltaXO+QOY2?= =?us-ascii?Q?No8g6AxnoRH6ZVhKTeoaSarTEiwZ3wMjj/J6yu3iea6Y1MZchjR63z7P3QUo?= =?us-ascii?Q?VDbxw4I7xceBPI02fIxbD7XaybzW4eZ8nDA8Ec9hyP3ZQw/alht9F6fmVLPD?= =?us-ascii?Q?rMyT5pwbkOtjgFktE2ABIjG3DL+Ejze3L9TRTwTWNMPFmOlxT5NkEkL08VmR?= =?us-ascii?Q?BqW/4liNsSrq08WZMIr1ub+046YHMY62RWp3JrS5/REouX+mwu8pqGBfmK/R?= =?us-ascii?Q?jY24F2CIIjcLvM8F2hkYRRRpnzlKIux6ZCFarBdbeiCHHqEoqWEn7LESnUS0?= =?us-ascii?Q?KZz0zw/wpSBqJ9cXa7lfnEckVkdc/g+cAvdYcKZNqyXG7hVcJPDqIM353T1f?= =?us-ascii?Q?NM1MkN1ACUh4eZWsYMiO9HLw+x7l2PksdVTMO2jRBZtHB7ynseGVR7JhnMOO?= =?us-ascii?Q?KnOvIb9G/SnBpVnDEVbxPrI=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5edb2b53-1d52-4fe5-51c6-08d9d7488737 X-MS-Exchange-CrossTenant-AuthSource: VI1PR0402MB3503.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 10:27:55.6740 (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: A3D7Ny9K5MMGqGZMwq6VkkrA5CHI4t5vB0vV/f3VPF4QbU5fsLliWPrTS5f2UvjVTHebbUFW033FqtQrPAFZxw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4558 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. 'ip mptcp' used the ID number argument to find out the address to change flags, while 'pm_nl_ctl' used the address and port number arguments. So we need to parse the address ID from the PM dump output as well as the address and port number. 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 | 24 ++++++++++++++++--- 1 file changed, 21 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 24cabed18f58..4df7417013d3 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -377,6 +377,22 @@ pm_nl_show_endpoints() fi } =20 +pm_nl_change_endpoint() +{ + local ns=3D$1 + local flags=3D$2 + local id=3D$3 + local addr=3D$4 + local port=3D"" + + if [ $ip_mptcp -eq 1 ]; then + ip -n $ns mptcp endpoint change id $id ${flags//","/" "} + else + [ ! -z $5 ]; port=3D"port $5" + ip netns exec $ns ./pm_nl_ctl set $addr flags $flags $port + fi +} + do_transfer() { listener_ns=3D"$1" @@ -578,7 +594,7 @@ do_transfer() local arr=3D($line) local addr local port=3D0 - local _port=3D"" + local id =20 for i in ${arr[@]}; do if is_addr $i; then @@ -587,11 +603,13 @@ do_transfer() # The minimum expected port number is 10000 if [ $i -gt 10000 ]; then port=3D$i + # The maximum id number is 255 + elif [ $i -lt 255 ]; then + id=3D$i fi fi done - [ ! -z $port ]; _port=3D"port $port" - ip netns exec $netns ./pm_nl_ctl set $addr flags $sflags $_port + pm_nl_change_endpoint $netns $sflags $id $addr $port done done fi --=20 2.31.1 From nobody Wed Apr 24 14:45:30 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:b119:0:0:0:0:0 with SMTP id r25csp199407jah; Fri, 14 Jan 2022 02:28:07 -0800 (PST) X-Google-Smtp-Source: ABdhPJxIT7XX63/1PwuruPzMSglEu18AKOQUQJ5eVZzUziX/ak/WNlqnn+8NoyBinW1tPzfUqmQi X-Received: by 2002:a63:c145:: with SMTP id p5mr7346056pgi.355.1642156087805; Fri, 14 Jan 2022 02:28:07 -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 l6si6175620pls.108.2022.01.14.02.28.07 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Jan 2022 02:28:07 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3148-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=G3A23JSC; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3148-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) smtp.mailfrom="mptcp+bounces-3148-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 75F7A3E0FFD for ; Fri, 14 Jan 2022 10:28:07 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A81F02CA2; Fri, 14 Jan 2022 10:28:06 +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 9164B2C9D for ; Fri, 14 Jan 2022 10:28:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1642156084; 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=/IvkPZo4lwDhppfDXy3vy735YdrwZ46xMsz6HvSjbQc=; b=G3A23JSCkyasKyw/TVxMmi2MnqxuGBD1UHp/kdEfbSL/+l8LmVRxFDqFvzGhV+AuYX0u4M rI1pHm2RWH4kdG9baE27bEF+clSfpaTpv23vgYeamRFgc2ju6t7WtbV6247rGu22/Lqzln cVTeisnFkx9NDHw5t1joFB2oOfsCgOI= Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2170.outbound.protection.outlook.com [104.47.17.170]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-31-hPNCwNQ7NWyQV3W87QiJqg-1; Fri, 14 Jan 2022 11:28:03 +0100 X-MC-Unique: hPNCwNQ7NWyQV3W87QiJqg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R1ED6ckTMzvjiHwNSQ1JPU57tyxmpPZxmIjq0eMZzfYAIQ4huM0jJbZcjhvhQNBFbexps96H4kE/PyvEg0MvxF2/AfhhLE0fqfCHS1xTZhj04c671JR0HRZjsckpAqsfpk31cauDKBT4q1wcEgE8T1VKjp66dZ6/Kavi0NZo9/nLBrP0O1W+uY5kEHYo2B2yG/fFATod6uOnbCLvOHTlkq6VKx0XBsqpRZj99xjhioE+vWobrqgYbqCG8yMBRHeUZ8gUTushC3oTyK7CUhCboyZLijdbVwlL2TfchiFCHNScXxCTnYBMG8nHnhBci+YVASY8qnE949AWWzdqAomzwg== 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=e8M4//1L6gKBj88KjSgw387GfjNSYPYui9aZ1WGG7Jw=; b=iZ1yL+wJTJgxJQc70RLHsP0k/kkD/2oHCyuamnzrRqPRoCxPG43iM14+IrntDQt27jhOuAQbdOyk75KWGPXCbQU1vPd/wzWeRWheqjJeH8/EWounvIzhlqGEIz2f3sMJzUPhwflQStArnsynRovVXHv14njY0mUKXt8+X16ZH0e7VpFoHLpvz9MPSVBfF2Mrbwk5+erjtpweZ1BZGlwh1Tam9Dp5wxhOImiWY0uz8aY/TPxs+vmYrncoTEk1OR2y8sD5QxPlORCDSUPxLRRBqQKv4mb2Y7IST/HToC+EqFORrFd/Kc0OvZTTTdFFZY+eAAu6o6zLfTpX/I6WzXzZkA== 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 VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) by VI1PR04MB4558.eurprd04.prod.outlook.com (2603:10a6:803:6f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Fri, 14 Jan 2022 10:28:02 +0000 Received: from VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484]) by VI1PR0402MB3503.eurprd04.prod.outlook.com ([fe80::94c7:de62:9c1b:6484%4]) with mapi id 15.20.4888.011; Fri, 14 Jan 2022 10:28:02 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next 11/11] selftests: mptcp: set ip_mptcp in command line Date: Fri, 14 Jan 2022 18:26:30 +0800 Message-ID: <337113ce83fd60465eda2d21a0bfeb18f7853528.1642154579.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR02CA0171.apcprd02.prod.outlook.com (2603:1096:201:1f::31) To VI1PR0402MB3503.eurprd04.prod.outlook.com (2603:10a6:803:d::26) 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: 9c289dee-c498-4df3-39ea-08d9d7488b1e X-MS-TrafficTypeDiagnostic: VI1PR04MB4558: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: d36VlLzx3Z1G+TSHd0X4cQIYZcalViwQw2G3kjGhgowkC57jwnUvIVe7dJjNth/1qILg6Zzh7JOyJ/1HHPOB/rwO80AyXojbHRmh1qSNe2dX80Vl7Er4ylknuep5FydXDMfNomCYLCZfC6QS3s9rJ9I0Zk+V3Hh1Uw0KcBcsuqyFcwl260mVITEVez8lbvRldq9yVcz8VVdwOpBcHAuU1GI/WDjVj+IWdTK/jI7BHcEVRvPEDQM7AbLyCNEteriFrfr5oOPTHUvG/p0xzDpwpMc6GQZ6E8FDtOw/8zkyRcwsgT4zHI06FFJRLnfk1V9YcqJOcuOeIoVDF98db6VGvLXVBptgZAPyJkzS02rzHWSppmgM2GeZX8VMnRbIf1x2BWY65UA9oMyATz9+gWmQblX+uzjP1AGv3vIBPkyJcsekVrEU5HNQ+SG1uwXGQSR7aOaiiBEYz2nugrORHfMA4s0cZqteZXrF2+U7Gf3Q5Ffk6QxM61VsMlb7s6eW3mqD/DRZmD66uR0GvS2Cy/DE0j6NCu1zRnnxCG1pQjfkTCnj3Wsixug2s4qFV/IzpEtZM+vvSPg1lH1RFzG9u4ZlpcoG5a41+b5593ruoeSR+i8L9ZpCCDIUMs9R6No5wwFkTzCZatzsTbYewLoJKP4r3Q== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR0402MB3503.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(83380400001)(6512007)(5660300002)(38100700002)(316002)(66946007)(66556008)(6506007)(8676002)(36756003)(86362001)(8936002)(44832011)(2906002)(26005)(4326008)(508600001)(6666004)(2616005)(55236004)(107886003)(6486002)(66476007)(6916009)(186003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?bZAJs7OYYybVNjxYFCz14oDQgTsReyDFwqrVqQ/eCB/tzhVmMRGoGN0a34E7?= =?us-ascii?Q?qdjz9rStMKOXk9KQF9At7pSneXBo5fdhv/dETchYT+h5AmxiQzIzQSknX6cK?= =?us-ascii?Q?SAfByS62A44CeF1TIZO6HxRLV9dm8NRoOky5FDWVq1c6AxQIgHTT51C9yfkI?= =?us-ascii?Q?aO6gOK8NdbXiHkgotW1XDfVroa6CxhaxBTEohniwNQOTu7JB47XvVPxTCQ5m?= =?us-ascii?Q?Jz0mGpu8jqC/TuoopjGOWGCf3l0kLmXiORkVvwW+yDLC3GF55DhYbh1SbHMF?= =?us-ascii?Q?t1c5zYm6egqSeJUtU360w5j1Wwt0l2kasJ7RWZM6SciDKprR1O0yGaihG+fV?= =?us-ascii?Q?iXgFK+NttZ4CN3MLX6eO6shIxV3g1TliQte0nRxFQm2dh7DeSFeIB9YBPnc8?= =?us-ascii?Q?4uykwU90ti9YxSNtOrp4rjAU/5GlV9JI8t68fXhS9kDJupYfbCZddKg2qjAY?= =?us-ascii?Q?jf95rp9Lt7fRQ/8htXQInhLnw7cYS5+QnIbEPNmeFiQjLXkfdtCFUjRUjfxw?= =?us-ascii?Q?lnJATVEUFNd3Yv4fpDJp0ANZIVK+CVOjJEqUTHVrcY51pCGaRFCqrAYqjaev?= =?us-ascii?Q?0jhSpJCBgNvSAzRvH77HYXNtaxds0sZtPfkUV2baKKsj41ri+0g2IVPX08mm?= =?us-ascii?Q?i7/YYZzOkZz1VtotnHCkzbyMDw9Bb5MphiFQvuZnZ3wldpdZYc4Wht3m9nSA?= =?us-ascii?Q?N+92TFJriHjQytj6+5KvrqCaWkYCmyVX9MmfeJ9C++7OH3nU6UuYFFcYY1zo?= =?us-ascii?Q?zGwk7aETQiHMXcA5v5xn47o+pIQsoIsitj1lzqv0eqoMBawbYMtcm2Os9e8e?= =?us-ascii?Q?n52eZAKAFe3mHekMEQiMaiAJe6/F8SNAhXtC4V2Qdq6WE/kr+ol76wm2E6LA?= =?us-ascii?Q?Os5aspNnLgSSLuPN2yBtCJ4U+BjKJpyyVgXWMWtaf2+ElQJ7fcOue9AGjfv6?= =?us-ascii?Q?K2nsYiE0SmW/3spJoqA9quz7tS3sE3wYgtsqmuBhUBYlSdqTmI901fZuHdT6?= =?us-ascii?Q?Agi2CTJt2Mc5hx2A0DVq7PxrJYs7enINeyGGd/v+fOSJSNceGgCtH9r6/KBW?= =?us-ascii?Q?r63WJlozetG3ZK90WbKOppC4DIdxOGYjy+z+sx67iSFGacuwXrZh5NTPselm?= =?us-ascii?Q?7dyh+lXV4IH4AazGMTjKJXiCxb/qm2DilOe3f/eEO5jT1zamn5LN8TRywJxE?= =?us-ascii?Q?B69UQ6+bBcxaXXm9VWoHZakWbbI8BdkkjDNtayseAkIp/TBC6Lnj2mDfcfEj?= =?us-ascii?Q?yXAzPNCziy8+fqFWxgd0pMbS99uVMQImqxBB60qUcRdJb2BJM/rZMRlnoGP2?= =?us-ascii?Q?pTC7ptdmsyeU1Yg4bWVnco5Em8kZoxXTU/I3rfmo6PqB3uCF7P3h2xQH/Q7M?= =?us-ascii?Q?Rbol+S9gQ54/Y3bfP6SsUcVgAGafMPItOGkh0jt8IsSrKxlOZNOYlwzWlarU?= =?us-ascii?Q?TcWeWIQby704KQGjkQYJibiciH4KhqYOoWESRuwRDn70j6ftv4OME4IXh4WT?= =?us-ascii?Q?/7vkZeLFEwVPkoD8Q3Aqp4iF7lSlbtRwRXqnf15pIm73M0gTkiCPmJkRkSvD?= =?us-ascii?Q?XK8NXjmhrHeBj2DNfdPHKCPZ9vlf6sGMj6im8F86a828g8kE8I95RI0uj9bl?= =?us-ascii?Q?4oE/Mk+88ql0O7Nha5HR/HQ=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9c289dee-c498-4df3-39ea-08d9d7488b1e X-MS-Exchange-CrossTenant-AuthSource: VI1PR0402MB3503.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 10:28:02.2360 (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: Q7q2nmNKMW+b2Uzwht0Lvw+LDxiaF/CZ7L8IkhHuX8sXaU7+aCO+wqumvbK0xR3ZCB+WYXhxefOjIWKlxmfDUQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4558 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 4df7417013d3..c8b7f84547ea 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2220,6 +2220,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 @@ -2241,9 +2242,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 @@ -2253,7 +2257,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 @@ -2307,6 +2311,8 @@ while getopts 'fesltra64bpkdmuchCS' opt; do ;; C) ;; + i) + ;; h | *) usage ;; --=20 2.31.1