From nobody Mon May 13 00:49:29 2024 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2070.outbound.protection.outlook.com [40.107.247.70]) (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 16FF71A58F for ; Sat, 4 Nov 2023 14:16:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="3Zkh0F5v" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DyuULxAdiIOzugYIkn0wuQmkzIzlCEjyjPVN4JzjyPJOVqkNV4Kn0/zAKcFbTNCVCJpwRtY3u9Vv0dwMGxz9XKZNSe/zVLvza3r+0jjhn05U0FMoITi2jdp994FPU0dwFP6aSV8gy8G1ael15WX7F6xr7ZkvXFEknuKVQ1/Hv996yYY17zez4mTMJPKJJRfzZ0PjgFPW102yOhjnKeOt/TqfK2n78pVItlC6oRA5izxrDwD//GvAxQ/ZD9a3BMvosDWTYg37YXF6KbaK4W+DbFbM0RN+U/vDbahfzEiQbpcv2XcCpVFUQVHTLTsFVsoLerV/pbrkd3nnjGDshHy+Fg== 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=vReZACddXLMbMaskUnWwXjR6MncW7/kCiiIEdU023zA=; b=jJ1ot9APyp5+8qRhAcnSbfCfT+rBBQ67rVDAh2xSEZbZCI+vp3cA2u5JFZw/3d8Vh2qF3PAM3ZRoLETnPQMtHNKVBRLEkVq8HYjmkRLtXf7AUBqhuVIayV2c2mW4dC0kDxXrDZaYsw5lcUp/xE1lDrVm8pc/jGBJdqRiBEyMvq1+IPaIatqy9uP8r3g7dwDi0cOxqXEMuihOZ1hritvysdXHdfbE6AJ7om5PlH2ECjQR3tk8PQGcY4zipRwwFx2Ado9V4yRaSu35302mXTxtTVFEzx0StfeVzgC7jbApQlcWP6HY+P3hRu+R7bJJc2sjnC0D8HFkalLnQ5prZ3WyVw== 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=vReZACddXLMbMaskUnWwXjR6MncW7/kCiiIEdU023zA=; b=3Zkh0F5vSiT1Z0PkWvt57oPLo4EmPjEVDh875H41aonP19AhelLbfXxC4U9BMs0udlOiH82MrSeDL7wSX+Cje24XyAIaCY7UuCMAF7TYfg0uZmX2Em/wMotx0BEILY3kADJ2oVUG+jVWm48SHqCTUaLO+hyLgmM/2c9dQXndZtrBc2e3jpTJ3AmnmU2HpoUHuuet1RorB+628v52b8POifjCW3MR2d2vJ55RO8tNKSwK7X9SUvN9GsPok9VD/F2zJLsPVS3LD27NRd/0XsXTEMJpnAF7YeZYup09ZaKBCEtq9p4n0E7JYJguRcs5zEX85KJbHeLrgU+NOt/PRFySHA== 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 AM0PR04MB6820.eurprd04.prod.outlook.com (2603:10a6:208:188::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Sat, 4 Nov 2023 14:16:45 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 14:16:45 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 01/12] mptcp: export pm_nl_get_pernet_from_msk Date: Sat, 4 Nov 2023 22:16:15 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0004.apcprd02.prod.outlook.com (2603:1096:4:1f7::12) 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_|AM0PR04MB6820:EE_ X-MS-Office365-Filtering-Correlation-Id: 901e0ccb-258e-4e9a-4330-08dbdd40acce X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Npm3KFi8gPclFG34qqv6c16I1hDPmjEJREMn4Ls+0IJIINN+0xzSW5bCeIydhTdzWl8rcKAfSLDl+ryCB3GzkIsY96721ThuiEstmY6h+ziamz5fUfSN5DrZMq+GxqnKkJQBdxYrhqLOGtd4GbDGrLvgg0xfDaF8CvdT6n3tG+yzDpDqTyQeOjBN42rn3BnC8TRZ26OY3f9o3nPFdOLI5+VjTSkCwalQ2qaJprzOYC9hRvCQVh7eg1AMKJZotw8yfNz1yRoV0lceGvu3/jvPpS7z918c7Hphk7mQPQszM7D/JzJqnCb7sM/IhXsbg30n9YLwt3oju0nTDfjYUS8jN1DC4W8756/FHeZ/StGeammmxQTmhKwBgLEX+fMCplNDeusUybcKZ+GPvqAiADteZMqawnSLFkw0RcfGXozu+5VAXwVv2QH1lshuvlo4A8JOAsrHQmQZEIg8gHsa39ncYhSjHe4s/PcIejEO+/BeR0nKs8pkvU2pElUXIdae77CimiHYjpmqIpz5Ld0axw4wZS/yWtD18u/QIgQhbp148QoMtQLe2Ljkdrog1MmPoSci20adKDao171U96X5A21LcT6Xx+SoD6f3RJTRdzUyZ5M= 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:(13230031)(376002)(396003)(346002)(366004)(39860400002)(136003)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(83380400001)(5660300002)(2906002)(6512007)(26005)(38100700002)(2616005)(36756003)(86362001)(41300700001)(6506007)(8936002)(107886003)(6666004)(66476007)(478600001)(4326008)(66556008)(8676002)(6486002)(316002)(6916009)(66946007)(44832011)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?a7P+9jZEgxeU17o6dRx7AI/7da339gBdhkFSQgZeoirs9tCkz5EltwGgTKHh?= =?us-ascii?Q?hyeRM5xmOUIqXLDXQyxbsMQfFLVtdX0nKY51/DHMRupzkVRSoqyoeAH0gRan?= =?us-ascii?Q?bcTLFKS76Cj/Jj04moa/vkmF8Cp3sh+TBGGFiEinapTwC7Zq5KuTXG4z/B8w?= =?us-ascii?Q?/YK1jwJLOrBbcTcXCz8kTrRICkrRRMuov7EqVTzYG8etT7ohTt8JiFvi6V+4?= =?us-ascii?Q?vTkfOjZ59pMwUfONpSW1iUFvF9TLHGMVA2rf90hBctbN8xUDThfU70ai1TxK?= =?us-ascii?Q?j4lATHIAtVnAki3Xz2tHHah/rgwzNxG1dDBQ1RV5koMz6/wEg3z2pW8OlPlG?= =?us-ascii?Q?PESAIqZLqxwgxhlD/g9CzoqLDduKGP3hpzBjc2gRh0Ac20qSg5MR7xp2lLIU?= =?us-ascii?Q?+tuOwB9k66p8+SSjbhfkjoxWxMCw+jlb3Ze1IJUlTqJxQG4p7GrfX1rJ39ib?= =?us-ascii?Q?t5s8UAFh0bxcmwloX6H63W5gs0sXe15KbB0X2I1E29VcQFV/o+zzS1aY72Sn?= =?us-ascii?Q?/Ig/4+nRqgt00c2B3P7TAGK+IXGHVs2ybagyrO/oubY9Lmq0XyKSCcl3kjHr?= =?us-ascii?Q?DXB1x3U7bG0B7NdfjjrL+brL+RhJhYhZo01Mx6/mD8DMfQz6Eq/qs8Ens9X2?= =?us-ascii?Q?G4whk65+TO7FhK9C0oSgOzv7FF4KibU3jaE1MLPcrIU+efTPlW9WdHx1NQVN?= =?us-ascii?Q?zRegt7147R+yn3LHKkyjG8zXrfhsQ6kd0RTUh/OgMgKlGdgKMg5uw/stT6Q4?= =?us-ascii?Q?buIiIr9NTw5/h8uTCV7S0Wccn3pMs4Mhbo3mqELeTonqlERWX1oPSGYbMF3m?= =?us-ascii?Q?KZ4WVzaIzj9N4hG4I/I6HeWT1OdJNCgpAUe63AQ2vebd1gnjNhD6xkyd0RiZ?= =?us-ascii?Q?xOPo3vAgfwew03J9QGBQycKfFwpqdY8DCcVR+yVxVbIkcOv0T+ZJJ2SPSPEh?= =?us-ascii?Q?ndEQ7VQrG1ParI+z+Sm20oM+6ymTSKb1rjl+T73t8xn8q2ek5Lmk+aXSsnhi?= =?us-ascii?Q?AJmqMuZ3mxKta8wZdJ7jJDFTCSi629rlLnURwqhejUuy/QvXLBGNp3884AaI?= =?us-ascii?Q?3VsDHrFtPUr2JVi/Dfued3uMnG5YeNNKxM1FNdOppey06zxOSw1F0jgyc+l/?= =?us-ascii?Q?FqLRkzXZ1V3hE9x0QCVG21qUzYGTNDRz4oUZF78l2DM4MO2ISyKE+M6cSwMl?= =?us-ascii?Q?ZR/RJLNsMyAidUDBQxOw87XltuuEvO2vTbhllWClBfZ/B8I/RbMPB0cFrI73?= =?us-ascii?Q?3f2FyxxH46z4d3bEEMgHExjdakjV5duJ6YuFRBvrI6PeS+VNv2/jD1sl4wNB?= =?us-ascii?Q?+PkqzOLKLZwLjLWJ0HkibQ7rUFmqbADBeanLhCdqBAb+YTHipJM6sJOksi43?= =?us-ascii?Q?npTAxAYEzh9zFrcOem0C+LeB+wJdIHlmjBJhcJhp9XVOeUOmkuLOKBnIkr+9?= =?us-ascii?Q?ZjqMMwIrJ2lf1r3iMcqIR88l0Vf9aoZu00KqsAijOkSNGgXdKE2aHrGIQM2u?= =?us-ascii?Q?hLS+9Qb4TtdlmVv+SnNmqrmHxx5KrwGH33wug5n+rqDH0V65H/JMotMXbIjI?= =?us-ascii?Q?SAqb/tZL0dmTrSwDBJgFMMYCnWNykbUYLQp5nGP67Xii7YNdn75lZ1KNFn0a?= =?us-ascii?Q?+Q=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 901e0ccb-258e-4e9a-4330-08dbdd40acce X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 14:16:45.2008 (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: Gg0zlC/GEA/Vid0LIWgZDB/Kxq2brxeShHQLDhFPnOswWASRT0Y1OEfZbQsT/uYUa+rv+7Y6fvMd3zJHY7vqCA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6820 Content-Type: text/plain; charset="utf-8" This patch moves struct pm_nl_pernet from pm_netlink.c to protocol.h, and export pm_nl_get_pernet_from_msk(). Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 17 ++--------------- net/mptcp/protocol.h | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index bf4d96f6f99a..1dcf104d7a01 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -31,20 +31,6 @@ struct mptcp_pm_add_entry { struct mptcp_sock *sock; }; =20 -struct pm_nl_pernet { - /* protects pernet updates */ - spinlock_t lock; - struct list_head local_addr_list; - unsigned int addrs; - unsigned int stale_loss_cnt; - unsigned int add_addr_signal_max; - unsigned int add_addr_accept_max; - unsigned int local_addr_max; - unsigned int subflows_max; - unsigned int next_id; - DECLARE_BITMAP(id_bitmap, MPTCP_PM_MAX_ADDR_ID + 1); -}; - #define MPTCP_PM_ADDR_MAX 8 #define ADD_ADDR_RETRANS_MAX 3 =20 @@ -53,11 +39,12 @@ static struct pm_nl_pernet *pm_nl_get_pernet(const stru= ct net *net) return net_generic(net, pm_nl_pernet_id); } =20 -static struct pm_nl_pernet * +struct pm_nl_pernet * pm_nl_get_pernet_from_msk(const struct mptcp_sock *msk) { return pm_nl_get_pernet(sock_net((struct sock *)msk)); } +EXPORT_SYMBOL_GPL(pm_nl_get_pernet_from_msk); =20 bool mptcp_addresses_equal(const struct mptcp_addr_info *a, const struct mptcp_addr_info *b, bool use_port) diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 8529b3ae55e9..c38a2126071b 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -1026,6 +1026,23 @@ 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); + +struct pm_nl_pernet { + /* protects pernet updates */ + spinlock_t lock; + struct list_head local_addr_list; + unsigned int addrs; + unsigned int stale_loss_cnt; + unsigned int add_addr_signal_max; + unsigned int add_addr_accept_max; + unsigned int local_addr_max; + unsigned int subflows_max; + unsigned int next_id; + DECLARE_BITMAP(id_bitmap, MPTCP_PM_MAX_ADDR_ID + 1); +}; + +struct pm_nl_pernet * +pm_nl_get_pernet_from_msk(const struct mptcp_sock *msk); 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 Mon May 13 00:49:29 2024 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2071.outbound.protection.outlook.com [40.107.247.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 47CA615486 for ; Sat, 4 Nov 2023 14:16:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="C1HC9v91" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lVpSvXAq+ws0lZPnDadhCDcmr0VxI3R07uarUZfSZDDEw17IZS4KqdMbm3bypllmapN2SKVvEyTWwaaqPgk18PAOl699AhUHgTrEP/bSO6zA7F313ta13JFYyi38/Jie6zZfDqNxnZEI/q35kMK4K+7KaIJkNi/BU1yOkZ5ky+Fy3Xt31E3aFnXdVfB5Zf9qRNhpHR72V6uyC+BR/Jnpo/GU727iE2wNd0L4wwYlDT8JGeJU2WLOtFgt2FOtPGbOHb7mzu5Lo9WrmJMwupChSeAkr3ezpPyz7e6PqhIlE5pxTUCZfasb50V9j/AAc5fdiDg0pakMIPWJnBdMc7sZ2w== 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=7184CWhMhJNtPnzd+4hU68eImQ5PYVkZRVpGK7CAds8=; b=JXfp4HkS/Oi9UVskU7+qsWvs0YpM6BCadv0DU2b3+mkKthYpmAuIOBJLRcHkSc191yQ94uGRzc5lruAl2mVRnIzxsV207piQQHNa6NJjvlnecOs4JfaheMdXtsHsmDm8BBxE8DWb1JhFs/OxZEo/51lYik22sWaBEE26fa5dTjGUcG9ybu38IzNTy1SP6FTqNXzjcaPX5LV/JvGOPE5ooom/T7xZGlr+YllwMQC9ddsxv2Mf6478hjhUDLuTyTfyhaP+atzJh9yWcRj/XMr91aF77TfRM6skhy/5mjWKGoxp1huRCMlWwJ+3jLZyc89Zwd0yKPozxVaeSC+CvYiURA== 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=7184CWhMhJNtPnzd+4hU68eImQ5PYVkZRVpGK7CAds8=; b=C1HC9v91W8P2BMCZ0V4JGFEgrTeSum2biUTUw5Tz3Kh+bcp1ypsZhT192wLvk37Frh+49l8AQbQaZpZcaY1u6esmhYlNOF3erFx3A5OmWh3g/506aL3G3k0YudNGDFeAYo61uNzp/0ANUoOzK7L6DylnIySgHjsP6yFqf1xpGnPgGURPCnIVikdh42LtEtyakmW8h+O1xzOFzqppXbEcV+quQnv0Va6NL1P5tCQBi+hmLtuzygirirF1VSLwQ+aHCvpkE0u8PYIWDqOtTYD47G07fpp08AcXHCxenNui5OPMTU1N+SAmyDNhjc6p2Wpq9eAyWSqTg63KQJ/Wx1N3WA== 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 AM0PR04MB6820.eurprd04.prod.outlook.com (2603:10a6:208:188::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Sat, 4 Nov 2023 14:16:50 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 14:16:50 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 02/12] mptcp: use pernet id_bitmap in userspace pm Date: Sat, 4 Nov 2023 22:16:16 +0800 Message-Id: <8628233fd2ec134278b380f822c8319f8fa67e28.1699107275.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0004.apcprd02.prod.outlook.com (2603:1096:4:1f7::12) 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_|AM0PR04MB6820:EE_ X-MS-Office365-Filtering-Correlation-Id: be1b8e79-7406-4b9d-0613-08dbdd40b01f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: c/RpcggAjN4IwmaJ0Ot3uW5hu3gFFqUBc7tzALEpoKsl1SN4Krm9iUFIqH+/9X15FmBrWn/sXTD4DDVjjO5Z4VlzgtXABtt+mILFEbjl8win99c8E8ka9IIsQLAOUCTE0S/tR239rHcGBnVd6ajAFIvul2FlbXoSaOgeyxhXzy11aQhWdquP3HUnIsPAUlEmqEbGRwWqNLiLIyW5qlG+MEa3rNiQvACab8f/ygnOeiWXyQ8HjaF2demRYuGJSrzj2ygcD5HYssLzgVNADnzi3BEfjHYtc3blM+gEVg0KmCLTOSki5D7vi51Gwy37f2D2jFURQa6y+tVdjU2dS4ro/lzV0FOLIcgmPM6Sabkmk9HoRSrqH/ODUzH4ojVmboWELxnZEkOp8cqmzL2D3IKqLgkLOdRwBKHD48E9E3pszEw3R2LL6K4KOwaLnyh/EHnjMh2RUoR87NfBsT/AFk9X0crprds2PnKfO0mLKzk34H5NuRztbhF2Mr0CSGPO20ptSbsqa6h7q8J5YeOVI/GKQ8BYVfLU/2VRPCygI5wZH9mOktCpsJdmTDAwt17VecY7PCqsxkdYdVMF5gP4t8zjluP3QG5PVA5E7L4lu+pL/uw= 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:(13230031)(376002)(396003)(346002)(366004)(39860400002)(136003)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(83380400001)(5660300002)(2906002)(6512007)(26005)(38100700002)(2616005)(36756003)(86362001)(41300700001)(6506007)(8936002)(107886003)(6666004)(66476007)(478600001)(4326008)(66556008)(8676002)(6486002)(316002)(6916009)(66946007)(44832011)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?cKHntutJuFCiEdXmgp+owqrn79i2aRRyVB3C5VhM3kB+5+K8s8ycIli0EHvA?= =?us-ascii?Q?m4a+pKvgd6w63Yyx8Qe+eoO6C/aPjWWhvlFh7611DJEa+5C6GvkFeby3IB4Y?= =?us-ascii?Q?+PpjU6IQMKCK7DXcLseTgjIlduwVI/vmxQeKibBOS94rU/jKyXOj8+zYe5Px?= =?us-ascii?Q?RCa99HAEjC7Rujk8ckSvPJuXCUJBul452uHLIusmbiG2DV5OG2eoAwgqEdYm?= =?us-ascii?Q?q91cON1nxilqGpIzda0dYpM/ljK8s7+Ilwjj3E9jFCDzW50zQBofg20yTqMN?= =?us-ascii?Q?LnqZ3Fw6G4tWVvK4pl00hrBU/xpsbEk0PR28RkvX/nSHvxWV/i4XQKZqThbT?= =?us-ascii?Q?dteg5D9mbPXKq29EmTIGdLPOPD7jagXPZzMSOJgpNrbxH7k7UGwlDd7BZKh3?= =?us-ascii?Q?c+iubHg0M0RkJGLyxjhmy29QN/uSqTm3j+yVOe4mjfYFqwpEdg7sNhdbBo98?= =?us-ascii?Q?aiE1hRwCZ9L3ogyO9+05UtOL1EpQ7ZDS9OkfXPLwTbsy9vRIFFC6TcB2H4qX?= =?us-ascii?Q?2+v4HpapmHKQOCJJDWAwcQlbamjblPeTm2qWmi9RlnoQfbswSj5rMDSh9cK4?= =?us-ascii?Q?hBj0fIch2dSUy4SEwrsMD5jOl7YtLAMt4MxoHA0B6CoDqpE15yjjUNi1QFDt?= =?us-ascii?Q?5HixUstr0VEonRQtu0YztjDhqjRMYIiV5eodZE2zzn1VGKEbLq8Fa+Dctv4z?= =?us-ascii?Q?h8Esjohxj9JW09BzCSiUYwb05PBbyfg/n156uKCGByNLwMruMf1moQEbTy+a?= =?us-ascii?Q?QnxXzR0lk/gox5gk7U7R79FoTMBUl+GwIqNuOsGnTXGh9P8Gii86Ac+gYptp?= =?us-ascii?Q?VD4LjWlZqylou8tlM4Fp5H6fJV5EdHehrmnDaO/YAeKEphsPr7+EcxZQ7+Av?= =?us-ascii?Q?QihxJ1qz46frfUznVZkQt2cn1esl4KihZq153JKY5ssQ+l0RiI30h3Cu7+yd?= =?us-ascii?Q?KxXErRoPQKaltliZ4lUy6QX3WcKejfp7RD2Rw2287y8UA645wl2bv4Ac4aNG?= =?us-ascii?Q?YAbBo30XF34VSD4fPXDMXlLiD9yyLHRi6z6dUnb/Lm6DCnx9/SqbeJFvL7z2?= =?us-ascii?Q?y8u7yJdlRQEoX3efvaCGDyix8iubZfbbJQS5Dm0UVjmfpCXflQsaUiPT0xh7?= =?us-ascii?Q?d1ykHJsoDCMXoLtNjQH9VZLDYH/9tSTsQGXPqY7nanhcSGdVLzPpRBhhaJVa?= =?us-ascii?Q?OHGc/mRYXeCPk+5h0zwA1rOpJqzDOccBM//2xKyuSW34cc4uAG35cmelUh8P?= =?us-ascii?Q?z1T0p0TU9ndpxJC+V44poJpIyyhGLY7T0EbM2qimfjf46xQWGNpSr5RAKh1w?= =?us-ascii?Q?zRxNI0LWpSqK+o8vWDXFeInMvrSvQYccvYca4xK+fF2lby/aK4D85cpomoMr?= =?us-ascii?Q?56Ei7U234RHbY9UenvbWRTm0zH4nS45yYQ0r4Bv++CnXZoZ9qFfGc6cWrsfc?= =?us-ascii?Q?RuRZGOHD2VD0dehKg905PF0p717HGLa20odcZ8/smHYArPEFiVLpBpLE+H8J?= =?us-ascii?Q?w8JeiDtrVkF9QGrCuD4uJP1yZ+zgSZhiknTiIE3OcnAA55graRCutI9YYq0/?= =?us-ascii?Q?DCwzQBPzj4eeyXPOOClC0bLrp96GP4W2MNyHbQu9yA8Ljgf3Lw3xB31W55Bs?= =?us-ascii?Q?FA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: be1b8e79-7406-4b9d-0613-08dbdd40b01f X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 14:16:50.6679 (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: 7ateWp9DXPHj3+Z00htbXqqo6dA9qL3euSDTiH5adpcUwALmnswq+YYrCJ/dNTnowEqxpdf4fZC8gMd7Bv2wag== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6820 Content-Type: text/plain; charset="utf-8" This patch uses pm_nl_get_pernet_from_msk() to get the pernet id_bitmap instead of using a local bitmap when appending a new local address into the userspace PM local address list. Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index efecbe3cf415..a8e35677b6a7 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -28,7 +28,7 @@ void mptcp_free_local_addr_list(struct mptcp_sock *msk) static int mptcp_userspace_pm_append_new_local_addr(struct mptcp_sock *msk, struct mptcp_pm_addr_entry *entry) { - DECLARE_BITMAP(id_bitmap, MPTCP_PM_MAX_ADDR_ID + 1); + struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); struct mptcp_pm_addr_entry *match =3D NULL; struct sock *sk =3D (struct sock *)msk; struct mptcp_pm_addr_entry *e; @@ -36,9 +36,8 @@ static int mptcp_userspace_pm_append_new_local_addr(struc= t mptcp_sock *msk, bool id_match =3D false; int ret =3D -EINVAL; =20 - bitmap_zero(id_bitmap, MPTCP_PM_MAX_ADDR_ID + 1); - spin_lock_bh(&msk->pm.lock); + list_for_each_entry(e, &msk->pm.userspace_pm_local_addr_list, list) { addr_match =3D mptcp_addresses_equal(&e->addr, &entry->addr, true); if (addr_match && entry->addr.id =3D=3D 0) @@ -50,7 +49,6 @@ static int mptcp_userspace_pm_append_new_local_addr(struc= t mptcp_sock *msk, } else if (addr_match || id_match) { break; } - __set_bit(e->addr.id, id_bitmap); } =20 if (!match && !addr_match && !id_match) { @@ -65,9 +63,10 @@ static int mptcp_userspace_pm_append_new_local_addr(stru= ct mptcp_sock *msk, =20 *e =3D *entry; if (!e->addr.id) - e->addr.id =3D find_next_zero_bit(id_bitmap, + e->addr.id =3D find_next_zero_bit(pernet->id_bitmap, MPTCP_PM_MAX_ADDR_ID + 1, 1); + __set_bit(e->addr.id, pernet->id_bitmap); list_add_tail_rcu(&e->list, &msk->pm.userspace_pm_local_addr_list); msk->pm.local_addr_used++; ret =3D e->addr.id; --=20 2.35.3 From nobody Mon May 13 00:49:29 2024 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2070.outbound.protection.outlook.com [40.107.247.70]) (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 8E12B15486 for ; Sat, 4 Nov 2023 14:16:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="eyOOuX5j" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fLHTfSMQV5Hf/rNg64aQaMsuTit9W/aUadt3SMlLVpGMUK12oWYyE//6Wtgs72Zrh4huhFPDUHKIksrfW1hqO33TtKzSm6jmR/xE6aA71B4dsWYAXZUsFjcgJdcRjpapPjagdezpIkR219YAgLaeWtlpYy+0obN1J9WyzAm+tOYhCpEk9jg7gnCDvXXmRV37Rgytp/S8s4xId0WniptmifE2AnvG0CDY5JIXSjLNGT4idrp+dJFFThhOcrvjHLT9JDV96IYSgtHW8J0mb55Pw0zitzinhvBAMSmIyrh5H5RMeaSD3x2RQCrmwFDBF0cQyggAI0DSHcugvqLPAp4Gmw== 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=FhIycnYfWtHYIr5mPO7ymBb4JwssV1JuDraoAyfBKAE=; b=Ikv664DB72cce2SMlWD2/y0PAsRnigWSL5WWwdKFeg8bkj6KsOnl3YBOdrff2+nrlLmp575Qw78DWU+ey6JwqNrTFu3NKkPJuS64sjrwcIboWdpwKogQKO6swbyEcbeMEdBu+sMvTU7VqMi+V8X/fmwXgTYJaMdLy8XbPYWHN6++6Am3ZbiS+VSMU1J/zIZ48FRqR0oIoc2d7RRHHRlPpmBojxI3+VVn+S8rA7Gu7ASIFwZxKNaliC0a9sewRJhDT0/+ZKM5KtRM0V/w6iDUIbL8Ij6FQA9zGeX/Bi5o4Nxnz6Rn5XlXeClvC2HnJmhYWMuDIfrBHrVONOZ8yRRnxQ== 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=FhIycnYfWtHYIr5mPO7ymBb4JwssV1JuDraoAyfBKAE=; b=eyOOuX5jDJbzukiALZxca6PHTDtjZ+pMz+OUveekZDLJSYB6Y7CAXSWEz1yaASV78Fok0+B+4EMbovU8gVM9jBpekhus6a5LUVoz3eJE0x8NgjYUNFFiF2DoXhBOE/wiNq1Z3RTC9ahlB5TYKvcXKhnvxTKl1xIrh0ph0TAHWsglafDz9X5LMGtG8YTx1iZW6UvR91MHmDfPe0jdeDuHCGKFfvo7fQRjWusEw+eyyoIYmit77MxamfA9KqTHzvgA8JI2C63vG76vAFZ8MukKGHEvFK7Lw4hBuM7/CBt/nYnHK+rYsSCBQZ5wyt72dzjMSXtBVXKWudmmiOUPVFhEgQ== 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 AM0PR04MB6820.eurprd04.prod.outlook.com (2603:10a6:208:188::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Sat, 4 Nov 2023 14:16:56 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 14:16:56 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 03/12] mptcp: rename free_local_addr_list with prefix Date: Sat, 4 Nov 2023 22:16:17 +0800 Message-Id: <56d53702b40052fe55a6998a398b372d8d24c35a.1699107275.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0005.apcprd02.prod.outlook.com (2603:1096:4:1f7::13) 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_|AM0PR04MB6820:EE_ X-MS-Office365-Filtering-Correlation-Id: 787c1a44-3f0f-4ee3-a35e-08dbdd40b349 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GjfF2FNl0zBiD8kVOv1bjMTWg4DOppYO+YOL9AmyCFl4A7d9B9Yp3t9ESbxkpON142tQzw65tf2VyVjJmaCamfO0i/Wa6DCw+iuCuHJNX9XytLuIrlXSo0FXRGcMsgkSaPqtpADTTxYMFDg946EMlh/Q1UVliyx6r/ZCrw+J3swZqfms6H2TWmIFvDWj91HUYghjiMzye3F5I8JXEUdb3Atez5Aqhm+avawKMR7kli72Qc2K6asGWeSumZ/M4WJhgIw8FjVIOsVuNM1yWe8aVi2Oj7Mqh2qhDhyJsYvPCuMg41z7o9QKIpdJLrwRdwNoAQDO9f/BrkKTk8tTbR/RiR4mzaHbEqbTfueWzt8Z7xzxXc9UBaZ+KuYn6P8ia/J3c6wqiS030lr07cMTVPDkNWlmteCdOmjS8va7YyevlW/cVZH2nSsQw98bQboKieT5m4tyBTLpwbQkyPfdeJmG73yfj/ozcPzwC72xQOOKMYwk82ZpeV+jD9zyilPAyV2I7y3I0ak0uZBkyngT97xzap20dqtTmi5slgGuTUUuwMKvo7uvmR+04tPR/CjVT0rrkk10oH0K22I6+G7IXd+KGVBOyMEwsjqFPc3wsyHWYkQ= 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:(13230031)(376002)(396003)(346002)(366004)(39860400002)(136003)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(83380400001)(5660300002)(2906002)(6512007)(26005)(38100700002)(2616005)(36756003)(86362001)(41300700001)(6506007)(8936002)(107886003)(6666004)(66476007)(478600001)(4326008)(66556008)(8676002)(6486002)(316002)(6916009)(66946007)(44832011)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?I4qkbWJh4kVtkW1oxocsmkM4CsOmrFY4zzbjjhTOSwpdOp3hNqCi055dGhSf?= =?us-ascii?Q?7EtDDBqHxzDm9C6vOS01pIFFB16z4t6HWnBjkxY+xruTtAWAP24W7+tSmsRS?= =?us-ascii?Q?cyotx9aqWKBORXnRO7LeAozlcsyeU+YErXwjzw9kd/MWBVaPQSgzTjtkI8NQ?= =?us-ascii?Q?mv3SbEMaNItPCflR4RZPmhgiqdXFmP7zrc31VmpPFuLJ3THoG8VpEZnbs9Sf?= =?us-ascii?Q?3WeTiGhsNtvV0bBgO2CtcPw4yR/l1Aqh1yPnOw6VwQCMi88eDahmfup42BtP?= =?us-ascii?Q?4g80dEw5Bg+shK9SlzZ6F6lHDWXJzT9P0R8rNCVoSl+cpdVE7J0NrtOIUmkH?= =?us-ascii?Q?KmU9p+MP72v23OWVTM1YJhHa5HF7KjgF5dd9mk2qwXWb9DSJjGYxql5NOSZ+?= =?us-ascii?Q?piWHC9LmbHJ3nZ5kI6VyPTiRXlfuTpWy+9ICvAc6r1Irp8iToPFhDm1Poamr?= =?us-ascii?Q?AtEsC65RpA1p8n2HQDLKkp9DxMlfk4rXlYZMBkucMa0Qx/gwI8XKTGC1Cjee?= =?us-ascii?Q?zhFCwGOqvMLfLpHHSAkHRtDbT0j7T5DI7K+FlFq+065k9RfD2h3MDEYNxJfF?= =?us-ascii?Q?JkJvCR4rs3BMNCQLF0VdCLzPsT4WJ9r4bxya5lVzIC9MutaUpjIzjo2U6arp?= =?us-ascii?Q?gaOBLXC43Dv/GSNSg0HpX2kqnZ2Pm5dm7wRXekfUrj4ZVobts81njX8HRxaT?= =?us-ascii?Q?pPRlL5Y2NITpdWGsYmY12/xShPIxj4pd1oSXo2SLvQ06l9FByjXFbgJJqqSh?= =?us-ascii?Q?wvbwZHe+1wkpX3zL6KIzcNc1CwVSSDTsMgYcPXPAXdeY5LgiWpfkgOINa892?= =?us-ascii?Q?1Du4V4lEuaV4hc4Q6e+EkNqqXCu1wmsWENpUtIsDcpRo7Rp1/DjKCKaOYKNB?= =?us-ascii?Q?aoXo4rRlHz/PNdXpYn/TPFBoZuKxpW8+UgkdM9QDhY4SHBIqDj232fAw71Ox?= =?us-ascii?Q?eDlZP1r0c8OMzCXdYZMBEPBlT2mV0xujmHip6NLsvA1Pv4lgLWyx9REp1jGR?= =?us-ascii?Q?wPT7SWBz3zfvQWJFcR977EhnuEnpRDMjjwgL6/EiyOXT8GN5iXJDbul/SPKa?= =?us-ascii?Q?H2jIxYBec5dwesyJFGvey75eZ6abxAwPw9HrdLUvQl6iF3dP4GBW6mRYcC0d?= =?us-ascii?Q?lewhpBjme6VxSK9E8nOAhyQdQ0fx5yHBxUQIzfigoZsLtItUVshcTl4ZikXE?= =?us-ascii?Q?2Q4Eh3hfm7ALBGY8KYl7F4uKN2Er+ZkCps4FEZYiqolQKyW7UexIXAFkF7bC?= =?us-ascii?Q?MzJ6BXQ4Hi2qmTQXa8iUYb/ZKiTeLhay6Lr9b7/CaJ7N7ZPIvGotOLhBGv3j?= =?us-ascii?Q?u5/B1FGMMJDTrj3szGSU9TtLr1IB0lySpBt0bxDBWOQ10I+bxTPEOiXneHkQ?= =?us-ascii?Q?HuTPfeiQgnA9B+aWDQx+3rWvyabXv/DcLZlOg1n6DT3NtmWtIWPZ5afaUeF+?= =?us-ascii?Q?XSDWxokTTvyreNWeHwbou3DfLsniWLJAoMaNsCE3+KZIAbsnsarONo4JmOMu?= =?us-ascii?Q?qyytLFfff4jhGR/NUdn9VSo5EJqSs7LRve8NbYR24pNQd2P0fz4tQMXdDHpj?= =?us-ascii?Q?6c9YpmksAqUlopkC2D3OK05fQwbmtoyblPJVb4piJVB3862uhRxpU7rFc4DF?= =?us-ascii?Q?8A=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 787c1a44-3f0f-4ee3-a35e-08dbdd40b349 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 14:16:56.1591 (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: mMHUkMYfPpZtVmPEMRe12JTW9qs1A3HV4wyKbHSRTPgjSRpTy2W15ydACCmYuLTc5NimEEnotJB2QhQWL8UunA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6820 Content-Type: text/plain; charset="utf-8" This patch renames mptcp_free_local_addr_list() with the userspace pm prefix as mptcp_userspace_pm_free_local_addr_list(). Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 2 +- net/mptcp/protocol.c | 2 +- net/mptcp/protocol.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index a8e35677b6a7..577b6ff0e3aa 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -7,7 +7,7 @@ #include "protocol.h" #include "mib.h" =20 -void mptcp_free_local_addr_list(struct mptcp_sock *msk) +void mptcp_userspace_pm_free_local_addr_list(struct mptcp_sock *msk) { struct mptcp_pm_addr_entry *entry, *tmp; struct sock *sk =3D (struct sock *)msk; diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 0ad507ac6bc7..3bbccb53eb29 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -3317,7 +3317,7 @@ void mptcp_destroy_common(struct mptcp_sock *msk, uns= igned int flags) WRITE_ONCE(msk->rmem_fwd_alloc, 0); mptcp_token_destroy(msk); mptcp_pm_free_anno_list(msk); - mptcp_free_local_addr_list(msk); + mptcp_userspace_pm_free_local_addr_list(msk); } =20 static void mptcp_destroy(struct sock *sk) diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index c38a2126071b..953632ba7eb6 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -943,7 +943,7 @@ void mptcp_pm_remove_addrs(struct mptcp_sock *msk, stru= ct list_head *rm_list); void mptcp_pm_remove_addrs_and_subflows(struct mptcp_sock *msk, struct list_head *rm_list); =20 -void mptcp_free_local_addr_list(struct mptcp_sock *msk); +void mptcp_userspace_pm_free_local_addr_list(struct mptcp_sock *msk); =20 void mptcp_event(enum mptcp_event_type type, const struct mptcp_sock *msk, const struct sock *ssk, gfp_t gfp); --=20 2.35.3 From nobody Mon May 13 00:49:29 2024 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2050.outbound.protection.outlook.com [40.107.247.50]) (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 EC6A115486 for ; Sat, 4 Nov 2023 14:17:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="U/oChLUv" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aRdirApeF9X7pJYxumeCaF0li0FBdJfosz2TvPsfmssUplJvmjUsGTIb3H+DJcKLPA7xCu7u7z6TSbK5xCxpBLA1n+f8Dt0uLEmX3TslOwGcj3vxkPsVV+XNLM55OSkQPGXfSk/yG1nXiZBTPVmTwf1RAcPqqwkxAR6Os2RQR5N9dxX4vO8/BIZ+HMkMyi3+QCZ3Hbof6oSAevWaGqbzkqrLpMH9Ows/a3BtlA/oDfsNW6RzvBZWAOoJrfxpJVBAVy1ArhgzQQPbQcsTE2gQyJJM8e1JIg9aBBm8e8FUPh0FpkIJ9Dj6TaOsUV8Bp1C3RCsF9Oy8wFXDmNYGw/mEww== 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=DdchOd1iOEdCbnvo1MAT0wiPP2e7wyTJSOAmLMJz52E=; b=Ct9q+pgVhvn5UhcLYSs7w1nICOxWg61eqiqU0puO3xaIcE4MhM4PybRv4N3h7rsrMIBdTM4gWzSA1BDDl0m3g6aVNuk2Q7YfbHlJpRafpTfznThR6rdlosyH/0DQ0Ao4+oYYSdMmVWR5AfTgHFcyUshcEfO87Mstcdn3X0r11aBCdwR6AAZfxMkTwm8rwnJjYD1xvx8ehpgYXNtCrBKtH2kbWLYTBhAKqD740weTlowMx/R+kXsuu9wzyYDuMR+KTT4QxxTehr2pWulVBGjOztEIYH2RWTiQPuJHjmFCPyjW7HiTnSYQcdI62wO2IYvfHt3r0e5oiKsPQJyxARs2Qw== 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=DdchOd1iOEdCbnvo1MAT0wiPP2e7wyTJSOAmLMJz52E=; b=U/oChLUvCWJS6AzOr77k6Vk8MAhvPo96WlNKXPnGk6jCArnFxgcqq9gil947hlnwnbDfCEpWFuoEa0FWGGsv213mKk44fqTVZettn9bK710k3F5ns7uPd3OAsKOVDFyVFPeKDq+vIjHBzhg2yljcuLidFPFcchN7K1QOr+BudOBq/k2zzRIv+A5IpAdmI0IwCLvgzzDsWQP1xDzeDNb1y0VAQtCxRebKMCjn3j5DyujUmHEQIS6lktCwk7WaxlAZW1d3/4Nrym+ROqXD9yvtd8OfvrYJ3w1LMDA9FtpR4hM9uyNZavMapO4hH8MepTEtZx3JkJB5ebOnT+mhgw27xA== 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 AM0PR04MB6820.eurprd04.prod.outlook.com (2603:10a6:208:188::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Sat, 4 Nov 2023 14:17:01 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 14:17:01 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 04/12] mptcp: flush userspace pm addrs list Date: Sat, 4 Nov 2023 22:16:18 +0800 Message-Id: <2e5766a069c038364f9759159a2b237ae891e25c.1699107275.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0013.apcprd02.prod.outlook.com (2603:1096:4:1f7::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_|AM0PR04MB6820:EE_ X-MS-Office365-Filtering-Correlation-Id: 37c12f8f-4ddb-47e8-b452-08dbdd40b6a8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EUJq21VCgzHeA1XyrMXV6gaORqVXAS4OYhs8zN8CUKtGZVCkO9ruAQ9PMDaOF3LmtpmZjIlxWURfK7wRsW6f9GSOSMkSzSFpVNVma94IC1cfG7WO6UBLK6miGoaN3C4v5Ns/T0OxegjPY+DEl+ip/5SZpIAuHZs7ERpArCzD4vCTGG72Dz2G6XYg6bOaXMN+Oa2NNiFoTBCGsHQf9H6ACYGiZXElipfQOdDYU11ogumt7XRihOYSYy57xLq4WWqCSl1Op+1/5LLWKv+BBv80AcvbmC2spvF/ZJwCJWIzuv4Ad1vO7ZoDqoLjHXVN2Cmtl6HIt943d+eZO6FVPawM7U5/WH0A7UohgSrlUOWd80CctMVF5tZZLlr6vSxa9eOWIzyGTPunATWBGP0WI+0KrfbkB5Lcvfyh5TjgWnxG1fbL2HkJPuFOhanwupoUGUHXV2TXwB8Fs+KedXHwIatnPN909gWl8MH71OLWg5TNNzOMiVTg4DeaZf4EQvRXssjVv5v6x3ixKcO2M/qMSfukxSfNzq4xGiQnWWlZpgnHwcQcoFWicV8aucAqDpHlOv3IjVYrik2pi1s2+OwjoCxgKrICzv200/rkfzwAXxwXBDA= 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:(13230031)(376002)(396003)(346002)(366004)(39860400002)(136003)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(83380400001)(5660300002)(2906002)(6512007)(26005)(38100700002)(2616005)(36756003)(86362001)(41300700001)(6506007)(8936002)(107886003)(6666004)(66476007)(478600001)(4326008)(66556008)(8676002)(6486002)(316002)(6916009)(66946007)(44832011)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?yJJ4KzajkdOBtLoIvNC7u8x+fpH3UugldDm3mweEwPumnd7epLeLo4QTbiUr?= =?us-ascii?Q?142gQKaP8MUevE9HatB76O3j6FZkfAo90YDwGqpPhGhxVSf4jLMyTwjxpgdr?= =?us-ascii?Q?Iw2SsvrlRs7EPkQVpdws0DzrYW10/6ftzWhxwInKLRHkUiR2OJWlCSZJQUf0?= =?us-ascii?Q?V3kaUdf7cj8yieHGtDQp5q4XXSDvZCYvrfUK3EtOwfYHOf4G1BnqOA2jw+pw?= =?us-ascii?Q?XFYFIjki50BKWEHenVJ3skBweTXA3vq5x1e/wWyayPfguq9mNRdqGT/8TiUp?= =?us-ascii?Q?KNrchhW4ksj7VGyNt6vaxDVrahzG0LLXKMksoKQ1mSR+nt8+xeb4lx9gjNXN?= =?us-ascii?Q?HwVO2BMs0bgeyK0hOhwGubbwIQTleTCZbBDgPiIdCRFWvvCdir5+/CjnL8FD?= =?us-ascii?Q?ga1tdMJ44AGEyaMx4fj5IkzrxyPDUsrrBL05m+tJkwdv34pl3eFpgUCgs237?= =?us-ascii?Q?6lnEiqeRBjgSYfn6Q0wdIw5VTmZxZBlAea9wNzKj1seLaoM7vQ7Ke2iUCn3b?= =?us-ascii?Q?oftrM26Vc/OojbOy33mSvKk90mJsp8uJgkcCRyrEm+8RG1XA1atzP5mAIwT9?= =?us-ascii?Q?Gh7VSdvZjWlUVa7tUIlpTm6rbjPJlOmUkXZAFBA8Zj+Apqf/OBVCBvp7lhpy?= =?us-ascii?Q?Eez8tUUHcsWcVj+lwjQwazOvbNojUSWDPZkdNkIHw87xROe358qe/OeeIc48?= =?us-ascii?Q?7L65yfWyuWim5Kzc9zyyh9acSu8Ax680er7M92gvJSx0+Zp+Lyi20EuYpUiY?= =?us-ascii?Q?bWNBJ5xuC3TO1kdBnkmN/Z/Hg3zppGip8lYTAHwkS261ZTK/JKkCxAFtG5tq?= =?us-ascii?Q?taQC/wmyenN34nFcLkxbk2WQwU+MNm08NLtp81LremKp7WTLchG2kgXX7+XN?= =?us-ascii?Q?2OVvJ/z0iTIXDARUys0zpQ5Q510CmyyIZaEHR2cLd2A5BKewbipXXgDFVEyb?= =?us-ascii?Q?pLBBmVIGgDgTWU7iWY5HlJ6b3pwUP5wVsRsqGhm54Yg/UuGMnDFF8wu04+KE?= =?us-ascii?Q?fwO/zqrM1LDR6NtTKn+ONVmxpJCrSsgud0WWXTcHf44Mcfv/mnUVJ8p3DMgC?= =?us-ascii?Q?0C4RsVIBqf2+/5+LQ02PlktqSVtWkTjBDnGbpj9rGRDoRpCcibg8NlRU6hXN?= =?us-ascii?Q?bHHKOpNams0Y+dz/Lqva77d7lU7IWKBGL/oO0iiwwAnp4UCYYG9rRgjX7+6K?= =?us-ascii?Q?KTLTXLq8W4vTnobqPWl1s+7htQqyzdH0ujIZ4zuDHJ3R91ipKhDwN34rVZtI?= =?us-ascii?Q?iObkpBrmYgq43mRqIjkxF2CzzM//hcbQgsW3ASOueV7A9To4iG0aNDQlYvR8?= =?us-ascii?Q?D2A7R1Tc67bqrAvuTHBwMlmI6LMGc7Y3WR5kLkg+By7Az47XgICH7+INOSak?= =?us-ascii?Q?tjovXxM4efdS/BFmy3t1h6Bowx9nYipvXwiLu4Uh3OqDYX+JCQR9G4OyirDP?= =?us-ascii?Q?WY1dDMgeSnM0VmddBvZk276+RqufVlGFi8p+AtgdiznLBJUKggILACV/aGNT?= =?us-ascii?Q?dlXI7NazvkrKrTkt3jgIN20zYMG8nwV2KjezHNtoEcCYNNYvX5Dc+ljl1ZYp?= =?us-ascii?Q?ovUdkQB8ygpF/+ZA2Pnolmcqa5f09FbTkZE/B/Jitw51WMC2K0dt0HPUV8xu?= =?us-ascii?Q?Og=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 37c12f8f-4ddb-47e8-b452-08dbdd40b6a8 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 14:17:01.6267 (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: k7KJezvI8Qq7bn8C7HV3VBHx5SxMxyrE1sTyFGbMvCbNDoW6+XwS/VHJVTtkeequY837gWeSKLMo2FMiR2eLuw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6820 Content-Type: text/plain; charset="utf-8" This patch adds a new function mptcp_userspace_pm_flush_addrs_list() to free the userspace local addresses list. Invoke it when flushing addresses from netlink commands. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 2 ++ net/mptcp/pm_userspace.c | 25 +++++++++++++++++++++++++ net/mptcp/protocol.h | 1 + 3 files changed, 28 insertions(+) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 1dcf104d7a01..344362ec17fa 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1598,6 +1598,8 @@ int mptcp_pm_nl_flush_addrs_doit(struct sk_buff *skb,= struct genl_info *info) mptcp_nl_remove_addrs_list(sock_net(skb->sk), &free_list); synchronize_rcu(); __flush_addrs(&free_list); + + mptcp_userspace_pm_flush_addrs_list(sock_net(skb->sk)); return 0; } =20 diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 577b6ff0e3aa..8caf968cd08a 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -20,6 +20,8 @@ void mptcp_userspace_pm_free_local_addr_list(struct mptcp= _sock *msk) list_splice_init(&msk->pm.userspace_pm_local_addr_list, &free_list); spin_unlock_bh(&msk->pm.lock); =20 + mptcp_pm_remove_addrs_and_subflows(msk, &free_list); + list_for_each_entry_safe(entry, tmp, &free_list, list) { sock_kfree_s(sk, entry, sizeof(*entry)); } @@ -549,3 +551,26 @@ int mptcp_userspace_pm_set_flags(struct net *net, stru= ct nlattr *token, sock_put(sk); return ret; } + +void mptcp_userspace_pm_flush_addrs_list(struct net *net) +{ + long s_slot =3D 0, s_num =3D 0; + struct mptcp_sock *msk; + + while ((msk =3D mptcp_token_iter_next(net, &s_slot, &s_num)) !=3D NULL) { + struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); + struct sock *sk =3D (struct sock *)msk; + + if (mptcp_pm_is_userspace(msk)) { + lock_sock(sk); + spin_lock_bh(&pernet->lock); + bitmap_zero(pernet->id_bitmap, MPTCP_PM_MAX_ADDR_ID + 1); + spin_unlock_bh(&pernet->lock); + mptcp_userspace_pm_free_local_addr_list(msk); + release_sock(sk); + } + + sock_put(sk); + cond_resched(); + } +} diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 953632ba7eb6..0014b6b542a4 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -944,6 +944,7 @@ void mptcp_pm_remove_addrs_and_subflows(struct mptcp_so= ck *msk, struct list_head *rm_list); =20 void mptcp_userspace_pm_free_local_addr_list(struct mptcp_sock *msk); +void mptcp_userspace_pm_flush_addrs_list(struct net *net); =20 void mptcp_event(enum mptcp_event_type type, const struct mptcp_sock *msk, const struct sock *ssk, gfp_t gfp); --=20 2.35.3 From nobody Mon May 13 00:49:29 2024 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2089.outbound.protection.outlook.com [40.107.247.89]) (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 C2FE015486 for ; Sat, 4 Nov 2023 14:17:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="BTxUhCDs" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AMSWRMWopNdF6B5dOpT0IbqfeL7MIna2DEjMBLipFIdnwOhlzE0Q7TzddveeV4G8PRDwAyOAP8mx/8BHFQhOviBmRO/eIz8nstgL1bxTzqtKBCaWTZmKMtYATZdFSDav1oQhNehJJHdFRc+2UefzBzN3Xg8KrolLpbG7VdB+OAUhfDmF7K/W3O9LWQl27RzZN0jz5tUOWQvExFFzHZBidKxy1KYzT7/BEysKIcD1UgfU/kSzlLCUyviK3+Rf/Se+62r8PRyXp2u21owt4f3m9Q6PnSnTt9DUM5qLobFRV5sBtvh75bXyFvp4CzKdmoGv/P7PwJyNh0YcOJrNfrgtpQ== 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=VqtianuffEHA00+Be/9xTjJg7EXapzp64bN/1qmj3dI=; b=R+iXIY8EAYAT3nnD4pCLoiMJDlTIXTYPcFJn/3/0AgBxI12EZuOUrvZ+zwoZr3zE8iLBbHaAUx/jJXCJvr2+yRdR+T4GNCUCPa4BGt0pMKZon1p64PJZTqbX6afV3YQ6eaQKBcCLPq3y8Fif90Qd1GRs4YseoiFguqFpzPpinLIgIQELrgLVGwPuC8x18X3zksP6yHjbW4TGL1T081YySbLSoTvcVTD8DYj6gWgnXEek4D3nLfcSKQjD5KDW5Xgy0eNdnVpCNuXxY76tAtS1zYeIC9IFprmS7qKcF6lKyNpPNp7E0pMndpY5ZUNQwVCxcLv/Zu1G+amMSwAdQ+1Tgg== 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=VqtianuffEHA00+Be/9xTjJg7EXapzp64bN/1qmj3dI=; b=BTxUhCDsZgqXsL5GoA8Mwa/K5823P78qp12a+NNJhi36B+Q6RqPMY/OIIhqqfbs0argV5yJvrd3u1uUYW6NGpbY4AdusDzN2GS0WqIZrNqY7G9kAAQ9g46CtFAg0j7tENoR9+xX5rV3SvBkNUJHJjhF8lo8tKTV7bppnN9/hnuhbKZy/Vinqlm0YD4/64IP1XxX+qGRSUhcYMrQyL4RL3idDKpIe/umzzcILhFAExSOZeYy1GhIilXQd+mo7AjdJtsKa3NesS+upPRF/tZC6CUz9MZtsce2ftPIO55a5cO1tX6K76A/yTr9NhgDF7SWG7r2HguZBDYyrDl4auBg0AA== 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 AM0PR04MB6820.eurprd04.prod.outlook.com (2603:10a6:208:188::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Sat, 4 Nov 2023 14:17:07 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 14:17:07 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 05/12] mptcp: lookup_addr_by_id helper in userspace pm Date: Sat, 4 Nov 2023 22:16:19 +0800 Message-Id: <2f8f85fc067ba04d5c97781b942722e69318b0ae.1699107275.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0008.apcprd02.prod.outlook.com (2603:1096:4:1f7::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_|AM0PR04MB6820:EE_ X-MS-Office365-Filtering-Correlation-Id: bd05a385-b31b-4de7-9fd2-08dbdd40b9e1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RSKnC2EFDr06UnevMNYQPtonFVk08YYBEUS9tZEIRKcfcnDrL6a+ON3Sg4o8aSEaEMpIQvfTR6ZtL8BzOijVVYOxrtnVwNhLSC4ljKdxKgNBWN0Z3LL0HOquci7T0J5HzHZAbZZwS4WrIEV8Q8b/aOzsuspv5Igvs9RdNAGpqLdFxD6KcXxP02611LpFArhKYoXT3fhVfEcOuE7XdcEfuNJNC5jX8JFl5VbE0L5hS6d81SyF1TfRKyiuq+caeYO4uvFNjrIUovjSynQi1MzRrYlQejlNhvJWKKPDAAgepmTVNcqCmddmSuT1qk/sJTJckkXSo1Je9ugrmqkK8VqB0AFUFLfcfJbQD3ddR8se+0y/tkfriG8FDaKKzOW6uv39LxO9bsuSaWLjF+GOK61CO+jdj+QZSh/ACzFfSFpsmEE5THVoBuHnWnNDfh/0mWYWsG70wLyEQiBN82F0m1Atg7CI8h2QYE4V3Qn5gDfSNWkQ2c5Cj3LpnluGY5nw6dlK9JdwOCr/xCzx4peHhpOkkCLTnA6adZMn3pinLAA69lrTxWpgmFgfvXfF7zLrIMirzM5FxGjz+XjfrtqteF0UKi2Ij0BGq7JV3fsvsta5UvY= 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:(13230031)(376002)(396003)(346002)(366004)(39860400002)(136003)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(83380400001)(5660300002)(2906002)(6512007)(26005)(38100700002)(2616005)(36756003)(86362001)(41300700001)(6506007)(8936002)(107886003)(6666004)(66476007)(478600001)(4326008)(66556008)(8676002)(6486002)(316002)(6916009)(66946007)(44832011)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JBdU1Khy/FcCI9he4Yxyovq4Xu4fG5NW4l/odhrtQNVL0RO5eVYnH9vruBE5?= =?us-ascii?Q?wM4qDwKa8QJ6TicqQxBYkXi164YIZxxtvERq+BqXYgOzTBRZTFXrzS8A8VAH?= =?us-ascii?Q?dKtSgQb1KeDMLOerEzhw+lpmh03YoDM8KHKTcYk/X0awfIJdeg+DzY4cYNZ5?= =?us-ascii?Q?iXflbNmBaCRb/taM/uNiWumDyz5q/Pt4VP0VfCJ3gc9lGs0ULyGH1YRzzHSc?= =?us-ascii?Q?tMp8csVOfVuYFQqT+ugkf15Te8MnTXihP6fzDJFXQw2EyBizDTNI0UB1l8lF?= =?us-ascii?Q?gKTFw0C9owOxNRoUVSP2gjaCCFIH0VLAuIinC3ZaZXrmZ8CqQPGlZsY5WQ57?= =?us-ascii?Q?v8cX/Uv5NGQwHRw2ZSDv9iRj2WC6Xh6SwOYDrdGJGJKfjR3eiYFY7w4tWFxP?= =?us-ascii?Q?AwaBRu8xvepp5G1/498w6WPe/6Adb2c8ZrkY0YVCDuYpKKZLMI42tRA86R/i?= =?us-ascii?Q?i1iG2EDGfIBU5xLAus0A8LbsOL1TmZGV/aXDHo+xq4TNxWAfgaz+pKAB0nFr?= =?us-ascii?Q?OLylSel8++mNHiobBVIB1esIlZ28dQ6FMSOg6eM8udAXAvjf2sX4V58Ae2Cc?= =?us-ascii?Q?+x4ekppWrR+bVQ6efqmdP+S+n21uwninei5Grc9cpkfSPhH5fhIl49CWWJae?= =?us-ascii?Q?hlTPr20GIzV13xPoNUOG55sAsBB7815HMsNS5fCfm/4HBIsHLuq63mEHdObI?= =?us-ascii?Q?phU1G2by/ijBKZP1DoKTjE8Gv/wei/IJRcE1JoF9BF6jV9TBZVd4XHlm48tp?= =?us-ascii?Q?/qLY/r2EQxeigTz7/cOU2BWyFm+sAsXssLCpYU6uSdwS8k/Xt244DVHObtnW?= =?us-ascii?Q?F5/XHtZx6eFHlXILZ7SG2VfVhKc/6pyOFGViXpXLGMqXoepK4k+69RntaVZX?= =?us-ascii?Q?cWjkH8rmu8pfZ5CRAywrrw7B7oC97KFshqbqbZOaluPDSGwtCoSFA4EVSpm1?= =?us-ascii?Q?O2ANSIMcf5IaQ26uehLcUqVPKUkv1rUso8X10jCSrtDNox0DfKmtRmoW5Gjt?= =?us-ascii?Q?fJ8Ds3+P6f6nHuAONb6ExOnKVe8h9Pch5J9RS/JuZhE4tJaSeJXY5KcnfeRn?= =?us-ascii?Q?kObi69EnU5ImRh31OjSGFfkpiFpJW6bf249wRW3mZeRjIIge5UAd5/oUCmDh?= =?us-ascii?Q?3bElwrjt6yugbcIHPXn53inbbZHRrThHNUYhMbF3mPSOGYIE1uRcdiWN+kPc?= =?us-ascii?Q?3aFDtC6DiUbnm/N8X3CFWnTsz1QybbAcV9ZNvdc9OFSP7zt9GizlEB5cvdvC?= =?us-ascii?Q?q4MxtmVVvuAzeun86/7/gQCOViAug2Oud7Ly0kXBL5RnAt3g+QDAigeCnPDS?= =?us-ascii?Q?oJe1MX2m5Z4ED5A0X+/sHWPyFilW8LdndNQiecLEOJurSOxglSg8/OwQLXfQ?= =?us-ascii?Q?V/gqVxlIjWitFjeil8uelqMGX4k5D0+ArlvUHVX9FGJ/eXgFFnBs4hqO/C2A?= =?us-ascii?Q?+VzhSsdxTfIE4jfETs9VbJSTpRiJ0d90skl8btp80ls1xZfmBcyodk7TNfSh?= =?us-ascii?Q?d7xfNnxRPQHxHi5Rw5ULyo2KefOdcSw4ql661DC8P+ar35TXFIjsL6gsBERU?= =?us-ascii?Q?qRa0WXA/XgPVthaRnsHOoNEhuZx8KFxyI9GNKtaRJwtu3b6Pw/sEbXFjzu5u?= =?us-ascii?Q?XQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: bd05a385-b31b-4de7-9fd2-08dbdd40b9e1 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 14:17:07.2142 (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: xdjidPpW5ldOB2D7z2pFWPXszu4CoIwpVtvS5ZS15o1HWDW8ntcDBminpquG0vuqy8bIp12EJGUUV5hKznAVAQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6820 Content-Type: text/plain; charset="utf-8" Corresponding __lookup_addr_by_id() function in the in-kernel netlink PM, this patch adds a new helper mptcp_userspace_pm_lookup_addr_by_id() to lookup the address entry with the given id on the userspace pm local address list. Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 8caf968cd08a..f96dcb2b5db2 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -27,6 +27,18 @@ void mptcp_userspace_pm_free_local_addr_list(struct mptc= p_sock *msk) } } =20 +static struct mptcp_pm_addr_entry * +mptcp_userspace_pm_lookup_addr_by_id(struct mptcp_sock *msk, unsigned int = id) +{ + struct mptcp_pm_addr_entry *entry; + + list_for_each_entry(entry, &msk->pm.userspace_pm_local_addr_list, list) { + if (entry->addr.id =3D=3D id) + return entry; + } + return NULL; +} + static int mptcp_userspace_pm_append_new_local_addr(struct mptcp_sock *msk, struct mptcp_pm_addr_entry *entry) { @@ -110,15 +122,10 @@ int mptcp_userspace_pm_get_flags_and_ifindex_by_id(st= ruct mptcp_sock *msk, unsigned int id, u8 *flags, int *ifindex) { - struct mptcp_pm_addr_entry *entry, *match =3D NULL; + struct mptcp_pm_addr_entry *match; =20 spin_lock_bh(&msk->pm.lock); - list_for_each_entry(entry, &msk->pm.userspace_pm_local_addr_list, list) { - if (id =3D=3D entry->addr.id) { - match =3D entry; - break; - } - } + match =3D mptcp_userspace_pm_lookup_addr_by_id(msk, id); spin_unlock_bh(&msk->pm.lock); if (match) { *flags =3D match->flags; @@ -250,7 +257,7 @@ int mptcp_pm_nl_remove_doit(struct sk_buff *skb, struct= genl_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_pm_addr_entry *match =3D NULL; + struct mptcp_pm_addr_entry *match; struct mptcp_pm_addr_entry *entry; struct mptcp_sock *msk; LIST_HEAD(free_list); @@ -287,13 +294,7 @@ int mptcp_pm_nl_remove_doit(struct sk_buff *skb, struc= t genl_info *info) =20 lock_sock(sk); =20 - list_for_each_entry(entry, &msk->pm.userspace_pm_local_addr_list, list) { - if (entry->addr.id =3D=3D id_val) { - match =3D entry; - break; - } - } - + match =3D mptcp_userspace_pm_lookup_addr_by_id(msk, id_val); if (!match) { GENL_SET_ERR_MSG(info, "address with specified id not found"); release_sock(sk); --=20 2.35.3 From nobody Mon May 13 00:49:29 2024 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2087.outbound.protection.outlook.com [40.107.247.87]) (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 734BA15486 for ; Sat, 4 Nov 2023 14:17:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="wPdt2iT+" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f4mXVbuDirCa49mM7SbFf7PKdSU1VGnzYrzyqh2PdFT55AGhlOgq4UcnH5wCAgg7PSuseAd2pMtasnR/kc76+csjUMFAdan971bsSvQ9Do3NRVWtst/XG1b8GuoRht/egr07BKoy/29uIcHC6d7at0pANA9RNMsA51Ol+x3p1bTNW1VdAC4F5v6VgtziBv5fDuPyLdMafTNbaA4y3OHDWNXyxySHJN4zGirrvSilhQcG8w+D3W8qlr45ylIUrIm8CZQ5F8vPOmoJomzFaNkLwUfqhlvB46ncDXLBZbY3w0ievQnacoyRifEhFuvWwq/63iOd+4+xvuExt+xLtp0R2w== 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=Y2zhnK2P4Gf5C/Mv69ObnJ+9F7Ik8KS4QpL1mhNYgbg=; b=S+RW0OTkFWk7TPeBOeFhjtmNdXT+PhQxUMc8OWlKaU9wm0q8OUnTSICTuJxlheN1fM1EvzHjVeV8g8csoIXDXmnLhPMkO/IdCDAS6BigrKo2/GJE5sfSefCwh1ZZYRW4R9VOieGF7zZ4PwFcEEfoKKEb7NkfdsM71V32QO+ENesHZq4lo3ijcD/nUndkI4S1j3Lu0IpkbU1T1GRP401DeAqysLcjJBEWgw5q1MdjYZUTYV8Alfligybnwgjs3dO22Y4qRerv7Qq3FbvVWuiLhBey9xG6XYgXsD1DQkOwB3+hERQS1ZuWGNIjn9tcFDxoNw37pPnUCL9n79gELT4sHA== 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=Y2zhnK2P4Gf5C/Mv69ObnJ+9F7Ik8KS4QpL1mhNYgbg=; b=wPdt2iT+UISDWZhqJUfnDcoCWhmHcAxfe39oW788ry2JSgKCtVN8kBTrTIldOAoI4HSOj1j+AsDEP/INNPOtZAg44Lk71svebj7gviXjBRO3Uqtoc+pGmz3fRSDc5oVGgmhzTeiwwiz0PnogFduhaEJ3X16F6I+Yn7udgWl16sI8hqqkaaHwJkq1vEpaK91uzaY+k1ZBoM7vL0l5du4Y/2pjmLCeq9NgrOO+zEGdXf1xCoFzR9zjyGeyfZzVpf2uUYsnAgXpyAK/++4b/nQqfTfvCKfOEM9CPU7dm3VEfB1Vep5tqzIitfflq/X03lc5il0yGzX+8YtEjp86zPnGSg== 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 AM0PR04MB6820.eurprd04.prod.outlook.com (2603:10a6:208:188::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Sat, 4 Nov 2023 14:17:13 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 14:17:13 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 06/12] mptcp: dump userspace pm addrs Date: Sat, 4 Nov 2023 22:16:20 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0014.apcprd02.prod.outlook.com (2603:1096:4:1f7::9) 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_|AM0PR04MB6820:EE_ X-MS-Office365-Filtering-Correlation-Id: 92cc02e4-57a1-4afb-8696-08dbdd40bd77 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tu5tTVaI534MA+MsEIe7GKZZIwN1O5f9TDwoxxDojogN1innGVc7sQdCgh+3ZUKfKrhh+UZaXd+6vRo445lK2loOjg09srKH6qKrnfgwQXDGuq5KXFXWXdv6a3yaDA6UKdeswl3rvuEIDNdFKw+vTAsUlKzBlvoT/o3wvi1Qdup887eBaecQhW/9sNpa+g4FXUE4vLQRAGb5nZmAPsWhGYuoCJaTkZfdALhXoZAU+natVhPoUpqymddolI+Vo6hQeED/54cOdQNYmGVd4VSEtjKYpVW5f0VSwtVJFL8VhRSJOZfqi0mjxJ8jyTSWRdOH9iXcbrMKxRxFVAfJManwPjBXOK1mtXLamFEiQoCFaoMRL4HcjnJXlC7khLd8zSJPXKnWqHxwclOn9Kx47xuY9vPSt69wIoxbQrzkuxJnqpRk4MFZS+PSyxuWNTPShMfypASe9n3QMhOdR/R1Xaji8nglZBzzjcSiGPlRCWFFvpt3fqwAu5Wge1aiyuJQP93M2qEcMg1OQICwr3gh+QfthnKwJSUt6irzPEtsprLL00OFq1109volKcTVjcAun+pOZIAy9YNW52jKUg+IxMIDGpjc3wysBzXdsaHecyWbQwY= 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:(13230031)(376002)(396003)(346002)(366004)(39860400002)(136003)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(83380400001)(5660300002)(2906002)(6512007)(26005)(38100700002)(2616005)(36756003)(86362001)(41300700001)(6506007)(8936002)(107886003)(6666004)(66476007)(478600001)(4326008)(66556008)(8676002)(6486002)(316002)(6916009)(66946007)(44832011)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gGPliBsWRunuFSMe0JL2HhZ+2KXZogvNOS5wr+2MrK7XEakLd72m+FlbeOuV?= =?us-ascii?Q?1TTLGgoeezTPECzf/gn96DYAIlikfFBx7wKdRy/n4ShIDX1H1hQM0a77eVtS?= =?us-ascii?Q?Qr96jBJjbT/jLlbgQyMYG8VH/Dx6guqETEI3KN8xh8taVOEEZGEyZ2PwQ4Pn?= =?us-ascii?Q?TmkGUAX+f4gyLodMTYO9e3gro+mSnRJg6ZjAnFzH5bJM+OTEkN/h6+OMDzVC?= =?us-ascii?Q?QUAf7aAdQmm2vWSFKrN6zdqq+qCb8aYFoJJKyS9PGt7g3aXn/ozxgs9/3H/m?= =?us-ascii?Q?sMl8c7Hv8yLBhWH6bVaPj0qM5HTLmQCQQN+WheDi2PY0EJF1YniNePgq+78N?= =?us-ascii?Q?iKIVLTX8nuFRKKpb6qP8RsCA8BVN8+EynwrCP/69D2pPR1ODHyCQ0qMGd4Tk?= =?us-ascii?Q?NANgQ9WruaZHbSFoxamPB+l53JE3GGgkonSXQRtGH1iCMpKfpYJKIM+DHIOz?= =?us-ascii?Q?E5K5fA3ePHcXB09QMYE/CM3vJhQf+nDowjvFri2V1bj2WXOFgB8/4Z0hZarZ?= =?us-ascii?Q?aYm1+Ygzb60k8ClZuMdlDuM0gfGt8p3njnzrcoRCz5hSCGqspnAO5P7O232W?= =?us-ascii?Q?oOvXrzg1Wul3itZfOVZiLNgpqAEWn0Jbd44h0RJoTiV4zaTWVLDaNjvn4dji?= =?us-ascii?Q?K+U2qfpF12N5Wiidn1o0JM+D65jiWf3AFNwbq6INxBUX8h4TGEoSpU7RVShB?= =?us-ascii?Q?K0RIvCU3KqvgLd1PSbVV8R9nZN03rd7F2pbmWnfFkiXmLyOHbl97+kgzly4h?= =?us-ascii?Q?5XJiOv0G7cJiEJti20kwzj2/OD/acTKUzP6XAynO/Kdwjs0Rbn8V7TbVhRSh?= =?us-ascii?Q?WcLHadS/xijz0xuVBtIfV5QPhK/VwKoBI1L2rGLido/EyqNRGLIw12pKgk23?= =?us-ascii?Q?/JWg89Pr39Jm2cs4lFES/qj3Dv29d7jh6rnQbwK82U9T8E3ATei/J5S/XM4C?= =?us-ascii?Q?jp097ubZmcvw6lkyZ1fbUeiWeGyLiT5LHw/GBsSJjIZuTqVorNz9UKqbQekw?= =?us-ascii?Q?Td2x/5HgtYRWYMFOJTYNO6DxT8eGLiHGutR6RlBlu2at8cQi2ykpzzTvAfxI?= =?us-ascii?Q?Co0hiApd/yrhy5yteKFTkeMY09BULV/bgFtRzBPtv2RgDxMI5Uucm6KmT8IN?= =?us-ascii?Q?THI13yh34UJNfvWSrh6YedlTAW5mJfeNqGhbCMzsgZ4bO7cT62qoVbLkC4qs?= =?us-ascii?Q?cnNQ2eqWs2cY0E8Nm5rIGu9t1sRyDcJuyO3guFQuIa3AkqhNIru2MJMxxyPt?= =?us-ascii?Q?ukz5LryICdZ1LM4XWl+RddUOTdYwqXStLpz44qo/4HTlO21olP5ZdUGsuvk0?= =?us-ascii?Q?c3l0UhbFdyOUqN+/VZivc8kwgykDu4hb+QXfujUw3T9Tx5+E1kj6YFKjsCLL?= =?us-ascii?Q?9ip8Gt1B6FizaPyUoVo/4AVnAn5nFa14pOVixE0l6JZ7ZLP8hIQZ6Vehlrf0?= =?us-ascii?Q?STU70JWD0Vrs7I2s+GNIO9LPdN8Gwu/5ka7P1V77Ah4LiZj8QGk078VbDHCY?= =?us-ascii?Q?uqlLg6psQM34Ggx1S3lyeOXD4sRuVwtpEP2EiMsNeku1jn8ZXgynfjkXfHpd?= =?us-ascii?Q?OFTbvjRCmSZ3j8bNzvQBQlnahBAr/BhDzgvu4ANSNSCBA98+0mzXUA2uM4xl?= =?us-ascii?Q?Hw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 92cc02e4-57a1-4afb-8696-08dbdd40bd77 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 14:17:13.1398 (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: pjJv4GXlDfVWCVdHjEw9MN44Nn4pHbuwNqXeNjaJjhWs7btr38XCjvhboC2L3lIN5AmZB8VdDPCjMJMrw596DA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6820 Content-Type: text/plain; charset="utf-8" This patch adds a new function __userspace_pm_lookup_addr_by_id() to lookup the address entry by the given id in the userspace local addresses list. Invoke it when dumping addresses from netlink commands. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 9 +++++++-- net/mptcp/pm_userspace.c | 25 +++++++++++++++++++++++++ net/mptcp/protocol.h | 2 ++ 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 344362ec17fa..c2c51fed4e43 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1708,8 +1708,13 @@ int mptcp_pm_nl_get_addr_dumpit(struct sk_buff *msg, for (i =3D id; i < MPTCP_PM_MAX_ADDR_ID + 1; i++) { if (test_bit(i, pernet->id_bitmap)) { entry =3D __lookup_addr_by_id(pernet, i); - if (!entry) - break; + if (!entry) { + spin_unlock_bh(&pernet->lock); + entry =3D __userspace_pm_lookup_addr_by_id(net, i); + spin_lock_bh(&pernet->lock); + if (!entry) + break; + } =20 if (entry->addr.id <=3D id) continue; diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index f96dcb2b5db2..9c03fc46d9a9 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -575,3 +575,28 @@ void mptcp_userspace_pm_flush_addrs_list(struct net *n= et) cond_resched(); } } + +struct mptcp_pm_addr_entry * +__userspace_pm_lookup_addr_by_id(struct net *net, unsigned int id) +{ + struct mptcp_pm_addr_entry *entry =3D NULL; + long s_slot =3D 0, s_num =3D 0; + struct mptcp_sock *msk; + + while ((msk =3D mptcp_token_iter_next(net, &s_slot, &s_num)) !=3D NULL) { + struct sock *sk =3D (struct sock *)msk; + + if (mptcp_pm_is_userspace(msk)) { + lock_sock(sk); + spin_lock_bh(&msk->pm.lock); + entry =3D mptcp_userspace_pm_lookup_addr_by_id(msk, id); + spin_unlock_bh(&msk->pm.lock); + release_sock(sk); + } + + sock_put(sk); + cond_resched(); + } + + return entry; +} diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 0014b6b542a4..8bfa9bb0552d 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -1022,6 +1022,8 @@ bool mptcp_pm_rm_addr_signal(struct mptcp_sock *msk, = unsigned int remaining, 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 mptcp_addr_inf= o *skc); int mptcp_userspace_pm_get_local_id(struct mptcp_sock *msk, struct mptcp_a= ddr_info *skc); +struct mptcp_pm_addr_entry * +__userspace_pm_lookup_addr_by_id(struct net *net, unsigned int id); =20 void __init mptcp_pm_nl_init(void); void mptcp_pm_nl_work(struct mptcp_sock *msk); --=20 2.35.3 From nobody Mon May 13 00:49:29 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2064.outbound.protection.outlook.com [40.107.22.64]) (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 2E93915486 for ; Sat, 4 Nov 2023 14:17:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="JAGieKwI" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WbyTSWcxtkhhPXZJ/KXASLAsFoH6DAsIJoxPA1LGKaKnFl0RLHt50kdd/JL3vRUBZAw33VHZwb/kqzvX4xc73i9H0gwGdZ+tghYYA1y86Klup37/9Bf79hUVu0eM7geiLV8+vgQZR/O3W51ZqLn8bRqxfkki2dV8QFtProphJ+JcXdq71/hJDBjrgdMKrRB5BP6Q+4XWEE6Ry4wXVhXJeVxmGmG4sVtY+LqpdXLV4T2ISGy82MElBlYmPvkpvgswYst5lHdEtf7/tPS+uKIOJ+KNAlGLKPgqBMPMU6G//TNqphvQ5R8js5gopvH+MfOVIprn+If8fBYAHWNqjx92bA== 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=t/L6tzoQJbbHxqpWK66TBqhNM+jPj8BFDM7bbPCmH0w=; b=B6TXGYkb4nv9eo3Kr8b5PZFrgx47H+UrybLPfJT5gNvNYidDTThpOkP+p81z5BsTM0peOdzYcRRLbpDbsEohNtZDDLmsdMpd64qQbT2uORJkv33ZV4tyH7W4KYrbUHrffaAWCQjP9/4FAgcsBVx8u9EL+iZCqtYkABHGXoVV+86BeyswFSv1OfMT/q3B6O2hmC8jv/x3VZ+ymPII5nMEj1w0LbSXJfw0LxySuRWoPfArIkBEyrbIgUQuDp7ZtHFHCCp6bTgz0YjSArbECveuIipUEjWACXCbwN2dwOQ9PaZjddKIsDmjOPZiG12gQuK0VywrrvTDW39xnTS1G7uhcg== 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=t/L6tzoQJbbHxqpWK66TBqhNM+jPj8BFDM7bbPCmH0w=; b=JAGieKwIsLc5BNqTggk9VyZlD0bxNHusnWI6UF/Hifrdo0K3QUhcuz/tnbx697A28kAoYbdHu9bsmGiRq2ZfducgAwJU8KUsD3IrfANlljO/+u1/4HD3RDP/kux1Vo1yA1rpFbu1l6ayYMVEsMwRpZa3kA+RS0Nm1qf6bMXyWtZRA+OpkIT9kOuOU/jPtvFO5yKPJbJ0kjCBpozgDz7MsusmVZ9b3si0iFnGg+p3i9a8fL1bx/XAzNL9VGzTc5Wp4NmHaEY09LRfF/IG5nj8/jnC3DIKNpJ3OxZYIHq9r76GGDZNGk89oHnG7p2/GTgI/IQxj8sOtO69siOa7T9ZOA== 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 AM0PR04MB6820.eurprd04.prod.outlook.com (2603:10a6:208:188::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Sat, 4 Nov 2023 14:17:18 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 14:17:18 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 07/12] mptcp: check userspace pm subflow flag Date: Sat, 4 Nov 2023 22:16:21 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0014.apcprd02.prod.outlook.com (2603:1096:4:1f7::9) 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_|AM0PR04MB6820:EE_ X-MS-Office365-Filtering-Correlation-Id: 41a16229-8c82-43ef-5dda-08dbdd40c0bc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dzlmlUm/bbMrP6Z2Fv7gyjyK6inhCeiVRpI5i4K8coBWNeos/w7qg2w3FB7rNdh2Sd2kqlnUHdy8ZBN0qhyAGekPJshCOTyF9lt1TADEShQezKmjGOGqVqNEY1Y2k4C0IsfLIpr3otchF+n+Dnp541kQD9iT2fEPwT4xumM+bIBmXApPgFpzq7TQBEdSPwbubZujFHsrL5cLEg1pU/2MTlMfqMsPDFAzgD/pg4Ig4H7S7219ra5PbH7Yo35gtpZmraUu7Kv1k5xKd74/3KNOCQgjHaJ3x8KVJxEyFEF3DC5GfLdofbJ0koNtX9m8e1jJSjLNk6L2oZ5KNe2hPGeP6LAHguU6L/xRZvjxlSBm/tJ7eTGkSMm3VFxED+DRuR5o1CMr9+H2+YX4qSsgL7Y3QG0rw2p5MhhaTDlftviy8FQDaTO4x9SdqVQZ3GdgCJU9Xmla44oYlKVjo+M+DUR0/J1X/kM4XcQXmG1nN7fNcArJCO/Z32welC/qC47AXmogIEqH8lHaBCwxcoIxooSc0eY+Tn2qzLEkN9oFE49eQ/iokYrXYGpxnAMrc1ANQZ+mQAwFkHUUsc5rsYxtLHxlImeTR+Mw3f5UNDhM20FKYgg= 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:(13230031)(376002)(396003)(346002)(366004)(39860400002)(136003)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(83380400001)(5660300002)(2906002)(6512007)(26005)(38100700002)(2616005)(36756003)(86362001)(41300700001)(6506007)(8936002)(107886003)(6666004)(66476007)(478600001)(4326008)(66556008)(8676002)(6486002)(316002)(6916009)(66946007)(44832011)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tYRk5ngr11xplrEgChPZyj3GmYmVFZr6++KWgXgtetJyJrzLcbOBV10HnOw4?= =?us-ascii?Q?YrQ/4VfnBnaC1PXVmGpZOrxL+pHYsvgW+XywmUDB8LPxrXMipt4V8TGf+317?= =?us-ascii?Q?tVOvfSzedKriDIKE0+RPdXsclv5vHvzIWQYNCZZ/+dA14YLI+Vx4+oYh0TXB?= =?us-ascii?Q?cKjYCtGfoPrQ2KBP0ISwfvN9Ou0MKgj+lGg1VjijJ6HMn8ulTD3VQ3mhfkTR?= =?us-ascii?Q?E4G0YMJ1Li+R87sv6E8RQ6z0gMmyjMUa3n6TiY8bT0oilZNKKvPU1cGcOZLq?= =?us-ascii?Q?TeoU1O90+iXqhZ7RWFaBp/8RS56SUjQhYFC5iyxDAhyYrlnT/aXHZMbg50ox?= =?us-ascii?Q?WHJwJ1sHkMrSEhk/E+KSmBSAB7mlGh+HBpPCxRv5GhbuDI8cpMK9FvurBOjq?= =?us-ascii?Q?446hLBCJWRUhfOwt6J30xDnyLRITEx8mAi5VAipZKCtDT8ZFcEGWEtvm0gaV?= =?us-ascii?Q?lCwWb2KocUafvM0B0PkYWgKqMMD2/OtlElVWuXb1Rqiryi1ZiNy9kkWvtXh/?= =?us-ascii?Q?I0jM5Uwu0DLF/FuoNDaN14iMis9FcSLRvLUJ/Lw2W+KowGFB0KuIzHQlxK0s?= =?us-ascii?Q?BTXg3pgwMbIMpRUjemxp2EIiaLwLHOVXP5iFQtFApwEgB1D5gSxWlsa53i7v?= =?us-ascii?Q?F1oLGLYGVQxLrd1mx/1B4g+RpnarnrRoC0swWT3B4wZ74F4eDWljaeG4Mfgh?= =?us-ascii?Q?dAXie3yKCiEfy1byCEnuqazk0+7WsB3p0UozqJXMdSTRRzPZsIq4+aq2qn3J?= =?us-ascii?Q?NKh3La1zJj32ixVLVDHb9I6KL+OgJ/Rd5dMhKZv2V8HOrWz3SNWJv882Fhld?= =?us-ascii?Q?9WmbwFNZyFsFaf1hvf/NdnK1Gzaj1WTmwBKMTTvj2ehuNTb8yz1Ax/AVIoxf?= =?us-ascii?Q?4tDv0trrKe7T2Zk9n8twbn26IOaP5Ur9AxoDYtHria/g6Qd6R3XFkVc162w/?= =?us-ascii?Q?XoH+OirIiIkrqatjGagZbu/h4B6ckBgQclNyGeQuAkOL1BAiCdAB3uUN53YD?= =?us-ascii?Q?14wccPDszPp9i7qIVGsOJHHhkxXcIGmockCyZOkzTW9Ib+w0QRY4XJdQ2xKo?= =?us-ascii?Q?vKKHnr8T5xOoh0nzm117SIck7GvssB28Imdnwn3xHWUt2UTkd09a6GLUF7pR?= =?us-ascii?Q?6tB/dyqG46337oo/rXvzm+xH4CiyhSaZmG5CLJRdP0VYd7OVtOKKd7zRBjMD?= =?us-ascii?Q?fXaFf4qXZFCZNIGHB8Zs4Fp8U6mSSYfVUHWZJ8q7hMKPKPRnfih4YWviE/Gu?= =?us-ascii?Q?fY0flkGYbtux6ipZYxcDkwTbW2lFgN5IvNxYaAI6OpVDF53T2oszqypR9aHW?= =?us-ascii?Q?PZpB8Fng21uC1B5Gda83ra5Uz+1YNnW8sW1s2nPVt9MBA4aiD0wXxqSSCSQx?= =?us-ascii?Q?nVqaTUOOdfpfTCwVEmnSF3Z2CLlLtjUgEMzrWN/kad+bn8GeBQEo9gjk9oI7?= =?us-ascii?Q?ucrCWcZIf/Ra3MVgviHMQBPnc1Z5U2O1IYJcEVFo7oG5j7jfT6xmUPc2L2T+?= =?us-ascii?Q?E/6XsJRKpfF0pb4Ol+wDl4R/AIOm6lqhYm8Ix4o0Al0ZWrZ9JuyMf/6qMIRN?= =?us-ascii?Q?7lifbaZD9lFuTnVT71VIOgn4/3ppd3GYzc5j+i410XU8xnnwbJQHmi9yHJgP?= =?us-ascii?Q?2Q=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 41a16229-8c82-43ef-5dda-08dbdd40c0bc X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 14:17:18.5301 (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: SKVSNrsJ2AQ6FizF/4+3iFu9DPOxRdxXTBxkPsx0a65Ge446qmCpil6mvZ2bsQrJZCSMMRlN7Km14rHDARHmEA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6820 Content-Type: text/plain; charset="utf-8" This patch uses mptcp_pm_parse_entry() instead of mptcp_pm_parse_addr() to get the flags of the entry. Add MPTCP_PM_ADDR_FLAG_SUBFLOW flag check in mptcp_pm_nl_subflow_create_doit(). Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 9c03fc46d9a9..8ca715288872 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -350,12 +350,19 @@ int mptcp_pm_nl_subflow_create_doit(struct sk_buff *s= kb, struct genl_info *info) goto create_err; } =20 - err =3D mptcp_pm_parse_addr(laddr, info, &addr_l); + err =3D mptcp_pm_parse_entry(laddr, info, true, &local); if (err < 0) { NL_SET_ERR_MSG_ATTR(info->extack, laddr, "error parsing local addr"); goto create_err; } =20 + if (!(local.flags & MPTCP_PM_ADDR_FLAG_SUBFLOW)) { + GENL_SET_ERR_MSG(info, "invalid addr flags"); + err =3D -EINVAL; + goto create_err; + } + addr_l =3D local.addr; + err =3D mptcp_pm_parse_addr(raddr, info, &addr_r); if (err < 0) { NL_SET_ERR_MSG_ATTR(info->extack, raddr, "error parsing remote addr"); @@ -368,7 +375,6 @@ int mptcp_pm_nl_subflow_create_doit(struct sk_buff *skb= , struct 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"); --=20 2.35.3 From nobody Mon May 13 00:49:29 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2061.outbound.protection.outlook.com [40.107.22.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 1836A15486 for ; Sat, 4 Nov 2023 14:17:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="21gf4ozJ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Gjr5Eay5lMvULmBoz6hk1eJQliW1iYcEp7VwqtBQInju3WDEIdpvbie4aEb+U71l10PqfJ2K7uHhSAOuzmARt7cjRKZm3IuEtfKSbZlMv+EAfSIoOfcwLFo3VJtE1GW29RGzzp34WzFc9W+C9LdwptJaSAWRhty8J7xRzj96VHRSKokU6MmQwkTbgnU1MEs56VWu5iLD8Hj5ydJQWc1yZIZ4jSaFocAKY438+hNkx9rfaplF/3/iiEb8cSCDqoewMFyM0Sb5ZvA1NHYyX2qIwdxYvtbaZ2ejKxL3JvR+TP73x/jmgNwC+4yYk4UuVQ+IUvWW+z9KEZBsWLFC7pn8bQ== 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=n5O43D9ijb9BIKPHzYDtIYZdhGtMjEN+dhlKgpEMYVs=; b=grPpLfSvgxGCoQGIP6mvvR9px0WXKyib3IuboevPK++sfGOAWpvjqPCSr3VQ2bHEGMo9/lrMFhRI0YLgzA5BAY8J1Cx+CUERt3/nOCGiMmkkEaH3QYTBIb0kQxtlz06X+augwFF6sBQGroYtOphLtXvGGLS/xRAVxdmzn5y2qi+efXJ71kYBppt7P+Zcr4OONCwacIUpeSEsO5WIz4dPzJ2Qmc4gQOocpta8L1EXgyhpMblZPQqZ1I1rilXJAgop4WTk6UnBWH3OnuLRwnbl0uXE+SmFoI9nRBawM5bNmFRtnF+r2vOt7EkrYoC2dLBXkISfWMJR3AX7EcUjR6ScWw== 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=n5O43D9ijb9BIKPHzYDtIYZdhGtMjEN+dhlKgpEMYVs=; b=21gf4ozJvXPpKZZ8hWhLMEfdS9Pav5ta/air+/5R10+sDGWkuex5hL5Hx+2Ci1bHg2kV1tuoxt2x/FM6i54ZVUDupgVd1cXqHB0qFjpuP9QU21JFC2uvrykrnX852IPC2QfUlwGwIznbkAghOqf+Ii1FiAS9I6S+M/hoSuf1RgjblzFKoVw5EA7Rg4oSnwVh/iZpYq0VcCZzc6082EKc85in+qumCjpZOT0hQztnzlHcIw+4XZjmOJzgwn8tjzXPRRHGfK4VLqppu+36KmnXD8qSf8aTAlwlBDOEJ8lDLx93dQxT+SiRJdKL3RZoC2HGj5mp7luw8DIeFURyMpOqVw== 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 AM0PR04MB6820.eurprd04.prod.outlook.com (2603:10a6:208:188::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Sat, 4 Nov 2023 14:17:23 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 14:17:23 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 08/12] selftests: mptcp: add userspace pm subflow flag Date: Sat, 4 Nov 2023 22:16:22 +0800 Message-Id: <309fc7e6f9d1a62b0425673630a7d3f588891798.1699107275.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0004.apcprd02.prod.outlook.com (2603:1096:4:1f7::12) 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_|AM0PR04MB6820:EE_ X-MS-Office365-Filtering-Correlation-Id: e3b020f4-1ea1-4680-c16a-08dbdd40c3cc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LFXvUnDKyXiVeir4xpEjKqRDIX08yY67I2NRDhfWJgp3NrXFS5feoO5434iPkU8NgdbQVL9c48xWI2s8qCgfoCMJF7IZLn4rDURW66CHsrgLSqbp0dEeB30AXZk4ifBXD0U46mftMyaKuiKuVzozW5TwIP8sYk4Zel7ONvtAmp0gqi7B7AyHDx4fyo0WRnGuaVwk9oiUnASHH3n7klcYx14lsJwSMrcdIPhTGGsjbktofa1FN/qj6wnOL/7DGK30X+bdOkZKwW0azgaInfnvdS7tMtB/RlJoASXGbOhQfTFuUZwj9cTJIxRmG7+ztI7YYXKvHWDAPSh6jkqbG/ujPw6dnBZ2/OnZTh/xNx1jB9JWjhnmMRfV72+6CQicWx8W4Ltlgjm7wJqT/ShqlGdg+PL7uaL5xTfDzjNK0vC7SQSdi5MgMd1oRv6iNFBW8AC1ITjul9dPB1EWuiY052hg0y79NfT7U8rp9+eNZdOu5fcwHHULi01peIT7g0pIQWXZuHXjEMoV11Bklr1tM+IA1lbvWdhgcGvm4cd6HN1llOiMpVNWShurzyXmWzrw/A/7KjXIkJd0NOixyp1qwoliecyrwbsHDWgAp2a6KXs/5v8= 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:(13230031)(376002)(396003)(346002)(366004)(39860400002)(136003)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(5660300002)(2906002)(6512007)(26005)(38100700002)(2616005)(36756003)(86362001)(41300700001)(6506007)(8936002)(107886003)(66476007)(478600001)(4326008)(66556008)(8676002)(6486002)(316002)(6916009)(66946007)(44832011)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?W4SyKPdRJobln1WqcLWctXOpAzWkfc181mRBDlNo4YOb0fa8Zg9ndmERBAh7?= =?us-ascii?Q?LM9QS2kTg5gIl4fZ3GQvGAagWL3ok49/z4cpO5M/uzlf5+XQHrlyY2PQFGPt?= =?us-ascii?Q?cYxAyMc7VwlmabpGC9cgCb74UMV283vSKUFsdtx8HOgh5VqLXFsTW5hwcYiC?= =?us-ascii?Q?RT71HKyaLCEP9VvPvdIo1Mwuz6IlMWG4PSKc4M2Rm3swx1spwokkNrc095g3?= =?us-ascii?Q?Yud/2t8jC4bFbtwZKW2wUlEhXCugsaD/Hr6WVOzOrvTCIi0q25ZT8JGweP/R?= =?us-ascii?Q?3ENcpa4twiMgey5yL3KHhIsiXi1mI4qLrSSBTblHIv1jTuPEma5CuUU3QKdq?= =?us-ascii?Q?wZi1zdlhLLkFUshH93Vvpu+SYjZmXkRDWdukI/A+isn2YW5Iv6Kj9HV2k5iy?= =?us-ascii?Q?jAzwy38/ZkPXXID337YmHBdNzeoDwBAUFNYPGbmgqPgrC4wgX2L3IFAhXEy5?= =?us-ascii?Q?UGUxrpcfgcYchhsdRevlCdn9m3c8wRv+ualRRzqaJCGa8IrBP9r9imUGLNu+?= =?us-ascii?Q?ogQTiqSevxspByl4q9JFjr91XW8w4oAQs1SSz1yWg76u7mL5ticNvyBr32wo?= =?us-ascii?Q?I02sKgkCI2fUIj86ztYkwIsnDGOuzvo+Gc66KbALNMDc8WYoHr3zro8rLce6?= =?us-ascii?Q?aPdEyBWOb2bMO9q6u+RaTBVd181azaLX6pjcmnGSm6BNgc5p+5YJIlXsvpla?= =?us-ascii?Q?FWYrpaAx+FvZhDfSwOQmYWWmmQBgVRrtvs7uQynq4icxa87lG3oOF1w0uzWj?= =?us-ascii?Q?Vieb5zNkxlcXI7e6J7GG4+iEbQr/t0C4f/uNOhdv+q3WmJY4mWnQQ7gRdqwg?= =?us-ascii?Q?bVcqVhiz968/Lp3CsbS9B5UMB9kYoFKpU6TfNd8B8smhoXtvrV8oyFb48tPB?= =?us-ascii?Q?IyIGIVm2BG8hP722nW1kKt1eLyvQORKCcH409uW/2x1JvaZ2zT9IpkWvI3YY?= =?us-ascii?Q?dpuz4Sg1KDL7UJd3b8ih+UA1bA2vbbN4yBB6dGMbdGBC2+9QwwR6vWroZoB+?= =?us-ascii?Q?3mHuPyD9O+0BkJyFkEnoEhWMnEqYSw3ttKBKkGuWATDzAia1nCY3ZtVdA3UH?= =?us-ascii?Q?lH9s8vs9VDvNyQltC2MjT0HssX8J669dAZa4PXnyZQmcCZlgpN0uVjKrPqvJ?= =?us-ascii?Q?XKOrVb7oo+3pHVRnMtfTLbJ8bR74UjHGsdhvS2mi3fIQMzTjgKHX3Tx1DTUZ?= =?us-ascii?Q?kYKgXYE0FDl4bJ87pTVq0S+6EQ2f51O2W+1vjErB75BJy3kSb2QyLJ4RvH38?= =?us-ascii?Q?Hbupu5xtx5+vA+XJh6krKZ0gp8GYSlsfST96RSDHKFBl608a6GeQrStODC60?= =?us-ascii?Q?8nUdXwB8dnh+wkhos/IuuGMzUEviACpEvbOLuF2IZ5m6kl3osDVY1eN0WNGY?= =?us-ascii?Q?EdGsfzFAMZYKMD4ShOpivxP6Cep1hya1CxmXb48DhgqtZlGskk4gXMsq7LiR?= =?us-ascii?Q?KTdsLWW0KTi+bHIqagb99bSJIWfIEXhCSkRwo0vZAVz9lpk6bKvZpcPz+7di?= =?us-ascii?Q?O9uxhPWlxxIY5aQjHcl9x/X/Fk0pX5R/1Z73do+xr4ei2jdFqQabYDdLcI/z?= =?us-ascii?Q?fdHDJHac+43ortZdpoatnn6OXwxbOgA8ouvoDnLKv5YxgzCxTrmguxLjMQSN?= =?us-ascii?Q?Qg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e3b020f4-1ea1-4680-c16a-08dbdd40c3cc X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 14:17:23.6815 (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: hDl5bkpQFrOlAP1mVJCHgNzs/X5VKAtAMrIMf7XcqySCMonKE2YUfOL1XnBZb3EE26k3KsLdcQZ5GRq5n91+/Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6820 Content-Type: text/plain; charset="utf-8" This patch adds the address flag MPTCP_PM_ADDR_FLAG_SUBFLOW in csf() when subflow is created by a userspace PM. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/pm_nl_ctl.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c b/tools/testing/= selftests/net/mptcp/pm_nl_ctl.c index 49369c4a5f26..e97856323ec3 100644 --- a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c +++ b/tools/testing/selftests/net/mptcp/pm_nl_ctl.c @@ -453,6 +453,7 @@ int csf(int fd, int pm_family, int argc, char *argv[]) char data[NLMSG_ALIGN(sizeof(struct nlmsghdr)) + NLMSG_ALIGN(sizeof(struct genlmsghdr)) + 1024]; + u_int32_t flags =3D MPTCP_PM_ADDR_FLAG_SUBFLOW; const char *params[5]; struct nlmsghdr *nh; struct rtattr *addr; @@ -558,6 +559,13 @@ int csf(int fd, int pm_family, int argc, char *argv[]) off +=3D NLMSG_ALIGN(rta->rta_len); } =20 + /* addr flags */ + rta =3D (void *)(data + off); + rta->rta_type =3D MPTCP_PM_ADDR_ATTR_FLAGS; + rta->rta_len =3D RTA_LENGTH(4); + memcpy(RTA_DATA(rta), &flags, 4); + off +=3D NLMSG_ALIGN(rta->rta_len); + addr->rta_len =3D off - addr_start; } =20 --=20 2.35.3 From nobody Mon May 13 00:49:29 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2050.outbound.protection.outlook.com [40.107.22.50]) (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 34E0115486 for ; Sat, 4 Nov 2023 14:17:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="ClikmNgT" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iYcwFChVDfvOfW2c0wwCQPnwJXIQC4h/LlF2J94aHDdVk39ef6J4gMZ/aDBaIyG/8ouDKmUMrS7FOMF4RXxLef5JhBtmIH2mmWVSQhs/2QSRj5fHEr/HSb2XuzEAROFL298bbzIppBxnGwx2Qx9fPM7smrjcOIdP6tNiDDYCT+qWcvGhi7deHFgXhanzmPaB1uvO7Lz/EbgqUfOuDttndcmVpIZFEctUr9V0guZoCcZkW95vHibO03wBC1oqlGdjb94c5rFzBnW1GnXp9HxI0FYM0iGjHV5j4icJWBdR+BzM7nWN0lKKqZia+mfNG+3VuQa46YjSIbdGrSfSonhaeg== 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=PmlG2BtJ5D0TKRdWHuiNmNkxnLq2LDl1aM1UXtI2uQ4=; b=VDsIiE3z76Fucr9kIbUf4gI1b04pTrbZ6cxvLrJTP6XNdr/gaYrv/idM2qtLLwNV8PldzDu4zx/KCN4gP03oip/f0+HpBFZJvf1St4hOIhpUDg5rhrNJXZW760PfnxTPGv3Dm526bXap1mW+esaN0lZkIDmhkca44E1bci2ocwFXl8dvbT4Ehw6TxB6iK2Fw0sRxfMS338LkZxyrh8nRuFwQsDzt6ZQG0DeUFV9y8hNa49lpEehvJR5wLK0EZYEAK08M6BskEox/tWpQTS4F5DxwMtY9S9QzwV5TDNiTKltrXMW78J5BUFFEPnki2jpO2yz2rE8sEfSZtg8ojkXL/g== 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=PmlG2BtJ5D0TKRdWHuiNmNkxnLq2LDl1aM1UXtI2uQ4=; b=ClikmNgTB3BH++GWMxbAvB2BFEqM7EXksVsiocVXxf2/spr4zn3lVtHuKR2WRu3sRgwHLvzMgAkBNsLy/TBzzGTxWGrUE9JOHcDhKQRBjHZlGAWeyHFm4iwXjKCgUASYaLRLpgW2bxH9odPWaRDGYlscdze3QZyi+mU5MOymS9CJx0RTU0cAC8FgOCikQydxxzymTaJjyOqiw0Ic8igQO2c5p5SuX0cCmIIP9rm3xkT3EBnHpwo2owGzEjYReIq/mnYkTZqt/dvpfAJi0uy3pyTJnt7qmjteW3xVCxvQJ0w5+Jpl3YnPD6FkpsOqiCkuJUQnYN7FbqGA0vu9ETC+dg== 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 AM0PR04MB6820.eurprd04.prod.outlook.com (2603:10a6:208:188::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Sat, 4 Nov 2023 14:17:29 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 14:17:28 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 09/12] selftests: mptcp: flush and dump userspace addrs list Date: Sat, 4 Nov 2023 22:16:23 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0008.apcprd02.prod.outlook.com (2603:1096:4:1f7::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_|AM0PR04MB6820:EE_ X-MS-Office365-Filtering-Correlation-Id: f6474d69-e9f1-4cb7-7487-08dbdd40c6cc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YqYpo03E7s41OJnZoMQlA3Wm1K9IkSGoWz+VhveERJ2SN1au+zGoPQa6yD2odBZq6tSSzGUwCkljGBDYvpDGrwnYPzDHIlr5Q3lWdjnPcQS4jKEu/m5MyDbt8oq5s1kA7vc3G+HndZZXEbjbljXHhNesUQvwVmjNt5rb/6boKAoawL8SZAva2WU6/9t7KV18Mlz+p2+IpSYjsav/7X/Xg3qOvPoTmTowaCiZSw1YDOMatg/eLHdS5FU6oUfleZcUgzuFRdYWk4OAShwsRD9XHRD9Y/jB6DzRHnCilnvafooqxpHM25gTAneWwaoV7t72CBXgYiYcD9WVzRVcCKMZMvpnOQkBCfc3fLG71NoCrAGu1aA2WyjYEaH03cuOgnOpPv2DW8GwC1LMPFBadoeGQJ5BMG89ucpTIBCCQZWqnq2TNEsqX81jCXvQ7vrJXMboh7sP+73xxGXi0bWwt990rVVBP1uwIoDtDXBNj3UKM4PFv7j2ctrYgTIkXk/wgc7NgzmUL3fJx445fuzBZRzz0IZgE6G5oZ9NxZRAt3tCe/DekUzeaagECMul2BIsU0cTqUYzJGT15bcbRZcHSrf1RNLXvZux/tG54UXxXRQqn70= 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:(13230031)(376002)(396003)(346002)(366004)(39860400002)(136003)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(5660300002)(2906002)(6512007)(26005)(38100700002)(2616005)(36756003)(86362001)(41300700001)(6506007)(8936002)(107886003)(6666004)(66476007)(478600001)(4326008)(66556008)(8676002)(6486002)(316002)(6916009)(66946007)(44832011)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?BLNPI9VIwHC5X6nOgu1q5lq0o/weWdDXwiSk86t5/VxMJQc0GiS/IX++Kocp?= =?us-ascii?Q?1SKWOuV9EPiHvCIRkR9RmGATLR4wvORYD3ly7JVGlLI0eS4tc6MC8qri/xOa?= =?us-ascii?Q?BiU2jsuyf6wF3WJZtUR7/P6WyRIGcrVoVcepF8RnDQPQPjJc/t/tloWrFuu6?= =?us-ascii?Q?cz5Di0P66QuaZpsXlsM8OgouSS+Yyt5J0VSkRB/PbT0r0x2DCzr3vgsJ5bOA?= =?us-ascii?Q?MtvUDo3++7iieToMnRh/it8T5Jbt+Ezllc56MSmPiqfow9aBBeYyagwjTs54?= =?us-ascii?Q?+Og8kWz8lLf6bZPt1Hc1FK0vqILsTzR+NYXMuoxxVc+PRa+TTwgVvFTuDHC6?= =?us-ascii?Q?s09DK4MSlYJ6KHx7rUucgHWQ0quIfazPfZ07xXJhfTmZUyUxpIdxQUoQU90w?= =?us-ascii?Q?ndF4mLUJTCMBt+OfjylSUHgcqPB8w1apNZX9v4XcKA8g8tbg5b1Dx6NM89Hd?= =?us-ascii?Q?BOHxYpBbOLLiFkW21eFyoq6wFIX+6acNKCaD/8d2uo6oGhmCewOADese5qmb?= =?us-ascii?Q?hq0QFiSTHqNLkqdlTR8Ov4Ji3hzDvmzlS0XgbimElVck4/P5hqSat/ySJ8Pl?= =?us-ascii?Q?GeXYBDSA6bl2ITgu2U7gKz8r9d/6DvVHuk25CLZO6WoPOLCNyQhYDcSi+l0o?= =?us-ascii?Q?3s7WJPKy9YUICrfRx2DA4gfOigyqc3JJgVIkqxSPT16gTLICsSm0zEEUXBXb?= =?us-ascii?Q?EbuORVvO9Ec15PmAcvDXqFoI1Zg5ivFhld8/QFpMKuerV2k2u/6FHWbCR4SP?= =?us-ascii?Q?rhvSFt9o6/2C06f/iEOrO8aqXzWUnQE/dmzIcG6D+IgB1HN1tqBRAKSGtfpR?= =?us-ascii?Q?ZbK70c+RW46DE/ZlP1UhRXOdzfDhwiqOWsJ5WuKHGy8H22hilrrjXBKZhg6F?= =?us-ascii?Q?NLAa3km8Qe6SzLXHadXQ/rgRRa6X8UB4siKkpX+d1lHfuuoFi27bLobTSiVw?= =?us-ascii?Q?aGAf9wDjfXkzmFIE/Z9TXBL+kInmwqderroALnMI48JIXziXIDAed5v6C3o1?= =?us-ascii?Q?bQtTFlW/kdpOU8jxfsBEAKqQpHBbB7ChDmn67EjGPLqdDbPDe3mLQ45H+b4E?= =?us-ascii?Q?CRtOLx0M9ErgSeQvhGJ4vNam4d56otH87yFGzKLx9fZmCuhwb1fz9zNCB6pS?= =?us-ascii?Q?dUh1OMzLOMvWel1okJ7RssIOUY465d7hSVNeoE3kdIN/VZe5rvovsr8JdGIJ?= =?us-ascii?Q?jzJ967SV2Fj9KhbhJvjnZ6afwkBj8rSl3wRJBI+BkysS2zU90PNDOvS+sl01?= =?us-ascii?Q?xzHpCfTCqfFzLEWgEjKQHHvnhe+yePUuYz2pnQzXJFD7U4+wEwJn6u0FqCnl?= =?us-ascii?Q?EuLWF6DR0aTPQYb3Xb4PufyGw6RiIPg9euL9YahWMVihuvjLmWF+0eeH1ObJ?= =?us-ascii?Q?qmgqjzXC2zjdEGznK/GXZyPvxYNwl2D9HYHEIMP6MMKaCDpsEsp8//YV3LjW?= =?us-ascii?Q?tu9hvoSh3E1g0h6b+wvH6rY4g1xDuGPp2Tf7Y9qH/DZrnZhd6VFIBs+79TFl?= =?us-ascii?Q?jR/WWHJPbAl0eOX9LyyipPPWkSCfAWuIBO8xaPi7ZoQRj2rumJneA3W2Vk8A?= =?us-ascii?Q?QIMWcdw0rRzIE/K8OlM7w8KvZwqk8zrnJ3Zz0yCa4fj0LBUbnNIuGuDfjqKR?= =?us-ascii?Q?0A=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: f6474d69-e9f1-4cb7-7487-08dbdd40c6cc X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 14:17:28.8819 (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: 78LInk4SkANXQW4UAcT1F8o46XlQP9FYAzzIlbjOvDyAVTXsZknYfYss/NAyZKLQHsdrwgVJc+8JSA8ZIZiSSQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6820 Content-Type: text/plain; charset="utf-8" This patch tests newly added flush and dump commands for the userspace PM. Add these commands into userspace pm tests. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 995280882428..b56e141547db 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3405,6 +3405,7 @@ userspace_tests() local tests_pid=3D$! wait_mpj $ns1 userspace_pm_add_addr $ns1 10.0.2.1 10 + ip netns exec $ns1 ./pm_nl_ctl dump chk_join_nr 1 1 1 chk_add_nr 1 1 chk_mptcp_info subflows 1 subflows 1 @@ -3429,6 +3430,7 @@ userspace_tests() local tests_pid=3D$! wait_mpj $ns2 userspace_pm_add_sf $ns2 10.0.3.2 20 + ip netns exec $ns2 ./pm_nl_ctl dump chk_join_nr 1 1 1 chk_mptcp_info subflows 1 subflows 1 chk_subflows_total 2 2 @@ -3456,6 +3458,9 @@ userspace_tests() chk_join_nr 1 1 1 chk_mptcp_info subflows 1 subflows 1 chk_subflows_total 2 2 + ip netns exec $ns2 ./pm_nl_ctl flush + ip netns exec $ns2 ./pm_nl_ctl dump + chk_rm_nr 0 1 kill_events_pids wait $tests_pid fi --=20 2.35.3 From nobody Mon May 13 00:49:29 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2043.outbound.protection.outlook.com [40.107.22.43]) (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 C2E0115486 for ; Sat, 4 Nov 2023 14:17:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="nxh15VXJ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C36pCKuSXwBbCl2YxUTLeJIBYm5hc1v0njPtpFnOoMNaVfi14PsHfl902RkBRVBRalOIH2XD/BG9GM2sz5VUZDm9cjSYp9H4iMtIH0ZhPK3SP8r77NFoSpdcX07uZK95msB8TEDAf3p3PhkBQZ5+9EjV/8sB4K2+G37itbFD/dh/3jexYlQzLYs5In7o91yJKOr6x7RIhTOssIWgjTgfZECV4igiBv8YzAIJUFY/SKOQcvjeGAdXmwpIwYFSSPrx5Ogn6PM34QBYfZ8F8zy2EHmpVLnB4/AaczFljd9wcpZhd2xIlhh5WZMyZO2j/yW8uZCQ6RSchXc3QAR7F3fbaQ== 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=6ZrboBR95ZBgo76lZHz8SZ95/sPc5w/QF9MbFXExDSs=; b=nwOaDrzyTkcaKnCMheFGX7UeVx+LItvaiwBv8uUCVvOHDXTUbZHwvA9iRlNfo1C5Hnp5ZxDibHmrO2+TmKce5cDcv+O1Qo5XiNx0r1JgxFv17+vUc2M2Cxm4e3ue8wJsVARUqdS4ieo/pW6ZWHoSiYMs3WEP5RBDiGuK4sXtuQupArP1fP/S0EDsOITTYNoHOt9OlXfTnePfHPKBTYwz9i/g34rSYGeZdXJx+jv2rgSVeiTQQd+qWVS1e93Hcuy8CiD0n4Bf7hy4Tm07wTGLSFDv7ifX88i+i6pD/SImLKMcDp6kYgFRJLwb4IkGtl3AVZ9a3yetTSH4zO08g03YHw== 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=6ZrboBR95ZBgo76lZHz8SZ95/sPc5w/QF9MbFXExDSs=; b=nxh15VXJwOqgZCT+B8LCB4DjqZkHQgddPmGqt77amgbhnjWNSKUE/4FKnPrWzpr6M3H8UV/uqpm60CnnQiv2GiQ2T5KM34LjTRvWoYa386IAiJNoYap4a0E1bR5F/dkUa856YjbNRizGpji0YF26FTUYpdRr4LN23HNGdBX9sn04sx8emUfWx4MjgO4GNjN29B6Rrq+cqaTX2YMobrUlAU39x6KbvU4AAyKXRhkzrUMhvfcmqct1xqvTT7baDCtqI4BA7jmznKhlsQa/Ms5Z2bvPL8kDm08YjycsX6M8H8P9d7RIFzIPLqCDWW+TwcdE51FyaDxtUVUspa2m2NNNRw== 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 AM0PR04MB6820.eurprd04.prod.outlook.com (2603:10a6:208:188::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Sat, 4 Nov 2023 14:17:34 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 14:17:34 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 10/12] mptcp: drop mptcp_pm_get_* helpers Date: Sat, 4 Nov 2023 22:16:24 +0800 Message-Id: <063cf2a539af3f43520e3040cca09cee25bbaa5b.1699107275.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0012.apcprd02.prod.outlook.com (2603:1096:4:1f7::8) 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_|AM0PR04MB6820:EE_ X-MS-Office365-Filtering-Correlation-Id: e331b2fd-ec9e-461a-75c5-08dbdd40c9da X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Gl21H3r3okxywZvhk3LMzKEhz6ea1Z6i3Z4yrum/rY76D1EaFm9RInzHNzVvYSZ0ZgnH3USncjs6HN0jqkSUEK2FuoCAoWN/efuBgUOlWmBWyo33CFBZzrHb6SvPysgTcUUs0wb2xM7YJVHm2vRNx2CqwBEWNn2Yup/Oh8xsH/JIZXZqRwmikzOZPKsDPryjplH+7nN03yIoJDMEzaXRhPiCdNq5QUSvioRY83hMnabbZ/hWyqf4mG9aIYu2oBm3sAux7d4HdPQ9ZYRRuZsn4RDRWhSemD303Z0vmllDnwPS0XqHOtDI/OlX4/Cs4E+0wWViLonjTFFBEsZGRNYZnejQBAdYoXCbIM5wcGz9EViQJ5/LhkKlMVx2WBnT+L2x1z5da5liS8HuT0dygmu7LhMrZfdg9O0jI7J/mv+LyLHMGIX6MUeUqBx3EHEeABETocUXowL6YyuAkKO2TCDH50eq+vEYhJjqbWlMmAG/2BsGSqVPEgzYbZDHXHpOoiXcK2Eze6acaKkcaW6I37HuXHyUXrAMeDhSsN0qZvaNZemYVQiSNKv7vPgWR6v4m7akeMwPUDg9D+CG7g9rcqFAP8ComsFeR4IXgzmFoJr9fMVpT1SFcM45u1JeyPAknwrHlbchOwLzKqkPfpsiOrDP+g== 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:(13230031)(376002)(396003)(346002)(366004)(39860400002)(136003)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(83380400001)(5660300002)(2906002)(6512007)(26005)(38100700002)(2616005)(36756003)(86362001)(41300700001)(6506007)(8936002)(107886003)(6666004)(66476007)(478600001)(4326008)(66556008)(8676002)(6486002)(316002)(6916009)(66946007)(44832011)(13296009)(309714004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?EfsBsNNafxFKDWACPS+Slv1Zkcy4+MNVTTxg+E2X+gZnQvNoKg4/Tn+G8oKo?= =?us-ascii?Q?7Sa+m/EOq/VldV+eADQRNk8lZbSMTgOgHaEqfIYNMbcoxUn/qVXG7EOyuwGD?= =?us-ascii?Q?xyg9Ao6l8LPyw/siHXV33bH8V/TrYejIdHciH5rS8Bt1TGO4q8eqlFfg0HXN?= =?us-ascii?Q?OwPmLtHo0Sb86xVzI32e9kXO2zJwV7EZj1BTybLy1qnls4oHITTocL8EWB0k?= =?us-ascii?Q?KX4iOIxRac5fIZNp9q9tUYSB9xl5BDs4G7F91VS2BSWnHnFO/UpU4MbOxcm0?= =?us-ascii?Q?Gdg1uybgOYovlptScaCzQWNLmVu4tltnYL3brS/GSEV0HICGRrJxmCm5t/8y?= =?us-ascii?Q?rTl9F6o3crLMAsbxxB2VD9CKioy4cJ3ZI6yEszaUYMAFs0KZ5GyosfcAD6v6?= =?us-ascii?Q?3NJlT31u2e8l1kSyO9XeuBeh7+WXvMGT+weR2eWXDuEH081l0EIV9JDIXZln?= =?us-ascii?Q?/oHU01cz7olQ6PkwdYvlvGN7zA0IkRc5oUuHte4kTLZesv2b2ITbts1DdIfM?= =?us-ascii?Q?eYz2infrSMEERLB+hObEVGuEkZCSXTBCQXSSRQAmXR+a4duePbbkYXz/5q6J?= =?us-ascii?Q?JR3dglCUOrJp6Wd5edZ/u3r34G/OIJWddqnsOK7yMFhn4wm/x+xcJYK1dgqU?= =?us-ascii?Q?Bv4ZLi/sz3mla6aqzodKI/QAoZuOMQ7i+grUFYjCe3aLxhwhpIQO8Ybz8n9m?= =?us-ascii?Q?WiHi8n7IpPHx+7gDojnoY64gFxZcy3K3ZU1ywdqkTZzlU0U1K0d+IHT4rlhE?= =?us-ascii?Q?BwcZ+ggfxu9JJqXzksSK/pGAtqlHVPps15SGrP4pzSVcGqwkFLtcvZN5pogW?= =?us-ascii?Q?QS7wqM97/gzXN2wsWnQGO/uvYR+E50WGeF29v4yOkC6Q6nmEX/BJcPlVXH6U?= =?us-ascii?Q?bIfTVk1e5j2IjR7xyhmWPDugN/GRTcy4vS0lwbC6eImKtdJoOSCgvaLaTn5Y?= =?us-ascii?Q?eD/L4TAZu8rWz1xobgeYqEBU6m/NkU9IrJDwwyQ97i7bUy6Kv+7N2kkpmmle?= =?us-ascii?Q?SUonY0vGXtE2Lfbqwp1NCtOA8xarBLPQW4wWIUcvuX4EorXL3PS17ZvIYYVx?= =?us-ascii?Q?nUJP360t1B3MzD84jlEcgmrNsn3fPbZQk1vnHNNagolQnUK9g/29JGfIqIau?= =?us-ascii?Q?2cdMac4GTm7g4wX8ukumzLWvoYAUnYwcHX5d/zIwGqPV4X/N2E+p9Rk/Abxs?= =?us-ascii?Q?La5qoCcFo/nw/bC/OrvdeYHAvT/khBGZkzGaj3cNOBVs1nm+FO7J3/jZ0fSj?= =?us-ascii?Q?82LJrzTdslLFFvIWRJ5S/hhteuqS8PbFw0XtjwYtD+Kf9W7y7HJt0++2huDI?= =?us-ascii?Q?YQb2uneIWTY21XJnrRn2gym6ZqwxAN8oHUXu73DWNlFkkYvVWKNynR0zgaZS?= =?us-ascii?Q?XVSzPnp1w2qZ0kUAq+Ch+M5VjYy5X1iVzx3/6+K3ixaoM+6tpvbQ1kcGndtZ?= =?us-ascii?Q?XqYNfHDdkwwdF+Z4zx3SD3omiRbzcKmtH+2+/3ErTva7kNsF7VD2DD4KwsmC?= =?us-ascii?Q?WKW2Dfw0RoY31hMgMzGxybeN/8pc9YbC+luC6I2ILO2QsE0613HSGoXb5tsp?= =?us-ascii?Q?vHF9GaChdJ8AUooFT5DbJ5Ag+71pv1rZfwJoOnqkh4dD4Ba80A/+NjIPRcEy?= =?us-ascii?Q?bQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e331b2fd-ec9e-461a-75c5-08dbdd40c9da X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 14:17:34.0049 (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: hsD36mxqtfE8rEOJ6XBhE00KTVb+PGeZ0ZhLAT3yk04hOYKgRg1UcRmujjLsGOcyfi4AB96fUUKPovvD9utOHw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6820 Content-Type: text/plain; charset="utf-8" Drop four mptcp_pm_get_* helpers: mptcp_pm_get_add_addr_signal_max(); mptcp_pm_get_add_addr_accept_max(); mptcp_pm_get_subflows_max(); mptcp_pm_get_local_addr_max(); The helper pm_nl_get_pernet_from_msk() now can be used instead of using each of them. Signed-off-by: Geliang Tang --- net/mptcp/pm.c | 12 +++++----- net/mptcp/pm_netlink.c | 50 +++++++++--------------------------------- net/mptcp/protocol.h | 8 +++---- net/mptcp/sockopt.c | 9 ++++---- 4 files changed, 25 insertions(+), 54 deletions(-) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 4ae19113b8eb..48ff7ce20890 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -85,6 +85,7 @@ void mptcp_pm_new_connection(struct mptcp_sock *msk, cons= t struct sock *ssk, int =20 bool mptcp_pm_allow_new_subflow(struct mptcp_sock *msk) { + struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); struct mptcp_pm_data *pm =3D &msk->pm; unsigned int subflows_max; int ret =3D 0; @@ -99,7 +100,7 @@ bool mptcp_pm_allow_new_subflow(struct mptcp_sock *msk) return false; } =20 - subflows_max =3D mptcp_pm_get_subflows_max(msk); + subflows_max =3D READ_ONCE(pernet->subflows_max); =20 pr_debug("msk=3D%p subflows=3D%d max=3D%d allow=3D%d", msk, pm->subflows, subflows_max, READ_ONCE(pm->accept_subflow)); @@ -496,6 +497,7 @@ bool mptcp_pm_addr_families_match(const struct sock *sk, =20 void mptcp_pm_data_reset(struct mptcp_sock *msk) { + struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); u8 pm_type =3D mptcp_get_pm_type(sock_net((struct sock *)msk)); struct mptcp_pm_data *pm =3D &msk->pm; =20 @@ -508,17 +510,17 @@ void mptcp_pm_data_reset(struct mptcp_sock *msk) WRITE_ONCE(pm->pm_type, pm_type); =20 if (pm_type =3D=3D MPTCP_PM_TYPE_KERNEL) { - bool subflows_allowed =3D !!mptcp_pm_get_subflows_max(msk); + bool subflows_allowed =3D !!READ_ONCE(pernet->subflows_max); =20 /* pm->work_pending must be only be set to 'true' when * pm->pm_type is set to MPTCP_PM_TYPE_KERNEL */ WRITE_ONCE(pm->work_pending, - (!!mptcp_pm_get_local_addr_max(msk) && + (!!READ_ONCE(pernet->local_addr_max) && subflows_allowed) || - !!mptcp_pm_get_add_addr_signal_max(msk)); + !!READ_ONCE(pernet->add_addr_signal_max)); WRITE_ONCE(pm->accept_addr, - !!mptcp_pm_get_add_addr_accept_max(msk) && + !!READ_ONCE(pernet->add_addr_accept_max) && subflows_allowed); WRITE_ONCE(pm->accept_subflow, subflows_allowed); } else { diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index c2c51fed4e43..6199908cc26d 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -183,43 +183,11 @@ select_signal_address(struct pm_nl_pernet *pernet, co= nst struct mptcp_sock *msk) return ret; } =20 -unsigned int mptcp_pm_get_add_addr_signal_max(const struct mptcp_sock *msk) -{ - const struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); - - return READ_ONCE(pernet->add_addr_signal_max); -} -EXPORT_SYMBOL_GPL(mptcp_pm_get_add_addr_signal_max); - -unsigned int mptcp_pm_get_add_addr_accept_max(const struct mptcp_sock *msk) -{ - struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); - - return READ_ONCE(pernet->add_addr_accept_max); -} -EXPORT_SYMBOL_GPL(mptcp_pm_get_add_addr_accept_max); - -unsigned int mptcp_pm_get_subflows_max(const struct mptcp_sock *msk) -{ - struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); - - return READ_ONCE(pernet->subflows_max); -} -EXPORT_SYMBOL_GPL(mptcp_pm_get_subflows_max); - -unsigned int mptcp_pm_get_local_addr_max(const struct mptcp_sock *msk) -{ - struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); - - return READ_ONCE(pernet->local_addr_max); -} -EXPORT_SYMBOL_GPL(mptcp_pm_get_local_addr_max); - bool mptcp_pm_nl_check_work_pending(struct mptcp_sock *msk) { struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); =20 - if (msk->pm.subflows =3D=3D mptcp_pm_get_subflows_max(msk) || + if (msk->pm.subflows =3D=3D READ_ONCE(pernet->subflows_max) || (find_next_and_bit(pernet->id_bitmap, msk->pm.id_avail_bitmap, MPTCP_PM_MAX_ADDR_ID + 1, 0) =3D=3D MPTCP_PM_MAX_ADDR_ID + 1)) { WRITE_ONCE(msk->pm.work_pending, false); @@ -404,6 +372,7 @@ static unsigned int fill_remote_addresses_vec(struct mp= tcp_sock *msk, bool fullmesh, struct mptcp_addr_info *addrs) { + struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); bool deny_id0 =3D READ_ONCE(msk->pm.remote_deny_join_id0); struct sock *sk =3D (struct sock *)msk, *ssk; struct mptcp_subflow_context *subflow; @@ -411,7 +380,7 @@ static unsigned int fill_remote_addresses_vec(struct mp= tcp_sock *msk, unsigned int subflows_max; int i =3D 0; =20 - subflows_max =3D mptcp_pm_get_subflows_max(msk); + subflows_max =3D READ_ONCE(pernet->subflows_max); remote_address((struct sock_common *)sk, &remote); =20 /* Non-fullmesh endpoint, fill in the single entry @@ -514,9 +483,9 @@ static void mptcp_pm_create_subflow_or_signal_addr(stru= ct mptcp_sock *msk) =20 pernet =3D pm_nl_get_pernet(sock_net(sk)); =20 - add_addr_signal_max =3D mptcp_pm_get_add_addr_signal_max(msk); - local_addr_max =3D mptcp_pm_get_local_addr_max(msk); - subflows_max =3D mptcp_pm_get_subflows_max(msk); + add_addr_signal_max =3D READ_ONCE(pernet->add_addr_signal_max); + local_addr_max =3D READ_ONCE(pernet->local_addr_max); + subflows_max =3D READ_ONCE(pernet->subflows_max); =20 /* do lazy endpoint usage accounting for the MPC subflows */ if (unlikely(!(msk->pm.status & BIT(MPTCP_PM_MPC_ENDPOINT_ACCOUNTED))) &&= msk->first) { @@ -621,7 +590,7 @@ static unsigned int fill_local_addresses_vec(struct mpt= cp_sock *msk, int i =3D 0; =20 pernet =3D pm_nl_get_pernet_from_msk(msk); - subflows_max =3D mptcp_pm_get_subflows_max(msk); + subflows_max =3D READ_ONCE(pernet->subflows_max); =20 rcu_read_lock(); list_for_each_entry_rcu(entry, &pernet->local_addr_list, list) { @@ -664,6 +633,7 @@ static unsigned int fill_local_addresses_vec(struct mpt= cp_sock *msk, =20 static void mptcp_pm_nl_add_addr_received(struct mptcp_sock *msk) { + struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); struct mptcp_addr_info addrs[MPTCP_PM_ADDR_MAX]; struct sock *sk =3D (struct sock *)msk; unsigned int add_addr_accept_max; @@ -671,8 +641,8 @@ static void mptcp_pm_nl_add_addr_received(struct mptcp_= sock *msk) unsigned int subflows_max; int i, nr; =20 - add_addr_accept_max =3D mptcp_pm_get_add_addr_accept_max(msk); - subflows_max =3D mptcp_pm_get_subflows_max(msk); + add_addr_accept_max =3D READ_ONCE(pernet->add_addr_accept_max); + subflows_max =3D READ_ONCE(pernet->subflows_max); =20 pr_debug("accepted %d:%d remote family %d", msk->pm.add_addr_accepted, add_addr_accept_max, diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 8bfa9bb0552d..089fbebd21d3 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -1046,15 +1046,13 @@ struct pm_nl_pernet { =20 struct pm_nl_pernet * pm_nl_get_pernet_from_msk(const struct mptcp_sock *msk); -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); -unsigned int mptcp_pm_get_local_addr_max(const struct mptcp_sock *msk); =20 /* called under PM lock */ static inline void __mptcp_pm_close_subflow(struct mptcp_sock *msk) { - if (--msk->pm.subflows < mptcp_pm_get_subflows_max(msk)) + struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); + + if (--msk->pm.subflows < READ_ONCE(pernet->subflows_max)) WRITE_ONCE(msk->pm.accept_subflow, true); } =20 diff --git a/net/mptcp/sockopt.c b/net/mptcp/sockopt.c index 8d485c40585a..98f39c2a377a 100644 --- a/net/mptcp/sockopt.c +++ b/net/mptcp/sockopt.c @@ -890,6 +890,7 @@ static int mptcp_getsockopt_first_sf_only(struct mptcp_= sock *msk, int level, int =20 void mptcp_diag_fill_info(struct mptcp_sock *msk, struct mptcp_info *info) { + struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); struct sock *sk =3D (struct sock *)msk; u32 flags =3D 0; bool slow; @@ -907,13 +908,13 @@ void mptcp_diag_fill_info(struct mptcp_sock *msk, str= uct mptcp_info *info) /* The following limits only make sense for the in-kernel PM */ if (mptcp_pm_is_kernel(msk)) { info->mptcpi_subflows_max =3D - mptcp_pm_get_subflows_max(msk); + READ_ONCE(pernet->subflows_max); info->mptcpi_add_addr_signal_max =3D - mptcp_pm_get_add_addr_signal_max(msk); + READ_ONCE(pernet->add_addr_signal_max); info->mptcpi_add_addr_accepted_max =3D - mptcp_pm_get_add_addr_accept_max(msk); + READ_ONCE(pernet->add_addr_accept_max); info->mptcpi_local_addr_max =3D - mptcp_pm_get_local_addr_max(msk); + READ_ONCE(pernet->local_addr_max); } =20 if (__mptcp_check_fallback(msk)) --=20 2.35.3 From nobody Mon May 13 00:49:29 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2051.outbound.protection.outlook.com [40.107.22.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 950F715486 for ; Sat, 4 Nov 2023 14:17:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="ci9YIeb5" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=htzIRwQIodSThwoYCq4uec4wgKpo6OH3nT3VjIxkifrJVs4V1uOq9ImfsZQ1tPBIekJJEM3lHZyz2253/tktJuOv/l4nDs8WgmQyt7NBcDBf5FMDtWb0FYx8JNbO1Oy4UAdnupG03l8Cp+fC79m+WNsDbJ31SC6KCiINplVPlxy/4D2wt2iiwLB8PISoOmqT4oW+1iKhmOKElXEzkfHL0nZ67UatLdPjSyh9iAo+kI60OplqC0giShdIQnQ8p6SfEqTgzlH5IzHHPmlkDrfpAqu+4WWs/aw+WCGISqb30oJ3RSQtg0G/RujUismhWPULweKNsIjbL2eIwbSJkco+FQ== 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=x/p+bGd5843Bu/ArKXILVAXfq6x6ovdULqO0fEG2qHw=; b=GOzBsu0sd6mm3wnt8SPSYEvg3EAnSNuwTQFZX/C/BUoYTjw0yjWc4dZW5uCl6RaD4e2ZddSa3ZI9lH37USmf5OMfjT4krFgBbnkDq6z820A0k3frUOLTJeBt6YXynCRQetbOMRYHew2Kpd0G1mIQlFAgv6l0UuNnvKFrtYY8853Zkg8rplBYQFUjBxwWpMhtU3btj+FaB872kKAxH0kKq9nIOshJIvstCRh96juBU1tVF95ublMTntYxYiMuYICMHy7CBw57+A6YUU4xucjzsGMowhR6+MktBIk73tI42nKixHpgCkIQY+gTF528MsKXDCDtZFupA2BaQ18FMksyhA== 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=x/p+bGd5843Bu/ArKXILVAXfq6x6ovdULqO0fEG2qHw=; b=ci9YIeb5mmAD2UtgZPK12AHGHL6kdrqoBWHmk2w3EerQ8HyXBaDLiRbhp5SpykEjF2FYR79LvnX59n1Ts4NP3HpOLF4Y+oUWiFzpVgTVLgLNNpGzuQUugOxCrbweT5duYHQHi4ExvnBnxdkYzXz0vz0q+NoFzzuog40D2lbqg0u9jkEMBGsX9WHFPoCIUsQeEhvwDwGc2eEFEm6YPflq/KZ/2Ji5AuvLvQL6mUbatkAexQWHBNlt/XYWcKO3GWxtH95YUKr9pabhdtnI3G9iRG03MvQENgmpYj4meXx5UKgjIoDBnl+U8GiMVxt6r2VOWikOlHV9mfDjs+xMvFPLuw== 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 AM0PR04MB6820.eurprd04.prod.outlook.com (2603:10a6:208:188::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Sat, 4 Nov 2023 14:17:39 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 14:17:39 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 11/12] mptcp: add addresses_identically_equal helper Date: Sat, 4 Nov 2023 22:16:25 +0800 Message-Id: <7dde14ce5b2ac991fef1313f4422fc8576ebd185.1699107275.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0001.apcprd02.prod.outlook.com (2603:1096:4:1f7::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_|AM0PR04MB6820:EE_ X-MS-Office365-Filtering-Correlation-Id: cda24789-ec61-406e-b0ec-08dbdd40cd02 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WlfOh6pvwJq/9CbcaDa4uczH7MA8aWuzgWy2I56Kc3XfDfdBprYkjb+Ye2gGnN9mFaMEq3q8AiuO1o8mhLXAL6tMlU+r+0LjJjkhEptx0d9r6peerK749/gjc7qO/ZfnvKDxCVKUf+eA/Bs8g/A0PBEPRZrV0Fhej6eKH7PagTxday3eQUgwUtLY7CEgJaoatZA+mjb2x7GDF5tVmi1AR8F2x1i14AMXID3OmOdkN90TkgdAJOylNCI1whYps0aVuE/dCB/jvANUDpJ8XMhrZ4TMNqKC6672lIV8aUDPWR+I34xXQUwYZ5KqyS2jU1hz/BduJ6dK/cF3jsVBChfTIdDmcnSaQwa5jfwZuraePrjxU1DQ9BqX/NZ8R6x4M1YuK0mgtbpxYMo26bTujEWs0YywU35m45EDf9asB8ZJE7PuVIwZUMeYae2su8pWFU5k9NvvPdXKReGnkkKeugCz5Vt4PgnH47tvMdolvVCLexUnczEAm9u+aZRZzX3pJEvdOt5a6+xKiiJRMpQv5VdjIzOeFOA3P6vWCkjTzV4f5SJ6BM0c161srWSUiXXILMc5MFclecf13QgQe7MkVXF0Q6k2fIjFJy1lIm+V6KvFB/Q= 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:(13230031)(376002)(396003)(346002)(366004)(39860400002)(136003)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(83380400001)(5660300002)(2906002)(6512007)(26005)(38100700002)(2616005)(36756003)(86362001)(41300700001)(6506007)(8936002)(107886003)(6666004)(66476007)(478600001)(4326008)(66556008)(8676002)(6486002)(316002)(6916009)(66946007)(44832011)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2J+29tv7koYzKNWuX4rjgE7Keyic07ziegAxpQKnSQUjsz8Cw8FtxXseGL+1?= =?us-ascii?Q?NmtlWpnVQrarsNXMYveOZBZNPPDUKH2UxQLwGCUPJX6DYZ1pU0JM2gkzAMEZ?= =?us-ascii?Q?r3iGsNNx9TwsFYSRuazqSZHLbEvqJtFUtG/1cYNXejDKaRZ5i+H631+t3y3m?= =?us-ascii?Q?3kgN/VyjDZZj8k5spkZbOlKysTzIKTvtKsUcqkQEj/PBEXVPjG1dja7SD8SK?= =?us-ascii?Q?vGn7h/LLW4A+4BjmH5nNeuxKR6ycnlPkJTiV2Nxi6VE5ydEm3+VTqSW8OY51?= =?us-ascii?Q?DeRBlrqpHSNfvlLfpYfFCK2rxxQvggsJ1sdeBgkAih8ZRNjIYlzNKkRVUd2Q?= =?us-ascii?Q?DmWss/PgQGiC7YLqk9MH4xOOnS7fx9stLOspT/eFwx6lZ9iupdMpOmxt+DmM?= =?us-ascii?Q?aIRjwBTLQ1s+Nl9AjhVA466uIXk71OhtMyrJ/uri8sjnp+G1LoGNERB0pUWY?= =?us-ascii?Q?E38iQNyP8PpyPYD85+9OhgEVQAQ9agLsKR+VNmHiAj1Xfth/AH0alWMxL4b7?= =?us-ascii?Q?crKXP2WoqVQCwg7F4yErHVFk/CptGy7Fo7tIn/1UTEUFUZT/23WXXtEWIZjn?= =?us-ascii?Q?N6xFBE/ySian/MWR0aX2saEntPKKr9Wh/gFPfVPpLozY3y9OG3UrxjUWowfO?= =?us-ascii?Q?S8QBam+QsfO4B7+aSj1vmIyaUfTlTI+7ulr1YDi/dtO308IGBB1UAi8gLTCl?= =?us-ascii?Q?B91IgJUt25XMWcOGy4s/UwJe3afKTPaWvmgUFDfNIYcaN87kbESite2nZF4u?= =?us-ascii?Q?ph0xv4M/H2e3baUo2dplOl0GJ7SaE2qAa3OnN/GxoHoCyDmf7N1KSRXDgj70?= =?us-ascii?Q?v8feDnLk9z6VDe/aZf3Hv+aqqHgCbCTJmztnkT4DGFsauMJO4vfPgAWNZBhS?= =?us-ascii?Q?jMH16J9xPZ5/vgVY4GeZx1xvdQwnumOYcayYYt6J8sLSlkhva06rfBYEqfvO?= =?us-ascii?Q?Vq1PmstNj5RXH5LpJVS0C4O+lETwDn3Gc/zTHd6DZxX1HjGdOADJyLRfM6If?= =?us-ascii?Q?2SLX3sc9wmqRaubG3DxHGm0TChXfIGB9PwTlbKsDjJphrSPFykwhDicdCB+M?= =?us-ascii?Q?GDwuxL/+B7+kZi7SKcaWfgkndXrhSQb3hnyRVRFyqpGY8Q0I1XSEfWgLU/H/?= =?us-ascii?Q?oexRNPVh6F/0zruP9rkI+UJtnoxBdKoMhrhOBxTuwLe3z77s0/bVb1AqoIZM?= =?us-ascii?Q?s1rcjBsKth9QMc65JNfe0fuG5fCwVYGYpcSLKmubueX6dgb4ISfa/bXzjUX9?= =?us-ascii?Q?HrjkaZ4sTKNyfwE8CArGHk5yeeE5y0x8m8bC4B475S92tEuT22BJIe87d1GO?= =?us-ascii?Q?PKT6+Rr4Zo+sxcwhjFaRSEbUsAj/zHwDj25pbPnXC5u3HF/8EFCMW/ZWgMfq?= =?us-ascii?Q?KiTdb9VcIevqcsZwDltHNjhvWxrubrIUao4rXOu78ftUg1LSAczpqo8b/PQ+?= =?us-ascii?Q?fPRH5wJwH1GxMufpvjep5IecEmXJi3mV0cD4YmyoOMvAytQOrCaBdD3ewD7H?= =?us-ascii?Q?fMWrukL/1ea43gOM1gbZfrh73JgWQNsVGxb3c8zymCSCPlD5n7pgFQoWGOUK?= =?us-ascii?Q?QnXmYDivlb0dmVDLtzbSNCnPR2YXjZi5gNKcs4K2L6siRfL8UCDm0SWvsF4j?= =?us-ascii?Q?1g=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: cda24789-ec61-406e-b0ec-08dbdd40cd02 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 14:17:39.3140 (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: al9jiMZ4aM58OB5cx4PURb+koJN8T9B4J58uN8deh15Xm+dBHztzYkS2/m8ByQAOVn7yYof7iuJYJ9dHwwuKRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6820 Content-Type: text/plain; charset="utf-8" Similar to addresses_equal() helper, this patch adds a new helper addresses_identically_equal() to test if the two given addresses have both the same address and the same address id. Add a new parameter check_id for mptcp_lookup_anno_list_by_saddr(), and use the newly added helper instead of mptcp_addresses_equal() in it. Signed-off-by: Geliang Tang --- net/mptcp/pm.c | 2 +- net/mptcp/pm_netlink.c | 25 +++++++++++++++++++------ net/mptcp/protocol.h | 3 ++- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 48ff7ce20890..475534e51317 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -259,7 +259,7 @@ void mptcp_pm_add_addr_echoed(struct mptcp_sock *msk, =20 spin_lock_bh(&pm->lock); =20 - if (mptcp_lookup_anno_list_by_saddr(msk, addr) && READ_ONCE(pm->work_pend= ing)) + if (mptcp_lookup_anno_list_by_saddr(msk, addr, false) && READ_ONCE(pm->wo= rk_pending)) mptcp_pm_schedule_work(msk, MPTCP_PM_SUBFLOW_ESTABLISHED); =20 spin_unlock_bh(&pm->lock); diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 6199908cc26d..a4fe051d74a9 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -74,6 +74,18 @@ bool mptcp_addresses_equal(const struct mptcp_addr_info = *a, return a->port =3D=3D b->port; } =20 +static bool addresses_identically_equal(const struct mptcp_addr_info *a, + const struct mptcp_addr_info *b, + bool use_port, bool check_id) +{ + if (!mptcp_addresses_equal(a, b, use_port)) + return false; + if (!check_id) + return true; + + return a->id =3D=3D b->id; +} + void mptcp_local_address(const struct sock_common *skc, struct mptcp_addr_= info *addr) { addr->family =3D skc->skc_family; @@ -198,14 +210,15 @@ bool mptcp_pm_nl_check_work_pending(struct mptcp_sock= *msk) =20 struct mptcp_pm_add_entry * mptcp_lookup_anno_list_by_saddr(const struct mptcp_sock *msk, - const struct mptcp_addr_info *addr) + const struct mptcp_addr_info *addr, + bool check_id) { struct mptcp_pm_add_entry *entry; =20 lockdep_assert_held(&msk->pm.lock); =20 list_for_each_entry(entry, &msk->pm.anno_list, list) { - if (mptcp_addresses_equal(&entry->addr, addr, true)) + if (addresses_identically_equal(&entry->addr, addr, true, check_id)) return entry; } =20 @@ -285,12 +298,12 @@ mptcp_pm_del_add_timer(struct mptcp_sock *msk, struct sock *sk =3D (struct sock *)msk; =20 spin_lock_bh(&msk->pm.lock); - entry =3D mptcp_lookup_anno_list_by_saddr(msk, addr); - if (entry && (!check_id || entry->addr.id =3D=3D addr->id)) + entry =3D mptcp_lookup_anno_list_by_saddr(msk, addr, check_id); + if (entry) entry->retrans_times =3D ADD_ADDR_RETRANS_MAX; spin_unlock_bh(&msk->pm.lock); =20 - if (entry && (!check_id || entry->addr.id =3D=3D addr->id)) + if (entry) sk_stop_timer_sync(sk, &entry->add_timer); =20 return entry; @@ -305,7 +318,7 @@ bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, =20 lockdep_assert_held(&msk->pm.lock); =20 - add_entry =3D mptcp_lookup_anno_list_by_saddr(msk, addr); + add_entry =3D mptcp_lookup_anno_list_by_saddr(msk, addr, false); =20 if (add_entry) { if (mptcp_pm_is_kernel(msk)) diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 089fbebd21d3..5f2c52c82cf7 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -918,7 +918,8 @@ mptcp_pm_del_add_timer(struct mptcp_sock *msk, const struct mptcp_addr_info *addr, bool check_id); struct mptcp_pm_add_entry * mptcp_lookup_anno_list_by_saddr(const struct mptcp_sock *msk, - const struct mptcp_addr_info *addr); + const struct mptcp_addr_info *addr, + bool check_id); 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 Mon May 13 00:49:29 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2043.outbound.protection.outlook.com [40.107.22.43]) (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 29A4915486 for ; Sat, 4 Nov 2023 14:17:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="H1dE97E0" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J+ITkr6EBonFutlvU4Fn3ou9FWq2A+OmnCETpt+nB/tKcq1khrUpsEOloaiG2LU8r0Nl+mkcIsPjuTxeoRPbgkgrNoMDW9oxaCAR/ug9SttMfsvomvfMfcFbl2NNBfa2KdZYXWKjnsmTIalXV64vbMHigWUA2eZ09puxJHRW7QwQlFH7gMpssopTIkOvQ/HlYO6x1IqWwdsvQhezAD2qkXQoYFQ454XbZuC28EPmFVdyTgwM6domcvYchpIbVmqdA2xUJeTFj/phjxLWRVdHuumgggXamT2u95SXgiteozov/BqVKrNVro7iaOuO4YbgzOoHAbpDz/UanHwwWZ6eHw== 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=+T9plPdpz6T8d/QQhCljbdjlJktCmvquI/ANwcEAJTQ=; b=CMICsJ91oN4YT+i61xVG+srAJvJY0y16bliuQ8mPJoRHeAXUUXbr3G4DU1Dd+PJTASIrOXoCxqCF78H/ZNY79UR7tAUtCinr17iLBZ8mMqblT8dSZgOifxzE72kB5BQvocAHfbsDsesFKz78oBG8oOblcMqxwJPnTqkyyK092hTLZxU5/6UHlFGJwJkh+Pa9nHw/KVhj10yHe/Kz8GcZC7Ph9MGd0sbCmGZcSArmCi1fxLteSr7rxxByW8F98UMldxcvNzKEyxHW/RW8zCPHgEWOK49IojqgkLzJjgM6WSER3gSbwwRfkpb/t+0ohMGLo52y3H+DmJWbeXH7SEGqmg== 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=+T9plPdpz6T8d/QQhCljbdjlJktCmvquI/ANwcEAJTQ=; b=H1dE97E0PL5a0iOorMg/eaBBomyiJ/lRlG1oyK71ZxYEiffaeNMRNNuIjmwk/afRNsqvuj87+jYKXqA+yaPhpO7jHjU4eVrFeDVWNyRuYY085lF3ZzGN3VKnqsso4ejARIYNwR8JlQBN8KpmdeEG3Qx0IiTZz6wZdt7ybhpLbWt+WcMK9APULdAQLJIseopbGu59ClSCCTTM9QuR5tG9yASpdWJ69Dzvr0p8d73tL0AAoevKvdMISkqQUP/elLdkwQoKP0Ink44OrV0jfCoGh8CKw4aNkmkce5ORkjQ49hag5mjmi/H0rjqPHvPW5sh6mrP1dbQ7vJvocOIxxxaMNQ== 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 AM0PR04MB6820.eurprd04.prod.outlook.com (2603:10a6:208:188::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Sat, 4 Nov 2023 14:17:44 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 14:17:44 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 12/12] mptcp: drop lookup_by_id parameter in lookup_addr Date: Sat, 4 Nov 2023 22:16:26 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0014.apcprd02.prod.outlook.com (2603:1096:4:1f7::9) 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_|AM0PR04MB6820:EE_ X-MS-Office365-Filtering-Correlation-Id: 6a5a055b-7008-47db-d799-08dbdd40d036 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eEOsFoI+ILdSitI5zsMRx+CiwU7th1rsXI5/BYzKQHgRwWZfF39T4BnqxNFsIfgGrHAZWRRLtskk2y4RpTICh5krsN5ZiMmnbpm0je5Jtm15ryfRZ2xh9FatdbHQeacT3rPE343zLvKhnn2MgyM8zwrm5GzhOCHKcka9k4CKN5S7NoYt7m7ZeMbnWjeRjLLSEynPA+6L08FLzRd46mfkKJRELn6rVN+traT332fnm6frf2FT9PFlB6ODoV5Iqtcx5WsP3LNVwvdwRc/yFftSJ3/7xy2VfZTKzvuyWUyaz70T7NZAWq1TQJ/wlDjWMHkqqM+xjsvV7W/wTY3Ooa0KEbi1sB3sYrBL6nRIUuX4Rcwu+GSlquUMgRAguBnapw7qUrRGa16tPBP7zp//DmYvIFOlyJujcqnSEd3JPmsQ5Y9/bFl8RuK7JEV5j/+j7+hXqfnDcyAHZ6nBoDc8b9GPgni5z/21aO7th3kLCrQLzgUBg+B/dNdGv4oaKF5OfweBLp5p/d3quL4q0h9OrQonOC/7I0vUVJrp5bBY+buHSFDZ6OrSNmlupepGRA2viI0hvlUpCT3lyqhTG2wIggkLtbUlQWq5gnVpYkVGBj420VQ= 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:(13230031)(376002)(396003)(346002)(366004)(39860400002)(136003)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(83380400001)(5660300002)(2906002)(6512007)(26005)(38100700002)(2616005)(36756003)(86362001)(41300700001)(6506007)(8936002)(107886003)(6666004)(66476007)(478600001)(4326008)(66556008)(8676002)(6486002)(316002)(6916009)(66946007)(44832011)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?FDH8GwNwlPonOLxkI+JvfhEFvYr1mNjdcCqoLbLFMiR4pvfgagLVY4F+lX/t?= =?us-ascii?Q?kVSV6RJ0RTIkryfEAXcZ+mPrK1h17nBzCLWpyq4zQRjzFNP5sdjNv9KNOCL8?= =?us-ascii?Q?BGK/9YsdxTrUJAdcV8/6P5rXPAdB7W1xjStFA0MqBzmoZxZAyb3b3DBNX1Q3?= =?us-ascii?Q?u4S2bHAtn7OnQNeqvyrZDZadepj/4jW8K8OAmMp7ApskDMHV5C7dnrKXH01T?= =?us-ascii?Q?VHdlXaoR7c4yQCeD8saI0cj7S1BT/zmCvqRkJM2r5gZj9Fj+DukN29DDhqVM?= =?us-ascii?Q?Mx5IeudGVgN5scBoRhhFm7twVMj8byS+sn65vMFVCYkc/K8uRdGJkoiyTWSW?= =?us-ascii?Q?6UmeW1VXZ2pMmKTD+EBG716THlyStAim82HJesnBwnTvOK0Y15NYU826xDuD?= =?us-ascii?Q?EW3aA5GApUx7SEXxcbmcTl2R4j9HWwh1bqCy+vfCkA0RrxpYKGoa5Y8ZgoDB?= =?us-ascii?Q?SGHrJaRFzJP8HYawuqsUf3fuDbVsT08cv274qXyuBT96pLgTguM1HGMo91a0?= =?us-ascii?Q?dXwS+BQVZdp4KJj5xI46q62DTAomwejv7xcWGNuugo/ygjq5jsf7kbfUnhlR?= =?us-ascii?Q?aaz+OLNKXYm+eJYz+0r9xyGqKfVxjf77alevSzEmYouIMQFqKswahcxMKtao?= =?us-ascii?Q?GnGsRTi+4+F+qQFRgHL4PWdmJPHM72WvJl+DnohVmutTHkLUjKRUoWAhYg2J?= =?us-ascii?Q?zj0aBb1wpyZQDBMItoxrwNNK8BSX+q1wT+pJuHuuqjDQd5lIm3eeXWV95xXe?= =?us-ascii?Q?+3UsaIFJCozWge+RJvwjr7eLfEYhOr2/JTx6QcOCGxSUBGg6t9D+7o5ccgSr?= =?us-ascii?Q?9Lb2uG31z973fR+P0K78Z8kkr/eZGHuKxDZaoXDGmDMF7DxHFhonRodhZywK?= =?us-ascii?Q?+qteWX3SGd9df6aYhucnkXbkwkY/TzsxJNFSA6TmG3C7P/y4XACvaJtcqVlm?= =?us-ascii?Q?/5m4ZzYt1tsRBIaN53LC03s5ipoqfBRgC17HFC7mQPOjIkUe537Qy1kbTCrs?= =?us-ascii?Q?Y1W9D1H8NpUMcY32pWi7Y4xzMyFJs3BCv3v/P0Di1lmkc6XdFd9eCBCqEKSy?= =?us-ascii?Q?CfLcv+ev8EeQrltgMkNUA26bNN8nfQONtHduOts8pja2YjE9tGJoWSmZ3lTj?= =?us-ascii?Q?OU83AfOVyY2lrWTmKb45QVfK01Rvl2Xp3PppquvINBp2Ykw5CjcBXv0XCMSb?= =?us-ascii?Q?cLBIr9GAb+MvAgvDva6fbU+q7KywaIRNeujxLexy6YLM5H6olnK7xo2+TDRt?= =?us-ascii?Q?h4bvRgavcIjp4PMHJOOjFBE5iZIK1JlQSzHdF8735Rj1x45iu8xPxGmJuWO4?= =?us-ascii?Q?PNPkHLmoN9PEDRO6PC5NXQ9+ZxLy86vE2Ao7gZuMhwvYYMSqGNWLOdddrUAU?= =?us-ascii?Q?8o26bwYe0Z+tzV5HVkdPYNKMnYxbxaFsILNulp+LjVlSkPPczk28DNuj15u9?= =?us-ascii?Q?eW51klb0HumDcJ/wNJzkv7sHcfdsrT+J2SXSNvef8d9iq/IKnPCuuZIKplwl?= =?us-ascii?Q?hTt0OPfGCLEqeppVoVgQUBn6GiZiv6OC585EBHn6+iBYvIEdEoqPb8mwZyvP?= =?us-ascii?Q?CYvxbK1UmZXJWNOZLYsTtSCKjXwtRTBv22gOOCfW83Qcp9JzE3r04HlcxJQK?= =?us-ascii?Q?0g=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6a5a055b-7008-47db-d799-08dbdd40d036 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 14:17:44.6764 (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: TtWzJ+RDJOY4SP1xUQdyZi0Hl5DkNWc4MW5t7x9V3FW/92mEU4cHWqS1gNMPFQCYMavymGK9esL2IgoQciNwmQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6820 Content-Type: text/plain; charset="utf-8" When lookup_by_id parameter of __lookup_addr() is true, it's the same as __lookup_addr_by_id(). Drop this parameter. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index a4fe051d74a9..3d69e6e70119 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -471,15 +471,12 @@ __lookup_addr_by_id(struct pm_nl_pernet *pernet, unsi= gned int id) } =20 static struct mptcp_pm_addr_entry * -__lookup_addr(struct pm_nl_pernet *pernet, const struct mptcp_addr_info *i= nfo, - bool lookup_by_id) +__lookup_addr(struct pm_nl_pernet *pernet, const struct mptcp_addr_info *i= nfo) { struct mptcp_pm_addr_entry *entry; =20 list_for_each_entry(entry, &pernet->local_addr_list, list) { - if ((!lookup_by_id && - mptcp_addresses_equal(&entry->addr, info, entry->addr.port)) || - (lookup_by_id && entry->addr.id =3D=3D info->id)) + if (mptcp_addresses_equal(&entry->addr, info, entry->addr.port)) return entry; } return NULL; @@ -509,7 +506,7 @@ static void mptcp_pm_create_subflow_or_signal_addr(stru= ct mptcp_sock *msk) =20 mptcp_local_address((struct sock_common *)msk->first, &mpc_addr); rcu_read_lock(); - entry =3D __lookup_addr(pernet, &mpc_addr, false); + entry =3D __lookup_addr(pernet, &mpc_addr); if (entry) { __clear_bit(entry->addr.id, msk->pm.id_avail_bitmap); msk->mpc_endpoint_id =3D entry->addr.id; @@ -1852,7 +1849,8 @@ int mptcp_pm_nl_set_flags(struct net *net, struct mpt= cp_pm_addr_entry *addr, u8 } =20 spin_lock_bh(&pernet->lock); - entry =3D __lookup_addr(pernet, &addr->addr, lookup_by_id); + entry =3D lookup_by_id ? __lookup_addr_by_id(pernet, addr->addr.id) : + __lookup_addr(pernet, &addr->addr); if (!entry) { spin_unlock_bh(&pernet->lock); return -EINVAL; --=20 2.35.3