From nobody Fri Apr 26 18:05:05 2024 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2084.outbound.protection.outlook.com [40.107.8.84]) (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 C6838A2D for ; Thu, 4 May 2023 10:20:29 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KBmjQDfnRu/14suB1kAq/jID/D924zK+LwTwEezKl7eHUB0O5e5VzO5knx5esHHNpWrSUfJRY6zVzK1ao3K1ZyqaTRYWVqZ0W7xlnv4007CRZn1hve6n+ADAZI6vJdx4jAj8KoW3NOyrWO2MbGQaBUafqJLHU8DPUxJ+iZF5hAdJxSUoO4Hs6M6CWZLHDhbpo2dTL9oV7l76w6dDZHuf2uI5YRHY6nPjM0K1/O/4FvXmEJG4FBof4zgN9+qHAkFCC0Fz39PwgzBYMr2uJ9OMteD9n7qd0tisD8WwyEiEmvl0tmk1X/dhYwNOjOhnzLTzRGVLzmH2XekzoTcHukIh1g== 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=t3bl3W2DePJSR+A5CQupDySYUYnnndOVDynmbOw3Eb0=; b=XCb/Opwc/eanY8NQH/jTnvAsisa19uEINbpDnBDjiLU6ela0CoqZPqigx9Yz76KS4ug69+Ifx2DSPpeFT4b4NXJ09vJjrDElp7c4o/LcRNqtv2eED6NKBLgBfrHWb9/5Rv7eiRY+1JPZbDsACEka9wHZ7HQ3gDWH0jDT3fPN/VstN1mIFYkOPeXEcuGOiKM9fqE1Ha/eK3wU95FAr3u1e0nlk9YbSEL3a7H7JLVgIGW4e/6/DIbu+UPqCWq7EQfPsXURs4XdDcSbtKpF+6LvX1GhFsM6LyWo/vcQNhRP/EluFgOhk7lrz1IGTtiFXCZbDj6q/1CzjI+izfnBh7Lq8g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t3bl3W2DePJSR+A5CQupDySYUYnnndOVDynmbOw3Eb0=; b=LqGifWHEpR/pFBBEEOeowm+Z9NXUeBfIMIDmd8a7Rz0URT4agOqzDORyYqCjbT1QBl7c1LEI2bN7HmZXl6o8u0/DRczhJq7IqIpDdvchdGkpyWBhns8BUwy3FObIIzNAJQB5sn875gcjM6k7Jf5N8NErSdhrw1woL9Iu6OpEAVVx+N1bcrLQymGPnEQk/pi1MC0y+nIMNCB4uVVXrp8cDRcBBNtfZAy5kp44tMUMIl3einBpZMCAeV4s2f/76Nuapskp593UeLS+hjp7mKsJYaJUi/pe4gAYBwz/AZ1XcU2AW/zELqx7CormxKWbC6NoiXRgaXBEJy60/cLIkXpnvQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by AM9PR04MB8908.eurprd04.prod.outlook.com (2603:10a6:20b:40b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26; Thu, 4 May 2023 10:20:27 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Thu, 4 May 2023 10:20:27 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v11 01/12] mptcp: only send RM_ADDR in nl_cmd_remove Date: Thu, 4 May 2023 18:20:06 +0800 Message-Id: <30c7eccf75e15d3a5a4c90398578c0fac9984dc5.1683195386.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR03CA0118.apcprd03.prod.outlook.com (2603:1096:4:91::22) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM9PR04MB8908:EE_ X-MS-Office365-Filtering-Correlation-Id: a60d69f6-94f9-48d5-6467-08db4c892e06 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dpM0IBrj+8jqVLuAkW8hMo2Z2hbiDO8zXbgGa5Pgr39VZv1XUlzQfU5aTcOMUskpjz/hVuNk4Z45dxGgFEjGnt+Dik69SmnsMHBvQIioaQFFGjLZCIbUFeZ8Cn/jJQtMHv5TZfz07XX8kAY6YYP+0wllwgpsY7fT4mBgx1yDaEhqzRERzAu1tOXvclEdHJFUfrjC9PgVPmWc64OtQW9eYIbUlaCujhsacGOEwnNR7dzJk1URb7LvuYe0bbjBv6h0miZ8KrGSF+BzztK8mUA3LjUZ2+kaG8yJ9H7TvAFK6BXQy0JlIJM1DDRkNvJjS/BgIf9JIIXr6GHsn1pBVb4t39gmSMsipzqyBnejMAwXGwdmWTEJDgPpQuiEJhaLyqzVn0dyw7Z5uGufqw1sPqhKIYNQi00YW7AMI0uN//8f7NwD/Y0Jdr8XtbyxOyxIyQ/T+oWtgHtq9ICSG0kYS86VRJZWsif7WfQ+Pj7K1APfrPnD21s5z9qxukd0AmpVdU97VUpSJYOEdvST9E4kA502wcEDWUhdYU4QsLwkyJHOnIM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199021)(44832011)(5660300002)(8676002)(478600001)(966005)(38100700002)(8936002)(2616005)(6916009)(86362001)(6512007)(6506007)(26005)(6666004)(66476007)(66556008)(66946007)(107886003)(83380400001)(6486002)(4326008)(36756003)(316002)(186003)(2906002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?a3mPPqRTGBZJYTCrvPObwT3iCzIgoeHdiK9mLEX+W4yvRhOW+r/iC7gqJpQT?= =?us-ascii?Q?mZfmL0odmjSM/RwBnZhzTpVXwA+iSd2F+/NFCDKCLgLsThucRhxwpM7km3JE?= =?us-ascii?Q?3P9A4V3qS3AX4tHnasSGTuBHGSyYMVF2SL/64Pv3sz6172A6utB3vjpcjmzq?= =?us-ascii?Q?v7+NSJikNG9aZNKqXXmevl8YSJsTmUeZBOCMzOEP4fokcHt4WornRd2giwFj?= =?us-ascii?Q?SkJq6p19P2q8JSVvOIH1zJ1tiV9il5MnK7QvboIMsrY2jfn1F19nY9+bV+gB?= =?us-ascii?Q?H6DzgTf6qT1LtXlPisbdTEpytpdcZxX5FNellei0dLWHZp7GkkvdErsaTH88?= =?us-ascii?Q?pPVBzBbGxLgjETk4IIQuRW8K+ht64j4S88rKuSnu8+59fwrmDgM5WXo1BSMA?= =?us-ascii?Q?QTdChyN60l7QScSZ9b3WbC5ap5u+RBrx4oN/Me3biSTTfaKBafGnU+mwliky?= =?us-ascii?Q?j+B2LR3EjiH5hOOk3D5IMw2cYQBNqTlscXoG8PeFKStdhxistjgYTjROIy7g?= =?us-ascii?Q?ezADNDqilQmBUsDl/npFyTVJ1Ajcc2boW7UQe05q542xLIZ8jdWCj5pZ+uqv?= =?us-ascii?Q?qOnC/zfQGtqVu9ity/wa1iVihzqYKfyGcKNVvYpRAJbZPV27FH4SUmi22DIZ?= =?us-ascii?Q?w5lqR3Rk8T9CQZMhXtcwFhTHhRw/LQrBuWm54O6+Yz+u2wLvpkpVhft2JPFb?= =?us-ascii?Q?Gnu3Ukbv5p2U9GRt7wLSvEjE8KzTDoPAbqRT0/oKeOyRa4Av9CUPyvGPWqTk?= =?us-ascii?Q?cA1jmvnAZnhxkqp+m0s+eua6dk2qYyn47XsVbpkBWAhyaxdrr2vz6gqTRX6E?= =?us-ascii?Q?i93iMIz9Ji93S7WaNqNfbg+mNZzMxx+mZm/jgotYIhsQbn+yxXIvDEnQrSGN?= =?us-ascii?Q?8Onlg11qA7MWJeJkOt7zumORqcC1kax0wNOsECcS2753o4YflWbblxT9lsQD?= =?us-ascii?Q?3A0LADwK2XWUm8mzunF7TFeLX1lzgzNeq03XsJEKjvPbVxNcRCP6JN17uo67?= =?us-ascii?Q?KCu3X+ZQIg0aAua3ACfg5+Et2DBnJMzo7IHPLBEZynVgQcPXmlPsiXbpvPiz?= =?us-ascii?Q?491Tb6EOuWO3Dhoib6JBmRL890uZMyYFuPzBZckqQyx9iAQjF6ubHSvegawG?= =?us-ascii?Q?hYZKfouFzSgMwWwKGIEbOv5NjZGNvtNvCfV1j6ZkuNMS1O/uQL2weC73crXk?= =?us-ascii?Q?6Xau9E/IaT7ZEjUt7ptRLEFV0w/Mg3pUUDJ6/Th6/+HsjXqrxRrwRrDhaZy7?= =?us-ascii?Q?UX/VI1NoZH9K9LqovptucZg7taU6wRiGyZ9EcmKeTyr47QdSzUHMKedpnMzo?= =?us-ascii?Q?yGXRS5MMVGi7e/9OqRyWZKUl3QvDNJt0bncsqFSOBRecYHIyLEuPqdBYdEKL?= =?us-ascii?Q?5ZVXLLtiZb9XOhQKv6c8Pm2THVUpf/g10I+K4kKMulL7imw5yPf+COqJToRO?= =?us-ascii?Q?8FKmUpzMvFKwCmAZpk66oJQm9b7j0JAro0uKy1vAMZAfY8t9wqHpky6Hr+jF?= =?us-ascii?Q?ET8hOeSHMDtjRAjyl+KNNDNAMMorXd2wf69VyhgYXKqCBoh5QARZaj5wM8KT?= =?us-ascii?Q?gAyJ7Q1AUKyP42GHaXodPdjt+BNfZTUmtCHUOfEj?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a60d69f6-94f9-48d5-6467-08db4c892e06 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2023 10:20:27.1812 (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: itKkKdwt9V+zjRSjPbWJVVC9H3fIT26YfcUrJC5prPy+x40m1sakKJzctqb4UUgl0okSlIQXnuD56x2AY1FM6Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8908 Content-Type: text/plain; charset="utf-8" The specifications from [1] about the "REMOVE" command say: Announce that an address has been lost to the peer It was then only supposed to send a RM_ADDR and not trying to delete associated subflows. A new helper mptcp_pm_remove_addrs() is then introduced to do just that, compared to mptcp_pm_remove_addrs_and_subflows() also removing subflows. To delete a subflow, the userspace daemon can use the "SUB_DESTROY" command, see mptcp_nl_cmd_sf_destroy(). Fixes: d9a4594edabf ("mptcp: netlink: Add MPTCP_PM_CMD_REMOVE") Link: https://github.com/multipath-tcp/mptcp/blob/mptcp_v0.96/include/uapi/= linux/mptcp.h [1] Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 18 ++++++++++++++++++ net/mptcp/pm_userspace.c | 2 +- net/mptcp/protocol.h | 1 + 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index e8336b8bd30e..784145e6a314 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1555,6 +1555,24 @@ static int mptcp_nl_cmd_del_addr(struct sk_buff *skb= , struct genl_info *info) return ret; } =20 +void mptcp_pm_remove_addrs(struct mptcp_sock *msk, struct list_head *rm_li= st) +{ + struct mptcp_rm_list alist =3D { .nr =3D 0 }; + struct mptcp_pm_addr_entry *entry; + + list_for_each_entry(entry, rm_list, list) { + if (remove_anno_list_by_saddr(msk, &entry->addr) && + alist.nr < MPTCP_RM_IDS_MAX) + alist.ids[alist.nr++] =3D entry->addr.id; + } + + if (alist.nr) { + spin_lock_bh(&msk->pm.lock); + mptcp_pm_remove_addr(msk, &alist); + spin_unlock_bh(&msk->pm.lock); + } +} + void mptcp_pm_remove_addrs_and_subflows(struct mptcp_sock *msk, struct list_head *rm_list) { diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 27a275805c06..6beadea8c67d 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -232,7 +232,7 @@ int mptcp_nl_cmd_remove(struct sk_buff *skb, struct gen= l_info *info) =20 list_move(&match->list, &free_list); =20 - mptcp_pm_remove_addrs_and_subflows(msk, &free_list); + mptcp_pm_remove_addrs(msk, &free_list); =20 release_sock((struct sock *)msk); =20 diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index c39e172c95db..1a2772902e9d 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -845,6 +845,7 @@ int mptcp_pm_announce_addr(struct mptcp_sock *msk, bool echo); int mptcp_pm_remove_addr(struct mptcp_sock *msk, const struct mptcp_rm_lis= t *rm_list); int mptcp_pm_remove_subflow(struct mptcp_sock *msk, const struct mptcp_rm_= list *rm_list); +void mptcp_pm_remove_addrs(struct mptcp_sock *msk, struct list_head *rm_li= st); void mptcp_pm_remove_addrs_and_subflows(struct mptcp_sock *msk, struct list_head *rm_list); =20 --=20 2.35.3 From nobody Fri Apr 26 18:05:05 2024 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2042.outbound.protection.outlook.com [40.107.8.42]) (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 C53F8A2D for ; Thu, 4 May 2023 10:20:35 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GW67+aJL/LeYAn0Y05eJI1ZksZl4d+kGfQiaIcndiOyf8hUH/rtwd2Ul8X07T0plw+Han1auEUyDm+eRzLejn7D1QkDyk9/XotA6NxGRcUDnF4K45ps4TxsKZbx5FVoLZ8If+OqJ2FYL4vnvcFYwONaPws922Z8/mAfw51MjcRzlz3xxQ+y9BCe+IXwFuw8lrvYegYlfh07FOiUGSgpm2PZys55JBOLeryOKb5GD1jXJKFsWC2YncHB6KlKgZ9KyAkHeIgPeBatFXf0mxlOJwjMBnpGedr999vhOHT68ZWeeA/1mT7SLqQMFcFGtTbiXK4lphn4oMgY9OMvCxM+0BQ== 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=kI6ElL2xjN11D5EYTplE7+bIxpKKHH6XehTsvkmzj2k=; b=ZEATQK5I/kPUn3Jt6T9LohE/3BoscNgg11bZmn9MOlgzSqsbUZNze8Vej0DwiwKW4hW7eSCYKoRPG9DGzg9h1CBr8MuLnzPNVWW8aKLM6XmxgsS4Ps746XTrv9UkGov9OtgFfh3OOLBj/UpXVnbeaJ08c8mjRtcgu9xcuE84+3J2Vh2ZiTsn4aKmb0bI2ZsnMprXDP9D3Mn7oIMvlVFGI86gJmxiKlIxCvES8vAGs97KrEQFF1w/MBYpN/PKcjGbMo0Rdr+WPyG9sDeiujGW4lU2Q+nsOgS7ydfYhVCjvn+pItNnPq1jZuqSb9irAj13+lY9tjbbsjzNl/KkDuUAXQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kI6ElL2xjN11D5EYTplE7+bIxpKKHH6XehTsvkmzj2k=; b=lKJYcsRfttf6taLUSpFNl9g8VJA5SDmJBd+KZps90x5Qq9XZRke/KqrHtRwgqYoR2j4U87HHEL1rTAx/h8gcapSMdCW9geiVaHArQyuw02NYeSIYu+N53HvS1zTs+BNFfzuBw9O19wL1nv2+XTY395YlrF+MY4w8+47u2On5+/nYM2geJ7gPWVuy4p6XATNLeu7sTp2LRUntsc8zh28NRr9zJddaDR+YFdkWR9k82T/Zw8e0eanhroPP4IP9dc83wZbl/HH0Bnh4bHJQl4pdcY5UqmS4DI6ZAqBh3E3XYoUJzKbbmjkwqZXjQKFE258Ljnv90METGRDiCdGEQga3bg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by AM9PR04MB8908.eurprd04.prod.outlook.com (2603:10a6:20b:40b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26; Thu, 4 May 2023 10:20:33 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Thu, 4 May 2023 10:20:33 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v11 02/12] selftests: mptcp: update userspace pm addr tests Date: Thu, 4 May 2023 18:20:07 +0800 Message-Id: <7b89e8795f705e2dccdc4d17fde7c114d92a903f.1683195386.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR03CA0118.apcprd03.prod.outlook.com (2603:1096:4:91::22) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM9PR04MB8908:EE_ X-MS-Office365-Filtering-Correlation-Id: a9720532-3ceb-4779-4d01-08db4c8931af X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FVIoEUnBO4v7gKek194QT6he+Mwavuvkat5F8O3vKrCvSow4bMu+mLR6i/dHhm7EwktNAUFy6MHMnvttoJxjMN2ysQRUhiR0UJrCxbOMuDEqzBWhwYDhgK0YDxvzX8BFdrvIvkrMY0Dprl3Tw/tjwOBy0ttdSlVHwieYn8Rkj5u4Qacl+LBj3zx7wZa0WRvcyPRtB6epYmTFN+iNyAM/FceS/7Y9Llf7nzfPgctlKx0TPR5TsvHK7SJjE/dzLZ+Kq6ZpkaI1MLjwb7BQhYg+szViLTXBX29OwnNzI8sxFO7ILTEuAIODZUklqno9BrFzxk9a1orsJssUyN4V/QmKegpqI1mX7lsd2TEdlmKYLpVv2KN7JjY2Mky6ToENp5EfZSUnk33Kt33xix5/fFIXQoYbY71EqLYC2Ln0xi+fVCv5wSBYSLRjGjGfHACLtAbIUedr7gqdKxllByQXYTwA/CbBDEmsxhrIletl23yanWk9CEresxcp/WHQ7QklDm+D0BfqH7Pm9ljcxU3XM5mj4aSlsN+pyCkSjvTTkoCF+DurPdt160TH9kA12/cDLHvs X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199021)(44832011)(5660300002)(8676002)(478600001)(38100700002)(8936002)(2616005)(6916009)(86362001)(15650500001)(6512007)(6506007)(26005)(6666004)(66476007)(66556008)(66946007)(107886003)(83380400001)(6486002)(4326008)(36756003)(316002)(186003)(2906002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ebQzO3w4W0qWXGlz8StOiChwIknUl1ucNKpELmaYpXbO4cVAQ43xqdqmWA6f?= =?us-ascii?Q?W7s/inMiynVzxLFF1W2RSJEHB8B3b/i4BKkISp0ojf+tQdE+wMZj0mvt8FFF?= =?us-ascii?Q?7qXzQ0tZJ2+qwdWney6v/Zoqc2+aXNpf6dSpV0BZewe+Gqy37SC3VnNj9ix6?= =?us-ascii?Q?d1VoWKqE5LeR+Hkly7CnX9/B8NZojxixdDHp82YcK9XPupD+tQDk2V4CEyS/?= =?us-ascii?Q?r1RGv1tB/biMyrLuAgox0GjN1e2vDfG0hKtWxEFaVPXSics4hpFP35cgSgKH?= =?us-ascii?Q?FUi50tVx5vzyZG+LQs5S+Qt+Wa/tK/r9Y7FV2TvPi9wriqrqGa7dukiyYa93?= =?us-ascii?Q?otbu4FEXPfNcQgTBzJOjYiofZOC3tua1Lqm4iQM/sih1TSWawk5vP81e8aBF?= =?us-ascii?Q?8Cn2VxIdJY7NhS5Y2Y52u6JS/oajoi6qWMlCA6Yb6M6pcLodEXvR8kU7EJE+?= =?us-ascii?Q?e1mbWoBOC4ly9whB6G56hDxpgKayRLD4etUeeiIkwbO/wMxAuuvfmwZ1zLQm?= =?us-ascii?Q?sp9B562eQf8Oqklu6G7UWCBmVjBS4ZrbMSVT1RyEgXEzmz+1nHchi7ASf0E3?= =?us-ascii?Q?3Fbt62X27//2x/0K9oZf4nK5vfvWOJrgWx3xCXANGF0pkDXkbzOKfqEnYjBS?= =?us-ascii?Q?sWMCA8M9jG88hJuqviVDX0AFBKd9VFApbuu/dikhiZddvYHg9QuY6imjsE/j?= =?us-ascii?Q?+8zqmKlMi9jg0NNO4E8LxXnl1qDoujkx9Goue26FfDfMwPQF62PKqqyNIRuL?= =?us-ascii?Q?qiB1hTIbXSMFa9/+aHgyzRcgCP5CIA6tiCUGUFl60YnsRMLa7jLmKECY5w6p?= =?us-ascii?Q?YDQ3UEBKJz+juxzT9/+bpsKr3gTikD+0ErIsYNZVnaeeixV7loPxLeMcDSxg?= =?us-ascii?Q?C0mX+Q8SCpoTpjHXr0izcA5RVvzwdXCfKk5HTsTUe5LwHL4gahHSy1hkzTcJ?= =?us-ascii?Q?b7WZkef7M3fNsb/avM5nNDCOW/NAJIBeml2RDhIJs3+HQEJN0tTt65NKrEn7?= =?us-ascii?Q?NXknxq4mINaXiZ/KzQzyBm8Lh5qznhZ7L5tSOzq44SH16thmWKgE8KND5mLv?= =?us-ascii?Q?qemSNvJNeBI5N95V7FJouAqONm/VcjuXO2qVV7JFA8tqGx0NYZb6E0UZAjWc?= =?us-ascii?Q?/LqFrnevrkcmVwOE16b/VuwqJdCSeq/tm9aGYuz69PjXuHPBUCWm7r4enpj2?= =?us-ascii?Q?mLDp+k/b0T+VKV+XOhuWQfoLySFUQ5XHtu6Gqey2NMtWRxFXTMkGpYXEqi04?= =?us-ascii?Q?8qj8TfkaOvFsEaBE01XtzBBpxrOhlkG5bzzJ+VYnty8DdTdOzRTepxDskMSA?= =?us-ascii?Q?eTAI+50MRO+lzOPieEe/qVXmjHDV7zTL/knQocPU4a0fBpO0pYoedJl1xz/9?= =?us-ascii?Q?CsY4EQztq0QHMZrjYd6s0nACY+6XQUNY2iZ3md4T1PKNxgqJ54MBkpc1Jum8?= =?us-ascii?Q?DYSOaV4QB4zUPRvXVKSwCEhNIlCQrFLrjRUqaXDLwP8NS2iwwQ3eM6o8Km6Y?= =?us-ascii?Q?YuDyY9KBjGp6Kl/N1DlWyMglQuXr+pQNBP6Jrz/Fdf0QucJF7nhs3NqiSRs1?= =?us-ascii?Q?yPEY90cGsh3j65DIPHDSWCPn3WSMwaRYPgQIIGUP?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a9720532-3ceb-4779-4d01-08db4c8931af X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2023 10:20:33.2269 (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: jnX1Tdb4xtf/vlkv/E1GumjvWtjT9Xi3IlwWbdahe9qdcSkon1MAGrOXLRVRxFdU+tM1bB6jJfoiSWc71nQaAA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8908 Content-Type: text/plain; charset="utf-8" This patch is linked to the previous commit ("mptcp: only send RM_ADDR in nl_cmd_remove"). To align with what is done by the in-kernel PM, update userspace pm addr selftests, by sending a remove_subflows command together after the remove_addrs command. Fixes: d9a4594edabf ("mptcp: netlink: Add MPTCP_PM_CMD_REMOVE") Fixes: 97040cf9806e ("selftests: mptcp: userspace pm address tests") Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 627daeb513a0..cb0ae133f5ed 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -864,6 +864,14 @@ do_transfer() ip netns exec ${listener_ns} ./pm_nl_ctl ann $addr token $tk id $id sleep 1 ip netns exec ${listener_ns} ./pm_nl_ctl rem token $tk id $id + sp=3D$(grep "type:10" "$evts_ns1" | + sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') + da=3D$(grep "type:10" "$evts_ns1" | + sed -n 's/.*\(daddr6:\)\([0-9a-f:.]*\).*$/\2/p;q') + dp=3D$(grep "type:10" "$evts_ns1" | + sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q') + ip netns exec ${listener_ns} ./pm_nl_ctl dsf lip "::ffff:$addr" \ + lport $sp rip $da rport $dp token $tk fi =20 counter=3D$((counter + 1)) --=20 2.35.3 From nobody Fri Apr 26 18:05:05 2024 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2047.outbound.protection.outlook.com [40.107.8.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CDF86A2D for ; Thu, 4 May 2023 10:20:42 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cfy0KrKzQIXVZXhLcSbbSK2XmgM8lzrsi/Gv7DBGO6QGoMMT3x025gic7JMemxA18I6wNcEFIe5zl9hjE1/YAImdlPzPxX7U+nTNYU72FXLYiXBQbldMjrZKCxZY7PDUYoCpKcqC6IbxDpNKEVhIFYQ6Kr3YCIU2wdGB1dZt/Bu2pgLMeu/st7c7NaYmYHcjiqkpfh1mnxJbQGg8T0EA+QNoQSm+tZKDY0G5PufzcxSVRczBEjTjdFgHcvxo77vxcijUwvUtzMYW8R/OmeWuLMhi9Nar+T19/wKG5nlm1IwsWZexajuJp3KWxmv0qnJ1eVdYyZ7iT2cIzZz9k8NBIg== 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=wCV0AEWEtidxTEvBQUI1wBNDYg/Myr+Hzq8yss6HBH4=; b=K/SspLjXMaBihUjFJuYECHY9shwVdmbkBQHChZGusD2Ai1F4up0d+9EJS7p7CDERHwBOeaV0F9XaN/cHPVI3AZaCTOwWFx5pGRG7bng37l1vg4tMz+RSjJPNuf4ij4TRrEvzqZ9pyXpenCZ4ReEJ9Brqrl+He6NJXAS4rAf4Vix2pcw931V0ySqrvmvtQb3AV0Xyp1zidqyO+GksrYKZNSwyE6w1SDWrS/bQgmCWCvyTGH6KcVL8VO76LkNN3kvsOp3J1+0wfofPSshgtCG3wzd2rXtAwnYy/riZq2eQDO0XF0RIKOwWE3hUEZSl29PUus64D59pEIeZj2Z15zlUcg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wCV0AEWEtidxTEvBQUI1wBNDYg/Myr+Hzq8yss6HBH4=; b=ZZFzwAGmW4ujMj9UG9ZmVBpPStfLRjyfFGCYXqzJf0ns6r2WnDDgEzKLtBC32+2PFWtRPj4Ik0XrM3BtCJgxKFahlSAqubHUG0BZZ/pBps9LmatYICOBVWJd/0S1GD91SGrAYasJZwqk5arS3hK5ZyiNftzw83fDOc/R5MJEw5ge0m3UfuJ2GMFxqKWCH+BSlhNoN4DhIHM2ZogD2O8MXyA68dAKoGERSGC/xppwKzwVZK52W7EyaE6HXLztk8RdW0xRStg4wKuL4vrfQX2PuFaDjcF+vnKQ+ceo7w+N81OG3ZHOt729DwFs1I8VdBSG7S6lD8fG6Kdp6aMAOrTY4g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by AM9PR04MB8908.eurprd04.prod.outlook.com (2603:10a6:20b:40b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26; Thu, 4 May 2023 10:20:40 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Thu, 4 May 2023 10:20:40 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v11 03/12] mptcp: export remove_anno_list_by_saddr Date: Thu, 4 May 2023 18:20:08 +0800 Message-Id: <4689f74984878f9713147a72dbd6f61f6b3bbfde.1683195386.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0167.apcprd04.prod.outlook.com (2603:1096:4::29) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM9PR04MB8908:EE_ X-MS-Office365-Filtering-Correlation-Id: c1a244d5-efcd-483d-91bd-08db4c8935b7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FZrPF0LR6Eylu0By5KqbHaoUiJvq2St7SSbx+mHnsXQ4LBagNpnausETetXYKbdyhEKdsKHW9Qn4ruaWY5qqqd073raTS7MCOcADfq3FOXRpEtalxHTPjQwGFXDPqLonMkkKVJf3tB2MSumPyzc8ns2cRqloKd4upPsgemu5PVWollAeqO3ntWXesvlnPIyuPBmzm7sam4h4Z0v5PBqtB7RoYOv2fZyJytgWBgAz2iQM/qQekfCZIAg/OyjEsRS+eknBKYkyt8l04f112JjHPptG1XO+r+GdXpzh97J4BHIdOLOmlEzo72G+hFoW/EtHA1OFny25K0vDZ8gLPfYHdNAHxjCAh5yu/gS1UCgd/8MgDKofYwYpNb5EaDxEiVtgSXZ+efl7KkuWfEmAREANKk22+cyHdDyDrZueyigjmCIyyNIzfCozf0dSHfzSvyc23XtNyYHMusX06yK+xJINXkDuP7+LwchQHq3/SCHfQndY2a2iorbbSZfFTrit7WYawWfLuZnZxuIPAzKKC6GQ0mOZWPE4nmxQmy1DeRjuHJjCyid8kfRp8dS0GqWcfVHn X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199021)(44832011)(5660300002)(8676002)(478600001)(38100700002)(8936002)(2616005)(6916009)(86362001)(6512007)(6506007)(26005)(6666004)(66476007)(66556008)(66946007)(107886003)(83380400001)(6486002)(4326008)(36756003)(316002)(186003)(2906002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?u3HIMbl0LyUnlWxHBZG5yuJf3UWv/c7IETKNZGiv+4976wzUCME7L1o9MRG6?= =?us-ascii?Q?4rrIsiS59dFlcQZq0/B+DZxvA+1a3hmPomJysZ/ihOeYWlQBcyDS+LyCRil5?= =?us-ascii?Q?bkYLQXd59+efQtC8TLjO/vRf6ePknkpgXtayRO6cGjtrJht/AQoncQZ8EAFB?= =?us-ascii?Q?p67KUoWPRDg35IDNd/65msyAJ5mbE3CYT/Iu3e/3exw3Z0b9FoeIrFya+6gD?= =?us-ascii?Q?fcg4cpS8dESypo5fiCJdxH3ZiwN/1KWP6Lswkws/BcQJikWamxzFZjl8KCsU?= =?us-ascii?Q?5DIAGYZX+qDI0M51q8LvDAFfMDmWtVGXgBdOVA7IkA4jd3GsrjU2MM5Osu3B?= =?us-ascii?Q?BQRVm7KQs2Du2/ydgAPMMN6BFeKVLtKAi0OT6kztRYlufwewwJXXmZXOIVwf?= =?us-ascii?Q?yExRrvVZf2n9ZmUdDEEyIo5MDb8jb9o2NxmjGZKBwFz8drx9cQVVF60hSRpi?= =?us-ascii?Q?9A+WYZNHz+EYDqn3MpawBpddv5BhwOiAaSuWaVfwDb4wHChowOCHddTGF/cg?= =?us-ascii?Q?kGPrLePUwEMs2V06SLBBjpkAKEyv3melyz/i9sHzN8DuSMOINAuKSfUcre5J?= =?us-ascii?Q?plA3lR3iqqVUK14x/bH0Kla4/MHtYbVVfhf5VKlxaLf5TjYRSQ/fs4BX73EP?= =?us-ascii?Q?8Lo8tF4Tz0T3P+IoSOAUzd4JVPrJ9UELiVXQuRPHuSKxglNzNmCNsob4+Gpx?= =?us-ascii?Q?zUJJ1rFCWJs1wyc/ROfYeQuunmNZCQKvF3ebp5ony7BvQYHLPnFWyR2HSYqB?= =?us-ascii?Q?aM7VnH5e3w2R/Z6z79R5LWl2WJ7gfXNfsZEjh8lmulElhUb4SEnrZWFaRfy9?= =?us-ascii?Q?nxzGTXfsEOv4ofAhxOk4iUZnE9bghQ4JDK8T76vx3RXePeNoS7IqED5gjmYR?= =?us-ascii?Q?Ru4JkKIctW0Eb2VVxzaMj/fDhI4i5RLcl2SHc+n5IABP+pjxkfZdmsjkwoIG?= =?us-ascii?Q?FGRTA+zW2EGgdGF1l0CTPnPtYWYRwP1zERLE2jI7lYA6BW63ko7SIpO7dPLp?= =?us-ascii?Q?buQJueJAVBsouIP+0GfN76SfqbVRAHHdpJh/Xrx7inWSQ0whPBgxKhfznU9M?= =?us-ascii?Q?bCSVti6A+WTh8FD/euYamb6nF33rTFsIB1r0btR4UcV3m7KpOIM6ob9qImm6?= =?us-ascii?Q?5xfut+HwJJ7Sw+oLWnB/3Y8RMINnspyvJ5THXeYIIQ+D1epEsz8GHOEKFHMW?= =?us-ascii?Q?Zrx7b/7WjqZhi5YTPoE7G2BpMDzSw9p9Kd35M9P54o8yQeagmEjI0H2sxr7G?= =?us-ascii?Q?nR8IuGy5/t9eTryYtz+0mLOX3yCq64Z2a1ucyd6jV+J9teSh0lLh6i7AxZCT?= =?us-ascii?Q?dYQhKt4l92C/GDo2UJWVyt5UOZ1T3foSW0hBkaFLRTW4hu/zZUhgtgYYiiZR?= =?us-ascii?Q?nFd4sQIznYoLiZVPu6HENR8d+YF2eUnPewBGLBQ41eBYcNe4V3JzgCDSSbGd?= =?us-ascii?Q?ntjJm2paz1l65DTr4J4XMfuKL9+bboHCrii/CK9q1cUpOzQB9e2+8u4nikZH?= =?us-ascii?Q?6j0FZ1DIdA/gwDzSOOAbQ3DlmQBOPDaSF68tbZ+H0wff3w3Gd4qyVVrLGLxS?= =?us-ascii?Q?/C4x/8PvWCNPJNy1Cp9F/0yyszTHZOGTpQSdndhL?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c1a244d5-efcd-483d-91bd-08db4c8935b7 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2023 10:20:40.0137 (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: n3FDliqzq+rQSLgeCX/H0/buekmYnT8lYIpx2ZhYIfyegyVrVFe5Tjj0ApWDnuRzCI3tXLXTWrTOhbImcHkGcA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8908 Content-Type: text/plain; charset="utf-8" Rename remove_anno_list_by_saddr() with "mptcp_pm_" prefix and export it in protocol.h. This function will be re-used in the userspace PM code in the following commit. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 10 +++++----- net/mptcp/protocol.h | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 784145e6a314..0b34b57fc8bc 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1399,8 +1399,8 @@ int mptcp_pm_get_flags_and_ifindex_by_id(struct mptcp= _sock *msk, unsigned int id return 0; } =20 -static bool remove_anno_list_by_saddr(struct mptcp_sock *msk, - const struct mptcp_addr_info *addr) +bool mptcp_pm_remove_anno_list_by_saddr(struct mptcp_sock *msk, + const struct mptcp_addr_info *addr) { struct mptcp_pm_add_entry *entry; =20 @@ -1423,7 +1423,7 @@ static bool mptcp_pm_remove_anno_addr(struct mptcp_so= ck *msk, =20 list.ids[list.nr++] =3D addr->id; =20 - ret =3D remove_anno_list_by_saddr(msk, addr); + ret =3D mptcp_pm_remove_anno_list_by_saddr(msk, addr); if (ret || force) { spin_lock_bh(&msk->pm.lock); mptcp_pm_remove_addr(msk, &list); @@ -1561,7 +1561,7 @@ void mptcp_pm_remove_addrs(struct mptcp_sock *msk, st= ruct list_head *rm_list) struct mptcp_pm_addr_entry *entry; =20 list_for_each_entry(entry, rm_list, list) { - if (remove_anno_list_by_saddr(msk, &entry->addr) && + if (mptcp_pm_remove_anno_list_by_saddr(msk, &entry->addr) && alist.nr < MPTCP_RM_IDS_MAX) alist.ids[alist.nr++] =3D entry->addr.id; } @@ -1584,7 +1584,7 @@ void mptcp_pm_remove_addrs_and_subflows(struct mptcp_= sock *msk, slist.nr < MPTCP_RM_IDS_MAX) slist.ids[slist.nr++] =3D entry->addr.id; =20 - if (remove_anno_list_by_saddr(msk, &entry->addr) && + if (mptcp_pm_remove_anno_list_by_saddr(msk, &entry->addr) && alist.nr < MPTCP_RM_IDS_MAX) alist.ids[alist.nr++] =3D entry->addr.id; } diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 1a2772902e9d..bfa7d93a1c1a 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -831,6 +831,8 @@ mptcp_pm_del_add_timer(struct mptcp_sock *msk, struct mptcp_pm_add_entry * mptcp_lookup_anno_list_by_saddr(const struct mptcp_sock *msk, const struct mptcp_addr_info *addr); +bool mptcp_pm_remove_anno_list_by_saddr(struct mptcp_sock *msk, + const struct mptcp_addr_info *addr); int mptcp_pm_get_flags_and_ifindex_by_id(struct mptcp_sock *msk, unsigned int id, u8 *flags, int *ifindex); --=20 2.35.3 From nobody Fri Apr 26 18:05:05 2024 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2080.outbound.protection.outlook.com [40.107.8.80]) (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 9CA7DA2D for ; Thu, 4 May 2023 10:20:49 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oeWRRMd7wsXyhpBgc86faMWIG/3mW4Z+y7Hm1x7FBiBvsA7Ou53D4NT+3wZJzoZE3i+WCBl4tJEfLbfsFwsm2nLxvhmjWRpIu1woBCXZv2RnlP+Jt6a3lQcbziEIJonaJZvh5zMAw9zSnTAEmRv6eJFCWTutzT5TACyg40HPF4uRECC53GMVP5ysr055lDt6Vkd34Vg4bI42dPjan2xdr+uyWDVd3BBUgbRiaZ0DV6AUJP/l68o+3yQyuNHUXpHoE1EZtR90iH051JzVOAa1YJPQ2jNY68CoI2c9gnUCEMpBb5OYkU9OZv772VpoftxdqlFuOgS8m1xYx41dqDJkCQ== 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=/srRT2GtK27VP2VUy15txbcj0MEdp4n3NV6IeN/TuL0=; b=mUg2wDv2y5Gpq/IgaEcXQjsnqCVBz7S4MtqKwS5D5qMs2L9bQKtVIpr+9a4K7rp0lb7aocmC0iEvPfMWw+JdYn4P6yQ659yGPkZl7I3dZBnMIrDpFH8FAQZ/6ODK/Ep8MWf516ihc5cZuqHNpaM0dST8ugUNO+JE0H/gYtHXH66M6Q8l8M188EMNXtEP7BBfU9JjS3aWqu1R7cHVUNsDIhC+GwnhDP9mystu15nfXWD/lX6o2CH4Tg1wC9q+ygwVYbPeoAMbIOfrq+rFSw7lQdPRtl45aax2wJGFroljYA0P6lfyBLve7/0BDWyMIN35C1L1MAkebG9+dDwVR49lcA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/srRT2GtK27VP2VUy15txbcj0MEdp4n3NV6IeN/TuL0=; b=N4XZUmEfIwwculqWM2/t98MHdeOWewhhpTZCMczJwv3Q1VeXnxsaphk4sNZcJom1/esXq8WlM8n85IfD+eK+GB//a+4ehan4pFcW+mgK4kmJ426H6sIGYJ9J7JTXGQIGPLC8DFvBx05vYavV/kNFCMCt8OYSf2CMRR0377qwcq5Xqo2jSMKYHa4FcVXQzFgcro3q7C4w0MS/wD3PhBscVSgGsBFF5HHsPt4hGy4tDk0cGL4z14M/wS0yM55sZtqHgMEUYzV1/DqgeVFc9RWsApt1paDSAMVKH760bRNdlzetKvcAvPBsSo6V60xNtYGAxunh405MMEZiDxt8MuIgdQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by AM9PR04MB8908.eurprd04.prod.outlook.com (2603:10a6:20b:40b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26; Thu, 4 May 2023 10:20:46 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Thu, 4 May 2023 10:20:46 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v11 04/12] mptcp: add addr into userspace pm list Date: Thu, 4 May 2023 18:20:09 +0800 Message-Id: <4ec2d013559dce53d222e9cbd53c45a4b4d5ba12.1683195386.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0165.apcprd04.prod.outlook.com (2603:1096:4::27) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM9PR04MB8908:EE_ X-MS-Office365-Filtering-Correlation-Id: 69fdbab4-7d1c-45ce-61bf-08db4c8939aa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +0gb5ig3/+VVMW6VYoaPUscJQjApvOaykA+PVd9FQC+Kp62vC6tlxtqjCwaiWb6LkD8n7AQIz1bTx+yCGcRG1wV8CY0i0Tin0zj8YQ+ptNy4EST1obSSycWjnnS3EGrW5u3jkb4xzlhmV+SL8ZRb11pkRFYZA+Q/P9JYOKdwNYHn76azr2D47X0yT+Y0ZDUyc252SzqAneilzmRpugya/tsIIZUGjUCu/suX3IZ/NZopfHahYEeqOnNvQG08xveF470Wc8qje1EbnkU0wmtbFPKThgUEjUJY0Bj3FwO39drxGHbXXVoOUEGwOUwaFFcih8rZMhxlP7L9Gaqm9ZODDQw5HKP6cKlO+VQsaH4gMm9mlDaMTzsw7qefAp9wvyRDAKDa73THSBYEjNq2VGkVT5kq6PgaxiQjFgEJrfpTVikL6VZb9/lu3zB//MJI7+Zwm4pKesjkJusNtqlzsEAowc4JMqpQajAym1AiSce1NWKwNEZxjAvBU9/9FeZVMz7r1BHZWMsALWoNerWqvZJR8iQeoXGovFQ9WVAMqsoilZs= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199021)(44832011)(5660300002)(8676002)(478600001)(966005)(38100700002)(8936002)(2616005)(6916009)(86362001)(6512007)(6506007)(26005)(6666004)(66476007)(66556008)(66946007)(107886003)(83380400001)(6486002)(4326008)(36756003)(316002)(186003)(2906002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?363LGie+9v53HUpcSWbIiGui0LJHF8aVupClqTicPwFwBkggKUzxW55CSpbQ?= =?us-ascii?Q?F+HplPKnwaWIqHQU0tS7pM6FKT/TkuOjGvWmyf6mNerO0jTqPxRnfRTxuInP?= =?us-ascii?Q?8EAWfoFW0BQtymtbaiIwlztS214Q3rjPzOyXt+cwi2/Xuj74majXtLm73TMf?= =?us-ascii?Q?jgF3HdWYeF6KRdF6Eww5BbrMpnPzVELM1EcIJ3IzaPVzGuTz5zZ7zTgQrjGt?= =?us-ascii?Q?CNbFPjDf5eJMGI7dP0svnjkGxYsXdRR3d05YZT6AKKxNDks3ZOqENrq/cxE2?= =?us-ascii?Q?DvKdoNdU4nGgf+L6yZyHfVpPHctIItiPx98m+hZnN9VxjdT2/7GhSHcZGhX4?= =?us-ascii?Q?wg1A8XH6hQmOmE6I08Ba/CQoBhTGjQztLtuxtXXVD4SutJ0yySsQst2x7luz?= =?us-ascii?Q?8BXVmH7LQ7Xj0ICwVfkoZtdPYRh/BBqQSG3NkHa92esoi878rLLKNn/7m6nR?= =?us-ascii?Q?ZPX1XokwERctZ6/bHfvT9B8Ukle+NvsFtLQfiDho2Avg90EEiRbJpYNSGMgC?= =?us-ascii?Q?rKryd24ReI7MGj+j03vxlqc0dmRBXfJ5bMICUQQyMYTVjDYAIAwV/T3rpyng?= =?us-ascii?Q?wH1L1S6Elt/+LKY88XEfNYiFOscbyZ6xwnZ+vyG7BqCm3JTd2tKEEdeCDXNW?= =?us-ascii?Q?agWb+HQzdAUw6qUVwfEeI4rTs0JXbxntaN+DJvDd9oUzOcdP/V8foamsGKAe?= =?us-ascii?Q?5KhSlq7sPJBenXbj1lVEk2Adj2KGh6ZNjIfN7+N5u37SPnl567ojEemgkFvh?= =?us-ascii?Q?rwWMzoPTpjKI/raPsh+Tlq+Dg/ttZUpmVys/MfY74SH6RRz5mC+865wG3Bkf?= =?us-ascii?Q?9sGCQvnuVpmmPHlCH98gxokoqwin6ZO8Axarzu3S6BY1d96KgDgdyL4jbVb+?= =?us-ascii?Q?VMeMyXtVoDg9hIintfFo/3P4G/87/3sCEQ7eqRFWe6wPDSrggRwDtzqksucX?= =?us-ascii?Q?ABceOtYhbNxiK0CuJT47G8NoctXj0TDLkXdpf/Ef8VEyOlj14bRNNdQ0iwtd?= =?us-ascii?Q?eZLg5o8G8Zyq4aZkzv7gWgBJGznP41K0PPhlcEclprkw0E+5Edrh73lfXg3b?= =?us-ascii?Q?H4AJ5gySqzpYKie3DfN20jO0vyJjzdrt4mpTGOnm/rDsuWWH8h2ikBMTIoHt?= =?us-ascii?Q?5mdNUd3psGABQgAincJcotJwCCNNIIkEFxOu+APxv8QwgTnt6RQT1o8hY9gc?= =?us-ascii?Q?aUE5siOx5OPrITW7Xr/72tdt83bgTSenuzzUcPKNb7JrZWUU6YuN1dC+Tkj+?= =?us-ascii?Q?L3R9/cbUDCgsCNqpprb4psCd8ifxgYFxGbZ0w/s9QJC9S429GG9Nt0Mk0Msy?= =?us-ascii?Q?NtQpWTU/reDaSG0qjbFLA16SzjSQSCdIMqKYVVilnyj8MTpZ3JWbe4nCxUMq?= =?us-ascii?Q?IgfAFUkD9oRWc272JZYozraXVNk2CyXLITfNK5+0ZVFyHffWYpprXcf+cfGT?= =?us-ascii?Q?Aybk30+5A/Kr834YyJGjoZBMebj/sdRiWJ2KJ85I+gH1KNjo6UqltGzQNu3t?= =?us-ascii?Q?ZzU9tCH9WqheKzHhBsCXdNJoqlZP/992ftEIm4wzA1NJm2E3KuKydlw2cQlS?= =?us-ascii?Q?lleikKHrnHy8HLkEa8wZmI5N3lPUxvIU1oTl5jZ5?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 69fdbab4-7d1c-45ce-61bf-08db4c8939aa X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2023 10:20:46.8447 (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: 89sIZA4etPe7ctRt/d+yK44dWQ4H+uV93VmzLit0/CzEhJuXFmShO7kGYxdESk0l1qTpqOex2ggob3XeHF6whQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8908 Content-Type: text/plain; charset="utf-8" Add the address into userspace_pm_local_addr_list when the subflow is created. Make sure it can be found in mptcp_nl_cmd_remove(). And delete it in the new helper mptcp_userspace_pm_delete_local_addr(). Add address into pm anno_list in mptcp_nl_cmd_sf_create(). Remove it when connecting fails. By doing this, the "REMOVE" command also works with subflows that have been created via the "SUB_CREATE" command instead of restricting to the addresses that have been announced via the "ANNOUNCE" command. Fixes: d9a4594edabf ("mptcp: netlink: Add MPTCP_PM_CMD_REMOVE") Link: https://github.com/multipath-tcp/mptcp_net-next/issues/379 Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 51 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 6beadea8c67d..c50e1507ae35 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -79,6 +79,24 @@ static int mptcp_userspace_pm_append_new_local_addr(stru= ct mptcp_sock *msk, return ret; } =20 +static int mptcp_userspace_pm_delete_local_addr(struct mptcp_sock *msk, + struct mptcp_pm_addr_entry *addr) +{ + struct mptcp_pm_addr_entry *entry, *tmp; + + list_for_each_entry_safe(entry, tmp, &msk->pm.userspace_pm_local_addr_lis= t, list) { + if (mptcp_addresses_equal(&entry->addr, &addr->addr, false)) { + /* TODO: a refcount is needed because the entry can + * be used multiple times (e.g. fullmesh mode). */ + list_del_rcu(&entry->list); + kfree(entry); + return 0; + } + } + + return -EINVAL; +} + int mptcp_userspace_pm_get_flags_and_ifindex_by_id(struct mptcp_sock *msk, unsigned int id, u8 *flags, int *ifindex) @@ -251,6 +269,7 @@ int mptcp_nl_cmd_sf_create(struct sk_buff *skb, struct = genl_info *info) struct nlattr *raddr =3D info->attrs[MPTCP_PM_ATTR_ADDR_REMOTE]; struct nlattr *token =3D info->attrs[MPTCP_PM_ATTR_TOKEN]; struct nlattr *laddr =3D info->attrs[MPTCP_PM_ATTR_ADDR]; + struct mptcp_pm_addr_entry local =3D { 0 }; struct mptcp_addr_info addr_r; struct mptcp_addr_info addr_l; struct mptcp_sock *msk; @@ -302,12 +321,40 @@ int mptcp_nl_cmd_sf_create(struct sk_buff *skb, struc= t genl_info *info) goto create_err; } =20 + local.addr =3D addr_l; + err =3D mptcp_userspace_pm_append_new_local_addr(msk, &local); + if (err < 0) { + GENL_SET_ERR_MSG(info, "did not match address and id"); + goto create_err; + } + + spin_lock_bh(&msk->pm.lock); + if (!mptcp_pm_alloc_anno_list(msk, &local)) { + mptcp_userspace_pm_delete_local_addr(msk, &local); + spin_unlock_bh(&msk->pm.lock); + goto create_err; + } + spin_unlock_bh(&msk->pm.lock); + lock_sock(sk); =20 err =3D __mptcp_subflow_connect(sk, &addr_l, &addr_r); =20 release_sock(sk); =20 + spin_lock_bh(&msk->pm.lock); + if (err) { + mptcp_pm_remove_anno_list_by_saddr(msk, &addr_l); + mptcp_userspace_pm_delete_local_addr(msk, &local); + } + spin_unlock_bh(&msk->pm.lock); + + /* If the subflow is closed from the other peer (not via a + * subflow destroy command then), we want to keep the entry + * not to assign the same ID to another address and to be + * able to send RM_ADDR after the removal of the subflow. + */ + create_err: sock_put((struct sock *)msk); return err; @@ -420,10 +467,14 @@ int mptcp_nl_cmd_sf_destroy(struct sk_buff *skb, stru= ct genl_info *info) ssk =3D mptcp_nl_find_ssk(msk, &addr_l, &addr_r); if (ssk) { struct mptcp_subflow_context *subflow =3D mptcp_subflow_ctx(ssk); + struct mptcp_pm_addr_entry entry =3D { .addr =3D addr_l }; =20 mptcp_subflow_shutdown(sk, ssk, RCV_SHUTDOWN | SEND_SHUTDOWN); mptcp_close_ssk(sk, ssk, subflow); MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_RMSUBFLOW); + spin_lock_bh(&msk->pm.lock); + mptcp_userspace_pm_delete_local_addr(msk, &entry); + spin_unlock_bh(&msk->pm.lock); err =3D 0; } else { err =3D -ESRCH; --=20 2.35.3 From nobody Fri Apr 26 18:05:05 2024 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2048.outbound.protection.outlook.com [40.107.8.48]) (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 A3A72A2D for ; Thu, 4 May 2023 10:20:56 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZbN9+U8ZPu74imGemHVBh4fb+iqNWN3BTOJOPBXl9sHfWEkFG5K0MK9LYMS2pNTaYfaNTz5SeG0T8fQUSF7yCX4rGnDFTKPFP6VdlhbwhP8JXO0dIi4Na+1q2j7kXMbARfF2beK345wPfI/FdcapQLrdeqRTezg6k5fxm0QJrJoEFrnjgFqE8aqJcqCgX3f5U8NjZ80/bnAuO/ZJe2C7kfoWJCyLqphOoRN+6rv1D8E6RIfGhMtVZj9FbIVTT6PW7LF+5+wxpRPfv/0775gJEzrCVOA1ktI8Pq2BmJbqtVFLb9oFLMxlEnddh6YUE0kqp/jyg2jj9xB1g8bE1LbFyQ== 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=DLL3g45CTOF0rqU6goiJ0Dt8IxnCpoMUiDN7YZ4Jm0o=; b=fs9vK2aMfomc13o8PxiytbZJT+rXMQ1zcWvUooVCOO46mtA7nW+yR0QEyy9o4cIdGHSQHtAY/XUtFn/TmYOeLbP1xRkxKXsp0/6A9SnCZnttnjy6prAYEUs9QrK5PZL5KSNtnHduGHnal8IosdKzxEkdL5tnJPOJWzwroyQlo1Ds7OT7W7J4n06rmzrJwO6rhM4OG9GCABC4XPpyqasY/BlRodEljlUD707MMhdCUPqtK4g3BEph00Mo4wZxk/oO8GrQCrxCFzir+Chryko899Dwg/gqpNcSUbE1JKl5Aoe5/1tRDSjOfPbdZ+dI5fiyULKjvLULpIyTNN1k/8Irfw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DLL3g45CTOF0rqU6goiJ0Dt8IxnCpoMUiDN7YZ4Jm0o=; b=fxRH/idPyDg71JngtIpn5r/60RkYg5VTmU+NDpnc9f4ZINqzpbRIF5oHphLIHI2WUe9V8XisWumUXzkb/OhGCzazniaDG+AfQwDrUdUx6dCMKfu8hDRrJPFXPuEGTrvBf4NF6UWRugZhOCB0IFTps2x5pTd+0sVjqZOhcqDpzFw4n2ul6imb0lxZCDp/HZ5cDYABM1llDy5O5M6t/WvQ6Q81FcQ+lYlc0l5Qbt0wuRBba7fY0g6Lh8ntt/ICdupXkjPZjy27RsLA7R/iEFxw+sjPDDzHF/Mcd0TT34N8Fe1DjKgoCsVaNbiny07E2cz/gpxJxAfgQMFnK6ALAOnUbQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by AM9PR04MB8908.eurprd04.prod.outlook.com (2603:10a6:20b:40b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26; Thu, 4 May 2023 10:20:54 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Thu, 4 May 2023 10:20:53 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v11 05/12] selftests: mptcp: update userspace pm subflow tests Date: Thu, 4 May 2023 18:20:10 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR02CA0134.apcprd02.prod.outlook.com (2603:1096:4:188::14) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM9PR04MB8908:EE_ X-MS-Office365-Filtering-Correlation-Id: 8ee36aea-162f-43f7-f042-08db4c893dfe X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zjPEpLS1NhS5522EfeUYzFParsEHSRxdMV2Z48svzqdcYKgdeytsZ+VBjv25tdLdqwrNoosy2UHkLc0cZqCVoxE4qQZ2mdLb6BLebw94Z52LtuYsf+9bvVV/lgezsNrWqv7JU95L0vnLNqJxory0eEvyOev4X3SUBt71PmV5V274rbwQ9mKQ8tn7ccXTu/SbXMBF60bMjI63vSvWWVM1cqw4VoNPCXZcFpwwpTqLtOFospA1HbCG4BdL1ikqrjeqKZmZp1JhigZ04gTQqExVTGebe4jYUVnRhoqjvAAUWrqb5kWeTvSOpitL+CtwwoNd1Mgio38mUm3Zki86D5Y374bHmwkC4IJRkZG60W5sRPmCxrVAgsw1NB/jXyx3SmYWtaEE8D3FDvjgylrmUxysmW4hlGiTtXggsYNBwdMCyEO1PYn63EuHZvq9on3mvF7BDfds7s2zdlm3Ti7QorD5PLF+bnKDKtomDj5JzV+x6KeD6ReXaDUSXb+3j3sMD6fIMtSUwdHzDjrDOVfSD6N+pufQcZtA0JQgrHA3SUPYdZ4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199021)(44832011)(5660300002)(8676002)(478600001)(966005)(38100700002)(8936002)(2616005)(6916009)(86362001)(15650500001)(6512007)(6506007)(26005)(6666004)(66476007)(66556008)(66946007)(107886003)(83380400001)(6486002)(4326008)(36756003)(316002)(186003)(2906002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?syoof1hAaXjCgSOaiXLF+bmllZQjZYigp6s8HvJrlprZgnjsuIdkZF4t2Tpw?= =?us-ascii?Q?B9kMv4VgZOtP/PEVTlxbFewmVod2W8GpVN8rrr/eT5ktfXpvSysdiNi9Z+fB?= =?us-ascii?Q?byIgiekFoumBdyH3wXH4dZyUndf91shSYfXtFrAERVRgopcidr6c1hQyZm/h?= =?us-ascii?Q?NizW9opgccAtosXxCsqNif+6E6Y5WaqqgZUQHRSeUWJ8sA2STrBsKHJL1x7P?= =?us-ascii?Q?SpaWvnU8+KdvORPeS7Zi7OSyV+Qv7EChS7YhfugvGcxf8WoIZMp6+keRBFcp?= =?us-ascii?Q?z6Y4JBC4T4XCt8tuz6WNLD75Nb53RnIjnnhDbLbg5+Z4Dr+K5/DlWeRj+A7Z?= =?us-ascii?Q?zbm5F3lVJhAvDCQF8kl8IZu7ygzakTn0jJsGEe4e4xy44wVKupAV7pcxZYVS?= =?us-ascii?Q?baj6GkyhKk0KkKnXIlTtJz5BQDMGL1bVp1GKTYMNqJFApphzg3Vznqa+QWNO?= =?us-ascii?Q?N2xZaJd+vDOQwbXDnXZ/0QScDFnAc0byujDdBlfTY++LRDza5wNPf0pUjib8?= =?us-ascii?Q?W/hEapweJuIYyJiN+Uuy8CYlvOOh+J3uXhQq+cDkhtHdB1Z302v+tL7R0DTi?= =?us-ascii?Q?Dem9CUbNrt5lMRt/5iPK5VE9UDuA/leQeARo5g5m5LQKriXBDgtHGQ4AL7/p?= =?us-ascii?Q?FRzVfy938DbcsSEUeqBf6qYfb/etQJdqK/jaKq/QupldtzJfuOoMSSVXogGt?= =?us-ascii?Q?UKiy2G9KSXR1ULmFqXYAvgSwTwI8Ct6X1WPZ2TdTgvYM2rcsf2YkKbORIHgZ?= =?us-ascii?Q?M0Ejno5MgP+Jc6WZg/0GmFPCvc10X87Iv3Q5PU1xU83hNW2HKD10ozFqtG8k?= =?us-ascii?Q?QpxTeuHmXlZYBR6SJxbjbmyJOoFYyMAVCAoU5L/QFG75+eGaB1u3ziaignWU?= =?us-ascii?Q?HxsUAU++50DlJ30BPSbunIkesdCs4h8PyFRKV1QEKw3qfFdPTYNkfaxcu731?= =?us-ascii?Q?Jko3mV0dBQM1TD8hij4gMOctH7nOU+ldc753jqWdSKyyl3kQ2HXknSd3Lbyq?= =?us-ascii?Q?0Yjj6OL+u4EbrN2fcmD7lEY3HahZApUEwUvKoI9uPDwjKqfcXe1kOTrWu0Dz?= =?us-ascii?Q?mohOS86gKaBqDyP3F/g+TSlnFiq8CA2swwrcpV1VZ3QrSx+sFUYqczl6dMMU?= =?us-ascii?Q?E9ZzDi+NSMwDBpeA1Tk0zSEeO87I+awLToHAqG6mzS2PN4g070deov1o4YBr?= =?us-ascii?Q?+O7U4oMPBpKh+aH54TvVgwq7tTiewU11Lt3IXDylPRsWTuOA5H5RQoTYU9Sc?= =?us-ascii?Q?8qiM7vOeUSZc6QALM56GZBecxVORn/ey6gSEtXyGASWix22PmqqvTN7YkRiR?= =?us-ascii?Q?lu6re8kzd/JF3jCZnHk6HbuYBnvly3q6/zhBJWZreD5daLnqomJQ4szdYiCH?= =?us-ascii?Q?7iqEXvytO99vkO1sFrKv4sxw/Sk80YmtNCfO3meXFo7mGRBepYOgc9oYWPsL?= =?us-ascii?Q?T3HFya548yqlZkQRu0t7oKhiuZCbcW+Mtv1asqzEa2+FZqxSAJkWwLWf0DL4?= =?us-ascii?Q?Df32HJ5Hy4tXIwUpoq+ThVNhOxOa6SJWfERd043WR0ZlbHQCVXgCvHNKEiFo?= =?us-ascii?Q?P3fAW6u3/Fnf133/D8V2SqALUnU3J/Mm7FVGSU6D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8ee36aea-162f-43f7-f042-08db4c893dfe X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2023 10:20:53.8878 (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: pXvVQ+LNwWOjBeAaNTQbfq5p3Y16U/D0G84Y6wY/fEwJfmfKt4sN1VojwRM7kyUqqD9+6cdlSRQnmlzCvIOqZg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8908 Content-Type: text/plain; charset="utf-8" To align with what is done by the in-kernel PM, update userspace pm subflow selftests, by sending the a remove_addrs command together before the remove_subflows command. This will get a RM_ADDR in chk_rm_nr(). Fixes: d9a4594edabf ("mptcp: netlink: Add MPTCP_PM_CMD_REMOVE") Fixes: 5e986ec46874 ("selftests: mptcp: userspace pm subflow tests") Link: https://github.com/multipath-tcp/mptcp_net-next/issues/379 Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index cb0ae133f5ed..2dee1c6ea932 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -937,6 +937,7 @@ do_transfer() sleep 1 sp=3D$(grep "type:10" "$evts_ns2" | sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') + ip netns exec ${connector_ns} ./pm_nl_ctl rem token $tk id $id ip netns exec ${connector_ns} ./pm_nl_ctl dsf lip $addr lport $sp \ rip $da rport $dp token $tk fi @@ -3152,7 +3153,7 @@ userspace_tests() pm_nl_set_limits $ns1 0 1 run_tests $ns1 $ns2 10.0.1.1 0 0 userspace_1 slow chk_join_nr 1 1 1 - chk_rm_nr 0 1 + chk_rm_nr 1 1 kill_events_pids fi } --=20 2.35.3 From nobody Fri Apr 26 18:05:05 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2051.outbound.protection.outlook.com [40.107.21.51]) (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 02FD1A2D for ; Thu, 4 May 2023 10:21:03 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LXU52DrIBkbgdbFf/BH9VxtpD6Sb0UtRTDWU8DeA12+J+LqCfPr4dG5XFgmaTV0MxVle56FN/Be1AH7iJfMQowPUmnbRfEaL7ah8e5LUCChQgJu/PnSCy9VJHpjHki75+OGQYvrPxuF1PFXhAvhQrW/V89WbVo7aZKq1K0bZ9SUkkPBM6ouimMmNCJb6kukDNHqwV+pYSEqOKenAHsm1KSSdTtwsEYJWb0ySrPxfXr6g10Iieb0Xhy3RfHEMQK3grxi0zocUsEa1MNiO67Ah2LYARQ38BfsyhfwbOMq7GsSnhldX8Cyt2Q2Kty/yFjE3pRynKxqNfauFoIGfxo69Rw== 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=ae9X+zo1p6924e58o69bAY0chhYEmM7pciRSNss3ig0=; b=T5jHQBwG7QZF8aa2iixXKW6xcDHCBOv0qppco+vgmweyEPyJJwHrRCsYnbhy82arqcTleg1xwpupZkZ/O/9i6paqIZAkqLs8usu0Wv1VkP4Est/Uhl4rmaD/X6sliHtMHMmwEc3cC7+tyZHZai6RVnDc3T1V/fsbC2qawe5udQJoj7uLaKjKDGnI+/hvkRpDAlxqW3he9ASc94LbkAZf0nZ/g8xgZitSckfhazmdmI/0NJ24Ih/eOH47khSzxo8Q9vzyqQLVoRwhQfQV0UpxJQXf/TBVkkNz39Qy6ZmyRT2N3cc62wXjhCFHVyolKLQ/55VKGwLqbMZcLahUjX1O1A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ae9X+zo1p6924e58o69bAY0chhYEmM7pciRSNss3ig0=; b=uHBltbuyvhmYZdvYcFQUu8O/iqSdyY/Ne7K8O9fP9cDkdcamFp9IRwWKI2tAwXi++heITu0OhGRdP1kS+BCU9MSEvNv4R8SOsxHmqmlgJ2l7GPoGC48rFgyFt0P0RaOKiNLFtGgXy7IvMKaQ8b9euT/qGCM0Q5P43H56r6HHx9lAleRryk/OKPjc0MTbzgnNxrfZAoTfK7NH9uO/qSMzaUIxVREefes5AJLzZfIeresmehPuh6y4wAobVMCNRbVbA6FTQKy8PRgP56aRirjsYM+ZZuSqZsvDmcMh9I62qPN5INFnXroNIvRv0gf6vZj646bfFcTT1/c3LB23zIP7zQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DB9PR04MB8298.eurprd04.prod.outlook.com (2603:10a6:10:248::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26; Thu, 4 May 2023 10:21:00 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Thu, 4 May 2023 10:21:00 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v11 06/12] mptcp: update userspace pm infos Date: Thu, 4 May 2023 18:20:11 +0800 Message-Id: <0356f03ca8d7e6655914e26502308414d27d3ae5.1683195386.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR02CA0122.apcprd02.prod.outlook.com (2603:1096:4:188::10) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DB9PR04MB8298:EE_ X-MS-Office365-Filtering-Correlation-Id: e79ef8d4-faaa-42d0-4fdc-08db4c89419e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FTAXXn1xLOXdaM4rPFR0F+U9rqofNssuFdCzWfxqwkSpyLzQ3xRqIQuASiCIF0bqwN+oG4HrLHJgmqK/xypkDg8E/ZXUW7zQmGpiS3JfQLwtdqLczshbjhIFH1NPvbLwW0tcXQrM7D+mIzY6gACSfoTRbA15ZzFnVQHN/H2XnvUnCqFx4CpD89bPtC4lXzjzn5p3JTs9cbyjEKiN7PXReKL9Pn/XiCGMWqgPiu+jUUyiTX7wqc7KYUMQgZHX/aMLvFrArqiHt8BZvxk/FTedDggjlkjBiqNaSkdSMm5vjDHiqmJhCLe+smiCQid4lT9y2DEvmPa7JIyt0GT1CTjeFW6GdHncZT3MP3OxVPnv5zGIiVToHXbRo0J5ZmSmcNu7cS3rFTwP5OnFchTez5ItF0AvKR4ALlSpMMgg0vHK5YG9Qi7SJxKUFlnrd9jCJIqbl3DK644psyOFFwZppL13VLgDPm5ffDTK7ptOUw1DU1vS/ulZbKwmJDKf6Hvx9PpO7XkTF+MGLxAu2v2Co8OR5oSKOJh9gteLWkva6xD8qnc= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(39860400002)(346002)(366004)(376002)(451199021)(44832011)(38100700002)(478600001)(966005)(8936002)(5660300002)(8676002)(2616005)(26005)(86362001)(6512007)(15650500001)(6666004)(66946007)(66556008)(107886003)(6486002)(6916009)(4326008)(83380400001)(6506007)(66476007)(316002)(186003)(41300700001)(2906002)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?mAHLYK05Re9XSaOwAECTLM00PM/f435hWnfLAbqiqN4fVL3l2h7l4Q5W97b/?= =?us-ascii?Q?OaYmn4mTVpjhpqSlvy9O8fd1H3IfWGoIZt8ykHe24y41Yu/0KRZIEEQz2lbA?= =?us-ascii?Q?Jyk58taAALUm2JkbWu69Hv08bQfulZNzPLqroz5IiUZE/9/9eVhqTobpWsEN?= =?us-ascii?Q?+6ZXkE9Hw9o9dImQ56rxzFo42WRuibNZgjqXYHI7sjru2ffkDgSNl1ck8f4a?= =?us-ascii?Q?rBbV/+MeKE7SM8iECdzzWCw+vE/uwuO65kXG8Gak0q0rIQD2y8lGbCoyE7GO?= =?us-ascii?Q?/LHnnjK6dZ3L9QxpxTmQz/9jafqD0Wg3KiljuG+Ji1ajULOxjE8z9Uw9sKEj?= =?us-ascii?Q?ss1R7fdQydKQrsk2YHysVsvsgm3BpB6PjYejTRwVWxD7fzv8drnDrLjJu3Ur?= =?us-ascii?Q?4V3kfdKrZ/YlaKC4yQEYZF6QK3/0RGvu66/+Tv2WSmYdPLuVzTxeGT+mAoXY?= =?us-ascii?Q?Tn2N81uyqNhdpC9WBHZy7wKRim/eurhgpahc441CZU1zk6A4ZgHSLBe7+kbl?= =?us-ascii?Q?zn0E097l29MHVhKfJWw0u6yjmGb5Cbm2MUFcVaCguCt2r7tZvG+PK+bUY/HS?= =?us-ascii?Q?2yshU6/eqHMYa1XkfKtk6Qgfhnf9+SToOIedCGLgSMHi04iby20iqZzJaUnl?= =?us-ascii?Q?rH1TcvLyv8DISaKxRqcy7qtuFSUXKBK/KEXRaJKVewuHRCfZq5ZIRxSK+Mfv?= =?us-ascii?Q?Sl6vbOuelLa+fhwCoHZ1lx6d7a8w3hU1HQU8tuYopmh+HCE9EYMkXI8VrSHE?= =?us-ascii?Q?N7ksk7VsRUhzkWKc2eZYx+QIEhLDQAwKvyThCkw5ymxQhcyIPqNMTBgaXh1M?= =?us-ascii?Q?7BCNb2o2i4iTeCSGNbLBunyrkIljTwduxTCmUDKLPDzxvFqCVGqvwIpyJNAj?= =?us-ascii?Q?QnCIEajvy0eT6WaGcE19HuQDgIJRdZQzT31+Z3FRicGoGCxCbTPZRhoALzyD?= =?us-ascii?Q?hhx+NncoHKmA0xs0tXhrctcttUwQodIGi6Cu8nx9YFZ6+48GA2C/Yn01v/R2?= =?us-ascii?Q?++VXIZ8dwqGzqsxROKtc4IwOGvHci5Tsw1z2JLiOtaG+m+Dgi0hv3mxbPPOe?= =?us-ascii?Q?BFwVJpT5FOY0MjPZKAGSsPiEttBjnvuYjeXBHX47QykAmSDNaciA99TVKUVi?= =?us-ascii?Q?IvfFdcuHFGPwRBhjKSBJX2sLkAtpkzvXLFWIt0RVDbHAsNEwWDM6n1koujI1?= =?us-ascii?Q?snsvZPB0+NSfegYXOwnR6J3mDLx4lvhgZqa7DvUxi+E35LD/0OQMYJfR136R?= =?us-ascii?Q?jLb0k80X0m/8ul8JMQWYZn7GDpvBvBCJtW34s3UWzb4YGVfH48QlhLs0oqe5?= =?us-ascii?Q?56oEsPS325yV3UEsQrUIole7zP7fKEzbhZfpNpfUE8T+3uFGuPd0zCw14J8+?= =?us-ascii?Q?RA7v1QpBVVtziyKAFyrFAxUrQe5c9KbHWtG2l2djRLhJfXMjej+d8MsD8Bc7?= =?us-ascii?Q?/4qxT5XuJtVJDtkMVK3cIiTl8hon810A+MrW99KA2Q3tqiIoudd0PIr82nR4?= =?us-ascii?Q?MvaEKPf/oJ0JmB6+C0qa+AQ6JJlhLQUfM9db6M0O8TlOQr13SBQ2nn3JSS8K?= =?us-ascii?Q?RzW1qDkCH3VAd6mZ06x8Nw2zKXz+nXyr5QUHKs2y?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e79ef8d4-faaa-42d0-4fdc-08db4c89419e X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2023 10:21:00.1271 (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: 57UUY1qdd0laqrRv/spyVe3T7GHZBlFLvnQXkbr/PWyBq+E2ReP3RO/x/v85PcQNju4uGTPMj0XgQcoiO7PDfQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8298 Content-Type: text/plain; charset="utf-8" Increase pm subflows counter on both server side and client side when userspace pm creates a new subflow, and decrease the counter when it closes a subflow. Increase add_addr_signaled counter in mptcp_nl_cmd_announce() when the address is announced by userspace PM. This modification is similar to how the in-kernel PM is updating the counter: when additional subflows are created/removed. Fixes: 9ab4807c84a4 ("mptcp: netlink: Add MPTCP_PM_CMD_ANNOUNCE") Fixes: 702c2f646d42 ("mptcp: netlink: allow userspace-driven subflow establ= ishment") Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/329 Signed-off-by: Geliang Tang --- net/mptcp/pm.c | 21 +++++++++++++++++---- net/mptcp/pm_userspace.c | 5 +++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 7539137719ef..9ba671902e69 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -89,8 +89,15 @@ bool mptcp_pm_allow_new_subflow(struct mptcp_sock *msk) unsigned int subflows_max; int ret =3D 0; =20 - if (mptcp_pm_is_userspace(msk)) - return mptcp_userspace_pm_active(msk); + if (mptcp_pm_is_userspace(msk)) { + if (mptcp_userspace_pm_active(msk)) { + spin_lock_bh(&pm->lock); + pm->subflows++; + spin_unlock_bh(&pm->lock); + return true; + } + return false; + } =20 subflows_max =3D mptcp_pm_get_subflows_max(msk); =20 @@ -183,8 +190,14 @@ void mptcp_pm_subflow_check_next(struct mptcp_sock *ms= k, const struct sock *ssk, struct mptcp_pm_data *pm =3D &msk->pm; bool update_subflows; =20 - update_subflows =3D (subflow->request_join || subflow->mp_join) && - mptcp_pm_is_kernel(msk); + if (mptcp_pm_is_userspace(msk)) { + spin_lock_bh(&pm->lock); + pm->subflows--; + spin_unlock_bh(&pm->lock); + return; + } + + update_subflows =3D (subflow->request_join || subflow->mp_join); if (!READ_ONCE(pm->work_pending) && !update_subflows) return; =20 diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index c50e1507ae35..98a5c81083be 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -189,6 +189,7 @@ int mptcp_nl_cmd_announce(struct sk_buff *skb, struct g= enl_info *info) spin_lock_bh(&msk->pm.lock); =20 if (mptcp_pm_alloc_anno_list(msk, &addr_val)) { + msk->pm.add_addr_signaled++; mptcp_pm_announce_addr(msk, &addr_val.addr, false); mptcp_pm_nl_addr_send_ack(msk); } @@ -334,6 +335,7 @@ int mptcp_nl_cmd_sf_create(struct sk_buff *skb, struct = genl_info *info) spin_unlock_bh(&msk->pm.lock); goto create_err; } + msk->pm.local_addr_used++; spin_unlock_bh(&msk->pm.lock); =20 lock_sock(sk); @@ -344,8 +346,11 @@ int mptcp_nl_cmd_sf_create(struct sk_buff *skb, struct= genl_info *info) =20 spin_lock_bh(&msk->pm.lock); if (err) { + msk->pm.local_addr_used--; mptcp_pm_remove_anno_list_by_saddr(msk, &addr_l); mptcp_userspace_pm_delete_local_addr(msk, &local); + } else { + msk->pm.subflows++; } spin_unlock_bh(&msk->pm.lock); =20 --=20 2.35.3 From nobody Fri Apr 26 18:05:05 2024 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2071.outbound.protection.outlook.com [40.107.15.71]) (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 6333EA2D for ; Thu, 4 May 2023 10:21:11 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dr+2ebS0VjLBBPItO7vIWLbGW1R5z92hrOT441Ay6S/C1rYsXX5TS3+ZnRkduD7k0OTR0BSnQqvDK/RU2j13E1dxhqXrUMGvY6nIOlW3WVRXBI3p0JDEZAAGHUE//OzkAi6Z6fDu4Y5QKMnUawGg3QctVGr2dbIFtsYCivGrKT9WE0Itim8ycFugnZ9oUTKRWtBdqfOtqoTCMPFQg8uYf4/ZLfAP7mNdkibwlcQnlTrsmu2lqVQ+XezSCdbMAhptIhBvXGnLi3s6MhUDvmtQJevjWMPEvDupn4i6nfKfjYEnn2nnE9F3ScLWQyKXZCVYTv0DkVNZoMhW3xACeMMRJw== 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=LT/iMLipWbgQr9CGm/imxYsBNYzaFDSCA+OqrssD6FI=; b=na+Y1kzfgEAJvP2S45sawA6bMWEIQa051lYDcxgVvtAlrUhRqx0tk1TypKqnx6cP/Qf9V+djymXdJ3VnFdBYRokUdSHeAOm19VGuFWQhqfyJ3+hWv7Xa6K7b1QJ4GZUw7d2asWNo8Q0PT27ZtTdIGW7Odx+0yYJ0TuErHFYoqqaYXd0OFcbLqGIPl4pvL3I9gDhpwFn69dNRcMmcA/BjsjyGoR1X/z1l/8FrjFAVMSsHhz1+mIRQ3/9CxC5AnPMZUb92dmdvxvuFE+pV2YbrWOTsTZuEU+fYPDDQho5f8v6BppSpZy3xIYD+o51wSfYjbTdJLfkuG9zLOEm1nIKNow== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LT/iMLipWbgQr9CGm/imxYsBNYzaFDSCA+OqrssD6FI=; b=CoUKAKqvrEn/VXxLPAyqUsamvyOmsPfiaCJbw+ybM9MQY9fZIccrMVp92r8RTbeGEjJ7Cbz05z0W5T+w1H2aOA30GWYbKLA6925bOomzjx+lKnlEGh15ztw32neSCLw4u7J0NSoqCsWixmxZB2B7gSV0FlegHFMtOcaz0sUODCtUc3SXaDVT+7qnBV+Ftht3+LLl3Ln2wQN0CPu4ujaW9CrJu+dfkrr0LS6J13BWLUmj5sAsBeIsnRPvSBQt3/xXSqxXKhHejPGDVyRWYGk2lyZnziOHyxwvm5KkgOvbyu4cjigxXBjBopjPVWvqu93XTcSFCQXmswTHe9DVGcE5qA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DB9PR04MB8298.eurprd04.prod.outlook.com (2603:10a6:10:248::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26; Thu, 4 May 2023 10:21:06 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Thu, 4 May 2023 10:21:06 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v11 07/12] selftests: mptcp: do userspace tests out of transfer Date: Thu, 4 May 2023 18:20:12 +0800 Message-Id: <0492e4dbfdd72aa01714749270961bcfb99bb0ab.1683195386.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR01CA0015.apcprd01.prod.exchangelabs.com (2603:1096:4:191::15) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DB9PR04MB8298:EE_ X-MS-Office365-Filtering-Correlation-Id: 2bd7e01e-4e60-430d-0b8b-08db4c89459d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wvCvNDPYdx19VjgUlsJlt/rUQUQ26/6xb7IsuUUb0od5KYFgbtcJmXYybFOI4UZyNfWhP/TQz74wpsZWgVzuHNj2qfCQ9ZOmYZq+xn+6L8hEz1Ey0ryn3sL0Id+CrgsS2+ySC7G7xNdgqrpxDlc4Kzx+nUhPf3eB7g3p4V4ClCJLD8kb6K8abnYIKMpC2EVQnPxBA8SrccSYf+27NLJWzuMut7PZj5gR3Npa9REPqiUT+gQNhJAaozzCi7DUtPAhmsOQ/BwEPiUrAGCLKbR44M17qK66WgDGL7HttpmR7pPEQcITd/7WKr8zE+vEVIPCzheRAvvmkhVxKNPeaC4mZAUeoTtCei1LElKuZjZWpD5lJTmRnVyz5ISkEd/HYPfgj0OvJ/VbOiqORvns0zj8GqoZ1nTcI5n3n84LpwtILmjkSwgU6ecUKqPmc6giwp4blok3IpLmsF5656Syu6ZACl66u4VH0l3O/e5ZLjIhpr0fPTRyGG/Be04tJnSiOL2xuiOpEIb498bXDIfxhv37Ewylggz83izbhoHeCvHPcCdaWKkWKRBOrKagSSQ+/rz5 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(39860400002)(346002)(366004)(376002)(451199021)(44832011)(38100700002)(478600001)(8936002)(5660300002)(8676002)(2616005)(26005)(86362001)(6512007)(6666004)(66946007)(66556008)(107886003)(6486002)(6916009)(4326008)(83380400001)(6506007)(66476007)(316002)(186003)(41300700001)(2906002)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?kPNSSjRKtk6DkJlVnTi6GtG1tWQ/UFmt2vCA4lT4QIc2gNLLpqBpLt8eB2YH?= =?us-ascii?Q?Lp+vPwZ6MMwjNIP4EVNnmcKfsI8bt1UwzGmf6q/Xnv+sSmCB0JJw50cysVCF?= =?us-ascii?Q?ri7tp91QqUspMYHamSGcjoVZaLVdqygu9+QbZFtvEutuYmW3EGQe8br8LAjf?= =?us-ascii?Q?8SfY/Zv/4PB9DEoKR2qS0O9deSaVsmbohDW89TEXaWxcGg8bxI5enj5vNBZc?= =?us-ascii?Q?jJY3jZrJtOLGoAlQDK/UIHeS3KBPzr/la5BE7NBY3P3k4dw1Od1E2YMeK6mR?= =?us-ascii?Q?Oy+7CxV1yakjVMFIGfyka+ruYoTqmN4TquFV1Awr1VsecNMCXPcjgaNfG5YH?= =?us-ascii?Q?9uBakxGwz6/Lz4I/XqClm/3/MdZAX6jEfHyMyOXfdTqcpOC9iWCfy6ELWS7d?= =?us-ascii?Q?ne6vx99ICq8iu7PONJLReJZCSC746t2rGlg6C4AptwFSZMHdBk93yHzK/SYR?= =?us-ascii?Q?GE9ELI6+KD5SgBrcRviv2omID3rFiWhm1qYk9x3mEQB2edmClQnqAY+8gMT0?= =?us-ascii?Q?RCAD1/qvA9MmB7JQ82VbzScz1LmJyIZgivlZZxoGIWrCeJ/PKvoTj0lidTiw?= =?us-ascii?Q?traVYeJIEQirKgxYlGeV5qBW/yZm4GybeVrNGXKbUqNRRNGvmc6yEZ1OxVYX?= =?us-ascii?Q?VraNqvkt+F1azUMZRFkz6AKJaPrS7HWGwyesmftkQ1x/6vBMymw1fmBYcySC?= =?us-ascii?Q?dQoSouw7yfpPDvcj2CkRF0OxHeyjSg8+uFeu/5K8kvTogcY5rNIKDJ0KFSha?= =?us-ascii?Q?RDUMPsHam6MNFwxnjxKMezNuKxB0X299LJHq78KRbEbYgXJUPWosAjVHsYmS?= =?us-ascii?Q?k5fZbhZXweo63uXcTXxKflQp2nQ7tpIiy329r2Zr52/Vf9ZUHBMZmogVmJ4g?= =?us-ascii?Q?YLl8yu6kix1r55yGlMmhzbVSeOGUCaMKGUz4H0gUNqjUl6uXVV4L6h6hyr7+?= =?us-ascii?Q?Vud7YHVkWDqyIzn1tChPGvEuffLBDyjkEdZhrdzXG/d+8ivL9VWOG+tSJMwX?= =?us-ascii?Q?XmdlL49ju0P/oxgnFV9ExDPYwVvNyMntuSlGIzyLAvJ0YcyXj/ky7iWAylsR?= =?us-ascii?Q?fZ/3UbhRxwDvD5zSu7Z/rRRcKGgA4VNHXYecTjKzQaUinFG/cs0uFD0DIek1?= =?us-ascii?Q?EniVupz1FLCLqVfgBjZrxXGvqLXWtOcnEMgjolMv/pymBv9euvaM0PUmfvdw?= =?us-ascii?Q?PGwfNNaYOsk+62pz+2akaoqYwTrb3iyTTzdWqSzV0cr2u55T3Cn9Ylls/FQh?= =?us-ascii?Q?0v64gLpTQV8YmTP7ouNmK7PMRVCBe3KGUq4RQWWlpWOpRHeIbui98WJl6Mw8?= =?us-ascii?Q?HRDbvlqG0xwvdaDPSIoAoCPmiUM3A0QDwtzALlehc+c8ubNMofVZTwp7u627?= =?us-ascii?Q?BLyQR+phyfNpSDjoc3avawWecWzDfwtB+sCySKq5Tw+cBmRwv5sIn3lcWZVY?= =?us-ascii?Q?JSkW97o1z5Sq9uImtQ88oKiDvBPAyywTtVkop7Ml4AmuIhsAJMyUT2q2fOGY?= =?us-ascii?Q?xb5rLaPBPexOK+/hdBvn9QOn4ifljeF1wCaqrmq0V5di9L1Qij75cf/DNMt7?= =?us-ascii?Q?mMEWyM6vAr8kGyLElLjVq7NifabMZAjv4llVN70r?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2bd7e01e-4e60-430d-0b8b-08db4c89459d X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2023 10:21:06.8399 (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: dqGZ5qCzaI9kcTiHcI82NoFJnExmRWnPOlx6u2T0RVaCPWusFQzqI/CwEvJm7YSsPm/rh/KDVzuFq+BEF2Eeng== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8298 Content-Type: text/plain; charset="utf-8" This patch moves userspace tests out of do_transfer() into userspace_tests(). Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 86 +++++++++---------- 1 file changed, 40 insertions(+), 46 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 2dee1c6ea932..582b763f652b 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -723,7 +723,6 @@ do_transfer() =20 local port=3D$((10000 + TEST_COUNT - 1)) local cappid - local userspace_pm=3D0 =20 :> "$cout" :> "$sout" @@ -760,11 +759,6 @@ do_transfer() extra_args=3D"-r ${speed:6}" fi =20 - if [[ "${addr_nr_ns1}" =3D "userspace_"* ]]; then - userspace_pm=3D1 - addr_nr_ns1=3D${addr_nr_ns1:10} - fi - local flags=3D"subflow" local extra_cl_args=3D"" local extra_srv_args=3D"" @@ -792,9 +786,6 @@ do_transfer() return 1 fi addr_nr_ns2=3D0 - elif [[ "${addr_nr_ns2}" =3D "userspace_"* ]]; then - userspace_pm=3D1 - addr_nr_ns2=3D${addr_nr_ns2:10} elif [[ "${addr_nr_ns2}" =3D "fullmesh_"* ]]; then flags=3D"${flags},fullmesh" addr_nr_ns2=3D${addr_nr_ns2:9} @@ -848,7 +839,6 @@ do_transfer() local counter=3D2 local add_nr_ns1=3D${addr_nr_ns1} local id=3D10 - local tk while [ $add_nr_ns1 -gt 0 ]; do local addr if is_v6 "${connect_addr}"; then @@ -856,24 +846,7 @@ do_transfer() else addr=3D"10.0.$counter.1" fi - if [ $userspace_pm -eq 0 ]; then - pm_nl_add_endpoint $ns1 $addr flags signal - else - tk=3D$(grep "type:1," "$evts_ns1" | - sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q') - ip netns exec ${listener_ns} ./pm_nl_ctl ann $addr token $tk id $id - sleep 1 - ip netns exec ${listener_ns} ./pm_nl_ctl rem token $tk id $id - sp=3D$(grep "type:10" "$evts_ns1" | - sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') - da=3D$(grep "type:10" "$evts_ns1" | - sed -n 's/.*\(daddr6:\)\([0-9a-f:.]*\).*$/\2/p;q') - dp=3D$(grep "type:10" "$evts_ns1" | - sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q') - ip netns exec ${listener_ns} ./pm_nl_ctl dsf lip "::ffff:$addr" \ - lport $sp rip $da rport $dp token $tk - fi - + pm_nl_add_endpoint $ns1 $addr flags signal counter=3D$((counter + 1)) add_nr_ns1=3D$((add_nr_ns1 - 1)) id=3D$((id + 1)) @@ -918,7 +891,6 @@ do_transfer() local add_nr_ns2=3D${addr_nr_ns2} local counter=3D3 local id=3D20 - local tk da dp sp while [ $add_nr_ns2 -gt 0 ]; do local addr if is_v6 "${connect_addr}"; then @@ -926,21 +898,7 @@ do_transfer() else addr=3D"10.0.$counter.2" fi - if [ $userspace_pm -eq 0 ]; then - pm_nl_add_endpoint $ns2 $addr flags $flags - else - tk=3D$(sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2") - da=3D$(sed -n 's/.*\(daddr4:\)\([0-9.]*\).*$/\2/p;q' "$evts_ns2") - dp=3D$(sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2") - ip netns exec ${connector_ns} ./pm_nl_ctl csf lip $addr lid $id \ - rip $da rport $dp token $tk - sleep 1 - sp=3D$(grep "type:10" "$evts_ns2" | - sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') - ip netns exec ${connector_ns} ./pm_nl_ctl rem token $tk id $id - ip netns exec ${connector_ns} ./pm_nl_ctl dsf lip $addr lport $sp \ - rip $da rport $dp token $tk - fi + pm_nl_add_endpoint $ns2 $addr flags $flags counter=3D$((counter + 1)) add_nr_ns2=3D$((add_nr_ns2 - 1)) id=3D$((id + 1)) @@ -3138,23 +3096,59 @@ userspace_tests() =20 # userspace pm add & remove address if reset_with_events "userspace pm add & remove address"; then + local addr=3D"10.0.2.1" + local id=3D10 + local tk sp da dp set_userspace_pm $ns1 pm_nl_set_limits $ns2 1 1 - run_tests $ns1 $ns2 10.0.1.1 0 userspace_1 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow 2>/dev/null & + wait_mpj $ns1 + tk=3D$(grep "type:1," "$evts_ns1" | + sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q') + ip netns exec $ns1 ./pm_nl_ctl ann $addr token $tk id $id + sleep 1 chk_join_nr 1 1 1 chk_add_nr 1 1 + ip netns exec $ns1 ./pm_nl_ctl rem token $tk id $id + sp=3D$(grep "type:10" "$evts_ns1" | + sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') + da=3D$(grep "type:10" "$evts_ns1" | + sed -n 's/.*\(daddr6:\)\([0-9a-f:.]*\).*$/\2/p;q') + dp=3D$(grep "type:10" "$evts_ns1" | + sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q') + ip netns exec $ns1 ./pm_nl_ctl dsf lip "::ffff:$addr" \ + lport $sp rip $da rport $dp token $tk + wait_rm_addr $ns1 1 chk_rm_nr 1 1 invert kill_events_pids + kill_tests_wait fi =20 # userspace pm create destroy subflow if reset_with_events "userspace pm create destroy subflow"; then + local addr=3D"10.0.3.2" + local id=3D20 + local tk da dp sp set_userspace_pm $ns2 pm_nl_set_limits $ns1 0 1 - run_tests $ns1 $ns2 10.0.1.1 0 0 userspace_1 slow + run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow 2>/dev/null & + wait_mpj $ns2 + tk=3D$(sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2") + da=3D$(sed -n 's/.*\(daddr4:\)\([0-9.]*\).*$/\2/p;q' "$evts_ns2") + dp=3D$(sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2") + ip netns exec $ns2 ./pm_nl_ctl csf lip $addr lid $id \ + rip $da rport $dp token $tk + sleep 1 chk_join_nr 1 1 1 + sp=3D$(grep "type:10" "$evts_ns2" | + sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') + ip netns exec $ns2 ./pm_nl_ctl rem token $tk id $id + ip netns exec $ns2 ./pm_nl_ctl dsf lip $addr lport $sp \ + rip $da rport $dp token $tk + wait_rm_addr $ns2 1 chk_rm_nr 1 1 kill_events_pids + kill_tests_wait fi } =20 --=20 2.35.3 From nobody Fri Apr 26 18:05:05 2024 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2074.outbound.protection.outlook.com [40.107.15.74]) (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 6664FA2D for ; Thu, 4 May 2023 10:21:16 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S4DMsz+KrBSgHPkOMwr8FwHRoVXo7u1A94RcS7ZvtaA5x/tUcKYU9QmiYvwm/740Wo51Q3N6KfrbrstbXI0M/pz42lyMfDgwBl9Feftw0lomwhNw/2i48Qi8XS9dEkyPpKHlKjtY+UMsEMMgmmI9WvPoFlsFrcrnQH9DXjUsC01vH4mOHxCleodhOxAlUBdox181GRjpptMBti7S7TsBcjlEytgoDfLCuKmS4q1Wkvmo3LZtGjt6WQUa2zo7xiVBscug8XoR01A3JwjZ/DCK/4vxHwuHpwCDSnDFwqnneg/wsh0p8DWv5vkUjhoqws3M7v08gJTC7CBZOqZBQyJQig== 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=IM6UhZuoHsPuehq/JCoLPwe7EP09ebMpHleV2j12r7s=; b=nRQRLwGrUtu03VfLfDD/DHDeavtN9fyxLP8/FPbhprOBxc22MAl4bdxvNJV4hqPz035tKxrfNxQLcAEnVGnUBAlENtQERJepS/eo8GD8yABuHNCfr7BjzSn/0wn37RnaWe0SsJczp9BeIjAGzQYTD6eCn+dKarUlgwY0jbGXuBLY5HcTGJKjaBp1+3lvamTcEoMOX0JU6rc3HlXh66hrVFXcLUZwVErEstjGkNM4N8z8lFUrkaMCn6qtDhKrN6QACJHeIf5lwipFF/bL6GbBSWrodES+bBn7W/QAlR8Pj39Q18JOGClGLJ0XkFwDqzT+9id/PmVWQl/UKGCZ2CB0Ng== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IM6UhZuoHsPuehq/JCoLPwe7EP09ebMpHleV2j12r7s=; b=XKqsfJgloApLNaKkH9Zhc/ulzM9f8NRMw07Zqn0RtvZ6P7MG5SyagicWJ8oOd+qSkysY9LDX+Mv1oCBvlrADmB3ukZa4fnP0+FvQGkjwa3Mr3DZrrPdCg+ahyRnbkEYbN6e2YbaDHX8lb94VWR8Cg6CRf2YEFmstKNqQRXjPHk2LVyg3V+p4fT06Z6fQolt2sJDE17ujL4GfA8wS6yXcwD5XBYaR7NR3udqjYbOvqrcVaJHstx/KBHCDQY3gbj6Rcq1SorH+mqptV2olCfmivbpNV09ogPGgw9VyyfQGkumBAOSrryWETfkYEGjx07GbtZntdJP/aYPURVUygKcg6w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DB9PR04MB8345.eurprd04.prod.outlook.com (2603:10a6:10:246::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26; Thu, 4 May 2023 10:21:13 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Thu, 4 May 2023 10:21:13 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v11 08/12] selftests: mptcp: check subflows infos Date: Thu, 4 May 2023 18:20:13 +0800 Message-Id: <6d3c3fed201365d6ff5a31ad751032cc269857b0.1683195386.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR01CA0014.apcprd01.prod.exchangelabs.com (2603:1096:4:191::17) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DB9PR04MB8345:EE_ X-MS-Office365-Filtering-Correlation-Id: 5f64168d-6765-4e42-7b7c-08db4c89496e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lEIl/DTDzEV3qZGGd/37wN3tWz0YHYDA9OHwz4xK4Sg3wSzP9oVirfWVXQolxYL7Wni1VfqkHvJuu145RjQ6M4uAF5kCZpJxyRgBxigeTP2zOJgElYAMJUeMtlLpp6GtdEHFsJMXDWeYetRENBgptwIwlhsCO5Otv72UGyYHkupZzlQwfWqHF71esxX0W4BKMl4YHZQM71oj1JzljkhZl/t/jTBiC7lfi7268dDBTSGkQJdNLYbziAhmH6gJzppYh+9t4MzH/daa4ft4yjKokWKB+Q1nUZ3oZ5DoW+dagcM4h/ldC+TUUl7ziqq8Du+RpxtvMIkaYtEX2cxWEMVpymCAaKzuemJv6NIIWNowNibGYjJL4OE/Mz68Qms9IsMZq6kB1tEESEKWWPfcQ9yAWdQAf6f+lSliN65IKzMv4LmkxuOoXr7f4kdmSvQUCo4L6ufy2Ts6XXgL5+oQZAoNwG88d2uiaMGsvD9g7pwcD3Ijy3V7903Qaq2Pu2K2zncwEkT1qsEKAXnoT5n76UC9WK9AAE+t3aGRmQ7W4sIe50wG68jc1VIS5vkEHoakUvKw X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(376002)(346002)(366004)(136003)(451199021)(38100700002)(478600001)(86362001)(107886003)(26005)(186003)(6506007)(6512007)(2616005)(36756003)(6486002)(5660300002)(41300700001)(8936002)(8676002)(44832011)(2906002)(66556008)(316002)(66946007)(66476007)(6916009)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?kYi/TBdCt+p7dnO0RQ9EkaW7dn/9ZLIK5dmJqPCaAXMhiX9wB/W8xgCYe0/9?= =?us-ascii?Q?jdhZEK6aFDxDu+/aNkXIJFpg0ZHG76+eegxeOlRjjP6Ox+DUbjQP9tkZ0Y3f?= =?us-ascii?Q?Fm9P1o8eOGVc1fAku1hpVAx9ItX7hl24pnw8mjIhjYOHnd/rZ6+1HMqNLh/C?= =?us-ascii?Q?77/djf48B14/LEx3wJrZJttWCRU0hxdtzyVPhKkPbYkvOkzoobIQYCdJ3qO9?= =?us-ascii?Q?BRr58yCBVQZuTrzU6lLAblb203acWHINrC64xSs4+0Xc/C1DypVcCTnFqTLY?= =?us-ascii?Q?Ppe3aX4eOHInSVexHORuI+rwEYXY2afspcwLEhb5KapQnesiW38ZLQulRLDc?= =?us-ascii?Q?0Dl93Yjjq7CHI5yuf0bsf4V7CAs/5njicRAOcK0smNKcvTBdoLU+uPDF/4sj?= =?us-ascii?Q?+8iW0HaMTxpBFpkf+14UBVdqgvz8I8Iyiw/Alm2mYPrL407xmVQLwqxUvlpi?= =?us-ascii?Q?G/cRQ52cLZeWFFGkhOwX1tmoxXG+vhjOszuWcCAQTfg8N9JG89NEx4EY9zge?= =?us-ascii?Q?fd80od+WO+Gab8pYTJSkkdlDhAp+3m2qXKrmbh4hWfhQE3M89wQ5Yz+Tgwpi?= =?us-ascii?Q?hhlJZRQmjq6jT40vK/LuEMu/9Om/2julj6nfneYqzoZJ/7wL5AEaftSBV4Sh?= =?us-ascii?Q?tKtYUlR2lswT0zXBEiQlaAKXpB+ej18/PG6css/wy8Ac0xbsX8ekxE3goseg?= =?us-ascii?Q?M84Bj1xYsWV+ixROpqLaeax5DcY2zadrkkdv88VnDmZF4G03UouyS5vBNz1+?= =?us-ascii?Q?OcdZgOVGax3zylXnKuAdoZBmN1MCiCc6QEW8/lo4bx61O0QUmOPPM96d65/B?= =?us-ascii?Q?C8/xIbY97KUO46wSsSDPB7KgtzmeIKPhXdR0Y56JMC5RgHZC946JX5jikPVE?= =?us-ascii?Q?HdSTOLZrnPzdwwXMpg4PefACgRPt2N0gPvEHOSyR5OeeIUtocznLruMJGb9J?= =?us-ascii?Q?NHAmnRSB/UOqmHppx+wAarYNZvQiflY9DYIVubMXTKNBwUjRXFQv9j7YpTqF?= =?us-ascii?Q?lCq5B4TrLFaGru9LBehURayIQHeOrP1SxJp13JQWzW3AJk0tOgPPIDJhXNhP?= =?us-ascii?Q?aP8/feXSOBw93zWtWid6Oz8fDjBtncA634YssIJxbNWXj/r/VcTvMRMTr8a0?= =?us-ascii?Q?qt38jHM9oaKafjzM+WKGHLo5nS//ysJpKRgdtCu+Lgeq5sOVVgKJVxMesuy/?= =?us-ascii?Q?GWciB/85wjI/etI6B36kbPMCAnJ3o0AviS/0MjSrV2n4hz2RD2a7R1L23Ext?= =?us-ascii?Q?1Y31uDokF+hGzSy52CCx9RnXa8V1mZl+wjhonW53J/lXCNQN56HXOfVs4w3X?= =?us-ascii?Q?svTZL02HEOgZC4pPw6cAi9v3vAVShvKMjM+h9bUgrJ9+FydinYgTz2HEntKe?= =?us-ascii?Q?9aylJWV2QXmndN2v0P1aIXK4twjdEvthOtxo4HlPim04LgDBq3u/sInVMuyP?= =?us-ascii?Q?v1G586ZsqvYcVOmIS8mdZrtvgPIPJTZNB2xBAvgt3bTQN88+ZVF9T+QPihbx?= =?us-ascii?Q?BnrVT0b3uQ7ZkG/uQ0ysQtnqxQnKo1Qr1yA2SFgNUzCDZ3bIuEQiQmOOEZga?= =?us-ascii?Q?zxIEOfuHRsoo4oQnUWnfGMxNNepLjnVeMVqNg+xl?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5f64168d-6765-4e42-7b7c-08db4c89496e X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2023 10:21:13.0607 (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: 9VC8P0khv4/RknprNEImvYpChr0FHvJyDDCy6bYWdY4i4a5YMXBFVW5NeN+c02Y0XaGid9XmsyVwETsATfgkxw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8345 Content-Type: text/plain; charset="utf-8" This patch invokes chk_mptcp_info() to check subflows infos of userspace PM tests and endpoint tests. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 582b763f652b..700e525750d6 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3109,6 +3109,7 @@ userspace_tests() sleep 1 chk_join_nr 1 1 1 chk_add_nr 1 1 + chk_mptcp_info subflows_1 ip netns exec $ns1 ./pm_nl_ctl rem token $tk id $id sp=3D$(grep "type:10" "$evts_ns1" | sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') @@ -3120,6 +3121,7 @@ userspace_tests() lport $sp rip $da rport $dp token $tk wait_rm_addr $ns1 1 chk_rm_nr 1 1 invert + chk_mptcp_info subflows_0 kill_events_pids kill_tests_wait fi @@ -3140,6 +3142,7 @@ userspace_tests() rip $da rport $dp token $tk sleep 1 chk_join_nr 1 1 1 + chk_mptcp_info subflows_1 sp=3D$(grep "type:10" "$evts_ns2" | sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') ip netns exec $ns2 ./pm_nl_ctl rem token $tk id $id @@ -3147,6 +3150,7 @@ userspace_tests() rip $da rport $dp token $tk wait_rm_addr $ns2 1 chk_rm_nr 1 1 + chk_mptcp_info subflows_0 kill_events_pids kill_tests_wait fi @@ -3164,14 +3168,21 @@ endpoint_tests() wait_mpj $ns1 pm_nl_check_endpoint 1 "creation" \ $ns2 10.0.2.2 id 1 flags implicit + chk_mptcp_info subflows_1 =20 pm_nl_add_endpoint $ns2 10.0.2.2 id 33 pm_nl_check_endpoint 0 "ID change is prevented" \ $ns2 10.0.2.2 id 1 flags implicit + chk_mptcp_info subflows_1 =20 pm_nl_add_endpoint $ns2 10.0.2.2 flags signal pm_nl_check_endpoint 0 "modif is allowed" \ $ns2 10.0.2.2 id 1 flags signal + chk_mptcp_info subflows_1 + + pm_nl_del_endpoint $ns2 1 10.0.2.2 + wait_rm_addr ${ns2} 1 + chk_mptcp_info subflows_0 kill_tests_wait fi =20 --=20 2.35.3 From nobody Fri Apr 26 18:05:05 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2071.outbound.protection.outlook.com [40.107.20.71]) (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 5A39BA2D for ; Thu, 4 May 2023 10:21:22 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k9ykKw0rqAm1D07tzzSVj3wr56D5bSvJpBOQlHmJafHk1oaVTZYzZBzSxeUr0bTbspTTvRpsFv2bpsBnO15aPSg/DpobNWWED4qJQhOo9oFfe191R7w8uXN8z8SiCfDAmEXlr5riHbvku4+qLGX3l854u4pJv+ynhcRbANYulfw9OI+dDW1PF59VJHN8ldXs1balSP2AkgprZduIPLsWD4tUhvieN6xvzlKOG/NPCmSV69E1ebw7XnBYS9E9WauJwG+Zxi4/rAIlyARIY4sSEkTjsNwIYG0IjVnMRQvpmk4KMYB2HVNG0EUpbOcGtu2NhRqSGljRgy1OG3ObgeGXbw== 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=OXJZdxhSlsqJtx9jAPcraa3fLqYN2DDuCp3oxj7AyNA=; b=QsB0zRf4cWL+FZDY5wT7hR/lVOrMB/PDs49kJtmFWmpZeskXHKfvToHOdAMtHqHIYb2B4sYJmldZSYd9TCRx7Rqp3vtHPYdYPs3AjpR/d1coloVDHyTL6R0y8599+G7PTViPo1bZgaOEo0sfenlhLWIMfvdkFvRQRG6I/bC/3rOkHV/lb9Kr00zdWBH2OjeNSQzRDL8T1U26eyLAaf/U4eCkvepDrk0mG6/4cRojSppw421eDtkeKhTLt31Avt5n44O6brEblsF7ombi0FoYLUZGrLW4kFR7wKh/iVHR0v6UbaMuqOq8bNeXkF+vIJORJdKlmbjgOU6BSIoxw3eq/w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OXJZdxhSlsqJtx9jAPcraa3fLqYN2DDuCp3oxj7AyNA=; b=rC15XTseEISW7+o+DxKcI662DylDM5qRvcdhNKCPDaVeUEjHozrAjskO0RtY5XOKBzWTcPtCn7WRvfTjfLu+Kzn1IsrP0YIv4d00Jz+zooZoHDDvaP6zLjzP7L7/xS8m5+r2zs/Df/Q9uLclKpKuaFBZSY7dD8RBdrVY6QD6MmB5hJWRTDF5zchD1cnFgnpn6NjaOhwcgXDfsbu7ysp8P4uYnU9wBQcTmVxCeOIk6SKxgGHfzomLWMC63O071OfIn28hDFSQnjwmzH0ly34iQCBEzrRhTF2wEzGgKD5BUC1DfGcqQBt44xnu55Od98V/PmlAN3CUcHm0cpiAKnW4IQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DB9PR04MB8345.eurprd04.prod.outlook.com (2603:10a6:10:246::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26; Thu, 4 May 2023 10:21:19 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Thu, 4 May 2023 10:21:19 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v11 09/12] selftests: mptcp: check add_addr infos Date: Thu, 4 May 2023 18:20:14 +0800 Message-Id: <57fbe2854d91e6fcbf7110a7ec0e2e15cae55b87.1683195386.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2P153CA0016.APCP153.PROD.OUTLOOK.COM (2603:1096:4:140::17) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DB9PR04MB8345:EE_ X-MS-Office365-Filtering-Correlation-Id: 3b675b53-2541-4c03-c07e-08db4c894d76 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: duGmLW8SCZUzGLuO7Wc0h/wvdAKqVREYu+VF/hkWGPRP6PGhFgHq3D2ZGFy+PyPG7QgGDVJvzVlmZZtOqW6dKz5hsMWX6Ua86jc5R2Z1Bkm3AZw2tNYyTGpbAp7Ikxf3aRvNil8BoJEztkDIymrHB4F+NRtUxhzy5P06qM/u1j7yDHovqjYvQlwLtxJ4JSuNU1M3JrYe2frV77HRIHZCcl+86E6N2X2OVD08kYO+iNvZChsXvzmjCzSO5yn7h0jEgXi2xNzYd56PvjP3BR4AACPcNVvFIaq6vJAuzk/cLDrq7tO/DwwtQb1HFKgKlDCcHifF1gyN1p/a9cxyEZ1GzwxuGgscxUSOWjIGbKl2pxU2LuSj7PTDQL2JDvDAorZORINRwqQqRG3/yujoTKPS0A1W4iRuU+OzazZXijTseEVkHf8iH8w/SYMtEaMeARHiRslhll9SIrrX7RYzIZmLAwqXjhH9c5V8KKEUHzrKrk8zLgqEDbu2MWdoWeo11pDQDvnF97w5E3NB1JwJRGvH2Hhsq+/DIhgCuZvRuXmO2eYiRrvjVUlhmJ+zMrg7fBUa X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(376002)(346002)(366004)(136003)(451199021)(6666004)(38100700002)(478600001)(86362001)(107886003)(83380400001)(26005)(186003)(6506007)(6512007)(2616005)(36756003)(6486002)(5660300002)(41300700001)(8936002)(8676002)(44832011)(2906002)(66556008)(316002)(66946007)(66476007)(6916009)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?X/6VtrZCz4X7vkLNlB1HOpavb6jajZHMH/dEqQIaE/li/d+TTXRErdW4r5SU?= =?us-ascii?Q?ZmpzXgJzlv5aoh8CmLJoDRQtZXhBfn0mZK82iHDVThhOQEp5eSwT5AH1Ut0B?= =?us-ascii?Q?hBUNc3vCxi47vbCKDlydLHozUUnq6m1qIJ4ICYODtdZcrGDhvmARuZxtJO8c?= =?us-ascii?Q?Xnv9zDRNRWaUrRd0GTbOiu01jFJrzFujXodQnVq3UYWy2TDqdY8V9xfw6N8U?= =?us-ascii?Q?osy+29RrKqhKQPkDylZl5KWyUTXHceLkJyhC2uk6LF3i9DJxtETC5H9WWICM?= =?us-ascii?Q?tYjXYtukGE+05oIFqPBggH9gOHFufhRQjvJxX2PWUqDKGzd457ajctlBrLzf?= =?us-ascii?Q?Z8wWJdpytFlMg2ta8POolg6oCE0ruoqSLAkgHfVgsCfU80WOrOCWp0pMJO8J?= =?us-ascii?Q?9uuX41uee5hqkGCjmvlZ9sg/Klt3IRIQGTZIjtPBl9SvsSIlcMWGoXBpP4Fd?= =?us-ascii?Q?GpTkzs0pZQPZGGECvrZrA6LZj+/Ciu9psH+M5qYQ28BQOlkTThIzP2rx8+6Q?= =?us-ascii?Q?gBZ3y9kmEa7Vi54VR65qZ13LSzeH6vWzs+nCiHP0uP1QwaOPolNtSTX0Sgxp?= =?us-ascii?Q?hO3DGHLgA1f+0j8lT2UUsLGi2fHp5lHvCyXJ0L405FQGRuM8g+x4SW8AwH7H?= =?us-ascii?Q?AH/eb5Rg00t/aLRzT6nkdnuwkfaPOAg2m1yy8qS4gTn2vIvxYJkQA14rbfnX?= =?us-ascii?Q?/U987ZJRM/aybJB6urE2NvqMm82lUVzn4nz4D8wizTUeBvHrDd6ZNE67Wjt/?= =?us-ascii?Q?3LzBUfdXZWaBp1OLaLuVRxQ7Zcmsqej0NUyOkKAerAOiEKtskSyjPXKbXZEg?= =?us-ascii?Q?IUmkmAeGWr4/yWN0g1fmUDAvjAo28Q8Vbbv4q410SYTsWNAYqwWHlhgeaB8F?= =?us-ascii?Q?WI5dZMpNln457pppgOAyrgBiq07YSbO1NOEyvrLYnuF4quwkXHyoKyTtI6UB?= =?us-ascii?Q?jTyDdV4GnQA0p1uqvOM9L+EdCUe2gV5NCWB2TxZPsBuU5mYzdPuqjrYuWxhW?= =?us-ascii?Q?3azylox224MwN67gA4zoiHqzT2DBu967qeQQFK0UwTRmPXlYGlWpHsIAA4j3?= =?us-ascii?Q?J7Gt1qRum8CwqS+xVxdMNH0zNvp1cSzHvzFHHzpQqz84UFj5Ul3qscKU8f6k?= =?us-ascii?Q?C4pYaPmxvCXKcX32SUMVnXXyHPstOxsPq/e/ipKhbgwZXeUUtfGfCTyK575L?= =?us-ascii?Q?qnI5XHSQ3tuYNWL8Peq2l1B7QCWNQHrBlL5Jg4/EyIbPEzPIgT2AYz/IrpIz?= =?us-ascii?Q?NB3Zs6yjtVN4/nIOwPtdTazX7bR1KqFVuCAiAhQ07U+tHZBySDNwW8gDkCHi?= =?us-ascii?Q?JTi+a6qKRoSLZ1tfWBl4hn7IuMsMku+JORY54leaUko30WxzYN5jA8L51S3K?= =?us-ascii?Q?/sRCraLnNB9Qq2PyniSrp8VSDw3HHuf/1ixMs3VtQZ8P9GRDvinZ7JJvkrwK?= =?us-ascii?Q?8IUdLz73eaM5y0cMmTp13HEiQYjTJ4WaH8f8tOtcT6jNWPfyz8GCuFa/+Or+?= =?us-ascii?Q?tXOfbmgBRY6t8vXtPKtkHrg2APHjqZ+phiqMwsVze9qDg960NGyTlr00UVy1?= =?us-ascii?Q?5UF+zh6d37pHWSws38dlA8iaSPsPEW+mq+dtBgJW?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3b675b53-2541-4c03-c07e-08db4c894d76 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2023 10:21:19.8256 (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: Q0M1qmQC7S/9HOKhOygZqwCA3AXgcJM+PGkxRRC/OMdDTDiNR7AGA5K/zlo/xgZ04CQtBpBXzdEgTSnT69Cqww== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8345 Content-Type: text/plain; charset="utf-8" This patch checks add_addr_signal and add_addr_accepted in chk_mptcp_info(), and do this checks in userspace_tests() and endpoint_tests(). Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 700e525750d6..52d569651485 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -1707,13 +1707,17 @@ chk_subflow_nr() chk_mptcp_info() { local nr_info=3D$1 - local info - local cnt1 - local cnt2 + local info1 info2 + local cnt1 cnt2 local dump_stats =20 if [[ $nr_info =3D "subflows_"* ]]; then - info=3D"subflows" + info1=3D"subflows" + info2=3D"subflows" + nr_info=3D${nr_info:9} + elif [[ $nr_info =3D "add_addr_"* ]]; then + info1=3D"add_addr_signal" + info2=3D"add_addr_accepted" nr_info=3D${nr_info:9} else echo "[fail] unsupported argument: $nr_info" @@ -1721,16 +1725,16 @@ chk_mptcp_info() return 1 fi =20 - printf "%-${nr_blank}s %-30s" " " "mptcp_info $info=3D$nr_info" + printf "%-${nr_blank}s %-30s" " " "mptcp_info $info1:$info2=3D$nr_info" =20 - cnt1=3D$(ss -N $ns1 -inmHM | grep "$info:" | - sed -n 's/.*\('"$info"':\)\([[:digit:]]*\).*$/\2/p;q') + cnt1=3D$(ss -N $ns1 -inmHM | grep "$info1:" | + sed -n 's/.*\('"$info1"':\)\([[:digit:]]*\).*$/\2/p;q') [ -z "$cnt1" ] && cnt1=3D0 - cnt2=3D$(ss -N $ns2 -inmHM | grep "$info:" | - sed -n 's/.*\('"$info"':\)\([[:digit:]]*\).*$/\2/p;q') + cnt2=3D$(ss -N $ns2 -inmHM | grep "$info2:" | + sed -n 's/.*\('"$info2"':\)\([[:digit:]]*\).*$/\2/p;q') [ -z "$cnt2" ] && cnt2=3D0 if [ "$cnt1" !=3D "$nr_info" ] || [ "$cnt2" !=3D "$nr_info" ]; then - echo "[fail] got $cnt1:$cnt2 $info expected $nr_info" + echo "[fail] got $cnt1:$cnt2 $info1:$info2 expected $nr_info" fail_test dump_stats=3D1 else @@ -3110,6 +3114,7 @@ userspace_tests() chk_join_nr 1 1 1 chk_add_nr 1 1 chk_mptcp_info subflows_1 + chk_mptcp_info add_addr_1 ip netns exec $ns1 ./pm_nl_ctl rem token $tk id $id sp=3D$(grep "type:10" "$evts_ns1" | sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') @@ -3169,6 +3174,7 @@ endpoint_tests() pm_nl_check_endpoint 1 "creation" \ $ns2 10.0.2.2 id 1 flags implicit chk_mptcp_info subflows_1 + chk_mptcp_info add_addr_1 =20 pm_nl_add_endpoint $ns2 10.0.2.2 id 33 pm_nl_check_endpoint 0 "ID change is prevented" \ --=20 2.35.3 From nobody Fri Apr 26 18:05:05 2024 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2077.outbound.protection.outlook.com [40.107.15.77]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2A67CA2D for ; Thu, 4 May 2023 10:21:30 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NBvr+hqGgoODDccs0mW+eC6Ls6aNKNCnUXKcpq/jfT2fTgPw8GWdSvI3VZppKiFfAMsQTPH5TNHjw3E2wdEI7VWEzVbykwyB+P9puOdTaQpoOl80IawawZ6IPu6Nhjng2e6TO5pWGKTQICYB5yhjtgpH18dMUqKIbPVYW8czXdtWUG/gX4rWtURhOlH7P+IgB9Sy13qImCFFepM5+14p1DHgOdj3i8hxnUadkpZAbOPCw6MnN3sIfkNvVNGl6X0IF5OtuOsCql+TwelAqoyZ085w2hSyDtJyvexD+dBOBK9wllVXgUShdtBadCTSFaabwYFrsdgN668Dn1B/gRwcFQ== 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=caYF9Pq7RV3J2vCKGf+B0rGhUMM/OzFDIJZk8gQyU5I=; b=AVrtprU4ExUC/Kgdg9TEKbSzrxtvySphqMf/tvMPdwMV8zArlaG/FNcFukIk2Rj6U894B5c+JJFe40NPA4I5X7zUJLbprD9CUCge+Lb6APcAuurlV8rKfWe+ACcQbrQAAo0D6otEaYvT2AyNhbZYTogZ7KCIrJ7TglTH/4nXzdX7QI6S9/B1mBHRxuH2FXuV7SN5fE8WbDtkc1+GOmRxcGaCy6yEssIbQApHjmtUQpUeI/thCQb/tco0Yl0pMF03y5VFny9vSnKWhFgSApcg7quaz1u8Pnt3uLRbCF/Q3fgGNK/uybvZbxHXXEopU0pScGCKv8o7zjGgDAiREpvZ9w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=caYF9Pq7RV3J2vCKGf+B0rGhUMM/OzFDIJZk8gQyU5I=; b=3F1rDt9OtqDmrPF1qjb2EqCaqdJnvuKxPVCTOX6l74gn/K1l5xbrm4VjmLEZuUYALHGeobJTIjdvT6d/9pBqiMUL4beGNuTdg2J6yMBTpEFK4IoS1o5dK/8RZmLhEvy2A79zDIafulrBb84U1WemDJF35YwofThzsI9dtbK27kaBTXJ78iRUBwGugiVB7FZf+3LEmoxYg/XYEmZb2M2Kdq+uvB/cC21YBm35XzPb9UOnVbqTNVsKjGbPsQJLPfypGcu8rCYQFlu8u3y+NaDVr7hSSw5FTn6zsWr52trLNvQnT4a5OnQu89rUmgEBWxiAe6tDBkXbvNPL8BabgJmZqQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DB9PR04MB8345.eurprd04.prod.outlook.com (2603:10a6:10:246::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26; Thu, 4 May 2023 10:21:27 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Thu, 4 May 2023 10:21:27 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v11 10/12] mptcp: pass addr to mptcp_pm_alloc_anno_list Date: Thu, 4 May 2023 18:20:15 +0800 Message-Id: <8316cade77dd3d6df4bed735355ba917c7eb8ac6.1683195386.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2P153CA0009.APCP153.PROD.OUTLOOK.COM (2603:1096:4:140::18) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DB9PR04MB8345:EE_ X-MS-Office365-Filtering-Correlation-Id: af0ffdc4-aaf3-42b8-71f9-08db4c895210 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: V5/J16e69PkAPTc4A/CZSU23dRLDd/58YJncbY0oixISU9IG8RU5btwE8AK/pijCBPT3XlV/4NuCKrLl2urJX2B9pMDL5CqOytZzL8NLdd6qPEu4pEBQKO27o3BjayYmvuUIcYoflPyh28w7EqrFm0ql1wwEbmrYpVAXe6Fs6aAw/O6aDaggpNW5NaR9EIaFds3LhwbYEtciAsMoZPN4cirpxwel44Q+LXdVNrdnrp3NA2Kc4uEj+auUQj3+LjnGt9gqoINNs2XgH50KPPQndHPDSdYub77GNn+t1B5j5BB/BWNnDix+wQ6FHrbYC8SfMM4v4NMx3jD6JW8kbzdy3aWPvpRPN5A6kbig1zjcUNcQL5ZWuY1zihGc5PPbCBeZl15No595rWb2Wu27Lj9ZDKDGjutP6fM95Js4I2HKzAwhlNLDOaW5e5KtCSYHHlsfQb8mMXF8QhjbJICyzqx0JFnzIRFDr9h0FBW9zhbldiN50kpSR52S0AwNMHIbsDMzOYbBbfDG0xJBV/Roppi3Bw1lqsCyJfB4c7m/EvoAf/gI26a3z84xcqRPobt2bpTS X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(376002)(346002)(366004)(136003)(451199021)(6666004)(38100700002)(478600001)(86362001)(107886003)(83380400001)(26005)(186003)(6506007)(6512007)(2616005)(36756003)(6486002)(5660300002)(41300700001)(8936002)(8676002)(44832011)(2906002)(66556008)(316002)(66946007)(66476007)(6916009)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?6ZFcUryQ+1ymNrx1Q6KSkFL8Ucs+EMOFkxFuDYrYsqjL908GTcoWST3YsT1v?= =?us-ascii?Q?0dMQf/lRpQnAv2NbTDpUb5ygwiv2bem0rpfvMJ2ARSVQcoHOQmDKg1mk0Ugy?= =?us-ascii?Q?hLbniVLso8QR3fQdU5XhWcSZcqX0vGWs2KKAxwiwHwARPAqOW1CR1eotqStv?= =?us-ascii?Q?m1cExeyIXS++SHPS2KVUr/mwg+SjydlsmP7jvrFRw4HAynK0+5lLB3DpeHsD?= =?us-ascii?Q?BzwCSKaCPn6BStcts79+A8/SMwhNKybbE/4/5qTo+5tfHxEdVtXeH/9WjCZn?= =?us-ascii?Q?tfvLxaJuzcE2YXk/EWlAShDKimFq3swE6K9f+BfCIhbCzoVvwEK9aJVVZPdi?= =?us-ascii?Q?VyE+cclfUEHCDw5xg+6PrnlHiXKspuZFOTYFydvZ7FTKLzzryz7qGJitusMM?= =?us-ascii?Q?3qEENpU9hZ+TeYbZDEEZZrejM7ggAo32YCqXApHM7bYVTmq50sDl5dOFaWgF?= =?us-ascii?Q?dDNG0wVZoo0OGWZ4GtLGpPoP/g+pwX3OepBYLk1lsQd+mGbP+Ltwa/wOnH2I?= =?us-ascii?Q?TYuvvLFWcYaIu/WiTaT0BtTRa/uzdqJY7L0HOv0e6MhksD5AzhKMpTbiV6dC?= =?us-ascii?Q?n53UNbslSm30nGOUfKUqvfPW0E3FTbz0Lpi1rSernu5dXLSy0eBbswObQaoj?= =?us-ascii?Q?unj+0SCJofaC0TsB7KKAOjo5qy6xCDzxHEOMBoJ8u6O3YtoYX3fE7CEl5jCi?= =?us-ascii?Q?X3rlCmNSV4JqsZVQrOb8k4pAbI4Zgv8FRKfzlBIdtulvEo0tqVZ3Lt4oNIne?= =?us-ascii?Q?s+wetfYVIRVIR6aOfruNlHxhMC9mMCq+DKSU77Ebl0lj6yc42zcvG5GOw4sz?= =?us-ascii?Q?Ynw+VEHGWvdpZBAc6eN5NRJ4JTHGdfjj/XR3q7npWzAhswvrXZ31cv7zCQzc?= =?us-ascii?Q?Nf6tSAViu+CXVyl4NaKo/Knz4el2qLgQFI9W87KUqrYLQEwKBny2YGwiSrdD?= =?us-ascii?Q?a8NoW/BMyCzxx7yRlUGpXQZs82rfuDMSy7ZNRluKVrGsxN3o9fQ58mga0YwA?= =?us-ascii?Q?dua+8hEgQ4znmtanc1I+a/Cba32z8mmlBepykhAgmxikiip02yfGsLIpGLkk?= =?us-ascii?Q?EEdoLS1VhvhqiW9LnycZK62QN19z6/PgipyZBSeVUDmmTeZbFmCFI0qbB0Hr?= =?us-ascii?Q?7pHTJ7sz+fN+41xWAWk3YHaTVKPfCpYc/sxG0Y0+sriLoTcGgiT2LTJtAOZL?= =?us-ascii?Q?EzJUe6laOsIWsjs61KK6odD4KmEJ0jkrIDtrfelYUEnYOhNcIC8Sp5WRQ753?= =?us-ascii?Q?gOd32sV3hoLBBZ3yxnZ2RRSLRN9538xevDG+kBUXsnk2qvqj7quf1I1ylwBX?= =?us-ascii?Q?FomSexjsoJIOpN9YUD071FDzmxMRseJ35TObmAaPY6Emog5Jm29cD8ciJx14?= =?us-ascii?Q?pUMaa2+xCmYx9XicL5aQclkV1M/lqcKyq1vVOckupFCb3YBckpXKFvwjafxq?= =?us-ascii?Q?4CRMcHQ0CVrwyR/wld0LlC+lRrubT4eSjFRoUqbh7VQT/GbFKu9gbY3kv2o/?= =?us-ascii?Q?ZgHHT+P05HrZxiCZbnMi/VEAz0IOtFAidT5Muiz6Eyw72CsbXHQggZogmt3j?= =?us-ascii?Q?fW71LlaKJSGPyquSr03Ng6X48P2FF1qDT4AwxxN1?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: af0ffdc4-aaf3-42b8-71f9-08db4c895210 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2023 10:21:27.7101 (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: byRRwvdiGVi6TZrNXAvlskU/AIQdeocvuReG9T3TXce3ZA3JvYO60KMpqfZJZzEUHEbZEjb15XCVzYS0QBgxjg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8345 Content-Type: text/plain; charset="utf-8" Pass addr parameter to mptcp_pm_alloc_anno_list() instead of entry. We can reduce the scope, e.g. in mptcp_pm_alloc_anno_list(), we only access "entry->addr", we can then restrict to the pointer to "addr" then. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 8 ++++---- net/mptcp/pm_userspace.c | 4 ++-- net/mptcp/protocol.h | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 0b34b57fc8bc..ac68c8a5b8ae 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -342,7 +342,7 @@ mptcp_pm_del_add_timer(struct mptcp_sock *msk, } =20 bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, - const struct mptcp_pm_addr_entry *entry) + const struct mptcp_addr_info *addr) { struct mptcp_pm_add_entry *add_entry =3D NULL; struct sock *sk =3D (struct sock *)msk; @@ -350,7 +350,7 @@ bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, =20 lockdep_assert_held(&msk->pm.lock); =20 - add_entry =3D mptcp_lookup_anno_list_by_saddr(msk, &entry->addr); + add_entry =3D mptcp_lookup_anno_list_by_saddr(msk, addr); =20 if (add_entry) { if (mptcp_pm_is_kernel(msk)) @@ -367,7 +367,7 @@ bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, =20 list_add(&add_entry->list, &msk->pm.anno_list); =20 - add_entry->addr =3D entry->addr; + add_entry->addr =3D *addr; add_entry->sock =3D msk; add_entry->retrans_times =3D 0; =20 @@ -574,7 +574,7 @@ static void mptcp_pm_create_subflow_or_signal_addr(stru= ct mptcp_sock *msk) return; =20 if (local) { - if (mptcp_pm_alloc_anno_list(msk, local)) { + if (mptcp_pm_alloc_anno_list(msk, &local->addr)) { __clear_bit(local->addr.id, msk->pm.id_avail_bitmap); msk->pm.add_addr_signaled++; mptcp_pm_announce_addr(msk, &local->addr, false); diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 98a5c81083be..bc2259b441be 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -188,7 +188,7 @@ int mptcp_nl_cmd_announce(struct sk_buff *skb, struct g= enl_info *info) lock_sock((struct sock *)msk); spin_lock_bh(&msk->pm.lock); =20 - if (mptcp_pm_alloc_anno_list(msk, &addr_val)) { + if (mptcp_pm_alloc_anno_list(msk, &addr_val.addr)) { msk->pm.add_addr_signaled++; mptcp_pm_announce_addr(msk, &addr_val.addr, false); mptcp_pm_nl_addr_send_ack(msk); @@ -330,7 +330,7 @@ int mptcp_nl_cmd_sf_create(struct sk_buff *skb, struct = genl_info *info) } =20 spin_lock_bh(&msk->pm.lock); - if (!mptcp_pm_alloc_anno_list(msk, &local)) { + if (!mptcp_pm_alloc_anno_list(msk, &local.addr)) { mptcp_userspace_pm_delete_local_addr(msk, &local); spin_unlock_bh(&msk->pm.lock); goto create_err; diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index bfa7d93a1c1a..c08d05f48372 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -822,7 +822,7 @@ int mptcp_pm_nl_mp_prio_send_ack(struct mptcp_sock *msk, struct mptcp_addr_info *rem, u8 bkup); bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, - const struct mptcp_pm_addr_entry *entry); + const struct mptcp_addr_info *addr); void mptcp_pm_free_anno_list(struct mptcp_sock *msk); bool mptcp_pm_sport_in_anno_list(struct mptcp_sock *msk, const struct sock= *sk); struct mptcp_pm_add_entry * --=20 2.35.3 From nobody Fri Apr 26 18:05:05 2024 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2049.outbound.protection.outlook.com [40.107.15.49]) (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 06DC7A2D for ; Thu, 4 May 2023 10:21:35 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N/sQoHBeVaNLnjtYxSRwspbff96mvWzF0uHICygE+gUhAt1c9kMTeso8EqF5HJo2Hw929/SUMYHJ6kOzcXHlgJiqa1wwicHDmkaD/Mu4svQjsug3DYtIvB3CTI2dsxqEW56OG7VMYxg2ro0TD22tSbZDrXeSskWhvSc9Uiq57FVdiZDJcw09KR6JzIrub8qxfac1wY/j8M+1oJi55uvwnKoHyPlwb9yurmI6RoWn/ZA+/fn1o/AxsTCVMuLnZuCTEpaq43Dkdtei1EYpG01ECag0uV/ZUJkcG6Q4qLigTv95jj4odJIcV0vPHz7pDpeDPaOnTlRCDijrHIpy7tRJOA== 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=2RgUjrHCgiy2GuIoO8Wu03fhuha/n/5rKG+C+7numdw=; b=LPls1oJumfUj3hwI8RAVrkZ8CfQybUFBIhajHq7dwa/vOtGKKZ7KzX2NrUW0jvUoxWY4mo204msKEI+0M34SMykl8ssC/cvmQhNyzdsOUuCfqct5uUIhl1q/oGAs5u1XEMFfg7FPVWSngIaTpj0ktt3/2A0CaQ1iwL2zkzYq04Wz1E+MzTDBeWW+hZoWtswlVN9ttKyj7+XZQVx/gQH3ToajtDpAVORDTPg2LEYcxQqkk9bFoItMm2sUxvENfSEJ2Sx5h1YzcSiLCD4W89EOJN2nL9sDBpvlHtXRTcYvQu1eQcs8uvJJCfmoiEaTC/Wib09morrXWx4GcQj7ASpIsw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2RgUjrHCgiy2GuIoO8Wu03fhuha/n/5rKG+C+7numdw=; b=SxcUR+ODcHCwtE/h6dGnxUbo34x//rri0Da4HZf0Btxbchl8GF2OxswxKzFk3P7gJWovT7yRwEX4PXDQ/WQ5oj/GokAA8u0egwaC9gLMDSlsw3PPhA76mxMhbbjNJgpzedCyynxA9C1uLkw0eAvRTZAF/eS89BmM0xRP09C21Fd8TAMDgfrxGqe85gFE+QN4M51Sm8vRxu7ZNHtDLIJguvRlZDcODVQwJLhbB64j020rqOlTsYAA4pngCSyQffSNCs5kLSQJLh2QH4ZOhCE9laI5rYd8ScQ5fZgl6bI66wWTBVeuHLFS/MZNdNsYgw55psPuHzaaCXXXvbsfQpamAA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DB9PR04MB8345.eurprd04.prod.outlook.com (2603:10a6:10:246::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26; Thu, 4 May 2023 10:21:33 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Thu, 4 May 2023 10:21:33 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v11 11/12] selftests: mptcp: pass fastclose to sflags Date: Thu, 4 May 2023 18:20:16 +0800 Message-Id: <85064a76bfc49db393a574178f20e9503a8500d4.1683195386.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG3P274CA0014.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:be::26) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DB9PR04MB8345:EE_ X-MS-Office365-Filtering-Correlation-Id: 886d0484-f440-41f1-e42a-08db4c8955c2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xKGDoOUru2eAKtBCp3VIYJJB9VjaOwZTVTibXMgylwR1Wj8rQoSrjofuNrEF5OizOWrvTQGvV9U2VLbCiRbly8bKyZ7qr027ewFqZgobAGwSjcITw4hSb5v219uF75+qyJuTeUfW6aodY+AcDxPr0eGtZSx0/vg4bwhsUa4zX74Rz4qxTvbRPsdpdar6dGnQuG0aQkKwDw4qIeY9gFQ8XXnRxL3K/6Hg0z4NttbWnPLKO6kMBYJZ9B2vvazhRP4l1Yqt+e/mL53H/mc0xANCRzlZfzfnM/48lcofkmJvmabb/Tq5SOWiqUxi0HMM9LAFrBDYES4qx8PvGBjkiTznteFqBezfTPUsOKfEwrG3SESW2IA5NmN5MaAJInzjQlU1wopkYgiHcnaLHiL2cwEHeGN9qklQ9PRKXloZUudGrmfB/wuyDqPV27Q3EEp1Z8M7Itkk5mbYVRWVizB/g+8NFwvoapuw6wN3y++HEFtHrWeChQx1pI8lkZAWSj9jY38O3K+XYMZUEGmsFt0QcpDUp33/xIRA7uw90NB5XgHy1nmq0Vz4nMJVxu4tyAf7YrWm X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(376002)(346002)(366004)(136003)(451199021)(6666004)(38100700002)(478600001)(86362001)(107886003)(83380400001)(26005)(186003)(6506007)(6512007)(2616005)(36756003)(6486002)(5660300002)(41300700001)(8936002)(8676002)(44832011)(2906002)(66556008)(316002)(66946007)(66476007)(6916009)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?4omCk0OCmCkq5vR342TQCEszwH2HHswCtgekyfDLOdumJevGc6oJbIaAH7/N?= =?us-ascii?Q?WvQ6f/G8zlFSlaI8gn3kIiV4M1KUMVEWEGYAqYAUqwuk3UDDH2EH/HQevn4H?= =?us-ascii?Q?WYui4YJ9E8phHWGn+TWkarbkWdZWqLSSQSMoswjGdzykat+2BW4Hub7PYB0O?= =?us-ascii?Q?J4EgbucvEkxSW0D1QgUs0PmfYTreBKQP4xRXht6q0d2S8ah1H/sGK0+I9etj?= =?us-ascii?Q?KwWsjaXsyvKeulSxr3+GSd4j8QZbNYfM98nbvQqvaDP1vnYaudpwAMNmfJNu?= =?us-ascii?Q?KIyZuYYfSSc9icpD6H68XPg7OO/8ig1xLIBdb2UTg+ByZAZR8HysnaEVNXyV?= =?us-ascii?Q?27mVDV3Jy+TbQa/myBB43KpYhlDvXQrmhHz8ZpGs024YXanWj6s8kROYkViE?= =?us-ascii?Q?R1Y096OEgUFg3R0NXgzQ82BLCWAMe5/uHol34Zj9/pILfIbGS9Txe+SkWbNv?= =?us-ascii?Q?UT1DjbvEYrZfLqmHMtvVuJbF1QG31XinsIp4VuVmekAwohhRxWK5FtmzsEY+?= =?us-ascii?Q?duiNZFMcFc+iJP4JfejahfQAW6fnc3MPT54RuN0+7RWltmgfhnGyjx9RsjED?= =?us-ascii?Q?8579iGo6Rndm+uwF20OaMWxR/whjO9MBECJwRustoy+fcKX2nMeTUPOONf8A?= =?us-ascii?Q?kZjtMKpqt924kq+IcQOHV2ElYihfXPwri5sCNlrk46h9fF7L+INdRSsiptW8?= =?us-ascii?Q?dqhMB/MOiqkuG+fyiJL9g1IjuGbzSxUKGGHOJzfjuN8kZiW8RkRY7GoYjTkM?= =?us-ascii?Q?q71X5J2+OvCaVDfbAtJd0KzBGRKqxSG4Ivjm9DffPlRLHAyNsQfTQsMkwdb9?= =?us-ascii?Q?IOs0QgfhHRadLsdf98d5UrlVLeAvUwN09CrXU1z6ieNNvurDLdibzWZYpTmh?= =?us-ascii?Q?sw8SfIXM9+grIEZwaJwhkm8hlzoH1i7WAsE8Bt2cvfIr5SpPZPEONFfX8Psr?= =?us-ascii?Q?7E0dRMJXWvmU/lr/X6jV/INCqi09LYp7cfIMJAlRJgBZ5aZOt638WU08Ww3/?= =?us-ascii?Q?GKotsTCkQK6F/16f+K0NZ7gg5ndINix4BCunUmJDLI1ja89pyHxKtEP+OeYF?= =?us-ascii?Q?3o+sRVDWQrRhS+O02q1PaxPCU5TjGS6vdLEfYfcrT6UFcFUJ2m2IxNfbnCgm?= =?us-ascii?Q?V46Jgw9GZeOwtIHdmoE5Cufl7nUwa16wo0pdDsrE7kkYy8CkE48uuY7k2BZ2?= =?us-ascii?Q?7aj95w8QNTdYqomW+/OaqYeFQAHyFp1caQROHqra7GBcK7aZujCw199eOLMO?= =?us-ascii?Q?nVvpYR6tAmr4W7/VTswrHT57Obz09vRxjkCcD5AdcTRu2hNKMGzbU++6lbYS?= =?us-ascii?Q?8BlvodgfxKJ5O0EdNEiUG6DBTnexW//MIoJjhmmL7hJ+L7qTinDyX8GHt7Lh?= =?us-ascii?Q?wFg/KEBYw2IOXZnx72EkDrNpjLgPn9dDhnJU2z2k1aXMXvz6/AEGo49+4E1G?= =?us-ascii?Q?JIOr14/JiNULRibn8zBabz1QLmhOMIUr8A91aq7ZNkKf3NCRBATXjL/F7YW2?= =?us-ascii?Q?5rDqjM37Anh4vw9ToQatedZ0JzI1Y4uPSlhTpuiWCQPJS4XcEaFaFl3+vQtV?= =?us-ascii?Q?jceKoKo0kzBkDhEsVfoui27BfePYghWx8w2U10K4?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 886d0484-f440-41f1-e42a-08db4c8955c2 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2023 10:21:33.7390 (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: dFG+QZovvXp1zvdR4AqfolJEExJjSkGzSLHevT+gzG85b6M1gj8e7p+mIE3WPzcxGya60tdKzR848LXXcJkFSw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8345 Content-Type: text/plain; charset="utf-8" Pass fastclose flag to the sflags argument instead of addr_nr_ns2. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 13 +++++++------ 1 file changed, 7 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 52d569651485..0dcb0470b076 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -763,7 +763,7 @@ do_transfer() local extra_cl_args=3D"" local extra_srv_args=3D"" local trunc_size=3D"" - if [[ "${addr_nr_ns2}" =3D "fastclose_"* ]]; then + if [[ "${sflags}" =3D "fastclose_"* ]]; then if [ ${test_link_fail} -le 1 ]; then echo "fastclose tests need test_link_fail argument" fail_test @@ -772,7 +772,7 @@ do_transfer() =20 # disconnect trunc_size=3D${test_link_fail} - local side=3D${addr_nr_ns2:10} + local side=3D${sflags:10} =20 if [ ${side} =3D "client" ]; then extra_cl_args=3D"-f ${test_link_fail}" @@ -785,8 +785,9 @@ do_transfer() fail_test return 1 fi - addr_nr_ns2=3D0 - elif [[ "${addr_nr_ns2}" =3D "fullmesh_"* ]]; then + sflags=3D0 + fi + if [[ "${addr_nr_ns2}" =3D "fullmesh_"* ]]; then flags=3D"${flags},fullmesh" addr_nr_ns2=3D${addr_nr_ns2:9} fi @@ -2990,14 +2991,14 @@ fullmesh_tests() fastclose_tests() { if reset "fastclose test"; then - run_tests $ns1 $ns2 10.0.1.1 1024 0 fastclose_client + run_tests $ns1 $ns2 10.0.1.1 1024 0 0 fast fastclose_client chk_join_nr 0 0 0 chk_fclose_nr 1 1 chk_rst_nr 1 1 invert fi =20 if reset "fastclose server test"; then - run_tests $ns1 $ns2 10.0.1.1 1024 0 fastclose_server + run_tests $ns1 $ns2 10.0.1.1 1024 0 0 fast fastclose_server chk_join_nr 0 0 0 chk_fclose_nr 1 1 invert chk_rst_nr 1 1 --=20 2.35.3 From nobody Fri Apr 26 18:05:05 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2085.outbound.protection.outlook.com [40.107.20.85]) (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 4A997A2D for ; Thu, 4 May 2023 10:21:43 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GqEJIctTRDHkMm3haZKy+0M+JGF+QCQnCqi0y2q6Ra43IRHz/DYl/WesmGvnHUOWpU9fFan4XQ3qeGza5JjMDmFychcdbmlwOZrKMdclgM+aMWt9i1Py4KsKA63vjIl+iGMl3rMOW+1y9gzBRpHAN3Y+HQzflpylKXf7YIC4WDJLAiUIVnoInbCi09KfcOypXto+/ZTqB+3Rht9KxTSgfeiXG3GnMCO8yWphgNDCKGbHb+6xJFc9jsAfV3LbO54XSTTBt4M5KunSffTBYRJUzWqRAOInU+GYgdw4z8SuqRlioS2wBO4TdVox4VpLZOgEnAfMB07UViy1NPf5ogFdPw== 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=P+6948g/ZaOjwuw/KLl+oT9PoPEqrqfwBBDy6co42XI=; b=Byz+x1yOpVz+R3LdFhr2K5+1Di31JL11Xf7NO+bDX8MeEijROXoPlD7NtGyMwN4QbWJDJZgniHwGQrICSp2Q52OJOqze0+FbSiECFOMLyBPDM20LbTXogortbtCNpgaKUjtsYthk9rZmDkXMpYJQwl0ujPDzqmtJJthG1UC/cym2zgI666JKbxd0RvgEVkoOj0SxWCHjnsi5qoobSh7uKI386yJY9U5K2SwEv/rXyxyUZzivr9EWhohvhOOZYVFJN/r0AFaynJd8sUOtUQO/+IVUQXhZPAYdkn2PVbqrMnWjqmj+/JGhnkuVq2zyyzcug8SPgkBAMkE2HoWYscldQA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P+6948g/ZaOjwuw/KLl+oT9PoPEqrqfwBBDy6co42XI=; b=zjeWiZY1/8kvUa7Vne4mXHEQBf7TcBbglBRiXN+BDlvB7j1NiENHS1BpCJvUuzZxFf0ilHFU0BplrWm8wVxGnLpICLEeouUIFQKcFFs8tBbFjFLj4fVbfln7pqqvdRVpk4EB6vChGVAduUKMEBBckHZdOgXeQiBSoMziVWVe1EsYP7lwHZ9B8GJEe7xEdEqdVzAcfKH92mvgoSH3dFouazQO/4dvKvDoglEjaFG1VyKjwYai2r1rF3Me+iRwhXGcuagVXHbckqD8lwnt/7PQyMX2fAcH7nQjru5T8Ig6WGBaCzii90w9zGg8rHG91kAuZDaPT/oD5HOZ/6ACE9JLTg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DB9PR04MB8345.eurprd04.prod.outlook.com (2603:10a6:10:246::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26; Thu, 4 May 2023 10:21:40 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Thu, 4 May 2023 10:21:40 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v11 12/12] selftests: mptcp: do endpoint manipulation out of transfer Date: Thu, 4 May 2023 18:20:17 +0800 Message-Id: <2be8d0226ca5ac72b1801eb128fa9028d4886b46.1683195386.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG3P274CA0002.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:be::14) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DB9PR04MB8345:EE_ X-MS-Office365-Filtering-Correlation-Id: 5ea7fd97-9b30-40ba-0880-08db4c895967 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7iUQxrZu6DN2ki7MGjYQaVp3RsbZ0Iu8J1wDzLsO1YEy6zdsyOAE7LdczdN1T1lfb7MACnYNaz4nk86fidAkzaAObBYpXsm561zMbJ8rcrvV8rHvpAyGp0rzbXXJJQDBLsmb3eXNvdhUGoYS1CBLJbect7q833TJpQ3GYox1A7YZ1Cym7F3x0YnlzzjbBgOOxP8ZTYep6XC6fgX8H0P+5bSlLzXC5AUQhrTS19pa9lqvelTCXWw3pvtl7lUAxXElLZ5iOPCx707Q9EoX4K2Hy6WZD/XpHwSwMXJ9AYbey3lRjM+BxEdHdF16kLipGZMfEDTjpEmFK34gs6Yv6q7gyXpSMK66YYIgTXFqTB1fczKRuW29NZuh9mCphTA1T9u/hjGVlCkGh5Q7xCRgYhVzrhOqzjmmrA0k0jk10s5Te3VEvM1RgzAt55YczBKID0XA4nTUrFAXppuBxRlx6aOHcME8EKU3m8t9lQ2Eh5GKFnTlxbNSPFsSmuT8w+swtu4gvhcVY6rRf/loPH+H0PnhXl1j8XiIKUWxHjSOceS15TKO8OVgs6Po7RR7+y5+SzDQ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(376002)(346002)(366004)(136003)(451199021)(6666004)(38100700002)(478600001)(86362001)(107886003)(83380400001)(26005)(186003)(6506007)(6512007)(2616005)(36756003)(6486002)(5660300002)(41300700001)(8936002)(8676002)(44832011)(30864003)(2906002)(66556008)(316002)(66946007)(66476007)(6916009)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MxUvuawvyDVSGeWMAvsm3T/LMkIHKTUM3xHfzApnr5HVbjTIUxyb9TrqnnQQ?= =?us-ascii?Q?peu6Dz71tgY1MtyBbpI4AVSa7km8DTWjX9XJLI9JW6dC/yB6Nb7LFrOGx6sB?= =?us-ascii?Q?VwGpgNyrJctDbu7Ot5erizPXgx7bjF5WN8G+pD1lSfw3+BPmI7aRWv69jLia?= =?us-ascii?Q?1GIBY0bjo/4v2VXKoeB0ZqX/4ivLMnUSkqAVnFVKt7rMo7JppL+AzzbebICy?= =?us-ascii?Q?0V6dH1L5LPHAuKN3x+E3aCwZrN7HOoY5cP70x7R1XoVnP4P5lbL2ZGFtX+MG?= =?us-ascii?Q?y/w2G3Yd4A0ylIKpDD6ogQ50oSwLlmN58qFJ3eDzSKqMxdvB46W0fLatd5it?= =?us-ascii?Q?WeYDCMh2KMkgLjLOGjW56nSBeOqJhN+pco6Gl1EJDpcWGj8iHsq19xZUKNbU?= =?us-ascii?Q?M2embVf99DPk08DghEhIsLK3pnE9iFFkEMQ6ju4vC/1m8yuePvOLICsm1ANE?= =?us-ascii?Q?w9YzC3TME07HJBU28B3p08pGzNRjmpbjPt1cdeAtUqd9BNZ0qW4DfrZl3C0N?= =?us-ascii?Q?I9TUrPO41k/DhpQ7mipdTSDf4hiHXa06syVUNSXBJEJGpbUdoC4A8OzpWNvd?= =?us-ascii?Q?tlufU8trEF29NVoF+s++8ujo0NYOHuDR2Eo3gFhsXP20mS0+aJVCRUcdCPCm?= =?us-ascii?Q?9fArs3ddcyGCz4QU9itcjewpH6NGiL2hBT41uBXGOnbTUmccJ7Relp1XkmHu?= =?us-ascii?Q?8hgBmbN7BZjLZQcg1WEOxwlSrUP7Rp3NIeEnPohExWDDayB6wNmQRweHSptR?= =?us-ascii?Q?KPaD+YCs5Eo0azfnvUt4x/LMpZpZW58L3QWWTar6ZqUYo/tN57P3uzst6seb?= =?us-ascii?Q?jk2be2gaNyHeZ17CZqqvaKdSMPXypiDVpYninmhQ6bIhpYIdtwwsuFS8KZEl?= =?us-ascii?Q?8HdO7ClBIrlw2sKvPELhYVBo+zLi0D7412vNiWqe8gp3xXeYXrVw28fePXr7?= =?us-ascii?Q?/YA6vsHqBKZ0R3tEp80fgWu7++oxGymUFC82GJyVUPK8ko56904ArfpglIom?= =?us-ascii?Q?fmsqOi49CYVxLZc4624Ob6qT0CLUgAaEpFMwE+3/Jd5m7kqXBYgIs9CJUeUN?= =?us-ascii?Q?w0EdxL99xiGK8sbotaFOFn31tquOWL9ldSl3ZYt0i2V8eEDyhpphS8pkhL/p?= =?us-ascii?Q?IvAvZIICIelO/OrlAPed61s26kzWRD+oNiJT+AQWxT/4MJCZX8+T8/0w1Nqz?= =?us-ascii?Q?SSv8ks04x3Wjo9Itps19eYlsDrvOh+RnWT3+MG8TG6gEV2L/4JnURBLizp/g?= =?us-ascii?Q?5HTW3hKXkCm4oTBfXVpoOCzchyCWSBhobSM64aidYbLT/4u2J6wg+VfGbgBf?= =?us-ascii?Q?+tqYF8m68G8V7ic10PxeBtT5qZoBKOrqE+XCdmnumgjrGD+RaW0aiGzgOy8l?= =?us-ascii?Q?q+irRgZkbxJfuu/Jsb4JtxX5STRiWKtpoz4yGEMgNId//73xC6u11iPKs5ka?= =?us-ascii?Q?nPRCBoOwpxuQdBSOJ3yoPB+3Fi9U+szTSxJgIWaTnVacgQiHLlDfX+zc2WCF?= =?us-ascii?Q?BzeE6pWFmpCId/PBwGfquoUFRFBCoMnPdg3rbM4Fgoj7MqOTjXpZlwf5wjgx?= =?us-ascii?Q?iOy28nDWMzdYadckW/wLi3nZGAkz6l2dV3VtXb4y?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ea7fd97-9b30-40ba-0880-08db4c895967 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2023 10:21:40.0327 (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: IdFdbXInoPCYJl1GYmtujT2Y65Gchw9Y4nriCxlJKY1sEVfX0PjdZXbin68vekkPxvLxXHFssYM3CcTP1pN5Dg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8345 Content-Type: text/plain; charset="utf-8" This patch moves endpoint manipulation out of do_transfer() into a new function endpoint_manipulation(), then addr_nr_ns1 and addr_nr_ns2 arguments can be removed. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 518 ++++++++++-------- 1 file changed, 302 insertions(+), 216 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 0dcb0470b076..8fbc9071688b 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -716,10 +716,8 @@ do_transfer() local srv_proto=3D"$4" local connect_addr=3D"$5" local test_link_fail=3D"$6" - local addr_nr_ns1=3D"$7" - local addr_nr_ns2=3D"$8" - local speed=3D"$9" - local sflags=3D"${10}" + local speed=3D"$7" + local sflags=3D"${8}" =20 local port=3D$((10000 + TEST_COUNT - 1)) local cappid @@ -759,7 +757,6 @@ do_transfer() extra_args=3D"-r ${speed:6}" fi =20 - local flags=3D"subflow" local extra_cl_args=3D"" local extra_srv_args=3D"" local trunc_size=3D"" @@ -785,11 +782,6 @@ do_transfer() fail_test return 1 fi - sflags=3D0 - fi - if [[ "${addr_nr_ns2}" =3D "fullmesh_"* ]]; then - flags=3D"${flags},fullmesh" - addr_nr_ns2=3D${addr_nr_ns2:9} fi =20 extra_srv_args=3D"$extra_args $extra_srv_args" @@ -830,145 +822,6 @@ do_transfer() fi local cpid=3D$! =20 - # let the mptcp subflow be established in background before - # do endpoint manipulation - if [ $addr_nr_ns1 !=3D "0" ] || [ $addr_nr_ns2 !=3D "0" ]; then - sleep 1 - fi - - if [ $addr_nr_ns1 -gt 0 ]; then - local counter=3D2 - local add_nr_ns1=3D${addr_nr_ns1} - local id=3D10 - while [ $add_nr_ns1 -gt 0 ]; do - local addr - if is_v6 "${connect_addr}"; then - addr=3D"dead:beef:$counter::1" - else - addr=3D"10.0.$counter.1" - fi - pm_nl_add_endpoint $ns1 $addr flags signal - counter=3D$((counter + 1)) - add_nr_ns1=3D$((add_nr_ns1 - 1)) - id=3D$((id + 1)) - done - elif [ $addr_nr_ns1 -lt 0 ]; then - local rm_nr_ns1=3D$((-addr_nr_ns1)) - if [ $rm_nr_ns1 -lt 8 ]; then - local counter=3D0 - local line - pm_nl_show_endpoints ${listener_ns} | while read -r line; do - # shellcheck disable=3DSC2206 # we do want to split per word - local arr=3D($line) - local nr=3D0 - - local i - 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} - counter=3D$((counter + 1)) - fi - nr=3D$((nr + 1)) - done - done - elif [ $rm_nr_ns1 -eq 8 ]; then - pm_nl_flush_endpoint ${listener_ns} - elif [ $rm_nr_ns1 -eq 9 ]; then - pm_nl_del_endpoint ${listener_ns} 0 ${connect_addr} - fi - fi - - # if newly added endpoints must be deleted, give the background msk - # some time to created them - [ $addr_nr_ns1 -gt 0 ] && [ $addr_nr_ns2 -lt 0 ] && sleep 1 - - if [ $addr_nr_ns2 -gt 0 ]; then - local add_nr_ns2=3D${addr_nr_ns2} - local counter=3D3 - local id=3D20 - while [ $add_nr_ns2 -gt 0 ]; do - local addr - if is_v6 "${connect_addr}"; then - addr=3D"dead:beef:$counter::2" - else - addr=3D"10.0.$counter.2" - fi - pm_nl_add_endpoint $ns2 $addr flags $flags - counter=3D$((counter + 1)) - add_nr_ns2=3D$((add_nr_ns2 - 1)) - id=3D$((id + 1)) - done - elif [ $addr_nr_ns2 -lt 0 ]; then - local rm_nr_ns2=3D$((-addr_nr_ns2)) - if [ $rm_nr_ns2 -lt 8 ]; then - local counter=3D0 - local line - pm_nl_show_endpoints ${connector_ns} | while read -r line; do - # shellcheck disable=3DSC2206 # we do want to split per word - local arr=3D($line) - local nr=3D0 - - local i - for i in "${arr[@]}"; do - if [ $i =3D "id" ]; then - if [ $counter -eq $rm_nr_ns2 ]; then - break - fi - local id rm_addr - # 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} - counter=3D$((counter + 1)) - fi - nr=3D$((nr + 1)) - done - done - elif [ $rm_nr_ns2 -eq 8 ]; then - pm_nl_flush_endpoint ${connector_ns} - elif [ $rm_nr_ns2 -eq 9 ]; then - local addr - if is_v6 "${connect_addr}"; then - addr=3D"dead:beef:1::2" - else - addr=3D"10.0.1.2" - fi - pm_nl_del_endpoint ${connector_ns} 0 $addr - fi - fi - - if [ -n "${sflags}" ]; then - sleep 1 - - local netns - for netns in "$ns1" "$ns2"; do - local line - pm_nl_show_endpoints $netns | while read -r line; do - # shellcheck disable=3DSC2206 # we do want to split per word - local arr=3D($line) - local nr=3D0 - local id - - local i - for i in "${arr[@]}"; do - if [ $i =3D "id" ]; then - id=3D${arr[$nr+1]} - fi - nr=3D$((nr + 1)) - done - pm_nl_change_endpoint $netns $id $sflags - done - done - fi - wait $cpid local retc=3D$? wait $spid @@ -1038,10 +891,8 @@ run_tests() local connector_ns=3D"$2" local connect_addr=3D"$3" local test_linkfail=3D"${4:-0}" - local addr_nr_ns1=3D"${5:-0}" - local addr_nr_ns2=3D"${6:-0}" - local speed=3D"${7:-fast}" - local sflags=3D"${8:-""}" + local speed=3D"${5:-fast}" + local sflags=3D"${6:-""}" =20 local size =20 @@ -1086,7 +937,7 @@ run_tests() fi =20 do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} \ - ${test_linkfail} ${addr_nr_ns1} ${addr_nr_ns2} ${speed} ${sflags} + ${test_linkfail} ${speed} ${sflags} } =20 dump_stats() @@ -1796,6 +1647,159 @@ set_userspace_pm() ip netns exec $ns sysctl -q net.mptcp.pm_type=3D1 } =20 +endpoint_manipulation() +{ + local connect_addr=3D"$1" + local addr_nr_ns1=3D"$2" + local addr_nr_ns2=3D"${3:-0}" + local sflags=3D"${4:-""}" + + local flags=3D"subflow" + if [[ "${addr_nr_ns2}" =3D "fullmesh_"* ]]; then + flags=3D"${flags},fullmesh" + addr_nr_ns2=3D${addr_nr_ns2:9} + fi + + # let the mptcp subflow be established in background before + # do endpoint manipulation + if [ $addr_nr_ns1 !=3D "0" ] || [ $addr_nr_ns2 !=3D "0" ]; then + sleep 1 + fi + + if [ $addr_nr_ns1 -gt 0 ]; then + local counter=3D2 + local add_nr_ns1=3D${addr_nr_ns1} + local id=3D10 + while [ $add_nr_ns1 -gt 0 ]; do + local addr + if is_v6 "${connect_addr}"; then + addr=3D"dead:beef:$counter::1" + else + addr=3D"10.0.$counter.1" + fi + pm_nl_add_endpoint $ns1 $addr flags signal + counter=3D$((counter + 1)) + add_nr_ns1=3D$((add_nr_ns1 - 1)) + id=3D$((id + 1)) + done + elif [ $addr_nr_ns1 -lt 0 ]; then + local rm_nr_ns1=3D$((-addr_nr_ns1)) + if [ $rm_nr_ns1 -lt 8 ]; then + local counter=3D0 + local line + pm_nl_show_endpoints $ns1 | while read -r line; do + # shellcheck disable=3DSC2206 # we do want to split per word + local arr=3D($line) + local nr=3D0 + + local i + 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 $ns2) + pm_nl_del_endpoint $ns1 $id + wait_rm_addr $ns2 ${rm_addr} + counter=3D$((counter + 1)) + fi + nr=3D$((nr + 1)) + done + done + elif [ $rm_nr_ns1 -eq 8 ]; then + pm_nl_flush_endpoint $ns1 + elif [ $rm_nr_ns1 -eq 9 ]; then + pm_nl_del_endpoint $ns1 0 ${connect_addr} + fi + fi + + # if newly added endpoints must be deleted, give the background msk + # some time to created them + [ $addr_nr_ns1 -gt 0 ] && [ $addr_nr_ns2 -lt 0 ] && sleep 1 + + if [ $addr_nr_ns2 -gt 0 ]; then + local add_nr_ns2=3D${addr_nr_ns2} + local counter=3D3 + local id=3D20 + while [ $add_nr_ns2 -gt 0 ]; do + local addr + if is_v6 "${connect_addr}"; then + addr=3D"dead:beef:$counter::2" + else + addr=3D"10.0.$counter.2" + fi + pm_nl_add_endpoint $ns2 $addr flags $flags + counter=3D$((counter + 1)) + add_nr_ns2=3D$((add_nr_ns2 - 1)) + id=3D$((id + 1)) + done + elif [ $addr_nr_ns2 -lt 0 ]; then + local rm_nr_ns2=3D$((-addr_nr_ns2)) + if [ $rm_nr_ns2 -lt 8 ]; then + local counter=3D0 + local line + pm_nl_show_endpoints $ns2 | while read -r line; do + # shellcheck disable=3DSC2206 # we do want to split per word + local arr=3D($line) + local nr=3D0 + + local i + for i in "${arr[@]}"; do + if [ $i =3D "id" ]; then + if [ $counter -eq $rm_nr_ns2 ]; then + break + fi + local id rm_addr + # rm_addr are serialized, allow the previous one to + # complete + id=3D${arr[$nr+1]} + rm_addr=3D$(rm_addr_count $ns1) + pm_nl_del_endpoint $ns2 $id + wait_rm_addr $ns1 ${rm_addr} + counter=3D$((counter + 1)) + fi + nr=3D$((nr + 1)) + done + done + elif [ $rm_nr_ns2 -eq 8 ]; then + pm_nl_flush_endpoint $ns2 + elif [ $rm_nr_ns2 -eq 9 ]; then + local addr + if is_v6 "${connect_addr}"; then + addr=3D"dead:beef:1::2" + else + addr=3D"10.0.1.2" + fi + pm_nl_del_endpoint $ns2 0 $addr + fi + fi + + if [ -n "${sflags}" ]; then + sleep 1 + + local netns + for netns in "$ns1" "$ns2"; do + local line + pm_nl_show_endpoints $netns | while read -r line; do + # shellcheck disable=3DSC2206 # we do want to split per word + local arr=3D($line) + local nr=3D0 + local id + + local i + for i in "${arr[@]}"; do + if [ $i =3D "id" ]; then + id=3D${arr[$nr+1]} + fi + nr=3D$((nr + 1)) + done + pm_nl_change_endpoint $netns $id $sflags + done + done + fi +} + subflows_tests() { if reset "no JOIN"; then @@ -1868,7 +1872,7 @@ subflows_error_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow chk_join_nr 0 0 0 fi =20 @@ -1879,7 +1883,7 @@ subflows_error_tests() pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow filter_tcp_from $ns1 10.0.3.2 REJECT - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow chk_join_nr 1 1 1 fi =20 @@ -1890,7 +1894,7 @@ subflows_error_tests() pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow filter_tcp_from $ns1 10.0.3.2 DROP - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow chk_join_nr 1 1 1 fi =20 @@ -1902,7 +1906,7 @@ subflows_error_tests() pm_nl_set_limits $ns2 0 1 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow filter_tcp_from $ns1 10.0.3.2 REJECT - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow & + run_tests $ns1 $ns2 10.0.1.1 0 slow & =20 # mpj subflow will be in TW after the reset wait_attempt_fail $ns2 @@ -2001,7 +2005,7 @@ signal_address_tests() =20 # the peer could possibly miss some addr notification, allow retransmiss= ion ip netns exec $ns1 sysctl -q net.mptcp.add_addr_timeout=3D1 - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow chk_join_nr 3 3 3 =20 # the server will not signal the address terminating @@ -2102,7 +2106,7 @@ add_addr_timeout_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow chk_join_nr 1 1 1 chk_add_tx_nr 4 4 chk_add_nr 4 0 @@ -2113,7 +2117,7 @@ add_addr_timeout_tests() 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 + run_tests $ns1 $ns2 dead:beef:1::1 0 slow chk_join_nr 1 1 1 chk_add_nr 4 0 fi @@ -2124,7 +2128,7 @@ add_addr_timeout_tests() 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 speed_10 + run_tests $ns1 $ns2 10.0.1.1 0 speed_10 chk_join_nr 2 2 2 chk_add_nr 8 0 fi @@ -2135,7 +2139,7 @@ add_addr_timeout_tests() 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 speed_10 + run_tests $ns1 $ns2 10.0.1.1 0 speed_10 chk_join_nr 1 1 1 chk_add_nr 8 0 fi @@ -2148,10 +2152,12 @@ remove_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 -1 chk_join_nr 1 1 1 chk_rm_tx_nr 1 chk_rm_nr 1 1 + kill_tests_wait fi =20 # multiple subflows, remove @@ -2160,9 +2166,11 @@ remove_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 -2 chk_join_nr 2 2 2 chk_rm_nr 2 2 + kill_tests_wait fi =20 # single address, remove @@ -2170,10 +2178,12 @@ remove_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 -1 chk_join_nr 1 1 1 chk_add_nr 1 1 chk_rm_nr 1 1 invert + kill_tests_wait fi =20 # subflow and signal, remove @@ -2182,10 +2192,12 @@ remove_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 -1 -1 chk_join_nr 2 2 2 chk_add_nr 1 1 chk_rm_nr 1 1 + kill_tests_wait fi =20 # subflows and signal, remove @@ -2195,10 +2207,12 @@ remove_tests() 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 speed_10 + run_tests $ns1 $ns2 10.0.1.1 0 speed_10 2>/dev/null & + endpoint_manipulation 10.0.1.1 -1 -2 chk_join_nr 3 3 3 chk_add_nr 1 1 chk_rm_nr 2 2 + kill_tests_wait fi =20 # addresses remove @@ -2208,10 +2222,12 @@ remove_tests() 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 speed_10 + run_tests $ns1 $ns2 10.0.1.1 0 speed_10 2>/dev/null & + endpoint_manipulation 10.0.1.1 -3 chk_join_nr 3 3 3 chk_add_nr 3 3 chk_rm_nr 3 3 invert + kill_tests_wait fi =20 # invalid addresses remove @@ -2221,10 +2237,12 @@ remove_tests() 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 speed_10 + run_tests $ns1 $ns2 10.0.1.1 0 speed_10 2>/dev/null & + endpoint_manipulation 10.0.1.1 -3 chk_join_nr 1 1 1 chk_add_nr 3 3 chk_rm_nr 3 1 invert + kill_tests_wait fi =20 # subflows and signal, flush @@ -2234,10 +2252,12 @@ remove_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 -8 -8 chk_join_nr 3 3 3 chk_add_nr 1 1 chk_rm_nr 1 3 invert simult + kill_tests_wait fi =20 # subflows flush @@ -2247,10 +2267,12 @@ remove_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 -8 -8 chk_join_nr 3 3 3 chk_rm_tx_nr 0 chk_rm_nr 0 3 simult + kill_tests_wait fi =20 # addresses flush @@ -2260,10 +2282,12 @@ remove_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 -8 -8 chk_join_nr 3 3 3 chk_add_nr 3 3 chk_rm_nr 3 3 invert simult + kill_tests_wait fi =20 # invalid addresses flush @@ -2273,10 +2297,12 @@ remove_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 -8 chk_join_nr 1 1 1 chk_add_nr 3 3 chk_rm_nr 3 1 invert + kill_tests_wait fi =20 # remove id 0 subflow @@ -2284,9 +2310,11 @@ remove_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 -9 chk_join_nr 1 1 1 chk_rm_nr 1 1 + kill_tests_wait fi =20 # remove id 0 address @@ -2294,10 +2322,12 @@ remove_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 -9 chk_join_nr 1 1 1 chk_add_nr 1 1 chk_rm_nr 1 1 invert + kill_tests_wait fi } =20 @@ -2307,42 +2337,53 @@ add_tests() if reset "add single subflow"; then 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 1 chk_join_nr 1 1 1 + kill_tests_wait fi =20 # add signal address if reset "add signal address"; then 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 1 chk_join_nr 1 1 1 chk_add_nr 1 1 + kill_tests_wait fi =20 # add multiple subflows if reset "add multiple subflows"; then 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 2 chk_join_nr 2 2 2 + kill_tests_wait fi =20 # add multiple subflows IPv6 if reset "add multiple subflows IPv6"; then 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 + run_tests $ns1 $ns2 dead:beef:1::1 0 slow 2>/dev/null & + wait_mpj $ns2 + endpoint_manipulation dead:beef:1::1 0 2 chk_join_nr 2 2 2 + kill_tests_wait fi =20 # add multiple addresses IPv6 if reset "add multiple addresses IPv6"; then 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 + run_tests $ns1 $ns2 dead:beef:1::1 0 slow 2>/dev/null & + endpoint_manipulation dead:beef:1::1 2 chk_join_nr 2 2 2 chk_add_nr 2 2 + kill_tests_wait fi } =20 @@ -2353,14 +2394,14 @@ ipv6_tests() 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 + run_tests $ns1 $ns2 dead:beef:1::1 0 slow chk_join_nr 1 1 1 fi =20 # add_address, unused IPv6 if reset "unused signal address IPv6"; then pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal - run_tests $ns1 $ns2 dead:beef:1::1 0 0 0 slow + run_tests $ns1 $ns2 dead:beef:1::1 0 slow chk_join_nr 0 0 0 chk_add_nr 1 1 fi @@ -2370,7 +2411,7 @@ ipv6_tests() 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 + run_tests $ns1 $ns2 dead:beef:1::1 0 slow chk_join_nr 1 1 1 chk_add_nr 1 1 fi @@ -2380,10 +2421,12 @@ ipv6_tests() 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 + run_tests $ns1 $ns2 dead:beef:1::1 0 slow 2>/dev/null & + endpoint_manipulation dead:beef:1::1 -1 chk_join_nr 1 1 1 chk_add_nr 1 1 chk_rm_nr 1 1 invert + kill_tests_wait fi =20 # subflow and signal IPv6, remove @@ -2392,10 +2435,12 @@ ipv6_tests() 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 + run_tests $ns1 $ns2 dead:beef:1::1 0 slow 2>/dev/null & + endpoint_manipulation dead:beef:1::1 -1 -1 chk_join_nr 2 2 2 chk_add_nr 1 1 chk_rm_nr 1 1 + kill_tests_wait fi } =20 @@ -2492,7 +2537,7 @@ mixed_tests() 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 10.0.1.1 0 0 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow chk_join_nr 0 0 0 fi =20 @@ -2501,7 +2546,7 @@ mixed_tests() pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 1 1 pm_nl_add_endpoint $ns1 10.0.1.1 flags signal - run_tests $ns1 $ns2 dead:beef:2::1 0 0 0 slow + run_tests $ns1 $ns2 dead:beef:2::1 0 slow chk_join_nr 1 1 1 fi =20 @@ -2511,7 +2556,7 @@ mixed_tests() pm_nl_set_limits $ns2 1 4 pm_nl_add_endpoint $ns2 dead:beef:2::2 flags subflow,fullmesh pm_nl_add_endpoint $ns1 10.0.1.1 flags signal - run_tests $ns1 $ns2 dead:beef:2::1 0 0 0 slow + run_tests $ns1 $ns2 dead:beef:2::1 0 slow chk_join_nr 1 1 1 fi =20 @@ -2522,8 +2567,11 @@ mixed_tests() pm_nl_set_limits $ns2 2 4 pm_nl_add_endpoint $ns1 10.0.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 fullmesh_1 slow + run_tests $ns1 $ns2 dead:beef:1::1 0 slow 2>/dev/null & + endpoint_manipulation dead:beef:1::1 0 fullmesh_1 + wait_mpj $ns1 chk_join_nr 4 4 4 + kill_tests_wait fi } =20 @@ -2534,9 +2582,11 @@ backup_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 0 nobackup chk_join_nr 1 1 1 chk_prio_nr 0 1 + kill_tests_wait fi =20 # single address, backup @@ -2544,10 +2594,12 @@ backup_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 0 backup chk_join_nr 1 1 1 chk_add_nr 1 1 chk_prio_nr 1 1 + kill_tests_wait fi =20 # single address with port, backup @@ -2555,15 +2607,17 @@ backup_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 0 backup chk_join_nr 1 1 1 chk_add_nr 1 1 chk_prio_nr 1 1 + kill_tests_wait fi =20 if reset "mpc backup"; then pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow,backup - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow chk_join_nr 0 0 0 chk_prio_nr 0 1 fi @@ -2571,24 +2625,28 @@ backup_tests() if reset "mpc backup both sides"; then pm_nl_add_endpoint $ns1 10.0.1.1 flags subflow,backup pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow,backup - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow chk_join_nr 0 0 0 chk_prio_nr 1 1 fi =20 if reset "mpc switch to backup"; then pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 0 backup chk_join_nr 0 0 0 chk_prio_nr 0 1 + kill_tests_wait fi =20 if reset "mpc switch to backup both sides"; then pm_nl_add_endpoint $ns1 10.0.1.1 flags subflow pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 0 backup chk_join_nr 0 0 0 chk_prio_nr 1 1 + kill_tests_wait fi } =20 @@ -2672,7 +2730,8 @@ add_addr_ports_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 -1 chk_join_nr 1 1 1 chk_add_nr 1 1 1 chk_rm_nr 1 1 invert @@ -2680,6 +2739,7 @@ add_addr_ports_tests() verify_listener_events $evts_ns1 $LISTENER_CREATED $AF_INET 10.0.2.1 101= 00 verify_listener_events $evts_ns1 $LISTENER_CLOSED $AF_INET 10.0.2.1 10100 kill_events_pids + kill_tests_wait fi =20 # subflow and signal with port, remove @@ -2688,10 +2748,12 @@ add_addr_ports_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 -1 -1 chk_join_nr 2 2 2 chk_add_nr 1 1 1 chk_rm_nr 1 1 + kill_tests_wait fi =20 # subflows and signal with port, flush @@ -2701,10 +2763,12 @@ add_addr_ports_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 -8 -2 chk_join_nr 3 3 3 chk_add_nr 1 1 chk_rm_nr 1 3 invert simult + kill_tests_wait fi =20 # multiple addresses with port @@ -2903,9 +2967,11 @@ fullmesh_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 1 chk_join_nr 4 4 4 chk_add_nr 1 1 + kill_tests_wait fi =20 # fullmesh 2 @@ -2915,9 +2981,11 @@ fullmesh_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 fullmesh_1 chk_join_nr 3 3 3 chk_add_nr 1 1 + kill_tests_wait fi =20 # fullmesh 3 @@ -2927,9 +2995,11 @@ fullmesh_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 fullmesh_2 chk_join_nr 5 5 5 chk_add_nr 1 1 + kill_tests_wait fi =20 # fullmesh 4 @@ -2940,9 +3010,11 @@ fullmesh_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 fullmesh_2 chk_join_nr 4 4 4 chk_add_nr 1 1 + kill_tests_wait fi =20 # set fullmesh flag @@ -2950,9 +3022,12 @@ fullmesh_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 1 fullmesh + wait_mpj $ns1 chk_join_nr 2 2 2 chk_rm_nr 0 1 + kill_tests_wait fi =20 # set nofullmesh flag @@ -2960,9 +3035,12 @@ fullmesh_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 fullmesh_1 nofullmesh + wait_mpj $ns1 chk_join_nr 2 2 2 chk_rm_nr 0 1 + kill_tests_wait fi =20 # set backup,fullmesh flags @@ -2970,10 +3048,13 @@ fullmesh_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 1 backup,fullmesh + wait_mpj $ns1 chk_join_nr 2 2 2 chk_prio_nr 0 1 chk_rm_nr 0 1 + kill_tests_wait fi =20 # set nobackup,nofullmesh flags @@ -2981,24 +3062,27 @@ fullmesh_tests() pm_nl_set_limits $ns1 4 4 pm_nl_set_limits $ns2 4 4 pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow,backup,fullmesh - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow nobackup,nofullmesh + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 0 nobackup,nofullmesh + wait_mpj $ns1 chk_join_nr 2 2 2 chk_prio_nr 0 1 chk_rm_nr 0 1 + kill_tests_wait fi } =20 fastclose_tests() { if reset "fastclose test"; then - run_tests $ns1 $ns2 10.0.1.1 1024 0 0 fast fastclose_client + run_tests $ns1 $ns2 10.0.1.1 1024 fast fastclose_client chk_join_nr 0 0 0 chk_fclose_nr 1 1 chk_rst_nr 1 1 invert fi =20 if reset "fastclose server test"; then - run_tests $ns1 $ns2 10.0.1.1 1024 0 0 fast fastclose_server + run_tests $ns1 $ns2 10.0.1.1 1024 fast fastclose_server chk_join_nr 0 0 0 chk_fclose_nr 1 1 invert chk_rst_nr 1 1 @@ -3082,7 +3166,7 @@ userspace_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow backup chk_join_nr 1 1 0 chk_prio_nr 0 0 fi @@ -3094,9 +3178,11 @@ userspace_tests() 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 + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 -1 chk_join_nr 0 0 0 chk_rm_nr 0 0 + kill_tests_wait fi =20 # userspace pm add & remove address @@ -3106,7 +3192,7 @@ userspace_tests() local tk sp da dp set_userspace_pm $ns1 pm_nl_set_limits $ns2 1 1 - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow 2>/dev/null & + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & wait_mpj $ns1 tk=3D$(grep "type:1," "$evts_ns1" | sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q') @@ -3139,7 +3225,7 @@ userspace_tests() local tk da dp sp set_userspace_pm $ns2 pm_nl_set_limits $ns1 0 1 - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow 2>/dev/null & + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & wait_mpj $ns2 tk=3D$(sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2") da=3D$(sed -n 's/.*\(daddr4:\)\([0-9.]*\).*$/\2/p;q' "$evts_ns2") @@ -3169,7 +3255,7 @@ endpoint_tests() 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 - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow 2>/dev/null & + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & =20 wait_mpj $ns1 pm_nl_check_endpoint 1 "creation" \ @@ -3197,7 +3283,7 @@ endpoint_tests() pm_nl_set_limits $ns1 1 1 pm_nl_set_limits $ns2 1 1 pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 4 0 0 speed_20 2>/dev/null & + run_tests $ns1 $ns2 10.0.1.1 4 speed_20 2>/dev/null & =20 wait_mpj $ns2 chk_subflow_nr needtitle "before delete" 2 --=20 2.35.3