From nobody Sat Apr 27 02:41:58 2024 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2071.outbound.protection.outlook.com [40.107.6.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 4ADB81FB8 for ; Thu, 25 May 2023 08:07:26 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZeicHJkKPDJrGuUsY1Iyd6iQU3dKdEFa5h4HcOZSDQje1hUVmNse0+haqWGnOiSDIaSLLuXsQlfvY7E/8o5+WO+/u6x8bArzA8gMm1p/bhUjqHUkldMkybOZ7Hid3jsiXONWpK8wRQYxKr5Y53vayHIw5c95C8Ug7o+9eI0Dm4pczVKBISF2/2bVJzjRAz9bcIsRscKowqfqswK1nJPVJfiMswPvpXfYzv9HJ3leSBfHcu3+DcmBZirXpXZpwCi7kBu6E5KLCvsrgtgnSPerPiH/bbq2hTL/WqE34p7o+FvWS8O21AFyQtSQDXfFeaaMhAhbo9kyN1Q7ipqdkfcPvQ== 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=V6dlJvmqnH/DnlcQ0YYS+LdKilIBArwhW5gjE5sagf4=; b=BQnFyTF0+iAWT7IpqJqi+zb0WYe0RKceqjopyfm1DFwps/vdJgfxHVH20v7fbzMAnf0oI8hELJGDj/scyJeZUowuTJLdAdhXW0G/HyKqKi9o2f1nyoVNm99qKX/X3KEtO/8QhBAGXleEgRWc01RS8LpwH8nK1idT9qIFQMYpDfv7YxNd/uLyS3rP0dpNyZ/KAlLi5woESg09L2K0zQ0kgjupp3UDcHTnxQjEoqzt7iWsOmmvEs1cJzhfya155TslSyckR7LN+1u3HUtrss8l1Plpyqi+z46Z1gTUy5p2YC9q05eoejcsmxOtnBqp9uEdKe0lso2PVDa0GQzDsqiaVQ== 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=V6dlJvmqnH/DnlcQ0YYS+LdKilIBArwhW5gjE5sagf4=; b=OSkfXTF5/CQutII9UO0fAjcIKfnIWq1tOp4bZFgcoOTble/Ktsg6FjDXxoZBr/f+fQVLn1cJc53NJVRGgHxX4Zfl6T6g3nK52FN6y+dheAjdisGfayqI6aP5ok/bCHnLFvC2iSbNnk32CxGpAF2zUJSH0vloNUqEwPYMOg425y60pWj3X+Lkf00k6vVZ2CfbCD8kIOBydk+fP4tHXPFbc4XxoRXmV+RfVXn1XUgG+1pDCrBxxEKZP1LXEzAK202WndS1OOMH7NcrhW3w2qbNq2weJ3uqyKK4MJsRi+IPV4MBp+Zny4iuQ/2lj8mKUALbUUM+BLipWbe9JtsL7+UJgA== 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 DB9PR04MB8075.eurprd04.prod.outlook.com (2603:10a6:10:25d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.15; Thu, 25 May 2023 08:07:24 +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.6433.015; Thu, 25 May 2023 08:07:24 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 1/4] mptcp: export local_address Date: Thu, 25 May 2023 16:07:07 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0049.apcprd02.prod.outlook.com (2603:1096:4:1f5::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_|DB9PR04MB8075:EE_ X-MS-Office365-Filtering-Correlation-Id: 08e2df89-2725-4d90-d3ab-08db5cf71242 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pxLlFIHMOSvvnfgTWgYKhLg0eUc5DS83r1Cuspsy0xJn7EChtGTa1Oh5nITKNoFSTJKVClQYZ8lrO8kyNxviOhuCekrbfAp2LS9GlPEvbaRy8kX+D4s73QGcXrnDgYWGCU37q2gzqvxXzqj63I5BXkHaTjzms8m7Y8tkorx2CsbNFGI4eNYXGbJEVTQp8ZMwmCLTcLQn6aaBgO+Ad8el9sMfOJC1Ho79xZhTbDi/odyzLzhygXZHCRG6bIwBgzEz9sBSmkETwp4MMWFiKUEqt6CBb1KS2n6mQ0ON02Z1FFAySohFQmNUj3vfiEBx29CiyvbC4ZpE4DCFYRDhvGGy5RpzYNFD3tSD0k7AZNZUrLQvv7XiC4Jd6wAM+R1tuzePqkCT9ZyM4MlW7JPJm81nyFj+NTWmqG0OIE8sh0QF7P7W7OOXRhtBj6WRFfRLcj4VJlSWLMCAaq5sV9GoLbC7sh4XAKT4mQ8OTQndakyWRRnFYnSKXVPdmWNIkWgdkIPXth1xQG3kNsm99jqrRHYWxdrgjskHMylDsLOYc/ShV4TwqxcD9J4FqE9p/jnaOz6x 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)(376002)(346002)(136003)(396003)(451199021)(5660300002)(44832011)(36756003)(38100700002)(41300700001)(66476007)(66556008)(66946007)(107886003)(316002)(6916009)(83380400001)(6666004)(4326008)(6512007)(478600001)(186003)(8936002)(86362001)(6486002)(2906002)(8676002)(26005)(6506007)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?7W4Yqh2qfE6Xb9hs01p8hcTS88nC90m3xeV409U2ZVyMneYlC1UPvS8JFwB0?= =?us-ascii?Q?2XgNXzOLxslOD4SIHqHrsXMABeGtgMZ6f3lfbpB3nSknssRN3ZUsEDfD9h9p?= =?us-ascii?Q?JkcM4wGvANoxp0bB12ikxzXVkpzdzhS15wH4cGOxNjro0myPlOFfjk7EoKhg?= =?us-ascii?Q?CvmIIZWMlAQnQ/K5AISVemORfU5Vy0jHc6B286Ex6Jq3JST9PhZ8v7yR/OPv?= =?us-ascii?Q?IhCEW62YzYvnUPVxcLfXOZ3KmIWBMpm2LvwsrzTlcZ4dpRb5ryKoOkSLLnOJ?= =?us-ascii?Q?Rpz9mSAQdjkY5ou5cy2KMEm24R06pYFmfkktZF8GY76W/jXv/2N4ROf99WVt?= =?us-ascii?Q?50duQYCxNDkzI2j808Fo5tOoRwPzg8igN4aBmZ4eYi+x8Y3dKS/Iz/dGcKya?= =?us-ascii?Q?7ugsPMTyYXmWah5TNkd92EvIOa5Ip7/QYAo/D/zn2sNN5S8awAllis8UPkLE?= =?us-ascii?Q?CsSAtiCWglq5BH6j2vSTZCpkabsyqUPZm2SyAkLhOqaRvj3gO7/t7Ix3Tlbs?= =?us-ascii?Q?sUVLmdRsuYkPaXHIHbS7Z/3jD0Xy/3CI9N69jrsUvmgz+TqmZcyfP6dPpkbG?= =?us-ascii?Q?4J21gPWXW8V7u+DbD5LlQJJ+1wKh4OuTPMNFBxo9hp9vRdpjDO8am1AIkMG+?= =?us-ascii?Q?JD/7dDMxZKDggy0MtG0/tJ4Wt9CI2H6EkKkJ2XG1XvJT+ON1xK1k45d9EZO/?= =?us-ascii?Q?cUHMFEjLFil5TtMIeJTxAzz+kFSPAuvuBpNROnPx5u5ZNxCtqZkkHa2cki2H?= =?us-ascii?Q?B5k0AcZI2FoYH69oS9HoMKEDUQAgBsTm2IfwPq7msUz/Kup5F7r5Q4aac1VK?= =?us-ascii?Q?w7her8iKpTy0eqOUqokO7SvVnqZKJiarSVhNLDZiS7jYn8SNHET6qqJRWkRo?= =?us-ascii?Q?Qbag/xbuFDvln79+IjF09C8RNKGc9tcK2BQEDT9Yob/ZqPduvy7iENgFg83h?= =?us-ascii?Q?9UDAzLUKoAjlXIYnzLokD42nIqWmHHQhIaqRAZuRaBMGHsJjViP7uRvDx3Cx?= =?us-ascii?Q?K68e+C20+GajH8104EPm0TDqPphCvfHk0UAOgOUnhi3id1hVtKHPVOv22CQ4?= =?us-ascii?Q?HD1j5oGpxujJygMUtkVnPgVzmUEzJslWm89ib+QwgjgM0BvPC+kMO7Mtyl9h?= =?us-ascii?Q?ZS79IUpCNYX8l1BRBt/sa7SHEOjj/flEl9BebJ5f4GD8AE4OX8FgH+iXSHrL?= =?us-ascii?Q?UFtGeBWGwCKiOPulZY2wP4WKZI+fVzkUoDHkiyvi4wqBE57XkpYv8lj1xDTy?= =?us-ascii?Q?EPZk8iUBjKuQM9jg+VcXAybHcJEJ1xr3+ucQJ+wFXzZoZl/Uw9HPKq7mtSsR?= =?us-ascii?Q?c/lEIRqDS6eMIMAG/IXxuDv13Q+ktqwwfZQN0UVIJjT2P0bxG/0fQBl90u46?= =?us-ascii?Q?TunAHsWKqGJdDfp+xfH3OZtUW2fsqecG64CyPAk/mzoOCh/a78xCkxSU7ZZQ?= =?us-ascii?Q?Wrwoc8mHkQPI15y3W1jnCRIIWUulYj+rWq32ZCMULCmGRqNnV0QGg+LnhzhE?= =?us-ascii?Q?JxKzUMZ1wKY1N4aoHPajTdoPYWiUf0cH9ArrdUKrl8N+00KHXI4IudNHE68l?= =?us-ascii?Q?FOyOiEF/t2d/HwYB9steInsBeeOMJiAWkxe666rv?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 08e2df89-2725-4d90-d3ab-08db5cf71242 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2023 08:07:23.9132 (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: 5cKT02YAQU1xYC8uOMRPloFQzY9vUe5MJx86V56/fq4iV953bg6wkSdc09DUlx3KaVQqg80hCZ7/EAuD1Scamw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8075 Content-Type: text/plain; charset="utf-8" Rename local_address() with "mptcp_" prefix and export it in protocol.h. This function will be re-used in the common PM code (pm.c) in the following commit. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 17 ++++++++--------- net/mptcp/protocol.h | 1 + 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index ec892fb8d85f..2f58ab49512a 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -86,8 +86,7 @@ bool mptcp_addresses_equal(const struct mptcp_addr_info *= a, return a->port =3D=3D b->port; } =20 -static void local_address(const struct sock_common *skc, - struct mptcp_addr_info *addr) +void mptcp_local_address(const struct sock_common *skc, struct mptcp_addr_= info *addr) { addr->family =3D skc->skc_family; addr->port =3D htons(skc->skc_num); @@ -122,7 +121,7 @@ static bool lookup_subflow_by_saddr(const struct list_h= ead *list, list_for_each_entry(subflow, list, node) { skc =3D (struct sock_common *)mptcp_subflow_tcp_sock(subflow); =20 - local_address(skc, &cur); + mptcp_local_address(skc, &cur); if (mptcp_addresses_equal(&cur, saddr, saddr->port)) return true; } @@ -263,7 +262,7 @@ bool mptcp_pm_sport_in_anno_list(struct mptcp_sock *msk= , const struct sock *sk) struct mptcp_addr_info saddr; bool ret =3D false; =20 - local_address((struct sock_common *)sk, &saddr); + mptcp_local_address((struct sock_common *)sk, &saddr); =20 spin_lock_bh(&msk->pm.lock); list_for_each_entry(entry, &msk->pm.anno_list, list) { @@ -538,7 +537,7 @@ static void mptcp_pm_create_subflow_or_signal_addr(stru= ct mptcp_sock *msk) struct mptcp_addr_info mpc_addr; bool backup =3D false; =20 - local_address((struct sock_common *)msk->first, &mpc_addr); + mptcp_local_address((struct sock_common *)msk->first, &mpc_addr); rcu_read_lock(); entry =3D __lookup_addr(pernet, &mpc_addr, false); if (entry) { @@ -749,7 +748,7 @@ int mptcp_pm_nl_mp_prio_send_ack(struct mptcp_sock *msk, struct sock *ssk =3D mptcp_subflow_tcp_sock(subflow); struct mptcp_addr_info local, remote; =20 - local_address((struct sock_common *)ssk, &local); + mptcp_local_address((struct sock_common *)ssk, &local); if (!mptcp_addresses_equal(&local, addr, addr->port)) continue; =20 @@ -1067,8 +1066,8 @@ int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, = struct sock_common *skc) /* The 0 ID mapping is defined by the first subflow, copied into the msk * addr */ - local_address((struct sock_common *)msk, &msk_local); - local_address((struct sock_common *)skc, &skc_local); + mptcp_local_address((struct sock_common *)msk, &msk_local); + mptcp_local_address((struct sock_common *)skc, &skc_local); if (mptcp_addresses_equal(&msk_local, &skc_local, false)) return 0; =20 @@ -1488,7 +1487,7 @@ static int mptcp_nl_remove_id_zero_address(struct net= *net, if (list_empty(&msk->conn_list) || mptcp_pm_is_userspace(msk)) goto next; =20 - local_address((struct sock_common *)msk, &msk_local); + mptcp_local_address((struct sock_common *)msk, &msk_local); if (!mptcp_addresses_equal(&msk_local, addr, addr->port)) goto next; =20 diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index bd3771c7d79d..d8c9035c44fb 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -640,6 +640,7 @@ void mptcp_set_owner_r(struct sk_buff *skb, struct sock= *sk); =20 bool mptcp_addresses_equal(const struct mptcp_addr_info *a, const struct mptcp_addr_info *b, bool use_port); +void mptcp_local_address(const struct sock_common *skc, struct mptcp_addr_= info *addr); =20 /* called with sk socket lock held */ int __mptcp_subflow_connect(struct sock *sk, const struct mptcp_addr_info = *loc, --=20 2.35.3 From nobody Sat Apr 27 02:41:58 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2073.outbound.protection.outlook.com [40.107.7.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 EEE171FB8 for ; Thu, 25 May 2023 08:07:34 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HB8nBrW3NObPnnzUsj8ka0UY2tEreMD2AmBwqNa5LpAaxbxqSQ/iO6goW05H0tilAMSqNpJJfDDewt7OzKEyhUBp+vd6x/DnvDWDWMDLRLt30d5mCAIXZLjzqVoMLqTGU05KvdCP34/T1UPKyGAaD5xxyGDCVV4I6tsr0FPqykLqfTVAAQ3c4kfpvrAQ/kM2c4AH0DjZouZdDZ25qQYAlPQ9EH6ceWDvRez1D1aBdO/ydyJQpkKlG+/VtElMsf/JRhcz70QWC7K76YhhI++jA9ql5FdUsJZUgzXwQPG92QaSg+y7vot9wKRaEQrsGKc7ztSaNBaUw181sfo2kWdjNg== 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=/KMFf07cIARJTn+RnGAjPTQJx+imKCPL9p+xlGtDCHo=; b=chLCLEikc6H5VlP2tJbYwZ0x0WPDSWQUQeOkyHnSbKdELahep1rx6v6ffuRs2+JA+qAqjdHsEEcVRAzt/PMrF3B/4rwsDnLI/9m9utkjNe0U6eCBnvy03YTE3vbeXgYCD05VojkgG3lSdwe/eR1PKuVoyArxNKzcrO33IgeTggF2m0S5oaZPkAmErB4wT/mXaUBFhk/D6MZXo4mgwQUW5x0ivLgw9xM06q1XaejJHpof/Msagows76sX+FtD9hI9gBi62rW1mtnAA1q2ZmMz2y5oZJwSZVFrMV2ROrOhvlKcLs7tmdJy528cF2EtY2nik2Lgmuqr/vcKnrjgZU+Vog== 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=/KMFf07cIARJTn+RnGAjPTQJx+imKCPL9p+xlGtDCHo=; b=Ce0tT6fjR/Pchcp2BdLvqorQcs3qvDpTDJ7mFmLG+tGDgTewbMpmPyhiOWK9vDKhJRaIUixQj6WjVuCMFy630r2lCi+UwAQQXLt36Jqhu1rYZiI5o/IN6RjLC6qZTk6uKHni/qOzogwiRvSS2wByQyJGPS94Hg/HcRj4C6PBGL0EdtmtPc7ms5vgpobSA0YXIpOcljMrvm7boyhlK5of+BsfyzTh7PXgF9rAeeeNcFk7npH+5S05dfbbp10qQjk5roPm8ZTo/SqJ9BOYmBCYMPAPgzc6LUmpuLw/BUwU9qiPb2xnNUL5LmSl0fSDnGR3KwogFaM2X/k1bWwM2qN34w== 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 DB9PR04MB8075.eurprd04.prod.outlook.com (2603:10a6:10:25d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.15; Thu, 25 May 2023 08:07:31 +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.6433.015; Thu, 25 May 2023 08:07:31 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 2/4] mptcp: unify pm get_local_id interfaces Date: Thu, 25 May 2023 16:07:08 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0060.apcprd02.prod.outlook.com (2603:1096:4:1f5::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_|DB9PR04MB8075:EE_ X-MS-Office365-Filtering-Correlation-Id: b4e5d1f9-cd85-4821-5cca-08db5cf716f4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: G4hwYblT5D7CsbeA9YT+qEaZLC6SVtyb6BeqEyhINgiI/Ht1a+DkEMlkQ1Qd/qew+VY3BoKQ0e4pPTdv9mAVMkuAOMiCm4rgzGepYSaUM5V2PSBOLKt30AiTqp9e/ubCwn17gBPVOFlkmGmbve8eu7p4GqEgDY86yIH9EGpOaGjAwWtuLZ1c4/3JOvSfegvvMIRPn2c10EyejhmkRpi2rTB+G8z4WHf4fA46zn3PaRaZmxQWgAmIO2KjA/pt/+0Hf04/zHOz0yLB2DrP/4RX33mto1TignX2PDsq7TCHooiEOqw8fNjfkzkSP8LZGhrl93PT5Bf2nVZYahUxAla0PMjW89Oe6CnfuX8Z4ccG5IVvcCRtR2pQsJoPnGJ6zD9LApX4BLjKMLfjHT0XxN96XWoluHNalX2FJ6B90qANA6WHnF07IB0k2zyL/EVbAmlSEXZ/Byfz7A//ssX+B7pvOiMCbGM/XOISOa+B0xRYGBYrbq6umgLqRZaj40eZ67LZ2BC/TxAQL8Iu7NFcj1dLFhPAz+YBNa1qjZQNBidBJ0DaTTm72r0upGiuk77uP6N7 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)(376002)(346002)(136003)(396003)(451199021)(5660300002)(44832011)(36756003)(38100700002)(41300700001)(66476007)(66556008)(66946007)(107886003)(316002)(6916009)(83380400001)(6666004)(4326008)(6512007)(478600001)(186003)(8936002)(86362001)(6486002)(2906002)(8676002)(26005)(6506007)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Ptesvgh3Huemwq6shcDQ1RfJjKZNSf1d8uzAMEY4rIAwCrOS5KUkz+/AB0yT?= =?us-ascii?Q?YbZxa9SVtDQRHJXt+Eq2qbOcu7CCAPHocrsQdx2c24/ysXaC5rWyKs2IJybr?= =?us-ascii?Q?62DlNwSoHEGhV7dssOZu+RqTF1Mx9QEDKdxsTn6kuH1SNzyi169++2Jq2zRp?= =?us-ascii?Q?6w6eT/52zCfYDB2LpW/u1Ik3yQRiA3tinXNsve4lc+bOqdTCxeNYu7B1M6jJ?= =?us-ascii?Q?e0Uu0atETnUS+CKqFBC1Yqx1GhvwtfIgumL7to+GAofOpBP/ASgUTgD8RUzN?= =?us-ascii?Q?r6gzk7qPff8KxhPVSJRkibL62eo4LITJ5MLq5tALOWenQwKyetVO4/obYR2j?= =?us-ascii?Q?Imh3b5j2e6nMnfxqJgjTaoVu13qcd1WtJmXRw+BHtAc69iMMpqbO6VJUzl7h?= =?us-ascii?Q?kAuytsEMMWiSlQSQf8MUV4UVzWiqVZhwYn40MkPrgu27IuuNPALIP+8nLier?= =?us-ascii?Q?sM0HjvVN2/zdurOdkuKVlbpc9gpAp+UT7edpXlbT2+ImBouP4aQA3hiOTdP2?= =?us-ascii?Q?2+dNi7ZYBo+CqZgSWHNb5SqKTgG3WW9AUPaz/IWoOY2hGhf22ggBlv66zGh3?= =?us-ascii?Q?ceoMqtPMqTdNyF96MMf3SPbMN03KGedV0ZDhnT7bE/6VH/a8JzOF4+cfiMNA?= =?us-ascii?Q?qnRvJgRGeRxcB/1zmduk1eUKgvN2KZ6cSPROS81hmMxlFjz0DFUQzoSyTTGz?= =?us-ascii?Q?trMYUIq8VFNLeMFHQabtJiwE1FQ23RevjJUpLSnTteay/qCaa8uaatOnxIv3?= =?us-ascii?Q?4QDaXRwpMswa2XOiKQB0UfZhtD/VJ2S8rnBpF9yGKM4kfgh4rFOejnvxQmMF?= =?us-ascii?Q?obFytp195gf6ej8rC7o+CniEmp3QnRUtPvM2o9/Dr6iPwIdJy8zBaGDhl3vo?= =?us-ascii?Q?IeOyR6DMMjtz7uCEdz7bcrsp322pzRptMsF1DDYLIXsjh1WcETleY8nFN/i7?= =?us-ascii?Q?OmFhu5ZCqvev9ik2IbrxelEpBwP7cBnZ8lU5Fq+PTW7eDbZ0ekXXT3t5gH/I?= =?us-ascii?Q?4Rzo+HUhkUYyoKCAPIrQ3PRW3IbHUa7CETNZOHFgICIBL5vrq+YRcBtbVvwM?= =?us-ascii?Q?e3fcv0ok7nmq5WUVoN6eEh5WU1uzCk5XOB7OC8XUpGGWK3/TXLN+Qt216aNn?= =?us-ascii?Q?kMQ02rxPVEsHRTgLARcqbDWCsmC2XN6lIfRkZ1UX+ioGXan4iLHg6Ni1mGq5?= =?us-ascii?Q?NJyz2BbmzErXoBwZ7y+pzGn86wneNcq/lka8xChwL2otmVl27HEiauySnIXc?= =?us-ascii?Q?dOQDJYZlCjUUM+c3DjFjC19embxMTwVFZbW5f11gXf8TqqLpAOcPT23N6hNf?= =?us-ascii?Q?CXgXmu3hcjQL+qGHzb4BFt8ljGUh9YkGpRjm6Tip/A45Vkbp6iiPETHpYcDM?= =?us-ascii?Q?hzKA0ONKNZ1Twl3k7sd8fOJN05/LRcaQYYYKUTJuXWGqeMcpGwqYq8pLfqWU?= =?us-ascii?Q?XZ18o4P3hRROClt2wQ5uvbhWwIQucZjZzP/rPzJXD6WJYSBwi6kGAOtUxuvo?= =?us-ascii?Q?v3ZIWSQIXZAcFKgsnp3t5iYDgrblkSGvgjNhO+79zXiiz+nrZcqaBdQTZAAy?= =?us-ascii?Q?BcJCSqel54w/WVSLtIPBKGm1i+UYIVaxnB/1/7Sn?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b4e5d1f9-cd85-4821-5cca-08db5cf716f4 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2023 08:07:31.7858 (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: KX8mP0nsoP0dck+PPXS0OSzaNsTF26/JgjOQ8IxFhIwxX3ZQYwEUCT8NXFkcQE6PR1yx49OfwMTdrvUVRfoHLQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8075 Content-Type: text/plain; charset="utf-8" This patch unifies the three PM get_local_id() interfaces: mptcp_pm_nl_get_local_id() in mptcp/pm_netlink.c for the in-kernel PM and mptcp_userspace_pm_get_local_id() in mptcp/pm_userspace.c for the userspace PM. They'll be switched in the common PM infterface mptcp_pm_get_local_id() in mptcp/pm.c. Signed-off-by: Geliang Tang --- net/mptcp/pm.c | 13 +++++++++++++ net/mptcp/pm_netlink.c | 10 ---------- net/mptcp/protocol.h | 2 +- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index e7f944d09fcd..e37df2f45c70 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -408,6 +408,19 @@ bool mptcp_pm_rm_addr_signal(struct mptcp_sock *msk, u= nsigned int remaining, =20 int mptcp_pm_get_local_id(struct mptcp_sock *msk, struct sock_common *skc) { + struct mptcp_addr_info skc_local; + struct mptcp_addr_info msk_local; + + /* The 0 ID mapping is defined by the first subflow, copied into the msk + * addr + */ + mptcp_local_address((struct sock_common *)msk, &msk_local); + mptcp_local_address((struct sock_common *)skc, &skc_local); + if (mptcp_addresses_equal(&msk_local, &skc_local, false)) + return 0; + + if (mptcp_pm_is_userspace(msk)) + return mptcp_userspace_pm_get_local_id(msk, &skc_local); return mptcp_pm_nl_get_local_id(msk, skc); } =20 diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 2f58ab49512a..deb097f16abc 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1056,23 +1056,13 @@ int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk= , struct sock_common *skc) { struct mptcp_pm_addr_entry *entry; struct mptcp_addr_info skc_local; - struct mptcp_addr_info msk_local; struct pm_nl_pernet *pernet; int ret =3D -1; =20 if (WARN_ON_ONCE(!msk)) return -1; =20 - /* The 0 ID mapping is defined by the first subflow, copied into the msk - * addr - */ - mptcp_local_address((struct sock_common *)msk, &msk_local); mptcp_local_address((struct sock_common *)skc, &skc_local); - if (mptcp_addresses_equal(&msk_local, &skc_local, false)) - return 0; - - if (mptcp_pm_is_userspace(msk)) - return mptcp_userspace_pm_get_local_id(msk, &skc_local); =20 pernet =3D pm_nl_get_pernet_from_msk(msk); =20 diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index d8c9035c44fb..58989303470f 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -933,13 +933,13 @@ bool mptcp_pm_add_addr_signal(struct mptcp_sock *msk,= const struct sk_buff *skb, bool mptcp_pm_rm_addr_signal(struct mptcp_sock *msk, unsigned int remainin= g, struct mptcp_rm_list *rm_list); int mptcp_pm_get_local_id(struct mptcp_sock *msk, struct sock_common *skc); +int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, struct sock_common *s= kc); int mptcp_userspace_pm_get_local_id(struct mptcp_sock *msk, struct mptcp_a= ddr_info *skc); =20 void __init mptcp_pm_nl_init(void); void mptcp_pm_nl_work(struct mptcp_sock *msk); void mptcp_pm_nl_rm_subflow_received(struct mptcp_sock *msk, const struct mptcp_rm_list *rm_list); -int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, struct sock_common *s= kc); unsigned int mptcp_pm_get_add_addr_signal_max(const struct mptcp_sock *msk= ); unsigned int mptcp_pm_get_add_addr_accept_max(const struct mptcp_sock *msk= ); unsigned int mptcp_pm_get_subflows_max(const struct mptcp_sock *msk); --=20 2.35.3 From nobody Sat Apr 27 02:41:58 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2081.outbound.protection.outlook.com [40.107.7.81]) (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 9FC0C1FB8 for ; Thu, 25 May 2023 08:07:42 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AImr4VYCsQRB34+tWxYEUUhbQOECWUW3VaRvF+t/RXJRIV9IQfAa0bIw1fP2ZyfFbCUTBS49yOXlSRLgFDOihnSqwNn86rHdahpQ2wiRxOZlqEORGI9xMiVpa8EyIar4hRT2eTKZAdalPt7ILSSLivWvCK6HNhj+16aSwhQtcbh/QAIMk3rpgzCg7pAZTfheAFeiYQtb7hK1pZnzWqYSL7q5FOPygdVg1ocM+2KREfhAk4OdyOqaYMctDethHlXdUumA5PIxtJnXBg8X5Wnd+wLsM5s5nMBsLoQuXN1c0IXerufOzncMS/Ul+XihWOh/NBfDyhaB70844mzKmUwyhw== 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=jUuPcMYp3H9yqBsS1EVBRVe2IXVbrjOhl0x+Qn/ky1c=; b=BuAsi1DUgae3He7tIMvo+dB5HAoIl/gsR2odPTpx7TwkYKkrVvzfvcU73X4qVkhmm/8xPE30s1GkE4/84iPe2vg+AUNKZv8KKR3C8iMD28w+HXkrz+t7i0tLUDdPqu+4iG9huSdFpEVF0nwerPt1FbAT4zmPedaU77hlk43pkhNe70Q1WzoUdcHZN5Yw/wFB5g3trbm4IFiOIE+K35LM34SS3TEMnwboZL2PpvmKaHRWu0Xg6Wt3yBKk3xHW5uTxGbIR4zkEHDICkAoKTy8chgXurw5ChHomo7oUwpWojYwCJZq0jef0Vmc2cCFXLfFu4bOz4NdsvoaKKQlYu5mp4Q== 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=jUuPcMYp3H9yqBsS1EVBRVe2IXVbrjOhl0x+Qn/ky1c=; b=Hq160pT9sU1CKMPbzabmSLNUlhSoj5EbYowvHpF3HA69+sPR1P+afaCRhGEnDkxYomRSp3FVkLM+TmiG03qFyks5iR2XtRJ1+khMuXrZ+n6gehlJUo3y+Btl/rsWmLqGW3Zud8/XB8+NYBI4yxBvb4WrzL0pgHvnyz/uigvjQrnUvS8/PfxYr6/WwL34b+0CRCtj7W1x8EcKTmV9StCXeNsZvN08C9YunXSEtlKSFtNuUgLRKw7GBpAOZYeGKyNXo+fnkFrNCfeXekioMLVglsGYEIz2QC2tme2XeYI64VHoIKi043UosIiSrH514jf9OzOQsn/yB95k6ujMPIytsw== 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 DB9PR04MB8075.eurprd04.prod.outlook.com (2603:10a6:10:25d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.15; Thu, 25 May 2023 08:07:39 +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.6433.015; Thu, 25 May 2023 08:07:39 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 3/4] mptcp: unify pm get_flags_and_ifindex_by_id Date: Thu, 25 May 2023 16:07:09 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR01CA0025.apcprd01.prod.exchangelabs.com (2603:1096:4:192::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_|DB9PR04MB8075:EE_ X-MS-Office365-Filtering-Correlation-Id: a76bb8ee-9935-4d99-9817-08db5cf71b97 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qVDq59OCy96vtS40G/QW9dzUF6HS+U1nKR/R7y5OdzyLsLQJGDWaUw4DDPhCV7+/x2Kw5raw7pp9tqV0Go5zDE3teak0JEKkM50hXMLl+ivlfNHjTIF4Hu9t2tVPEZK28Z4OdqWCtTUrJEwz4tqsWKzhNAX1XjuNlFRuI6rQiCxCIUh8nAImAUfTQ9sOmnbXP22/oUqnhDr1PGp3XE+iAdQEJHasncIBmSjMGG12PVlVFIc1x3bptYtv0w7d5utMpsqE5OUNMKjsofLsDebXXuhQ+oVl0lCOGkXKl6+tJk+r4ccyj1BhY+lJULtf0dGmWBEyHoBoat5AqlCKzx8cocPpwwonOe49OoYB+K8oWHfU9MxfIADvbQs5f6XDl6ZJTWglaNz47mXsgbuJuel4Z5row+i8wBOqA6vDJIElp2Pqyko1/Ar5kirpUBb+XNbH3m9zBeruBBad1tXidrxpjLRad9Gs+VOdnaayrpAs0VEVS5/eqa4rpgnP4PzZrMsadim+SN4/szLf0ZbvKKrf9gqrhyb/eT9QdYm5EeKGYsia0o+dMwqio07RQZ6K6s0j 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)(376002)(346002)(136003)(396003)(451199021)(5660300002)(44832011)(36756003)(38100700002)(41300700001)(66476007)(66556008)(66946007)(107886003)(316002)(6916009)(83380400001)(6666004)(4326008)(6512007)(478600001)(186003)(8936002)(86362001)(6486002)(2906002)(8676002)(26005)(6506007)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Lb8e25rKxxnckcj6RA4fb74nyD3EDjfb7WYXMMHQSZt2MfG+ZiOO9eRS+P8t?= =?us-ascii?Q?wpUQNk+uJzYTV3ygDkpnGxOlOdoD8moGchSNyS9FG7KcLYLikR+MFu7am2pl?= =?us-ascii?Q?Xr4tJbTlzQHxcQJnHHMWz7RgXp3IJjVsVRIyn9+3BHxkjDFHrn/IraiHUprP?= =?us-ascii?Q?m8Bk3EIptPDEy+vdiQCurT71ZAGD4R1uxxH9oNt8F4thSiFdpI0bBmJ8PSty?= =?us-ascii?Q?2toBvb7R3OHPp3H9JCiHXcDs0tKzp0vZ4H+BZjQiAlKUMce7/j47CCTsrt63?= =?us-ascii?Q?ZH0KHIgnT2jP99RJj3jBZ7VMH/vXheohQfqlczq7L1tL4FwQxQxl9E0csihR?= =?us-ascii?Q?3KRip9vynHtYiQ7Sn+jsh2cY73Ex6n5xB7yD1PCkRb8L/ZjD9KmgWz88nq4h?= =?us-ascii?Q?JFUYTBP161TgSlzSRrA+z1iHkme6Srv8oR1xZZ1Ct+Kj4tTpfAcR2vxERYJ/?= =?us-ascii?Q?a25Uc3VwaKny6JoEUFeZN7KOPevxG8CqXsJDj6E6JikkXlYtP3AdonqsUTMS?= =?us-ascii?Q?xcJNm6o6UwY/aY7j6pnLo0azqM8bFy9uvJdUxGJ5KabTCDmGPTF+Qojbb3ON?= =?us-ascii?Q?NE/AZPH/p3XoOZ3kN9mdJsAHR88XGC02JK5vBaVZcTf05Z4RFh//ZQV4mDv5?= =?us-ascii?Q?a/2Ukm2Cysk49Shtr0uY22x9miTBpLNwTC8WYBY23sbZyICJXIa1QHSvgL/B?= =?us-ascii?Q?7GgAgOM6PcFACn0nGFBu8YujG/2L4y7lfPcvzPoh6A4Z2va2N6gg5JVeWYqP?= =?us-ascii?Q?vAzr8JrHxZrugNebAJ59bMZ7xET0yrDI/gy1/4pCnt2Fk0g6x1+LJ16I+28e?= =?us-ascii?Q?bTFo0jxlutmOnrCgDv0ZTStyk3rs30gCnPwtBqRsMPAy8e0Y5+LJulXsXv7+?= =?us-ascii?Q?nAafPFgL86oirfc8g+bCQBvw2L6qG6cWmoPZoattdwbDtm74wsC55fMPQ1Op?= =?us-ascii?Q?1PY/PZ2hy/kJsQzqLCp2OyJyDbr2ey8+T7hg1YVPV5SWw700AWj4OM3KJGU2?= =?us-ascii?Q?7hmCfZLxpsVgdLUPCFEnpLsUFZGEMmvG26wreIX7j9+rpgM4qtPeJ1k1zbXL?= =?us-ascii?Q?iq8YtZmLfVF6Q3pIM5tgerh5TPTBYfpI/9pKshWZkcBh5E16GmwDKWMNFVXx?= =?us-ascii?Q?TqgpMvBEx/6H0CXtIPE0nw1AkRpEvbdUZRUg4o6K4GZv0YwMzY4nUiEGN4hb?= =?us-ascii?Q?RfSE4BZiLVESEXxSfJ568RwbyT0Brb1YI/7PWZKRxTjp0m9ByBJ5Tw27RtAD?= =?us-ascii?Q?qV9LcVBs4z4wfdVy61LGw5m43wHX/Ecr9VD4HNwarUIegq/tpX6EXWFplHAk?= =?us-ascii?Q?JRRNxw3+TuiRr8+af9LXTzDiKrR9G7I7o033AuHOgnSwN0AKTzwIvCZsMy6n?= =?us-ascii?Q?1Hq3slHbLBx8110CjknJrOEpET6ZYkdZBX7lNkO6bG8fgE+7uMCAxCBnPt1A?= =?us-ascii?Q?yCJkErBl4tkReYKF2e7divCZX94IO5ygrd/PFhXJU6gTL+pNagvs+oY4d5UZ?= =?us-ascii?Q?KtcZ21KavCRbxUClSnnv/sPizEF6qZtDHpFDFDylp4qgz370C5muaAKd2TMu?= =?us-ascii?Q?NwoVnCsxwsDd9EinGahZFHLkyv4bdjRXH/Fm+4E7?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a76bb8ee-9935-4d99-9817-08db5cf71b97 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2023 08:07:39.4023 (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: EMyqnAuDwbP5cTJhNmmmJk2+lWh6BWRnFs4uhQTa3rjx5j2kYo4CGvye+2sNUqKAn8V3t253kIHufWxg5VnD2A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8075 Content-Type: text/plain; charset="utf-8" This patch unifies the three PM get_flags_and_ifindex_by_id() interfaces: mptcp_pm_nl_get_flags_and_ifindex_by_id() in mptcp/pm_netlink.c for the in-kernel PM and mptcp_userspace_pm_get_flags_and_ifindex_by_id() in mptcp/pm_userspace.c for the userspace PM. They'll be switched in the common PM infterface mptcp_pm_get_flags_and_ifindex_by_id() in mptcp/pm.c. Signed-off-by: Geliang Tang --- net/mptcp/pm.c | 8 ++++++++ net/mptcp/pm_netlink.c | 10 ++-------- net/mptcp/protocol.h | 2 ++ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index e37df2f45c70..8499196b8789 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -424,6 +424,14 @@ int mptcp_pm_get_local_id(struct mptcp_sock *msk, stru= ct sock_common *skc) return mptcp_pm_nl_get_local_id(msk, skc); } =20 +int mptcp_pm_get_flags_and_ifindex_by_id(struct mptcp_sock *msk, unsigned = int id, + u8 *flags, int *ifindex) +{ + if (id && mptcp_pm_is_userspace(msk)) + return mptcp_userspace_pm_get_flags_and_ifindex_by_id(msk, id, flags, if= index); + return mptcp_pm_nl_get_flags_and_ifindex_by_id(msk, id, flags, ifindex); +} + void mptcp_pm_subflow_chk_stale(const struct mptcp_sock *msk, struct sock = *ssk) { struct mptcp_subflow_context *subflow =3D mptcp_subflow_ctx(ssk); diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index deb097f16abc..ab4f0483d9d8 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1359,8 +1359,8 @@ static int mptcp_nl_cmd_add_addr(struct sk_buff *skb,= struct genl_info *info) return ret; } =20 -int mptcp_pm_get_flags_and_ifindex_by_id(struct mptcp_sock *msk, unsigned = int id, - u8 *flags, int *ifindex) +int mptcp_pm_nl_get_flags_and_ifindex_by_id(struct mptcp_sock *msk, unsign= ed int id, + u8 *flags, int *ifindex) { struct mptcp_pm_addr_entry *entry; struct sock *sk =3D (struct sock *)msk; @@ -1370,12 +1370,6 @@ int mptcp_pm_get_flags_and_ifindex_by_id(struct mptc= p_sock *msk, unsigned int id *ifindex =3D 0; =20 if (id) { - if (mptcp_pm_is_userspace(msk)) - return mptcp_userspace_pm_get_flags_and_ifindex_by_id(msk, - id, - flags, - ifindex); - rcu_read_lock(); entry =3D __lookup_addr_by_id(pm_nl_get_pernet(net), id); if (entry) { diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 58989303470f..c91c9387f42d 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -838,6 +838,8 @@ mptcp_lookup_anno_list_by_saddr(const struct mptcp_sock= *msk, int mptcp_pm_get_flags_and_ifindex_by_id(struct mptcp_sock *msk, unsigned int id, u8 *flags, int *ifindex); +int mptcp_pm_nl_get_flags_and_ifindex_by_id(struct mptcp_sock *msk, unsign= ed int id, + u8 *flags, int *ifindex); int mptcp_userspace_pm_get_flags_and_ifindex_by_id(struct mptcp_sock *msk, unsigned int id, u8 *flags, int *ifindex); --=20 2.35.3 From nobody Sat Apr 27 02:41:58 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2059.outbound.protection.outlook.com [40.107.7.59]) (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 7F9061FB8 for ; Thu, 25 May 2023 08:07:50 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MJViuvTX6mq0UKVBUae5jNm525jCKayidiEOBwrTYi3fVH1BTPa2Hx2HbwoEbS5ZeSdslV4+ANavLVwXJdxu5wDFBATRwHnCbHztDth1GWJzM1qZDx8TuyU9nE5a/p6XT1IfwiwFAvenFj6NvNLpACVTanKHJaOaGAq0KKaA/RoX32Gqrrs4b6Dq9B9zmxbKcY+THyJyYjVbXHPghrAobj4ytEUvMbUbj0vxo7lnWlYBjlWUP35ib9AG7+a+EwMKlITgMKtf6MvilOTvQxNycSY18OLBFO+pcIrExUnlcpUvuy1G6vH468V3k+HHJYu4mwsTSlfhRYOiD0l8pyNcZA== 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=XbyZfgZBEFSwM9YgdVyVjI7LZnwJY5FYUgrPHcsvxX8=; b=ELh3KnjZK5pHalvTYlXerYcg/N+c4N8SdeL/WfAZ/8LaptW6QGyOIQDFe8SvqFb2VMYDaNpzdj/xVLPxAgomyDs2oiSk8d9OkvaVfC5NtadSh2R/hs2kt34U8j1/AuB6o46i7THCQePLLQLiIs82onfMRtqGSml00fJczkb+ZZJl1ucvyBhS+IFGWFL6O/t1+Tm8vnLuzFmZH85qL3pbpwO+EFN50ZewrtI99st7nxOV0e4wq2L19HaDuQ16dmPIHbMCdHQftJY9jaEpgY/4vBFoHTKFtBcAdYdhVinGeXu+wpiV1rYv6fgDRvs7OML0GjZtBByG0tiJgX1edqvllQ== 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=XbyZfgZBEFSwM9YgdVyVjI7LZnwJY5FYUgrPHcsvxX8=; b=fEIf9Jh/STJkCJnjcZNUX1LLDJHnIwF0bNNYEgQuZCTgki+rCOpJsHzQt099GHJ8eI+kP9JbhoXoR/gRg6toQtajQnLVeFtkjonb3kQ6K5APnhjfBh7D/UIvwgHdJHO77PGdfvr99GBR0aZYpDG0v/4SPr2GtODh/F15CMll3jeYeZNAMrmD7i9FrJY1yGmZyi2EpmoqaLWrOVdjniJRYYEKw+jx9Gsvl00cnTu8CnoP9dx8V7BlfQy+vQ9J8mqbnRwHS2bk0YTfyn2ZONZR8L4GeJQmQyG8dFqAOx3XzxheZzC04a85OUmOW73fSVXC3gcxEsJDbLEQQKGfMKEudg== 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 DB9PR04MB8075.eurprd04.prod.outlook.com (2603:10a6:10:25d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.15; Thu, 25 May 2023 08:07:47 +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.6433.015; Thu, 25 May 2023 08:07:47 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 4/4] mptcp: unify pm set_flags interfaces Date: Thu, 25 May 2023 16:07:10 +0800 Message-Id: <05ba1107fa5edf988fa07856ba359d73bf51f54b.1685001897.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR01CA0028.apcprd01.prod.exchangelabs.com (2603:1096:4:192::21) 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_|DB9PR04MB8075:EE_ X-MS-Office365-Filtering-Correlation-Id: 01b13018-e532-4301-d355-08db5cf7203a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3uFQRWpAZLHHECsE5ZRXlKXP2fmdT3hBTC5tRXB+yaIgpBdcYIT3R/pWAr8PgNCy/FTyXuCK7y7jFwuKpqGmD1uDLem7mAVWiTjzsfMZVCLkHkyFr8IaZXGMQiKo3vhi70HqzgrhxWQTnnnbhSvf8yNZm/fP4kfCij8ak0N5or6hDCPKy42LGyj23fU8qV90WPOkjiDjawctOoTt8pcVUEr2m8GpDqpMIRdtm1AbxpAMATfGd2683GdHZ7lPFHSO6QvEmzKhW8n0oQ+WmsHiM26RSiDW42HhhNHThr/aLpPadzNIzxRYCU+RmFpoTm2ZBFWDqtIpJQ8O+Tx8zae+/R5yJWDOg5oP0CwAY6TsaOXX5LyIV1E10xoW1fCull0T2aIs3UtP82GAcqKyUJuBbmIQWh7mcHRLSrm9Sp61eAO7bysjnuFkK2JYwBZ3UGJsrXjAORmV5SBUVMBxLJc3NfDSO1GAsKAAygYQrG8nVDzN3GhkgmLUnj+8/GLRACVA2w9w2/1ErMhZrRbZKbwjU+VnrWvmU8k1t8BIG1ZI5kBNX1pn6U6ccTQbCbih6u9F 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)(376002)(346002)(136003)(396003)(451199021)(5660300002)(44832011)(36756003)(38100700002)(41300700001)(66476007)(66556008)(66946007)(107886003)(316002)(6916009)(83380400001)(6666004)(4326008)(6512007)(478600001)(186003)(8936002)(86362001)(6486002)(2906002)(8676002)(26005)(6506007)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?voov/UTU1CUqb0uvGDC+uI6h3SAcTOgvPAoLn6dM85HEgRPUrIw9/noS1gLJ?= =?us-ascii?Q?zBkES7NmRaiM4FLrhxDRhViWEcliawR9FZd24Rgh3gccWKMZCk2FjsTI6Ngs?= =?us-ascii?Q?oqmtLmOMb3zqaRaUIhlYU0Ct60BLCYlv+9qZzdjlh4kJWyJ1VyiPgkTnX/Tr?= =?us-ascii?Q?vSbFWUlvno1rsHCA4fhSMdViWxXwOSGByz468regZc1UHGMVn6PbYAbfOZu8?= =?us-ascii?Q?ct+BogGA6GVkbcba+gG6gGH33QUOUQ/z352jyjOrqZHg5mu3DD+a+w7m5E65?= =?us-ascii?Q?DRkDuil+1EvmEp3z6KEomGCUZSMlB6RyuLD4Yg0KIy+Ys4dqpIR5dx9K4jN8?= =?us-ascii?Q?IiYd3EFHLHpvwxkj6v2lX7Zhmz+cZwLsKhQpFTtPmftHWTkfzPj+jZLtoRWe?= =?us-ascii?Q?a0qEpnQOOyuuzG6E+d0yelZwuf2jCDIKHpflgavlWS+AnadrIK9mhYj2VVUe?= =?us-ascii?Q?m0//FmHwgG2TbXcJ3VkiYN2UDtdJ5z2FtqmQ3sy8WWsJbKE5KqqRW21N4QCL?= =?us-ascii?Q?R6hA6lAI6BZNJR/z+/69OHAQKyFnj1dRgUlClrqXIDIqvri17s745JDRXWxT?= =?us-ascii?Q?2PaslNWIE9CQmxK2cmJK5CT5ToZqiAymz6V0UHVhlgkfnSo1K0GK5wqc6Jdp?= =?us-ascii?Q?u0TdG4hMR0WQTyAQ1Ev5hkQL3EyOazLiPyq21cfjZlzVCgxB1rdTRhWPLY59?= =?us-ascii?Q?d8yXBs35Tpr8Z2GwezO9hnTFIYoact5d6xE3Pdjfka1aV6SUn3T+XcapqQMd?= =?us-ascii?Q?qUwBzdQ1C4k27jhAg63irVREII1rrB0FWxzWy3Rac2kvVn/SJ85hyO1Pxo/O?= =?us-ascii?Q?xbMmkwxHOz6atoFcVclzX8H5dRS0KN7DAUnhf19/RHsEcxkMM3EPwT9o2T89?= =?us-ascii?Q?9FuHutSnV7881yNEsqim3kKkvrmGQ7E7g07u/zTJAnAY8uyw8cZ2f2eeENze?= =?us-ascii?Q?dlMYgaRj7mn+oiFmhbvOEXTWhuetorwhf4nLVDa74Q+DkdOp3HAUxysK5qs4?= =?us-ascii?Q?HsZb2jMn4GgFlWfCPPjU2WA0N09/QtqXR9Yb4auwWWgv9TcNokwCgMMaEVTO?= =?us-ascii?Q?1A9iNvQ0EAFzRahcuZxR+mx6Z3fcjTz1ahPsNlj6jLym1G8y6quRmba516wC?= =?us-ascii?Q?/1powtLd0Oworv+cYAcaGo0n7Bnya1oZL9n+NfE0KMXwHymgNXKUmCYeGDLa?= =?us-ascii?Q?IxOdhBNfO2WcmFzsaCKhIPbFbCsacBaN8AkH9qgZFi/sTGMURNF/49Qyf0ni?= =?us-ascii?Q?R1XZD7rLAbPNk70psHIBRqlkd1dN7ZGdemVO8YIw4cP+szY/n/zNptoa4z7O?= =?us-ascii?Q?kE+5+dvBZ5rugfgDaftSRaCBRcPpViRPnTo/CeUBZ8dyT46gwTUTdNjFVWdl?= =?us-ascii?Q?JVIDhNyWbj7P+OCl4sTpSnliovDJ7S043jicIKs3gsBbYJw8VLVhg+WXsQ34?= =?us-ascii?Q?U4jvkjxEVVQfTvmMyPAKTaKd0atxxnDzxaoTuoOeX5663T6TQT3ixp1ooY7n?= =?us-ascii?Q?R9goariTtt759VYx/xXJJ0JBlyfFsh29Um32otSBWpAJCEgiAICPR4lw8m7v?= =?us-ascii?Q?6LKJxB2h4vXXUIMwOsFQvgnWyh1ZO4KTJFEojHQJ?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 01b13018-e532-4301-d355-08db5cf7203a X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2023 08:07:47.2680 (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: Rl4YaZ4NmvjpHpKZb0cISAkAyhZZtBVWKaqANWSV/EUXXR9AKKOlZNy9A2ale9OW0JV6EQ9CrE4hhn8MF4iZXw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8075 Content-Type: text/plain; charset="utf-8" This patch unifies the three PM set_flags() interfaces: mptcp_pm_nl_set_flags() in mptcp/pm_netlink.c for the in-kernel PM and mptcp_userspace_pm_set_flags() in mptcp/pm_userspace.c for the userspace PM. They'll be switched in the common PM infterface mptcp_pm_set_flags() in mptcp/pm.c. Signed-off-by: Geliang Tang --- net/mptcp/pm.c | 9 ++++++ net/mptcp/pm_netlink.c | 70 +++++++++++++++++++++++------------------- net/mptcp/protocol.h | 4 +++ 3 files changed, 51 insertions(+), 32 deletions(-) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 8499196b8789..3d5f8afb7602 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -432,6 +432,15 @@ int mptcp_pm_get_flags_and_ifindex_by_id(struct mptcp_= sock *msk, unsigned int id return mptcp_pm_nl_get_flags_and_ifindex_by_id(msk, id, flags, ifindex); } =20 +int mptcp_pm_set_flags(struct net *net, struct nlattr *token, + struct mptcp_pm_addr_entry *loc, + struct mptcp_pm_addr_entry *rem, u8 bkup) +{ + if (token) + return mptcp_userspace_pm_set_flags(net, token, loc, rem, bkup); + return mptcp_pm_nl_set_flags(net, loc, bkup); +} + void mptcp_pm_subflow_chk_stale(const struct mptcp_sock *msk, struct sock = *ssk) { struct mptcp_subflow_context *subflow =3D mptcp_subflow_ctx(ssk); diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index ab4f0483d9d8..d2e86ede5eec 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1890,18 +1890,50 @@ static int mptcp_nl_set_flags(struct net *net, return ret; } =20 +int mptcp_pm_nl_set_flags(struct net *net, struct mptcp_pm_addr_entry *add= r, u8 bkup) +{ + struct pm_nl_pernet *pernet =3D pm_nl_get_pernet(net); + u8 changed, mask =3D MPTCP_PM_ADDR_FLAG_BACKUP | + MPTCP_PM_ADDR_FLAG_FULLMESH; + struct mptcp_pm_addr_entry *entry; + u8 lookup_by_id =3D 0; + + if (addr->addr.family =3D=3D AF_UNSPEC) { + lookup_by_id =3D 1; + if (!addr->addr.id) + return -EOPNOTSUPP; + } + + spin_lock_bh(&pernet->lock); + entry =3D __lookup_addr(pernet, &addr->addr, lookup_by_id); + if (!entry) { + spin_unlock_bh(&pernet->lock); + return -EINVAL; + } + if ((addr->flags & MPTCP_PM_ADDR_FLAG_FULLMESH) && + (entry->flags & MPTCP_PM_ADDR_FLAG_SIGNAL)) { + spin_unlock_bh(&pernet->lock); + return -EINVAL; + } + + changed =3D (addr->flags ^ entry->flags) & mask; + entry->flags =3D (entry->flags & ~mask) | (addr->flags & mask); + *addr =3D *entry; + spin_unlock_bh(&pernet->lock); + + mptcp_nl_set_flags(net, &addr->addr, bkup, changed); + return 0; +} + static int mptcp_nl_cmd_set_flags(struct sk_buff *skb, struct genl_info *i= nfo) { - struct mptcp_pm_addr_entry addr =3D { .addr =3D { .family =3D AF_UNSPEC }= , }, *entry; struct mptcp_pm_addr_entry remote =3D { .addr =3D { .family =3D AF_UNSPEC= }, }; + struct mptcp_pm_addr_entry addr =3D { .addr =3D { .family =3D AF_UNSPEC }= , }; struct nlattr *attr_rem =3D info->attrs[MPTCP_PM_ATTR_ADDR_REMOTE]; struct nlattr *token =3D info->attrs[MPTCP_PM_ATTR_TOKEN]; struct nlattr *attr =3D info->attrs[MPTCP_PM_ATTR_ADDR]; - struct pm_nl_pernet *pernet =3D genl_info_pm_nl(info); - u8 changed, mask =3D MPTCP_PM_ADDR_FLAG_BACKUP | - MPTCP_PM_ADDR_FLAG_FULLMESH; struct net *net =3D sock_net(skb->sk); - u8 bkup =3D 0, lookup_by_id =3D 0; + u8 bkup =3D 0; int ret; =20 ret =3D mptcp_pm_parse_entry(attr, info, false, &addr); @@ -1916,34 +1948,8 @@ static int mptcp_nl_cmd_set_flags(struct sk_buff *sk= b, struct genl_info *info) =20 if (addr.flags & MPTCP_PM_ADDR_FLAG_BACKUP) bkup =3D 1; - if (addr.addr.family =3D=3D AF_UNSPEC) { - lookup_by_id =3D 1; - if (!addr.addr.id) - return -EOPNOTSUPP; - } - - if (token) - return mptcp_userspace_pm_set_flags(net, token, &addr, &remote, bkup); - - spin_lock_bh(&pernet->lock); - entry =3D __lookup_addr(pernet, &addr.addr, lookup_by_id); - if (!entry) { - spin_unlock_bh(&pernet->lock); - return -EINVAL; - } - if ((addr.flags & MPTCP_PM_ADDR_FLAG_FULLMESH) && - (entry->flags & MPTCP_PM_ADDR_FLAG_SIGNAL)) { - spin_unlock_bh(&pernet->lock); - return -EINVAL; - } =20 - changed =3D (addr.flags ^ entry->flags) & mask; - entry->flags =3D (entry->flags & ~mask) | (addr.flags & mask); - addr =3D *entry; - spin_unlock_bh(&pernet->lock); - - mptcp_nl_set_flags(net, &addr.addr, bkup, changed); - return 0; + return mptcp_pm_set_flags(net, token, &addr, &remote, bkup); } =20 static void mptcp_nl_mcast_send(struct net *net, struct sk_buff *nlskb, gf= p_t gfp) diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index c91c9387f42d..5bea299a8499 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -843,6 +843,10 @@ int mptcp_pm_nl_get_flags_and_ifindex_by_id(struct mpt= cp_sock *msk, unsigned int int mptcp_userspace_pm_get_flags_and_ifindex_by_id(struct mptcp_sock *msk, unsigned int id, u8 *flags, int *ifindex); +int mptcp_pm_set_flags(struct net *net, struct nlattr *token, + struct mptcp_pm_addr_entry *loc, + struct mptcp_pm_addr_entry *rem, u8 bkup); +int mptcp_pm_nl_set_flags(struct net *net, struct mptcp_pm_addr_entry *add= r, u8 bkup); int mptcp_userspace_pm_set_flags(struct net *net, struct nlattr *token, struct mptcp_pm_addr_entry *loc, struct mptcp_pm_addr_entry *rem, u8 bkup); --=20 2.35.3