From nobody Thu Mar 28 21:08:59 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2044.outbound.protection.outlook.com [40.107.20.44]) (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 C1DC913AC4 for ; Mon, 22 May 2023 13:12:28 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SYtY43DwvgHLIQljHR6SbkFmB3dMrN/CIz9QWGS0E7aYUMmt97kcN4yHBKGFs0nXAPrQCInzdura26Cw6QlGD05mc/oMJ9xDeEBru7SD9DnekwSai3bjlQOgtQDz4XCjsOTlBc7KcG6S2kIXqgg/vd4vDy3Z88urOOukYf/eoIeHkxQKkGqYHJeh1+qERSk/W9gIhFDViJmWPqvwjs/u00DGiCOvuHchYsOLkt1E9KtJEAnHSdpTbx71DENwxOTd9BUfDfwGh8S83T2nAE26TMkrSJ0vTu7OSBJB+yjCLCBJj6bok9/8dKqmpHOC5j7voGCgFzGpDtVboUNPpx2SYw== 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=nY1WeZc2co8wYVV7YLG8dRaNExyi+RszWAcK6ptLLog=; b=NmQ9K8+YUXWEBnAhyXdzlunaGsR8d84FzS6/OuHkBTcZFeylcpM1LOssTXDfuvN4dGpXG0Aj6V2q/hujmRKJgWkEcbhC+LhCfxvtnH3JEKo9VvEQToqMU7so+VYK/CfFU0U4+/LVysAKing6sC3fI5Ha6FHOKcLHrQsuC5notdjCt9F1qOTvuczWnaLPDAjHwh1p4EHPlmFvkegFnurI0ORwLg4i5np9yHlHBLEXR2QYtQPGaMPFEzf0z7gwT5nASQm5lCp4eDAp0o2Jn2Yt9f7BJh1YmDQZqRx9ASdxzExbFn7cLc6421HdjYjzf/LNz7iqKVhBu3XeSIeFzKym5A== 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=nY1WeZc2co8wYVV7YLG8dRaNExyi+RszWAcK6ptLLog=; b=MV1Yl0n7L5vkNUS4Mw3s7KyTbzo5nSibzeQMWHItPMOYvGB6PUOFtfHMR/DTIFGXvUuYN6bw26ZOxsdv+vImmHJozsFFH/9y6jcFaDMIK0+2XjaKdz9erAfhHq3FzxNpwF+yINkXYNqSw8jgH+R/L1axrAvA18nGYb9BKTpUu2GZOn0jD4fqz1joYe+pulAc9fC/xJuzA4YbYoDM64BN5osXc3WMTKkIgQ7tacAP4l98LA8TN0TMmmVB5CO3+rbIrHEFeOuadnh1htZnGnQr9K2nBLZ1FmMmBQb66+ra/QlB8yNHimCzVUwlQQec0Lr87fKfNLnz6Bq/GAIyJiA45Q== 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 PA4PR04MB7728.eurprd04.prod.outlook.com (2603:10a6:102:e8::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.28; Mon, 22 May 2023 13:12:26 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6411.019; Mon, 22 May 2023 13:12:26 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v14 1/5] mptcp: only send RM_ADDR in nl_cmd_remove Date: Mon, 22 May 2023 21:11:58 +0800 Message-Id: <8fef539019c6a13f5bf689e8d05486d09e813648.1684760588.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCP301CA0022.JPNP301.PROD.OUTLOOK.COM (2603:1096:400:381::7) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|PA4PR04MB7728:EE_ X-MS-Office365-Filtering-Correlation-Id: fcd456b9-6e7d-4d55-cb6d-08db5ac63023 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eOCMDpK9lIg37TphG3cebIJkuhLbahnLhKvPhj0wwsOQaMkzOAdHuiQp3QO193bomh/ypWTvqX8Xe2p0ARSJaIvslCBNhuViJvzGYgx0fkd41AX4KVpNZ6Eiuj+a+rILbBLogP08wYTgTQf/78BFqM2rcSNeNujaHgdvSwIyDs5dmn++NG8gIIr8kBrye8L91bnwNaasFeZs75urhcEBFjLrdFuvMj75++Lj5r4lKfR9kLrYx9EV0kvPDw8zo54pNmf7vsX4tyJdrsC9AcBfUDE4zj05v04vXHjGNoV8Ph4CtlLFY2BRppmf6uq9pKHfsZi6BBgCYMhrL70A2gyBH+YTf1Wsdy+j1YEoOes5AkuvMeqHTD+jUeDan7VY1G2Q37Gqkq9ZiAyhL0uFrseDGZPp4a+kJCHAaLgs80DenR9FP4fi79Vq6tJtDvT6rtG2ZI4DwAQQ+TpmpyYd8y0PcX8hciqbE9nOWeX90gA1Q21gNKPLKHFWQF6MKIleunlMQC6PGBkyTdVZ44wTZgj4p0yjmmcKPMAq2713C/Z242A= 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)(136003)(376002)(396003)(366004)(346002)(451199021)(2906002)(5660300002)(44832011)(8676002)(8936002)(41300700001)(316002)(66476007)(66556008)(66946007)(478600001)(6916009)(4326008)(36756003)(6666004)(6486002)(966005)(6506007)(6512007)(38100700002)(86362001)(107886003)(2616005)(26005)(186003)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?dOxC2LLcrt5ok6Le1GMtNFZ+N3LWXX5SpSh6Vo+5F9fvEOPhUIfOT2iSuE1L?= =?us-ascii?Q?8dJTx9jScO+0b8lcuNoTp8N7ySc/GkEWsdZgYsCtG3RHRta9ehQaeclH7WbU?= =?us-ascii?Q?jzoQ2aysoNxaf8uO5Y9PMtvkvlqa9HqQKz9LIHQDqsnOMWaYHjnnmrpO8jPq?= =?us-ascii?Q?NQbVBuSZzlDjnvQjr9bp09F8i1Owpiugm7nxsmVFTlraKHktcA0Xws+3PanX?= =?us-ascii?Q?qhZrer7E3Yf8M3HzqPtJaMUgXr3r+SWvw6SZYwRn4mg4scrhrQyCCbP7HMoJ?= =?us-ascii?Q?nP01dEqpvnUHezySvt8ch6xzBXrxopJOJaUaAGuybIwilgnxCSuDebaxDZDA?= =?us-ascii?Q?TdLoRHScHR1VQqLTuCxifX5QCZVHGJlUUd3nL7sbD9QWF7yO8AKuFxUAHizu?= =?us-ascii?Q?ks2biHcUsVUIcaDt4kozvFqRhs+Y29BgzwWiLw6le+DXrbiKTm65hTcBTHBd?= =?us-ascii?Q?NcarMsrvfxCayisHAYUpxHCYaYHH6W6TXM94WihopoWknZ8YALFHP/lhE0cR?= =?us-ascii?Q?KazQQIKSwfsOT11twu15N5aj/5bKsAuco68QnavOJBuzmAQiMKx1/Vzj0/0C?= =?us-ascii?Q?NQFlHTH1UASftG7b8EXNTFjn+06DYrqdGDrAh7h9iGWgix/Lm4oQc1QnXEh3?= =?us-ascii?Q?mDo8mH0wblIlKn7Ph1EZwmajh7XlFdfAJJ2UiKBaJ58ArgItNFIH9EORPXgV?= =?us-ascii?Q?qicKV0HKW0ZutLEvt8CPoLFvBbXeicMA3Gtjl9P8/oEdHBX8Vd+q801DKY0h?= =?us-ascii?Q?p9omlVc7feN5kSFWZsLqd66iVGaJ6FdUmZlmVQYu8MCtneq0G44YLwqwDZNq?= =?us-ascii?Q?Q4d4zh+QqMQegfZyfhlq/9OANJBu5PjshPaQM7Wm8/AS1WXHzzKw8VOYJVU2?= =?us-ascii?Q?mRSykqvqFO74MUP0rkFiaEuXOb8FfrgXgFozqXbsIqdxcaLeSO5Wnd+eQlz+?= =?us-ascii?Q?CicbJmIISzLHAOyQg0TizqJgpWo3wZZVn09tCApoL/4z+nCDrZ5YAfb1Numc?= =?us-ascii?Q?J+9bGOVHBpU9DoDqJg1IZMajOJXgzsoKbFFA54pP5mQHfI+33LZKKlmWxtYA?= =?us-ascii?Q?6CwZ6f1zwJhkdviqQTU7EoKAouwIA4iL4Rjd6T/bdIkDxt5UomF1FW5+EIhI?= =?us-ascii?Q?aRoBustPjr6mypajDT2UExMVoHb/annzoCYHtY8JDwDvhreUXrdcgOXcEJ2T?= =?us-ascii?Q?2UG+kRyVwESUsGxjy1UYbJ6/G4YUxiRA9ZJFBBT0zTCaPOwcbTXGiZ2hQGv1?= =?us-ascii?Q?qG0Iq/FxDhb24nXk/42DXBF46PSjQceozLZi+VJHsSYgyfJkznrplRWkWNPL?= =?us-ascii?Q?aJjZJKcB2vmnatgxzl6CyTuzOqU/CVLqFcSY14T7ta0H9i0IQA1Gwgzl91fe?= =?us-ascii?Q?xuPtTXlOT9nUUqMTkh71PIeSuRCxaEwadLE7BDDiW66i1MzMGdUZ23w1CyPg?= =?us-ascii?Q?REMTSkMqcuSl1mWKRyjtu3TiUjC6KXWHYAwbuuBzecyhUKCVcJ6IEGY64nF6?= =?us-ascii?Q?L+2hecXHoQsEzsYhypZXPoDh8aQmnoxz6a3j+AptCuHcErrRrLFsM2DXoDDv?= =?us-ascii?Q?Ei3X0Fcajy2DmswaaYyyiNPvdYZ+4CeLPHBfW0gR?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: fcd456b9-6e7d-4d55-cb6d-08db5ac63023 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2023 13:12:26.1887 (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: 9VrNF+Bsw2zUaicihzYM/rQkWPyeZFUinzVbD1fHnYYQw5g5yT7pXG+HP+CLpD8T1mPFoNAIVZW0F15imR8GjQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7728 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. mptcp_pm_remove_addr() is invoked 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_userspace.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 27a275805c06..622698fa36f7 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -188,6 +188,7 @@ int mptcp_nl_cmd_remove(struct sk_buff *skb, struct gen= l_info *info) { struct nlattr *token =3D info->attrs[MPTCP_PM_ATTR_TOKEN]; struct nlattr *id =3D info->attrs[MPTCP_PM_ATTR_LOC_ID]; + struct mptcp_rm_list rm_list =3D { .nr =3D 0 }; struct mptcp_pm_addr_entry *match =3D NULL; struct mptcp_pm_addr_entry *entry; struct mptcp_sock *msk; @@ -230,12 +231,14 @@ int mptcp_nl_cmd_remove(struct sk_buff *skb, struct g= enl_info *info) goto remove_err; } =20 - list_move(&match->list, &free_list); - - mptcp_pm_remove_addrs_and_subflows(msk, &free_list); + rm_list.ids[rm_list.nr++] =3D match->addr.id; + spin_lock_bh(&msk->pm.lock); + mptcp_pm_remove_addr(msk, &rm_list); + spin_unlock_bh(&msk->pm.lock); =20 release_sock((struct sock *)msk); =20 + list_move(&match->list, &free_list); list_for_each_entry_safe(match, entry, &free_list, list) { sock_kfree_s((struct sock *)msk, match, sizeof(*match)); } --=20 2.35.3 From nobody Thu Mar 28 21:08:59 2024 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2073.outbound.protection.outlook.com [40.107.105.73]) (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 5DA1013AC4 for ; Mon, 22 May 2023 13:12:40 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ikUXw/C0VibIA6z90nUXaZKtbaujFSd4Sg3H4g3rTOQ15tt1ACVyBbbkeY/qsozymB5TCSXs2ZfME20NaJiNvJ8ck4xnWc0dKFvot9bHBxWPTEiZvfMO/+s6sfm4F5T+qbehvn2iiU84dL9l7kF7Q/ZnIoEsjqpHwiDWnXdufaPOAQRgC8f0Z7efdf3x5SLr+3DHiChKrDkVQJJPonQI54Zla8wp0mNdKcHN8uffnhBRbwV4negQQ4kLwShQgflEplUda8Tcz0RJR+6fYKDQf8eeBOLr8AmSC+PgoP5H0HVdFw2JJ8jk1jIE2O+pWYzqma8PwUFBf4A1AFw+RRIyIw== 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=5UVv0ZRUREg6hKbv+Nf+cYr5i/Dot9G6uNnjR/r9o4A=; b=cvqYzyWs6ELKC1U0b49d7GUXux7yVowC+v0sGFxQ2FY+quFCeHbdQLfriXJZ60oDD2koJb2Y08JuODsSx4XmmW7Qix3ZrhwIJ4JbSOxSMaB1FnU1rfZ6ZCCzFNwJ6g0OKMIanRf1VTa/7D4va1sY5OWGXAKkVm4dYD52C0n1F8O6on2ApSccHt7dTntv2eNJY5hQhNnsqhNCh18cP0AlyL5FJeINdOj/eA4O4hD634N4DiWN8ir1O6pCK533bB8Lraj6a4+o1PTDuRXDwfCIB+K8T2MnXYqVp2xLQf8Pzecr0mX63O30m4K9BcrSc9zTX5gz7ftKPpK9OGtt0uoWhA== 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=5UVv0ZRUREg6hKbv+Nf+cYr5i/Dot9G6uNnjR/r9o4A=; b=cCHeWpAu5pQ/qUgkfBwiq+Ygistv0sUymT2rqq8wn15POGYIE+3RLXZtz/2/IsNb+qPj6nMdy6IcWpBUrIgycp5NSs8F6hDH+C1l/YTZi3Fof5xMz21aI/0DOzYS/yXFmNjaeNfR3BUpjNEOPHKscDXlRjPBDfuosK46Bb/SJf3GDlRrabbK5xe04ErB6dSz9BXcZTlWKif5SQQPdPvpwhMYhyLBk35ea/BoePr2M1uMNDJXZ6SeRf7LxQej/4tRlogvQ8rt6ipoSMN96/hmkrmyCWFv4F1qCk59VJiLHU4UGNwrtG0qfsGkb/Ob/GPJhPjMif5F34HnhPURZxVpyQ== 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 AS8PR04MB7845.eurprd04.prod.outlook.com (2603:10a6:20b:2a7::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.28; Mon, 22 May 2023 13:12:37 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6411.019; Mon, 22 May 2023 13:12:37 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v14 2/5] selftests: mptcp: update userspace pm addr tests Date: Mon, 22 May 2023 21:11:59 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCP286CA0043.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:29d::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_|AS8PR04MB7845:EE_ X-MS-Office365-Filtering-Correlation-Id: 1386a7f9-9854-4b59-4a28-08db5ac6369a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: G48713zag+w4H11BAjmgpaqRhCPkDNiSIxVAZLvTfrctxERlbbfzNY7pNQA3Ati//ZlXU29RlX3IbsUkjbnu2n0Mfm5wo5XA2KeqoWt//fo6JQaNNSl9aodD8tMlOCqWyzp52J40ENIVKhp6kl2b1jAQH/a9uMDkLJlTxjdoCtQkHFUGSPDq9fGX8Kn1rnBpiREMk6BuDuALiU1CpxNULkuZ0v0QZxD9LurCuk2O+8ZgTHWgSGIl/jDLwEQElgPkXLdJ9tTF1YdDeODq8aTP2NxJqX2+SiUZ+X5Jgvx0lTVYcumGsF7s8tkWgxC062Vj0u9uKL272hV+7f71N70R1yKFphqu3UfZYTFFKxP61BYaIY+PDF058SUYm8CwrWrnefWc7TU7qwkQ/wM86Qu+1OUfRBnXjMBZmLiReKJsZE0N3AwES/ssb3QxzEwF1FVCnae7HQ14czMqrA3zCTQ98rLhY83V07Mu57MakQdYaV7AvY9FhtDmmbuWcmkJ9Oh3edysmPGGLSbYQKrJMatbtabZNT/idUvzd6Ru4iS2pbxQvpOrFYL4bCN1cAbyosea 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)(366004)(39860400002)(346002)(396003)(136003)(376002)(451199021)(2906002)(15650500001)(5660300002)(83380400001)(44832011)(8676002)(8936002)(41300700001)(66946007)(66476007)(4326008)(66556008)(6916009)(316002)(36756003)(6666004)(6486002)(478600001)(2616005)(6512007)(6506007)(26005)(86362001)(186003)(107886003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?xssk9hXHN2VsBC+QON/iwBw80uPTRzQF3pvnsZ9N8ms5bNFWpoHpoYYbuQwY?= =?us-ascii?Q?bat2WZHSnAqZPpcjONFQ2ZwtBoLcaNv7pDC0qGe/nlsc9CNAS8XxQbO9UeW2?= =?us-ascii?Q?5YfdjQ/TPtOLxv/hxcRxHzrk5xufLLB/5gSbnp6G5uPDRz7yj9ve6K1e/jrQ?= =?us-ascii?Q?yw6uDvbFJ8/IP2svG7RPbZ8e9eIK/eBEJhPF2dtov4pXVlboglqSPtYS+ltZ?= =?us-ascii?Q?5KtFPIqbm9KinG5h336zTlDpaXpXTokzeizzKds3WX+ZIklHUFaEWwpsy2yo?= =?us-ascii?Q?QloKgjELI706/ADsijOJxCBmX7Hgp/ktYy0Lpz/p23LjxjQkS+3G9wpKG/Zr?= =?us-ascii?Q?1YadmPMGLPmvfC3VK4d4U21z1qrSo7fbuywBTyUu4MXInSnArULWMOQPALle?= =?us-ascii?Q?O9fB1vTHVJJ0ROPc8DDaitJk5f/2NNk4DNc5lj5dR7mHFyJ+rECnxwARZG8B?= =?us-ascii?Q?qg/3CKCLbW76HFlUrb9jauKcnQkaBLp3vvB82x178Rws9jMZKBqawGi5MR6K?= =?us-ascii?Q?NcDUz8pZg+1yalc0WBGekkXoZlThICsJZDMiKnp9BLR5KURCi7SGEAJ/9Zme?= =?us-ascii?Q?ZDaPmgPTGYNOBgIP1RA8DtqDIX9y5PAIA5ugLEX9id2Ov7WCAxpfPRk81y40?= =?us-ascii?Q?PK0ygFQId5RJvyGQ3Nrdb8Q+6iKaLQ6jjqs2yHDD4sOpVO2Pkuv8N5X7EBCW?= =?us-ascii?Q?RIDTtcTpghllYenU6nQHphDCEhigXQwlIgpLlfoxg+c7SymjY/qXun/3xFNM?= =?us-ascii?Q?6jtK08/mDPbP3+NYhvzwQn88Zi9b6HhaAa4dvZhHMfsz37A88jiRqdbvgLJ0?= =?us-ascii?Q?aoEPeFpAsS1utxVGiTxieAALnUVOkSj7bwomqBhgkVyZVFMAeafp6oE05GCp?= =?us-ascii?Q?VU7RqAdrNV7Y8i7FqtbNJ3tRYwwK7LKziyzcJ3LmuY7JHcrhdGScPO2Y8gZT?= =?us-ascii?Q?G1kaamUnhy9HZBbjhwyLImnSSjjbKFq0Y+xiO+Y7646a9sQMBI8eh3F0HAyr?= =?us-ascii?Q?eASluop3RkrMJ3X93h6iTeK+Jvr9M6Gm3b2WDg+wfJUi7h4U0v1dGtCXPPPv?= =?us-ascii?Q?RjnRcpJRW29UWVP+yQ4iQtWi1I3bXmuWu02xG5oinCNRh71tTTEVOWKNcgJy?= =?us-ascii?Q?yTrfj7947zP43ZLMK0vwpkIxLZVw8DO/q+JsWfgeHEjvHd5RzfpyXUTWzkqb?= =?us-ascii?Q?qAvp443XFNZJilJdeNQrt8eGdT77ERDVlTYrUfEkCSsBKOgcUuGk7J7kIi9w?= =?us-ascii?Q?bbBeDv8Nm3Z8mRhWutjoz6x5sznYGCxrVAmKYy0EMqLE/2pW1ROpa038ReZz?= =?us-ascii?Q?5bumvivgnElC7fdvyj90at+1cv9fmaQ5fDrZJTdPBtQIo7XEnT6xsUrvrKQa?= =?us-ascii?Q?g5Xsf7mC/PszGrCPXvTSynimBQ80LjEYhxOgC5m+LmQisLYamV9IBOiTVbG2?= =?us-ascii?Q?D78RdsKxWdLJ6Z0Sc022dM9PMVwXRdy7GnhX+NkGajrn8GdKtz0pt+7yQFLr?= =?us-ascii?Q?ZMlzGREYR3SmOC3k3k9mKa43xpwwq8USnvBEfcvcdgaE8vKdm4i1LmE2s/mo?= =?us-ascii?Q?Gkm3irBXLIs9cAdJfkqJ7HzvOU3rRgONcEFa2uux?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1386a7f9-9854-4b59-4a28-08db5ac6369a X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2023 13:12:37.0143 (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: 720g8oql++faUlJKtfI0g/ggJds3az20U4sRhsWX8/ohMpb5uQlR3gFCSWkpl9VpB131WY8oyOFGwq4UHHBkdg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7845 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. It's independent of the order of the remove_subflows command and 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 0044d87556dd..a42745e60976 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -863,7 +863,15 @@ do_transfer() sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q') ip netns exec ${listener_ns} ./pm_nl_ctl ann $addr token $tk id $id sleep 1 + 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 rem token $tk id $id + 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 Thu Mar 28 21:08:59 2024 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2073.outbound.protection.outlook.com [40.107.105.73]) (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 D590413AC4 for ; Mon, 22 May 2023 13:12:50 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B1Qj8nzFUg8lnsJxZTKl3t07Pyu31heQ5ChxpfozSnq63dM3GK9sShg0Y5R4cL+R9hZm+qYhUa4BmQ4Xd+XSb9z+4KFWED0TL8WRlV72qP9n+cYHg8p9ksufs7b36KMe+K3WdOsAnEtU0FOA2NLhp1ypqYKT57Y/90lUWspnRGBV9X9/+F0CzV4RBSb9IpsW8l6Hr2BMa7uzTSvKI6ZQQVd4wwXbUxsoJ5ToKDVcXoh36MWCjxtbeKYEsH0S6D2oe/Tq/UJWQtv6caKeg7dqmh5aw0nRf9t2AGfjmoVLjzSI+k4W+wMyRSsgAEs3+yHnS1YLcvT+7KVin0RiOb2oJg== 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=T55dUs4++eh2ppsBm+zIdGBFkAtOHJYdVFghqs1j8bc=; b=I8VR29By8lFdKbtR1llvWegwxCpsEnMf1J6Yr0Eh7sZXkIXatKXiy4eEhX1tuKOP1twotx4RYqDgyjPWKeZ7qLWBK+NqYm8v4sRvXktDq7Y4tGYeO0xOjtDMGtOClDk5264/fLdLJwejD96hJM0/lHvVY/Lg9idc0HKiyB3LqTvwGBZLkJQYnkHyHNhussEQOg6mU8rbkwV0qBKfUyqzM7F1dj/XUiSvkuzQMNq9sICQ2ehkq7TBbxzmyixbS2+NKuqITI0guQZZvJRUs4+L3V4VYO1z/LOh5pxwDXgqLfh3uxHnb231MSngvOvvN5Z6lJcil4X7+pfQAp+Ld7lwfw== 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=T55dUs4++eh2ppsBm+zIdGBFkAtOHJYdVFghqs1j8bc=; b=qMN/ancxWaxpuvFXbCRlxJhgb6bE7jwhYmleH3irNVK6UtlN9lXvRLqIxpwsco5TN2kO383zwthX+tWUEcO6DyGDnlWB/6079WioONy1eGbpnbSSKCbUbMla37ONjKz46KGo8JUvSjD6vaK1FiYEnyJQRgHyA9pFzwXYt3GgzqcgSx/MGzQqkdpc5ZGocV2nhkCu1PC8REqHur1R2j5uoQIKYdzSF2xlQa4yI/Fl+biDC2PGwYS6hmKvtqo4Ej6pHIoHpmpneW4qmF2sHvsPusT5XHBUpiDmEMSlVBn4udzvOLbmevlvZhYZH0r3QucOdXiAqOtu5vtMEMpJFj/oNA== 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 AS8PR04MB7845.eurprd04.prod.outlook.com (2603:10a6:20b:2a7::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.28; Mon, 22 May 2023 13:12:48 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6411.019; Mon, 22 May 2023 13:12:48 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v14 3/5] mptcp: export remove_anno_list_by_saddr Date: Mon, 22 May 2023 21:12:00 +0800 Message-Id: <7e457963498bbbd31e80dcce81eeb30ecedd2274.1684760588.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCPR01CA0136.jpnprd01.prod.outlook.com (2603:1096:400:2b7::6) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AS8PR04MB7845:EE_ X-MS-Office365-Filtering-Correlation-Id: 3f595f35-6593-41bc-74d5-08db5ac63d5f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WLCLl8Ofz4+Oq6+CkGOMaOJXRDQunIO40nG/blscXrg8pFixm4wsktqMSR82HBqXqRoNmbtNyinAinqvhX6sAh1h9GAoozPto5/Kl8KIkcNoghED87Hbugxty6M09oxP+VKrA1EEry/opOTzqI+EkzowLl/3QmpWV6tYC7xnuzTr7hTRCUzktFl+cQr30siVzKpydJnYw+uE3NG/OEjXE2DnXuWqWcSlAtZCFwnZZUUkdHsO2Dzy8PWyuYjrXTTaaMTZZmSDIe61UPBxThscnJQbwp+gQIdOlbVgI1AZcjHLhi3Te1nUBdtXmqgyiC7sDrib4z1IsuEqiWUGrOeYiYTtXCgEv3BqPyana4a4OS5pqA6gN//3dhttNqWxx3P5QVxJOTiKeuXtKLnaLgzmOyoJNDsAyLHq/zHMXH7JuFw0RvSTDc7HRlPzv7j9vE79OHdOiZIhp0P0uhnyJfmMhWbDlNqdRK9/314UMsM+6lnYPPLPSR5+skQIOTJYf+38zkIk4KjvElLcmEZofyWwjOrRLrjb5h9urHXMfs3jMgYS1NoeJPfrJFUmLQgS+5u8 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)(366004)(39860400002)(346002)(396003)(136003)(376002)(451199021)(2906002)(5660300002)(83380400001)(44832011)(8676002)(8936002)(41300700001)(66946007)(66476007)(4326008)(66556008)(6916009)(316002)(36756003)(6666004)(6486002)(478600001)(2616005)(6512007)(6506007)(26005)(86362001)(186003)(107886003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?P4IeSJ4CTnCTTwAmNKkOpE81cnwERG4n/o1O2I53Ci1V/raVGyYiR4kqMwbs?= =?us-ascii?Q?in4GYPjoFxg0sMD97yLfCv68BlNFCPZiYghsADnDW1/M6YBBnbE5aMfqaYjd?= =?us-ascii?Q?ea9dtSrihfIOAL/lcSQayPlgxKQ8o8KynVzV0lHkf82eEMKxSP7f+3JWcC6y?= =?us-ascii?Q?Y6NuLjOPtgKvt/4JNOGl+pZhRU8vw9P9AUtepvHE8kZPEIKKhEjb44PBOgrh?= =?us-ascii?Q?zbDW0aYVZKKngvERJZmniA1/ILoyXOtMSQt8mSKAIZUjklT1595wkOkO0f4y?= =?us-ascii?Q?umDgiT1uDrFwEQ1NJcq12uCMZs9vp5QTYUW5I0vhb6nJkuKU5YaK7BXjjlDl?= =?us-ascii?Q?smanIQiYdtYWlCRpYzJar2DBKiZIzUHU8XVBpBq6sooeBCViU0kyWEEg0L7y?= =?us-ascii?Q?UUDlXJovW5Nic0kujpmGRAqXo7yTfS7uf8e0JMiuvsGBnSeAPCdiaAEzkJeS?= =?us-ascii?Q?XLINrvMog0W2StwFvWzI6x5wNaiuHmKgpwNPtTckPUytrWybJdHKjFdlxCKX?= =?us-ascii?Q?MC6atdM8H0mOKejk3b6l5yeSQelxjsqzLKlRBG2uisa8drAzL1s2bi2fz4RK?= =?us-ascii?Q?1nt/wpmYC/tZa9FhPE7bQQBdx6fEE4ZoOuq2dlVOybD/wHe3c52XK+zyIu+q?= =?us-ascii?Q?j2p0wPx4NMO+RbVuPvgDXyJ40r+goxyQSFhk+POm10yu8wEQEl9bH0Zx0qjS?= =?us-ascii?Q?98P7cqonDzW0iAr7KH/RLUrXuxTND9S7lhxorljCOidaQ8uHU0tE4FfoK8RI?= =?us-ascii?Q?HG4f4NtmHX7zGJ+pTh14Xmtp0pqJiGsnzhB/HA7WFjETnFwd2bPtpTW6raj4?= =?us-ascii?Q?u2Zzfk1pN5SUyLZFMk4qdaAWlJf5jvq27MyjAr5qri1WmN2x3UJbvIsazZKF?= =?us-ascii?Q?MrlUDNsNm+UZ+yR8Gta73folbIbknMdLwYbHVkuEcZR2ZZ1yO/A885lbqKon?= =?us-ascii?Q?dTXvmD596r5x0AH2eGKBbCtIzau3K2TbRD1urj87s/V6lrgLO/Dbhw1uAl8F?= =?us-ascii?Q?y5PMiMBy22tReyUwDw9NVapz2NfTJEdhMAHwTwiOia2gzTNT8PM3TPJOmKCM?= =?us-ascii?Q?XJZn0dxIde7yhWv2Kp2WQrN+rr8oWAyRkTEHPO4jMmiwDiT88oXAXfzYvnjo?= =?us-ascii?Q?PHlM3HqTu6hTPxrJ1EYviM1nvyjwBVqUSjaH76TXmVprHlfimYRaN/76k+7S?= =?us-ascii?Q?k2/Gt21i2nq1AlfThKqa2mKaQUfHb1YpYl98PhGnA8zo3Ggp1bUOcoJsFxy2?= =?us-ascii?Q?UvBpcRWnhLRamVQblGH9dsxl2tORyb6gCNdApsKZ3YW48V3dSF7N1UOESAWa?= =?us-ascii?Q?ww6m2rzz+P6coYFBSkpJbLeHKRWKmyEOwM3h16KI0RZN1LDFYZq6jsGsvz52?= =?us-ascii?Q?0G2SRnjFfZuU8YK2UCvy14tr5iEc2Al5kEGF8Uwhb9Df+8AmC0b/ZDCJQFmy?= =?us-ascii?Q?JzFxLgIUDPyZE0hQbaqL8OyTXAt3T7OV02DrDQD8oID4IOb+HaYCg2ar8kc8?= =?us-ascii?Q?dAVE22NEFg4w8FxcBJV/ifiVEybhMDa+ZcKUJk12fonO37QJeTPYcIAkzJBr?= =?us-ascii?Q?jl397GPChiKwu9zzzkiKwo13vV8dZhiK0e+ru/zk?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3f595f35-6593-41bc-74d5-08db5ac63d5f X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2023 13:12:48.3823 (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: 8faoJKXU0D3V9qlOJKIdulVXuJI1Gy3YvTLgP4nY5G6NDmpcKsCb1BJe8Y1ubHlamlAhTfl44eugwZxJIE4PdA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7845 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 | 8 ++++---- net/mptcp/protocol.h | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index e8336b8bd30e..6daa0ed59ec8 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); @@ -1566,7 +1566,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 1e8effe395d8..d4c13b488955 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -830,6 +830,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 Thu Mar 28 21:08:59 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2061.outbound.protection.outlook.com [40.107.21.61]) (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 745EC13AC4 for ; Mon, 22 May 2023 13:12:59 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Eima+7wUr1AH/aFW76SPXvU3m5Rs55u/aejFATPGsuvlDCKOjd3Y1bWOcycqM44ZEVi1V7ZPPAolqwpeyWyewDFhHgcliJzcTnK8XZ8z6ZiShlHsShBtPTfPjTOL3K1yM59QRiqQYw0uttVKV1y/CjFikICGgS+sZg/Fulbcj/4SwmZQPV2T3ad2JQTrFhhCgcWU5/nYvGiKbQxsYP0u11zscubquboIqIKNzelSPSjBrx964h4zS7gG7MTsfZqmCeugMJDUk2V2Nprf3cAi4X4jZyGmFVf5RU9L3vICjFFeC+0SiQnhbBHMMMwmJg1ULZFpBBY/GYlYsJvnSwmdnw== 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=q/HIBMSMYVjJoE6abaXONyU2fPy9naw0sf/o05OqpMc=; b=lIXp60ocBkREV5FZsR0KaqYQhPk37A7NGsSl+PYhaVBLkRGiLBMhktt6MJ83w3UXPouhe3y+PISB931U52kKnTAgWGHYFQ7vMqvVaewsfoks7jxL+9sMpiuQo9hgAkG5trlcppQMTPc0D08gXEiNEiehhMK3vt5ijFKbf/5+l2ygFA/UMaHJ3+mKCoYGxWf/CdwaIlFhBSgf8qYZEU0piZNuuUmD260ohd0889w+3EocwjAx9U9sasJEb8qwOX5lQirTkjskqryAkR7Rr0XQOBAVWf+bDXIj4ubFfaC+OTgFAnEFYcHj0tmxHCU0UQUMjzdNTXnuX1i4JIIaQJv++Q== 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=q/HIBMSMYVjJoE6abaXONyU2fPy9naw0sf/o05OqpMc=; b=sHjcogLQk6ODl8QGA/TjWpkbgRa1+alRWWrudMqztDAH3XxL5ekt4FWB+6OShv1umwQuQCTe263dQQTWqjdNomsVxXAjrId6O1VBnsY0g9B7sLIcF/fvCy2f3TWS+JXTwOU/T3z1SLmtqQZpLyRYtzZgtzKpPpQiTKt3vtUCgqRCPFkThrVXE3118Zg/SgOD+i3GKmTOqSOJ14edjy4OFiAoI/84N+ufQY2/vJ4rAruCSz9GhWRiNaT4mBftSPBuJKdJihvI7GMTHEB+2W4YgPgoFLNwFbJefQMLEZr5fxuE0KBwjBLWDUtCxHE4GUZbNCTCCMTKnlH5JQL8CKgsHg== 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 AS8PR04MB7845.eurprd04.prod.outlook.com (2603:10a6:20b:2a7::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.28; Mon, 22 May 2023 13:12:56 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6411.019; Mon, 22 May 2023 13:12:56 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v14 4/5] mptcp: add address into userspace pm list Date: Mon, 22 May 2023 21:12:01 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0139.apcprd01.prod.exchangelabs.com (2603:1096:4:8f::19) 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_|AS8PR04MB7845:EE_ X-MS-Office365-Filtering-Correlation-Id: bfa232fc-00d5-4846-3946-08db5ac6420c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6Asjc6dlb5waqjZBsxkP9DLx/rfmIT9ZGej43OSKDKyUhwpYEZyrtSyi7YV4EnnfViOYuUMOApslrb9y4bFaQWjV7y0DtP2Aq7G3qfIInVUWBDL77efGMkx4ntoJCAIyyLVXl8aF17NBNhbxzg1sO7pXnY/bTbs9N5KytSPIk82b5ONE9Yv40VmaAniv3xVKCnHMMRcw7orUDkVMioxpjmKNAyHhXJhj3BQ8a+zyJWGe9Wp6qQVu+qXebY0AJd6xB7n19tJ0r4obV+O/UNb8gRt4hMjya26xYpG1TG9ucYiWbZBXRbqBbcTiqATBEmAu3Df+4kyEr5Z5zNxI1LX2FB3sXxhkNOk6ItQJIiAzkq+wtEhJ+WIzS4FMq7j73i8q1jnkWIMr6e8LqpU72D5b2JtUgTE5D8zEpasYOt+QLqHJylC2aEPoOvwOJeOE5pfrUSZWYpSbGRFkt/46I5uUUoSc9OcXHfzGUQvDy93FNoG1U4LMwCgSFWYS7SqNT7HopLGAe/JyWvLmpibaBbI3R7pryn21lqjWnaaAie7eDtQ= 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)(366004)(39860400002)(346002)(396003)(136003)(376002)(451199021)(2906002)(5660300002)(83380400001)(44832011)(8676002)(8936002)(41300700001)(66946007)(66476007)(4326008)(66556008)(6916009)(316002)(36756003)(6666004)(6486002)(478600001)(966005)(2616005)(6512007)(6506007)(26005)(86362001)(186003)(107886003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?SJyPixJ0CgdZ2PPw/GxTBGf/D08FXwRiNRdmXevmPJtCGX9q8XiDZmXMx+UD?= =?us-ascii?Q?Hp4SA1eGVEKZYgFDrF+6KBaShJNs28k2dKm514VEnn8ojvL0PiTD3M5qUFLm?= =?us-ascii?Q?EFjSNWXe4B6HFYAEy/EdHlencmM9dRp1+84aJ9shD3Bn/mpJ+uxnZs0Ozi7+?= =?us-ascii?Q?0K9IBWqhZhW1n1l9KKwlghQdSQF7NV6hfrZfPH7v6jO6sQJ8I6pEL34erO0e?= =?us-ascii?Q?NKGQcWRfjr0ZroBKAGDDG7ridPbzSbiSFAx3FTQwrCuRDJckbdsYJupfIzxK?= =?us-ascii?Q?t/otAevuOBeRiCpp0pesZqMmSJp24pNpG6RCQOH2TCJFBmRmfhacwP7RqIvc?= =?us-ascii?Q?L+FvU3y2NMvBJjvHQ9H/YQbJnQwLfu+0tvnlQ58qgq4YXeJoNQdqx8VTwTG2?= =?us-ascii?Q?ma4grx3PGDQC8HW2WkbyHC3NJFnvB3elj+wOT0jQXrULhBh8MTv4skLi6+Gu?= =?us-ascii?Q?7MX4w2zDT37djquxMuUSpq+wj/jazL0HeBFGXKz2YBkHBWSQ2sJ8QmtLd5Sz?= =?us-ascii?Q?ZoPx5BV6zfb+bNNs/AHP2HkXJhr7DN2sEjcKfzzCJilvkR+y3YsxWkKICxjI?= =?us-ascii?Q?n+ryMljJisY9hmPzI8WtX1hZl5w06hhnS/kdBgNxuUwddUfrjx3UVErsDE6q?= =?us-ascii?Q?iugZ04ATO2j9zREPZ5kO4rMAPG0ryUO//4t5YJihhBeGAmVjAgfROttrXI+N?= =?us-ascii?Q?ddvIhLVklF8IcwYqadcKH5rfMh42kwOvTP1KsN6+64W/Kv5P0tAjJcY3Yxa5?= =?us-ascii?Q?a/uxTAXwM1Xh/BumhS8Cfog2DYGWxEVgaod9wQRzEpxghO5kqMkPOnXSAaf/?= =?us-ascii?Q?pogZDxVtVDpqIcrAOxRjYymHr1PXPt1sQj5y25SL63j4YMNMEdWJ2OVIAeT1?= =?us-ascii?Q?BoxmFQiFWumfu1Q52Yz91JcNJ61LziZGZYzvjzXBcZPivYWzyVtW1UYvv09b?= =?us-ascii?Q?ilZlzhA8OeM1AZA0Gs6buIrVFua3/dcZ/VxPZ2nqJ9Kta5dHQD20FzqcPJPG?= =?us-ascii?Q?Rjnedbc5kmRCynhJouk9fQrOFu6IdwV69o7P4DmiGm8NuwYs67dE62Es3BKB?= =?us-ascii?Q?cNgkoRh5akjAKVqkQ5z+qjuItniT6PBjrjSIsmgEwqRyHG2dnFsaYUKoqEvz?= =?us-ascii?Q?N+ikxs1br0p8fILtYG3PwK7abtBFXNRP55p4iArONbC7Ae95ApTw/ydjYmQU?= =?us-ascii?Q?e1RF1xpWefB4AG1DuVvbM3owFizjlLttxXGLZ+ZJWsqIFrA6zcHLhk3Dcl/Q?= =?us-ascii?Q?T4GJjvhKC92KeTUZYtahV0eYz8dmnh5EAeD5HK0aaUMCvTWlYgMEebxI6Cax?= =?us-ascii?Q?S4FnwHAAYeWG6tOSd0aO033fme8g6beYiNW1A6UsGTR3TGeL7B7S3U01C94p?= =?us-ascii?Q?CMS5OmVv5SE5M8onxNp4KzyLPk7hcSNEk09BxqFRO2R3wF8Bt2C2m/Pj76UX?= =?us-ascii?Q?nx7ep8MnY1uSFg106mw30BPJZMlQ7bdhm8lDt8UsckJRtX0+Rj8+hMFPcku9?= =?us-ascii?Q?DaXzlMhQNuBtuc4d1/dDksOeWduzmpTN6aqfO8DUV7WsZDLkSVrT4U+bWAyA?= =?us-ascii?Q?WlVmkIy0+HMJG6+wCQ8hO7aiPHBVKUwzFuOmi2sp?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: bfa232fc-00d5-4846-3946-08db5ac6420c X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2023 13:12:56.3793 (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: sPuwpzV/JwGyZQHvzzQbqUzfoPHV55GjZc099nPJj9OtIBmjYZlpX1XCLUmCGNH4hs3t7Gqc6wba1iBi5qoxSg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7845 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. Add two new removing flags for userspace PM: MPTCP_USER_PM_FLAG_RM_SIGNAL and MPTCP_USER_PM_FLAG_RM_SUBFLOW. They'll be set in mptcp_nl_cmd_remove() and mptcp_nl_cmd_sf_destroy(). The address entry'll be removed from userspace_pm_local_addr_list only when both flags are set. 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 --- include/uapi/linux/mptcp.h | 2 ++ net/mptcp/pm_userspace.c | 72 ++++++++++++++++++++++++++++++++++++-- 2 files changed, 71 insertions(+), 3 deletions(-) diff --git a/include/uapi/linux/mptcp.h b/include/uapi/linux/mptcp.h index 32af2d278cb4..75737e4165f7 100644 --- a/include/uapi/linux/mptcp.h +++ b/include/uapi/linux/mptcp.h @@ -86,6 +86,8 @@ enum { #define MPTCP_PM_ADDR_FLAG_BACKUP (1 << 2) #define MPTCP_PM_ADDR_FLAG_FULLMESH (1 << 3) #define MPTCP_PM_ADDR_FLAG_IMPLICIT (1 << 4) +#define MPTCP_USER_PM_FLAG_RM_SIGNAL (1 << 5) +#define MPTCP_USER_PM_FLAG_RM_SUBFLOW (1 << 6) =20 enum { MPTCP_PM_CMD_UNSPEC, diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 622698fa36f7..5f0bdb5c8033 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -79,6 +79,30 @@ 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)) { + if (entry->flags & MPTCP_USER_PM_FLAG_RM_SUBFLOW) + break; + entry->flags |=3D MPTCP_USER_PM_FLAG_RM_SUBFLOW; + if (entry->flags & MPTCP_USER_PM_FLAG_RM_SIGNAL) { + /* 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) @@ -231,6 +255,12 @@ int mptcp_nl_cmd_remove(struct sk_buff *skb, struct ge= nl_info *info) goto remove_err; } =20 + if (match->flags & MPTCP_USER_PM_FLAG_RM_SIGNAL) { + GENL_SET_ERR_MSG(info, "no need to remove this address"); + release_sock((struct sock *)msk); + goto remove_err; + } + rm_list.ids[rm_list.nr++] =3D match->addr.id; spin_lock_bh(&msk->pm.lock); mptcp_pm_remove_addr(msk, &rm_list); @@ -238,9 +268,12 @@ int mptcp_nl_cmd_remove(struct sk_buff *skb, struct ge= nl_info *info) =20 release_sock((struct sock *)msk); =20 - list_move(&match->list, &free_list); - list_for_each_entry_safe(match, entry, &free_list, list) { - sock_kfree_s((struct sock *)msk, match, sizeof(*match)); + match->flags |=3D MPTCP_USER_PM_FLAG_RM_SIGNAL; + if (match->flags & MPTCP_USER_PM_FLAG_RM_SUBFLOW) { + list_move(&match->list, &free_list); + list_for_each_entry_safe(match, entry, &free_list, list) { + sock_kfree_s((struct sock *)msk, match, sizeof(*match)); + } } =20 err =3D 0; @@ -254,6 +287,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; @@ -305,12 +339,35 @@ 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)) { + GENL_SET_ERR_MSG(info, "cannot alloc address list"); + err =3D -EINVAL; + goto anno_list_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 + if (err) { + spin_lock_bh(&msk->pm.lock); + mptcp_pm_remove_anno_list_by_saddr(msk, &addr_l); +anno_list_err: + mptcp_userspace_pm_delete_local_addr(msk, &local); + spin_unlock_bh(&msk->pm.lock); + } + create_err: sock_put((struct sock *)msk); return err; @@ -364,6 +421,11 @@ static struct sock *mptcp_nl_find_ssk(struct mptcp_soc= k *msk, return NULL; } =20 +/* 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. + */ int mptcp_nl_cmd_sf_destroy(struct sk_buff *skb, struct genl_info *info) { struct nlattr *raddr =3D info->attrs[MPTCP_PM_ATTR_ADDR_REMOTE]; @@ -423,7 +485,11 @@ int mptcp_nl_cmd_sf_destroy(struct sk_buff *skb, struc= t 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 + spin_lock_bh(&msk->pm.lock); + mptcp_userspace_pm_delete_local_addr(msk, &entry); + spin_unlock_bh(&msk->pm.lock); mptcp_subflow_shutdown(sk, ssk, RCV_SHUTDOWN | SEND_SHUTDOWN); mptcp_close_ssk(sk, ssk, subflow); MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_RMSUBFLOW); --=20 2.35.3 From nobody Thu Mar 28 21:08:59 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2066.outbound.protection.outlook.com [40.107.21.66]) (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 8961513ACE for ; Mon, 22 May 2023 13:13:06 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y4V8Hr9F0jeGjp2wjD0LZlzUsei49Zos3sDyGa2ytXt6Xi6q+58To6vz0HeopeQ/0KnZX1dLhhsviaE210oRxS8JrpWgtXhGD6k8ye9/Xj/QMsjc3/MVx/4NSgKxTakzHOCA+c6peU4/AHYVyYhKIZnnYa9XXluvLtijXAw7pgSFtGPtcBwfIzJPUOveipilVR1qZZ1eVirL5d8cBLoUlcFexuw3Tb/HwHP0HJq8aewkMBcVM5xa2Uw9dQc76VAmZcLE3TYnDcgP3YPIk3E/Ab3rhGjbdAd+6z3/HYs3D892NibW1DEsLKfCwZcIN79JipcycZl19x2NCAzYGn57HA== 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=IVhOtI8e4Qy2DgGPK5M7nq59HK5JWdxnqckIQHMQg1c=; b=jmUaTRpmr2kzDiOjp+SSKjJ2LrDJGL5IzUxMLC2mk1xM8nb9WeHLcy65IF+BVQPSFnBu8wCek6cKN2950HUAPOo3QNlz43RKWaNU9srg0J/WdPFuNQhsUjyiNKyJ6sSv4pdEsBJEkova6xJBhctMvSRwdgTMs+FBmw81VEKIz0cSgfBobowFiVSYTZ0YHm3eF7xE2ooRE0NOTSmAdxmgB9OHxy9tMbdGI4Ys2OjJu9/pt7ePPtprz6LeC8umPZsdVeVRdwnKOClnmPBqyUwRX122YIuFST1+uWnxxEvmJIb2EYcn3ozt5e4/KJXp4Gwu5yB1hkZ066JuJ0ds5lh5SA== 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=IVhOtI8e4Qy2DgGPK5M7nq59HK5JWdxnqckIQHMQg1c=; b=sctUn3AP/eKxsazs9bQMAaFEmm1sCSSPTFrhPSWAZjdpwMpqeZvh1UQsxS9//8zfoLwrG1AJxbBW9LR2c6fIA0uGJUWfR2sVxPeEXIuEJwRcesAvML1VWytcmYfP8ClPl5APfNPyJBSDYS5oOlIaKSSOtRKJmU4++jmVSmXzBUoOtNinNHKi+6RME5qDG3gJUnqXcR1jASi0i4QcTscPq8tf6C/yq4mUYapEq4kGBRIH6nk36d37amFkZhTbogef+/ovGnjqjdULmbjFF9vMSrXLCB4NK4OED0BqJiPLncTvMxs3K6inKUJWL8g6Ah2KJjAObszw4CL2u+l1NuU3GQ== 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 AS8PR04MB7845.eurprd04.prod.outlook.com (2603:10a6:20b:2a7::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.28; Mon, 22 May 2023 13:13:03 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6411.019; Mon, 22 May 2023 13:13:03 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v14 5/5] selftests: mptcp: update userspace pm subflow tests Date: Mon, 22 May 2023 21:12:02 +0800 Message-Id: <844d9f8c87bc733488eba77a4a77e7040e87d8ed.1684760588.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0135.apcprd01.prod.exchangelabs.com (2603:1096:4:8f::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_|AS8PR04MB7845:EE_ X-MS-Office365-Filtering-Correlation-Id: cde4f1ba-a352-4c6f-3d17-08db5ac64676 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6LZU4XtJ0ka2zUR6FdUQGrp0mbnNcutas37715JhgfzWE0S7X71FahAdi5gY/THNlDD+dUwf35rsjxWuHDjqZqL4L9vij8S+dfCWX8RxE4tcSnHp9LxjmoRZhFfbidLuhyT3YQ6OjHU2gBaSXwgSnEk3Hm+UdNkZ3DGpD8wZSMPpH1NC9t15xEJWvy36R6WaBrjgZa/BooOL8+IJxoJfGONe14+M4vcWLqKw7pcVjxXtPh0r8o18aB08RT/S0+hJQOB5qfjmmpKwbvJIcCY/QJLDm01HOMegO6d2vYD9/ASOmKMRPIeG1K5ANbSg277SWZkLOYwbNSd75aS+MvDHTfIDn4lVQvXcFVR8Mwl+4ny8Vz7vqKf9AqJ+Vto/BkmQ8LdNoPUQrko89oufdTSxbAD1gwAFJ3H5RvMdvWMj+7BZaandgc0B3R3Ql64KukvlZuiSXTQsQF5WOl9yzE2juTgMt8nOnZY2yp648v1vij6dbdzR5R2E4DkZDMLK/6v51VgC4+b6Ldi8AGMpAWEdUGzxt3e+z6SvMd8TYuj21ko= 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)(366004)(39860400002)(346002)(396003)(136003)(376002)(451199021)(2906002)(15650500001)(5660300002)(83380400001)(44832011)(8676002)(8936002)(41300700001)(66946007)(66476007)(4326008)(66556008)(6916009)(316002)(36756003)(6486002)(478600001)(966005)(2616005)(6512007)(6506007)(26005)(86362001)(186003)(107886003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?jQb17MTlDTjs6YGfBG1EYTJtyj+co89X2nZKXYItRNJ6PkXOiNssXD/evRy8?= =?us-ascii?Q?LpC570FYIAva7intlN6XpJSgjThdt+4DQwLVE96m/RD1vS2t88Gp/xPrK75b?= =?us-ascii?Q?L7iHqzhofdkP9pzH+wSe4wIh8/0EjmZ/TpdCEWLvl2XqIjeMEkgJvzaHn197?= =?us-ascii?Q?H5VGTXdmrQGfTTxqWSNHGzwh5dW6y9HD3wOE+GgSDVsnkL9l6AjQYrDRq72N?= =?us-ascii?Q?U1vDRL5NlIBrA+bcBwWWmYFLqM97owG9FS2W7yfER7ym8zRUxgzFfAUG9Ivs?= =?us-ascii?Q?ZtVp9Lhh98tBEDxMmBJn83OKk0Kc3qVlYalLLkA+5DfwPKSG6W5Ckf7Vu/Uw?= =?us-ascii?Q?w+VgzDWtrw/b/uoH/d+zgfsMG28eu5wKP94o+tnYcQPbXi4MjCcUyFqVNiPA?= =?us-ascii?Q?KdxZMn9LK3Q96+c/kLklLoq75/DJgmWVm9owxTWLQgvucHHddrM1gFc9ihV/?= =?us-ascii?Q?cWVnG4izYyVleYbYSZgG8w/zaNtKqQ1grnZYceTLaPlI20uztpzVYR4CUoiK?= =?us-ascii?Q?JHw4lPPmqe7qC51AExOIUBEAUc1Rdsr0ctUATKYmJB90CYDuDx3j/Qm432IW?= =?us-ascii?Q?Ya/Q0/f2FvDA7+pWbaZVQC6Zs+1zaAk7Wwtlda7tjfM+ZjHp+KgxyjvUh3to?= =?us-ascii?Q?F1JoCm6czAaSAzK8GCQEHJJDLpx99pDIUnRFoaRv1afbVjUCOgN8ni9G//tj?= =?us-ascii?Q?xyPmN83t21jAc959lSy14z0AOuOktLVuN1qqp64qFnu9KA52GU6jpa5rTfyY?= =?us-ascii?Q?6OX9681/glcG+ze2O8o/8wNdRvBhxzt93Ct9/w4xewCrq864jucgloSD6sJF?= =?us-ascii?Q?yA24S9mn74mkTyI7kRQDg85Pk7Ox1Zaks7+vRr6aWR21WR3x9ooeyOK10lC9?= =?us-ascii?Q?95RO70BfhGgGT+1N6yj+9KHGIdgTduor4Iv3xD75NANCpOfbr/WU/4MaLLUw?= =?us-ascii?Q?AGWrcaKFHslz9v49lld9ydMXA1vUx0x0l7C8mxL+NPjDQizFVY3yNvz7AKA5?= =?us-ascii?Q?mAbnyFH9OeTYcy3Na1O84Udy9IEKOji2nBDEFH2vEiXHYOrpx3x1ruPS1oSy?= =?us-ascii?Q?xYOnbIKDVileheV9nZw4ETTWpeUtj8i5Qtlm7vQUaoD6DOyziS1VL4H+4+Vc?= =?us-ascii?Q?GtTjZd+9aJpHXZ+k8UthfTcZPJxmZHK4kKBQQOOvOIeoFSakHBUxFASjB8zP?= =?us-ascii?Q?cBhaObC686CZyTjOOQbWVao1o49h5ffTgm3IImMNpCyIj8d6e1cwJ6wB2iGf?= =?us-ascii?Q?ZC3lz5oz7g3RZGJzsGZnZ5JBD+S8MNeIW+NKYehs6c2QZKaoilOobLXnzCrT?= =?us-ascii?Q?NqbdePabJ2aARgJJg0yFmJjq8e7VeSWEBU8/EShAhwXQcPkrCeQrcS+N68ME?= =?us-ascii?Q?hATDqgY6uPSmQxxyVBMzq7+Pq02gboPvGs1fzshIoqnEacmllpfQtBhVOoVs?= =?us-ascii?Q?LzR/7jRKuYuDs5CeT/l61mYjUgG/bU3zkQWvTiVBNYVzrsttR7hX+Z6jNUOP?= =?us-ascii?Q?082L7IuqN0KTj1zO1RgVN0UWUyDfAWU3Sj+TRcDOsBqlkMayfJZOeBC+mJce?= =?us-ascii?Q?/MDiR5FvTrihueJ5Iqj7Fk9FPT6m1DeT4wNXqkT3?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: cde4f1ba-a352-4c6f-3d17-08db5ac64676 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2023 13:13:03.7220 (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: Vy5hMZkvKRof2CH0g5hHUeJIOxd0QcOCqtaovTl0Xn12MTkOZeVGj35RkY+FM1FLCO8KKaQBjDaRM7FHiE6Ogw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7845 Content-Type: text/plain; charset="utf-8" To align with what is done by the in-kernel PM, update userspace pm subflow selftests in mptcp_join.sh and userspace_pm.sh, by sending the a remove_addrs command together after 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 ++- tools/testing/selftests/net/mptcp/userspace_pm.sh | 3 +++ 2 files changed, 5 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 a42745e60976..46c2095d6e3a 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -939,6 +939,7 @@ do_transfer() sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') ip netns exec ${connector_ns} ./pm_nl_ctl dsf lip $addr lport $sp \ rip $da rport $dp token $tk + ip netns exec ${connector_ns} ./pm_nl_ctl rem token $tk id $id fi counter=3D$((counter + 1)) add_nr_ns2=3D$((add_nr_ns2 - 1)) @@ -3210,7 +3211,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 } diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index b1eb7bce599d..02465ffa075f 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -621,6 +621,7 @@ test_subflows() :>"$server_evts" ip netns exec "$ns1" ./pm_nl_ctl dsf lip dead:beef:2::1 lport "$sport" ri= p\ dead:beef:2::2 rport "$client6_port" token "$server6_token" > /dev/nul= l 2>&1 + ip netns exec "$ns1" ./pm_nl_ctl rem id 23 token "$server6_token" > /dev/= null 2>&1 sleep 0.5 verify_subflow_events "$server_evts" "$SUB_CLOSED" "$server6_token" "$AF_= INET6"\ "dead:beef:2::1" "dead:beef:2::2" "$client6_port" "23"\ @@ -660,6 +661,7 @@ test_subflows() :>"$server_evts" ip netns exec "$ns1" ./pm_nl_ctl dsf lip 10.0.2.1 lport "$sport" rip 10.0= .2.2 rport\ $new4_port token "$server4_token" > /dev/null 2>&1 + ip netns exec "$ns1" ./pm_nl_ctl rem id 23 token "$server4_token" > /dev/= null 2>&1 sleep 0.5 verify_subflow_events "$server_evts" "$SUB_CLOSED" "$server4_token" "$AF_= INET" "10.0.2.1"\ "10.0.2.2" "$new4_port" "23" "$client_addr_id" "ns1" "ns2" @@ -737,6 +739,7 @@ test_subflows() :>"$client_evts" ip netns exec "$ns2" ./pm_nl_ctl dsf lip dead:beef:2::2 lport "$sport" ri= p\ dead:beef:2::1 rport $app6_port token "$client6_token" > /dev/null 2>&1 + ip netns exec "$ns2" ./pm_nl_ctl rem id 23 token "$client6_token" > /dev/= null 2>&1 sleep 0.5 verify_subflow_events $client_evts $SUB_CLOSED $client6_token $AF_INET6 "= dead:beef:2::2"\ "dead:beef:2::1" "$app6_port" "23" "$server_addr_id" "ns2" "ns1" --=20 2.35.3