From nobody Sun May 12 06:57:59 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2074.outbound.protection.outlook.com [40.107.7.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 05BA0846B for ; Sat, 4 Nov 2023 08:36: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="EF0w/4bi" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eWJMit/eoIKkBorSRgsuWOWWG8FnR5dqxUu8BxB8jVG+0gu2d1kI+eO3TOzY/iGFT0uq5tM/Xo3yyuA6N9jBIEzXu2vUOrQ6zuOBQrm7sJxvtgu6jNbL/IPW59g1e/uBQ3JZCQABL6ZznZRHElbwA5Nw6b4YCmbhEeQT5cig0kFzrv21RHAARP1WYznZ0vwUR/Kcs/TDmdl36zR0pqJmRAfy9075/13Q0LkaWETGfg5JsSTKzEMkQsx/Su5GrHo5BF3N+pmbKa2WrftfxDkDiSQXfoL5CVKhDLqZJf9RF8PWIWc1qEbLZ8bDnuv0h3AaV/tlm2HdCn3wdbvfcZHBDg== 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=nRwYssWmF6/qVu/vwkovIOLc8cda2pJAL8xOWw/iBzBswBidmYpJIN+zSmRjFAtqZqg2Hqo4aTjv3ulgbhI8+W+uX8meW5WOFBJVwveLCderbtagLeTqnspIqy34BRotF2Qt4iCSAwg4ed0S4u77wjBr2kuZTc/wblYLkiNqWghHk4/EuomZoqgkXJ7/UlCyzb5X76E3X4SI1SA0jvpl5t0Gm8FuVNdHX95PGosUre0RH3lNstBVv+VfVND3K3admk6kJycw/TVMBlLiKDYFcJVVP33xnHvUPNbGspU2D6jTb/fY/wOwDDFE/uqG+YYyoIQIEejI2wPXnKppnA5g4Q== 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=EF0w/4biqgzNY6Pvl5NtMJFbvuDVvZMtxCs4GHP90L/aAlo7H9Zryl+4kTEddMHQmzq277u7eA8k/psbDoQTBvB8kkUk4YFhVWp+YIcwm7kBtM5bMWQrfPAqs5p4KYrMyCSAVYuiP+/9ACIpnpd6upUYzPDBeUAbVbFWKnY3JTKzRPvHYqvPmBVbp8UKHG2qzSdABV+IWGsML0kZuo3lAJCG+JXSLNVtOzwfeimdYhdL1h97imKkxrzaNSOXLPJrzgVdg6c3zIZGZ9vOP8g+D+y41+Vn/CFb0pyn+yzAF59ycD4pHT1+5Urvlc8MUO/ogH67InRPBrMeTNe+gVTbBA== 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 AM9PR04MB8874.eurprd04.prod.outlook.com (2603:10a6:20b:409::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Sat, 4 Nov 2023 08:36:00 +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 08:36:00 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 01/12] mptcp: export pm_nl_get_pernet_from_msk Date: Sat, 4 Nov 2023 16:35:36 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR02CA0023.apcprd02.prod.outlook.com (2603:1096:4:195::11) 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_|AM9PR04MB8874:EE_ X-MS-Office365-Filtering-Correlation-Id: 578a3908-9450-47c8-2a53-08dbdd1112e2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jCWjYQcTXhMFzgcfnFM53eS+wRzTAZ5KYj8mmRP3e86SI9jNUF1Mg2A0tSskxnwtpSBy90eAmJLpCi86avlqPqepSBjLZP+tJ8n92p6mhWZW6u3rPo1tON1enXpZ+frIS9vjTdQEJguZLgXD2evLAEwg09fs3fr0P2txSmTQLYFACCQUrIhLrheuLeJR7hLOEhPmB5BdMwl6vlNADSJagImEJ6erqbWKIgGak0hLc/SjZlzokKwvV/kbpJpWax0quzQEXISVNSxfzeKyfpRrSRmzaCGiFnSzSCES4grTL2lQr2lCfmp51EvaQZLDiZHg5LA3CN3iFixYOu3zogq3kF3Ln8lzMQFr9PmJ0QgrE+gFmqthbISVA1RgDt5K3Wrv0wgM/gV1BgLdZopOSH4pl932ZhjPKFKPV6KJeFAejTMdKzX4JXkBF+wUqQ1oo82Z3ijTumGxIC5eci4Or7IZUcy70umIp7RIhNIn3bdLRmLQtxMHknEGXcjgIULcJMigLhtM8BzZkQzIsP1X7zYITJLcmh4i3NeBMhFQyZhjTyUagrygHWsRZA5nbFQXPEFZ7gZ9xE2s5R87544/Fey9qryRa+Bs5s2t7veMHtt1SIg= 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)(39860400002)(366004)(136003)(396003)(346002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(316002)(86362001)(83380400001)(107886003)(6486002)(8936002)(44832011)(4326008)(478600001)(66476007)(66556008)(41300700001)(66946007)(6916009)(8676002)(36756003)(26005)(5660300002)(2616005)(2906002)(6506007)(6512007)(38100700002)(6666004)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?RfSlUSosuTncjCsb253qmZgLsMs/ebmemHfhTvPmh/fqYFufeyhEYcvHmmwO?= =?us-ascii?Q?VWJdplC3fCE5chuOx1z3smuvPuNmZXKjX8CHbJsFsUvM4lXbaSxYg4Y8VvnO?= =?us-ascii?Q?z6aVLN8NNJ8Sdh6Df281rFoPVx3rFcuBxmOms6htpFkMulpuprf9MDFQtWPB?= =?us-ascii?Q?IkIWoAFe1OXy5n1fN8vbIKWkgF+Q2eZD5URyM1vBtBq+103W3GADown1Ye92?= =?us-ascii?Q?3o1U9k76XaZ52Cw2cv+FAGVn6O3M4aUtoG5IdyXPYCqh2oR/EMJNAOjNAcVt?= =?us-ascii?Q?3V7aEA9JsHSry7q7pYqS9/gXMpwv1nzd6cpvAv7B6v13sBZDN3HGQKEsNNRY?= =?us-ascii?Q?sN1+oPngv0YMfAp/jewTmMd5YE2L7JaZ+eN7SnytXqAZw/fFZFkVV+SubJyA?= =?us-ascii?Q?RLwPlpafxADFv17tfzv69S8ari9VYabieS0VUeoCMYEKtJ7og7ou/qjd+O+C?= =?us-ascii?Q?49xVWe30+Tw2O20QCbqTYIbg+pPs2uJ9mR9nMLhuSn51xklM+Ie07y5mdtBC?= =?us-ascii?Q?sEc8Yp+2H13/p0QPH55MaVhUnn/wzsC4I86smJp6CfgmJl2r58Ebwrg+h49/?= =?us-ascii?Q?aaIw0xko3R1/6ev90Cm7ybgmmkg1H7zedH7A6kEStOVfMyiECls7K3kSf4eI?= =?us-ascii?Q?PVecSkyEiT/qY+nM3EoPn5UsvNVuekPF+Po9Le2dcRxMKWWHp8cJ7nsODtbH?= =?us-ascii?Q?I05LXVrOymzE6Z4AsJ9DMGpm/NMWvRvJKLpUDZHXOsClrwi8+h8dV/prllBd?= =?us-ascii?Q?0UmnOPflTID+SFq85K+APeWFvRWc0NKRpt02FqqPrpzeNADNXUPGeAYmKZz2?= =?us-ascii?Q?3Kb+yCy4MYacXzNH4UIzDmA9Ar7L+01/OaNmx//5fsOC1AexgGjAIRRVdbZO?= =?us-ascii?Q?7Q1DJmM+zA6BfIdY0dGiSSKEH8reuae4s1mu3lY4iqrBpzviXB95ZSbEKdt8?= =?us-ascii?Q?a3isNAKRgj1t5/fXxJt7itUzvrdKpUgt5AqZtAV0a20h7YX60CulP4qnKS78?= =?us-ascii?Q?ChyVDshygz9MqMCUwxnzzyDoPu6lBGf5MZjvJl1ifTG6JVu3pTjgTWFgxadd?= =?us-ascii?Q?a85P7x+ciYK0omX+qIsRg7oM8FKVO0Voidw+lW5LqYJwzjg6gJ7rD0XUa75d?= =?us-ascii?Q?r/oj3UgsbNe3oBvU27pR1Wx4z3v66H2+usLZek03ydvu9WHqKzRKGMyjH5Qn?= =?us-ascii?Q?gTRbjhwVN04kDTZyyRR0/AOGon4jj20oxnYzN/DEgMgQDfXbuphhcXmhBTpg?= =?us-ascii?Q?laK+bqWUTPr268qandVMklWs4lRD7n25mlTqwnK3rRrO86JtOkj+rcS3H3t1?= =?us-ascii?Q?xWjziHrX6/Py8dxdrV/+PQK675UpRmv5XV93MMGVd2ePHkFiwz7VFc8gKlaI?= =?us-ascii?Q?hmEtdTZgFFgN4JL3FDcwr5QgWEtein6xNP91jfh8P5explWnMemsa37r3xQ/?= =?us-ascii?Q?zZQf8EwFaBzpv52UatZWFsu+Rwp6ghrvBzAxm7GZvK0jxHQiQCVodU10OoZz?= =?us-ascii?Q?J6doVGDvQeAy0OwXojEjSO7681IevtFZ94s2Sh/pfXpYMMBZ2os42I9EeNln?= =?us-ascii?Q?22bfoU/Nrsjejn72AHyp1SDGSkXdE5oVhQwbN1fSlCxt79uy945Y++FHFtMj?= =?us-ascii?Q?Hg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 578a3908-9450-47c8-2a53-08dbdd1112e2 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:36:00.5977 (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: xxyFb42Qo77OdQhY9q3ED306RDYjSSTDK6b6UIHvUgGZM5F9s9rMWBCKZfnHK7zfPewyHK00cO4De4rTN0d+qg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8874 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 Sun May 12 06:57:59 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2069.outbound.protection.outlook.com [40.107.20.69]) (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 4AFBF846B for ; Sat, 4 Nov 2023 08:36:08 +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="m6ml7Zh4" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UWbcUNGGfy+kX4C7PiUsnzhj5aLSwss7x5gI7kU+ifDcYoVd9ptyZmex+mEUuoyJCYXMDqVAZi4QBRJ2cmwqiwluxFqnXKwVKmJYc24x3WSSCzJFdox6dimqpzL1jWgaBbTkKcXdSxpuWm4SzjMQV9RYiPWzTb66HD4DIJM2++02KS/A3zeuPR9ZL+ygg1yVCnp0kukUCEppi+LboGfY3mxOMFZWTjks4H1pdZJfd6Z7URYafA/H9NS1s7Bh0cj7ymdd14vtTWDmFdpXFS+SYm/gHiMmrHwe35Zp1htFmXz8AnEGvtpyO+LuNUovcs7y46GUhv3i01I14z6dZMMH9Q== 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=E+cL6YcaW0M9kaI4y+uvCXHWXHMp8Hh8bkyb8ODhb0w=; b=lbOAdioLlU66yqDr4xApV1DjMLxVgMh5M5WPo2UVnYW6F03F5a1cbNoaGv6jznodN6FKKl2pi4Kz9jeh/4JpBYCxLeFLRIDVKrDugMUg12uF/fvlsWIIdGhDClDZrv7QGg1lThBsKaMIgtRWfRYIPdp3GKs3GXvE8p5r6KQL7DH9SOB91ah+pV64VptKjvKG5Fj/Ue1kDuQ0T1P2/50nc5XfjnsD1L/+w3pznUTMDYWhZLX22HxELVUB3PrIZeS54JToZ2wLE5rBCT+CTgOLD4SiXwmJZEXPddDtrpw6yL9Gdeuiwhe/xmCQ+Fok6wbNVxOsu+FyFifVSgx/XTcp1w== 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=E+cL6YcaW0M9kaI4y+uvCXHWXHMp8Hh8bkyb8ODhb0w=; b=m6ml7Zh4LISmmAToNbE9Cn52BPwQLcoaCPAK+qhFmU/c0pI3VJ6sPVLXoN4SrK4eXjED1GpxTRKN3do+oWWmh/ic+tNSRHCPvruFrs/xQQDo5O7gV2Ju55OxOnkxcnzVL+NGTYjw8PywW/pqiOKHezHzpofAMcXSkM9XtsJW7r+5+1TgisL6GjgKKOqOqm5cTZRFzBJbgz0H0a86SiKPbcutFmq9Q7o54Ao67oOVbpYrlY9u3sk9gdlBzsSEaoqCYv9UQ/yDnTvWRlmj0DZOINjGc0QYV6L5GrH7QdDeEUJdFbbpE3P10BSYUY3mTQUlGdF6cPuyAnIRJJ4YziwO8A== 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 AM9PR04MB8874.eurprd04.prod.outlook.com (2603:10a6:20b:409::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Sat, 4 Nov 2023 08:36:06 +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 08:36:06 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 02/12] mptcp: use pernet id_bitmap in userspace pm Date: Sat, 4 Nov 2023 16:35:37 +0800 Message-Id: <45f88df1563575ef4bf5f38c0f5937e14e30aa13.1699086244.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR02CA0024.apcprd02.prod.outlook.com (2603:1096:4:195::18) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM9PR04MB8874:EE_ X-MS-Office365-Filtering-Correlation-Id: ecfb9d56-5330-4c6f-735d-08dbdd11167a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: F45G/7ZXNXXWDQt88eMHBpUk720RM08oy8S/eHCgKOEyn9M1wciElJvR7KcUICTSg+PrQdr1S2o5+KcjMiNF6XAh+lHszu/xTbX4Nfm3t99V1uW8g3a/YR63SIsqKzLicNp5J3z2NzEXlziT5v7JZ5rjaNvPR8t4y8TqFHQ+DEQ4dkLU2Jr1weYoMoMCo8dZqS/W9ohE2E4ZlzoBM/t32mhL5SRQQowrR8CHbD6zjbQCyWy084+KY58LUeqmwPp/c9HGqHfGNRcH6ExwbhmsX4E/925eWDglOgFrAVW3haXR2uphbmfXdkznvSclhxAqweVzsKb/XM31ssZoeU6l7mibqMWiQNgf07GxRIQZ38fDfAVODuz5VZVj5z23vjGO65eS4r+nuDFhgsrx2ZA37KN8Bsd1Pq6J83MSXi4dhF0lt8g3dja9X125hqL8XIRhHgW94fex7TdjTaIdlXmZ7TPJFw59Lk4BtIIQTMtsqixHQtxWuSNrWRYfXr/2X2svFeUWiXtc/eIcVRok6WsiBX8SnNs9OlRLBx2lZduURj5XU15zoq1QESr+7FfCtYgOS0q8sucyC/AH6VC+hPgnhnRujDo1Xl3d7HcNm4ZYBvI= 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)(39860400002)(366004)(136003)(396003)(346002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(316002)(86362001)(83380400001)(107886003)(6486002)(8936002)(44832011)(4326008)(478600001)(66476007)(66556008)(41300700001)(66946007)(6916009)(8676002)(36756003)(26005)(5660300002)(2616005)(2906002)(6506007)(6512007)(38100700002)(6666004)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?RursJARbgT3T2wn46eUGm3wsAe5LO4hveb27ZYKDG2MgwvhoBAqzpEPX+nVO?= =?us-ascii?Q?ZDU3QEscoA97LqOozGe/P4YCIbcwCgBzlG5BnDlovWATXO8hwPnD/SPdgfXm?= =?us-ascii?Q?j1I7Q/46mGixNrqVvYwn5eWIf5SmyEZadC3onG41I8UUI4YlvcUvxrydjM91?= =?us-ascii?Q?bDop4YYCQjCl+8RIS0WlDRJ7poiuqNBXdNvsDlBG8gH5UK5Q4RUG2KHrt+kE?= =?us-ascii?Q?eJ6PByAh3QWYTcp5hYh1RF/9/5erD3qPnLmrr8prRmhOXD9MLeuWiUHIYtWY?= =?us-ascii?Q?PaiK14MawTB56z1H/mNrwLT6GsJmNY0KbjDPHD6uHdOAXdetio7wdMn3xRSk?= =?us-ascii?Q?SdzHBbMPyae/ev3dbv6GWxBZgBczMhCVvbu7V2HkXWSrBR+2Ba0DPh1S09Ud?= =?us-ascii?Q?2rmlt2vdJhOJMhwEFiob1tHMX0VCKaaaRP/qow1TX62FW4KCH7j9Q67CdboE?= =?us-ascii?Q?wZ7crNfMu8lYojyttxIGPQ96V5ofsv6nuXREazqZd2KJY0AAdM/W7icvfq/x?= =?us-ascii?Q?xOktIT/lWBQnOOM+h44mjAmG1LBeJC31j6a+bQkZl4C4LiNLBzg+f53muFq7?= =?us-ascii?Q?lIkCsUJLMcgmy68MIKT0t9M+i7p905nKXlVTXDJgfFAC8pc1HwFc231tnR0B?= =?us-ascii?Q?D8yLr3tFgnVPLrTZzBNQQ1jmCN/q2tlIybRfih3xOHKEdo+METr77t9OGqCJ?= =?us-ascii?Q?bCtxYxx9c1Q4sf8im0XKuke09HlKUSwpYjlbEhkgUa6UD9HwOlPIYYzErvwf?= =?us-ascii?Q?K+R7vncm4Ox5wR447OBou36MjG1TCCI5k76we8WylpkaFwYEwUXCkwHVKI7D?= =?us-ascii?Q?rJnJOhKeYdDt6N/WKcKkfZa4+iorshk93vUidpiapvOGkiYGnqiov1xsvkrM?= =?us-ascii?Q?/KX39FdAvMIovqRzlLBVtp+Sy6AeuZmGgHmZvFVNGUjtB6SqvcWYHbKJws8N?= =?us-ascii?Q?aS62JlSNKt9uKjSP1D8QrwfRv/kzLAdUccm652BwpGIt4mfNPabNveSvtx7Y?= =?us-ascii?Q?6B5gx3VhzDNhX7h9hhYzncoJO4SJuUI9ZjD7g7x/S0SeSz1xFaTwUB842+tv?= =?us-ascii?Q?YFUBR88B6F1g6sTC6aZUG2iTwifBllwWLGo368xjtm5TRlUZBIwjihzeyckw?= =?us-ascii?Q?dzNPbUQtOn+Ub8DdtJfmQ5X7w7fEzORh3pVM6+2w3c3kRt8S2lJMbZeP10Kg?= =?us-ascii?Q?8zZJBN/syIwOeHHyEAP2eBvYO3QiC+2IsXUwQiDeBPDG7aRlDZfeo+ULhY0I?= =?us-ascii?Q?hRRGjxwRMUNipvFtGoYAIBa8hor1QzIxdkQMj3S5Q9wdXINUca3cydi9nZRC?= =?us-ascii?Q?I19+f3cv/p7Nlq7RA3F7h+Rs+iLvklP6pptyxU+9kJW75Bo+GbORaoOr+FCd?= =?us-ascii?Q?47cX3nc4OGGhMt1aR7rAN89GwNTvNHrBVTWSuD9SLlpwdExQDXr7LuhwBCqk?= =?us-ascii?Q?5W8T6wo6RVq3V/87wPmv4JY0XIc/X7zxvvZOxcmBG3R858idKFppIgAdoRRq?= =?us-ascii?Q?o3mYJ6PZoBmXdpDKo5pRwkgl7YTHWSV1lHUMIj0xydSp/AEZu/vrhFmWAs82?= =?us-ascii?Q?IDYRGIFv2nyAqzxyI3XJbEZzGwwfZ5aBx6Ht9HnOaYNOlUdi8ETqEMm/NiAV?= =?us-ascii?Q?pQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ecfb9d56-5330-4c6f-735d-08dbdd11167a X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:36:06.5474 (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: fb1YZMxXZXBEmNkZA4yk+v5vVFqZhRohd+6J5vp0E2L+5dcyBqGP50USlrn6BT3k/+gJufZ+BPU4nS0q6uJwtQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8874 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 | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index efecbe3cf415..ab953eed7aac 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) { @@ -64,10 +62,13 @@ static int mptcp_userspace_pm_append_new_local_addr(str= uct mptcp_sock *msk, } =20 *e =3D *entry; + spin_lock_bh(&pernet->lock); 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); + spin_unlock_bh(&pernet->lock); 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 Sun May 12 06:57:59 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2081.outbound.protection.outlook.com [40.107.7.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 64E0D846B for ; Sat, 4 Nov 2023 08:36:14 +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="aiAj/dSM" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZfPWiZh/rYqbE35GJ3pomvD4fkQZ3+7zfMnFmzE7zSvp/xKEM+qHSy2fOCwm00A95vPREeMcWOZNH+I9CMcOmR6Lq5ENMvWwKHeMlhoOUaM/uhlD/Uf4Voi/giw9P6lR2HlNCowyzdrrsqOslzFgUpL0ZqD1Nqg4xskp7iQgLmQfes6qpiT5pDeVVyJ8lCj7f593B9pEY7CMDKVjVhqw9KJ4e2FkE9ZPydHkV+CM3HgGGtRQI2f/qZGSH2+R8UiP3oJfNXmNwM8F3DAvMgmvAnhJKxWcNvn6rRwNzMFHJSyo3cCLNhvimd2NpWlEl6X3Yomlkdjx2px+icXdv8aVRg== 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=aNDnnZJGrrj0q7BjBYijIDETOUpdMFOBm16mtfg0jzU=; b=Aj9ji27LSLuh3lAF4+rRiarB8oEKSVvbAESkdlJGnCdqLmGhU7tAT8H8f3wUqL2Q7cRsvLswx9+XjZTmL1ttLisuoeE5lhpjc2rQhO78JWESv2XgEw9FOXwnPkIT8fNB1SaKlHJIYq6W3i9kWowWNE1EXh+SEJgtLrXRQQ+pGRBILEBwdUGAj7Vxpwuw8NOTS4dSmOjDz7k34xNCcuaXvNc/L3NaMgD/KNPFZrgYqJFCsKkOzik0ANnU3DGYhes6qY/Xp6yb7Y3de8TSxHFqzSwEGWdyAtwgZqGD+Ot5lbue4D+HtfBdaP1zQrAM5nRbsY72x3ie1j5YZGy0udtRRQ== 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=aNDnnZJGrrj0q7BjBYijIDETOUpdMFOBm16mtfg0jzU=; b=aiAj/dSM8nGiCAKW08CT1kOnpysAwzK1GUCn6mxGw5jBEC3mtT8h8wHT4weATKw1axWX8xIT2/dAqvmkb3qsyWPdMu3+h4OarRToXXOMzP6IfirkQ+Ep6+vKxu42l37/7FDor2QCscPcbB0aahA6mNOac5k2yVD+vrTwTZYwACAg99sTjGQTpQLjaFYIRmhjSFcXHQgSFsJLqrN0xzE7to3MvoPmGB/ekuOv2fwwrOSo4iI+p1oR8WhvW1UR5h+u6BwD90U5x6W7S5A6njkCpV7Xcp1z2N3x1XIeJY69UHV+XviXV+CCFxfyYTpe/yaCK6RcqQd8At1gbgmV0N6dSQ== 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 AM9PR04MB8874.eurprd04.prod.outlook.com (2603:10a6:20b:409::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Sat, 4 Nov 2023 08:36:11 +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 08:36:11 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 03/12] mptcp: rename free_local_addr_list with prefix Date: Sat, 4 Nov 2023 16:35:38 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR04CA0012.apcprd04.prod.outlook.com (2603:1096:4:197::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_|AM9PR04MB8874:EE_ X-MS-Office365-Filtering-Correlation-Id: b573b1a1-ac35-4d45-3971-08dbdd11198d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XBHzKhZwnJXMDir9kc0ZjHNpxxz+5GKmEoptwDStqBx5y31SwgvKC480s73XtgFIs+6xlMifPFLRl4puKB/hHxaUhPL5zEAP5CbgcpF1GJOhF7wYIm2pGXxCt+id6VCX4v8xcyMD9v5BqHlQHgyEXSDEKMdjI36q6XLy92szmID720J+foOmwsrrEZZ/XiKkHwOnWl6icUo/tl6uVf1OZ7p7Gr4hC5x5n3DTFm3J+GGa/SoCjI1hq4SV211ZCqfVmrRFA9D7tncsrPWW99DA9g/7jDkqWhi1/zt0MdV/L4Np/uy79kannc7vqD6M9mdifFQJlXpUQ7eu3WxetSSf0kjpWWh5Fukd04aGCpe5b9BtCfe9zAi/2+UprqUfBAU9wdSq8h9PVhS+yvlu+fpdxweJLK86lo7eUAdeVct26Y2lDbzZJguHIs/f39SazWJnEbOC3zvmb6FElBoDD+x2yq29FRDVo2u+XhrsWaU4K/GdvowHtaOeXPadJJoZJ+BRQRN+oO9YlxTX1h4mJ7+ZgOoZmvNyGeNFrjKC13L4SMA7NEuQpC4SZt11wkaZmmRIjN4MsW2dM6YKLAFNjRRlWBSpigYK5k3NTCLIgL8TUhs= 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)(39860400002)(366004)(136003)(396003)(346002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(316002)(86362001)(83380400001)(107886003)(6486002)(8936002)(44832011)(4326008)(478600001)(66476007)(66556008)(41300700001)(66946007)(6916009)(8676002)(36756003)(26005)(5660300002)(2616005)(2906002)(6506007)(6512007)(38100700002)(6666004)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?XHt+2x8mKaUeWN2+cbnz6C7xsgp0+sizm/vlJs+YYqBvAWqlwT3jwH3b/2dt?= =?us-ascii?Q?f3KK9+piLJhdz6lKpKFp8PmvIIrTjy4kmAbxYaA8sDyCa6ytr4VnwI49wDID?= =?us-ascii?Q?okYvRhmXoWmkuBB+3mlkGlHqc2Buukj80QjE6JXJ4x1WEYEpH4RvXqO6UER3?= =?us-ascii?Q?vOCnt2KvvnTPFP1GhzF5mswsZ/qiZ0g2LC8BWiWgAmdDY+9BkIXdMYNO+Qyi?= =?us-ascii?Q?2RzHbj4Qs6ecWyuVy1RYlgeMGcvpPer1XhnXC4IK8xg8DOeatMLKoZ2Cajqr?= =?us-ascii?Q?KXLzHqt4u5tLRMjQdr1Qu2BqHVUKBj7JktZRJ3GcEdBrgARoFTXt2qWCykH6?= =?us-ascii?Q?eHCtYutm4RHq9ZPiJiY1n4P2NCr7kLgwK1Hdmn5vYgGHSpmF8ipzjiYzZuZP?= =?us-ascii?Q?ncNEK4l9oG42f7PH8AYe9SEQcKRHs+cl747W07iYkrW9LLJJYEHFcv7I2PKu?= =?us-ascii?Q?2vdZ+m1NzsjmrF9w6lnNguCpUZdwew9AZYVnK7GDqNwSnjxotXcCf0dUCc8C?= =?us-ascii?Q?dydK1N9RXqfU9UuxWKNCJOqFlNLPPKl04LFxa4Om2fGG7JMNVn3z2rzvLyrB?= =?us-ascii?Q?/O8a9eeAy3UIqAzsjeZQ6+SuU21GGk4GUUbvAcpZXt0Vttvw+nBWWGN2C0Y3?= =?us-ascii?Q?CqTlcKZswLByX/c/clLc76pAiQ8E0McQGOlAVFCafJNvrUzHbOf6ilZWvOJN?= =?us-ascii?Q?VYuZW/le6ppNxPw8s3Hvo66wKbHD8dAUmUzF31VrxykVMKg6uDuTr4KxisGm?= =?us-ascii?Q?8Yu/Dbn9kNYKL8T91SWgPY2djRsUuB1rYjXtR64zbQ1EBNLJvOXKhziBsIjN?= =?us-ascii?Q?N/ACiTOh+LqW1i8O3w5p4cjBLhIs3Gf1PEVv9XXpI9l0PbNtzH3vsPvFEwpp?= =?us-ascii?Q?pj9hwnEd64E1IW3AjB3jTXD4Tu6PR1xW20VCI1GWZv+DxXvNq9e7o3hZWs/n?= =?us-ascii?Q?xVwZcexWmx9hm0vqf4KB2hDb906LTpc7kViG5fuxbiEcNkR6IADzhL7KxaS/?= =?us-ascii?Q?WvJLNhloBCTWD7edxN5tBEfPhe6IzsQqjXiKFgycnTqYPZ3cNgTpVyLgRyXW?= =?us-ascii?Q?KIVP2TEQsFLl7Cg/9X70F3QkWWmzcHTcLZOENU3nyEitF0mhs8aO0lVP/9tg?= =?us-ascii?Q?dTvN5A3qMRIdBYNiV6KICDvl/t9aD4MIjsKYhG45wjFfx9U7fQjYnNUTOOg/?= =?us-ascii?Q?jwQVwbMb2X9bAcjudxjlEWLT4mB3Rn2Ss8gp9GnfcS3ZIFd1oziwt2nRtoRT?= =?us-ascii?Q?nEH5QzMV+vRWbHsZRXMESE4Z0RHZto952nIJxtBiyBTE/+IUuDSwuqD8NOQ+?= =?us-ascii?Q?w1fbDnYTjvoNpO3WlBXDhbGptgqkdM/7yaXLxlGQadjsr2Oaps5M2QaT893R?= =?us-ascii?Q?cCb3Fbmdzi/VPmeOpWL7Q1fttPFssOX/lDfOamOWyvYbEkQCs7UP0DQSmSPm?= =?us-ascii?Q?i0GXV3/WUGSR+jJqOv3byqrHSp59BT5TzBp79QelPCt+bwHNgZX74Cgqr+We?= =?us-ascii?Q?TqK3PSf80jlK4nV01mOwi3SRR+8XP9G/T+fzvLTBYmPApxmWxwCybvKBZRTr?= =?us-ascii?Q?YN6Z8K7Rkrw+7ZEoFm86yxY+Pgeo6SO4Jz5L+I5V8b9REENfGqXUYTsI6dEQ?= =?us-ascii?Q?Ow=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b573b1a1-ac35-4d45-3971-08dbdd11198d X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:36:11.6953 (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: KjzMvapdBaFcbdDxrjbCZ3UZzyy9GJF/tjGuqQtrPYX7ciglhUByXiv2NhijOs7Td2WeN3gI/7p7Z2LrVI0O5A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8874 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 ab953eed7aac..720d58ccab70 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 Sun May 12 06:57:59 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2054.outbound.protection.outlook.com [40.107.7.54]) (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 39DAB846B for ; Sat, 4 Nov 2023 08:36:18 +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="mSV71cUb" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IzVZTmWlHEgH3tFgdS3B0Mw9O2f99lQKVWsnIQLcblReahoW3OMysa7KrF0wmfRY/Rcqbo/+pZCJhO8bHn4TRnFvK1G6qrMXEZjw2FjJWh0RJ7uzCeZ6y9vEDfwucH2NRZrb2eZUOlKU4p2qFjZR3aXSO8WfNv0B4t2noE9Gv+gTynmBzv+hBqhaNKtMQMJ46PfEFFP9UbO/S2wMCjCXnBJ90OrriKYvvybDGsobrPq/xwEeIVH9Z00wj2750JLFRtwwQ7FJXXPAIpNbJQ74CpgcmjFJvR4SbPCE/RppUMShCExVHs2Prnhq582S3gBR0hTzS06ps9vMB/LSYB13KA== 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=kNomTqTnplDcbjIKmVdkCBc+iTYZU0HZ8vQrrylw7CM=; b=PgWue6JTE1NChsFfVC4HqTvK/jVT6C1pWwt1WgqR8CZrRzvVyVTRSuH3z6dMEhj7gWID1NZUKnozeVoziGMLgv3UZQO9tFrjU5joahmpPY3m1XpXMLa2xvJPir7E/XK50Bk4IpL46lLcw+5sdqlMqO3WHTqDCvbQsDLpHuom9UxWgn8M3+88otxi/+e78xXj9aVGLBR24gCt+tiMvhJTUUtqYNrnESm4F0pmC/DkYZRedAmcfJmD/gEmS7bKS+rgLwQZeOkfiwcSDy+krOLL7zBBqEaPsfo6D2dspcxb7yhgdu+6EpUlZFMQDcky++HQ5hmFhuIegD9E0GZeGS3UhQ== 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=kNomTqTnplDcbjIKmVdkCBc+iTYZU0HZ8vQrrylw7CM=; b=mSV71cUbDzVhRP65gBp1cGS7qx4CLpSLPQtzBcWDokQTybjyepxHtzYusLDh4M9jSY4wWv2DZBmtGmnTde6CKea+9CsGzUGysJY4etGKZJi//wDo2cKg3FPng4r2W6kOZM5TZzobBKYyZo4gM6lWTKoIqu/eO7sXT8m8UXPFq3a2x0+Mn+dxZT75q0AvBHspMeEDDqy30J09o5bLJReDpelCR63I5bTF/p8EmYfOO2GVXak4DJF23jOt9LVMZ8bUZxULx4Gd5mA+D+VYFnKUlgVGePeJAgGKqjFTYc7uVcEFekFaXEonE+lUoZUgDQlHHkpMOa7vgmsa3MmKhO1GKw== 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 AM9PR04MB8874.eurprd04.prod.outlook.com (2603:10a6:20b:409::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Sat, 4 Nov 2023 08:36:16 +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 08:36:16 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 04/12] mptcp: flush userspace pm addrs list Date: Sat, 4 Nov 2023 16:35:39 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR04CA0016.apcprd04.prod.outlook.com (2603:1096:4:197::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_|AM9PR04MB8874:EE_ X-MS-Office365-Filtering-Correlation-Id: 85663380-873e-417f-3c4d-08dbdd111c7c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Cik3mYHuF49BK9dbuP0skpjDAMhmX0UJSnJ+m3tS+i3WN6dhcOuPIKl+Jo7ZLtD0W/DNeHQo0RpEcOL8hL1aDsEkqC/96BgYcO1l52563MT9IYpGYEywIdHTj6tvAxcvCjzD8rcIT2gNvdgCFvmqxj9g5QnWDr14nqkhW9qARP+E4olQOvAxS5bTjAUp7pJpx1Nhfy6J3JJfJ0CbfNDNRNxPo++iWufBhNq33X7R2e6cv1hVM5k3KEwuuwN07XhwmkrqhKNqWtcui7ffFqWhqS8HlKVB7pPjBODVAvlhmaeJNTIIa1B3earezqhjptDQAnwz/8pEeuBXT8K0zokpWwBqUDRGcTD5VmykfURLHc7ai2143jefxIfMQN9NRsTJrWq4S3ZgTyjKpeVw92SmQgGN08xm3337jpO2Ago91fTv23D+U/9feFvnUi3yrGkOw7F0oQhWzThAzXNauITpHv7T037Y0TqwDpKOZj1zQqMU7OewvLT8OUKdPrlUuptZkZT1y1m3tJ/jexp6hEq6xXFwbN2jfdlECNL65bequwEfXiTX6RnmIiRUcY/H8Wynox7Zb5ScpTTZEymWy3VXkR8VDvxKlZ33hQMSIKyIXUk= 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)(39860400002)(366004)(136003)(396003)(346002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(316002)(86362001)(83380400001)(107886003)(6486002)(8936002)(44832011)(4326008)(478600001)(66476007)(66556008)(41300700001)(66946007)(6916009)(8676002)(36756003)(26005)(5660300002)(2616005)(2906002)(6506007)(6512007)(38100700002)(6666004)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?vsdEaKbTCKfQqGuHjArfqborM9hrfcqGVow/Lu+Pj4t+gnYJ3mtgouLOu+k1?= =?us-ascii?Q?sfKQrwOLMcUBMJzYijPqkqWxD4O+hel8rtV6iPyWMU5VDM78R/GAv508bs9m?= =?us-ascii?Q?O0sjceuqCSx8XUbJjzr+BTlDVDf2XuGA/9x695f3LVsU5lAhTMdiyGT1NS9O?= =?us-ascii?Q?hpRr5zop+QM0OGrSxNzwKQytO11Lc7/O6HjArJNPNra2JiJaPA8LFuBE1B6O?= =?us-ascii?Q?0AWR9WJZ02HuEaJ+sqMdL13AUjrnLXypqAN86lvzlGE7PWtn5nGpK0WY1i6z?= =?us-ascii?Q?f5XfGo1lQoNYW1Av1xgwFE/OSJjwrPza/wOFDqaQZZo9/U6DVrTEQI/k5ENO?= =?us-ascii?Q?HMxK2xzNTwb44JnK+YY2UcJD1d6TDkWDOvzQFeT+p7XGUfpecIXHzJ0Z/YR7?= =?us-ascii?Q?uYrxFa9LCpU77TKwVy2AY3YASgisnLi7n2PBRyDYlNYTGWt5fq73m0OmW2bY?= =?us-ascii?Q?tI4jrLqgIDI3Bn+yfX9DOt2gXIO3xpLBFZXNns7JX6KtSAdQurOTuxyofGlM?= =?us-ascii?Q?/ZdgtSlRlCz14BHwv7hIpqEnSy5+VFF7NYF5VfrGJKTnQWuAsiqhrIyFHgdh?= =?us-ascii?Q?41N1PabCN1tWa762MRUulNKem873NaCiM7lHC7+jsgikQ9pDLoXM1MDUW+AF?= =?us-ascii?Q?f3WKhYDwM4tPkDwNKZq6OIejzGgLhV1fLL6Q7s2C5fhT6SigXYCZREMDwD/g?= =?us-ascii?Q?GXh8ihI5pNDaAo+n3FVbmpCrVEsuIYppKZXtEbyO68k4T0LstjhU+bkLzBPo?= =?us-ascii?Q?g1awRT2w9dqR91aKZkJgewChNAYhbIV6pQOCIfH1CMzaOxBatTU8tiEJjMWq?= =?us-ascii?Q?Mce+P3IbxTzXzTh3MY2hqnrBitDaCBJHzzd0JjrNrvm4E2Hg6oNqKGX9sT0O?= =?us-ascii?Q?eHLl5pJj9KCv41iOIy2mC9//6WhvW+C+tC8ublsBoWUZfl+IJVI6TZ/2Sx/b?= =?us-ascii?Q?QzRwyw18vBoy5t0LjWfu1UHOBQcxfDoEMx4JTsIiMDe6CMm648qeetrOC/i2?= =?us-ascii?Q?ee2Wc6WhVcyboN1VBM5a/KnEhn6r0DyXFZcLinYed7ia9/lDcoHZQZSpEEik?= =?us-ascii?Q?A9/HMRVTWbXyzaTEcAmx6s15FD6RHrr/v/az8OE09/WdFvLShT9zMrikPXGt?= =?us-ascii?Q?NDTos44tD+6QpIO+71C3peWOAkbtdYqdJ47zgFOEF5mZi1pEOeoKiYaNKCCu?= =?us-ascii?Q?G2ixYLFeMujEuWsb8A/pPIuVgz0g1QJpj9SPfkjyOP1vdfDXBwaoe3/uaYqI?= =?us-ascii?Q?svW1rq1zMTPdQKqE/Jayy7Sf3VxZjocuhf2ZcLmYfLyvBQjeYzS36NuSmN+M?= =?us-ascii?Q?7VAMN9kBqQpNaCex7cttHmCFC9EckBOb/wq0Gvw1VERczCGEFzcIPlSUiQdk?= =?us-ascii?Q?SUegUgml5dkInBAJSzct5RRy3+g5xRl963c7iVzlYb8WC+qhZFQCVTpwk0Kq?= =?us-ascii?Q?64r8v9Ia53rI3l79YxGLkwakm/K0N0B1SfY04hYl+RLkMCPEOFkoM+YERZ9d?= =?us-ascii?Q?6j+0kzypLMw6K3cjX4SvDDG60OLmwpKSqi9twWZfJJ7WITyAiRyF2gp7rejy?= =?us-ascii?Q?v7j2h3Ztj5tx0uoGDBoM/EZt8UCfhnGA2cw1LlOBOxEmKZ9XGPUku3+pWQ6q?= =?us-ascii?Q?eA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 85663380-873e-417f-3c4d-08dbdd111c7c X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:36:16.6159 (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: tQTozbUxZBo6mG7dIl7aXfHVMUeD0xILoNJAf++mL865QaacoG8uzmoC6f4S2p7U7bBVdWr0EPHLVg19tpCpWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8874 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 720d58ccab70..6602abcb00f4 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)); } @@ -551,3 +553,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 Sun May 12 06:57:59 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2054.outbound.protection.outlook.com [40.107.7.54]) (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 A2D79846B for ; Sat, 4 Nov 2023 08:36:22 +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="W6iSXy3/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S+nw6Q05YlC7C4u3tm9Ty7dmbNb7AVTxvG12/yMZCvMKznlQ3ayDjnC9wwh/gB/pHM65dtWpW+472AT3NZ6WdvPlFKvnHC64r1tkrOFXLuPlrjBFLyJ+JgyNb05VTQpjVGZsD65p+GwUBy3A/gw+OV+mCrfCAM9U5fwp2CzrKSp2z+PziazFQnvcYWIGTbhmQDfMsuPzGj5qrYu1xpnDe62Nx1SWwrXCgh8Uae5VFi5JX0ehqGhkuVBNzln25EusOtpVT85mxxZgJUgiFolllOtFYJazpf4et4m4A3PhTZrc6BDhmZ59HLvSEVciAg4amSbhr/JUwJZ15ltAu4yvTA== 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=ujWlHlkKuqvJ0vm0co4NtzUywzjfyNV1J2pKF5cTkwg=; b=W6jYf/mStilUjQawjywuXFf+L1G1H4Pq/DWlCI1XX6paZ4G4tL40KwrSZg/E0K0HepB64IoPBFp0L35aA/N54gezcE5DRDzPAs1DHXnPvhWihhFG+d3BqgkPWTF/cXET+NEHPejhUIPYnmWmhG1CFLinmY3A8dv+6MEHEwhB3KjVt0NC/ZA27jGoR6b4xzigg7meDXB9U9AB4LhqeOIdKU+lMsgxacDwOKls2ohDh/+H9Nwvgx0FGSlulwyJc04P4/nQUFpClxFHOTYn+Th78g4wFz0qJmYovtA8PGCambVEkMkRN/N3dBPh8KnMTSFwKMxiB0/n62wout483KABNA== 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=ujWlHlkKuqvJ0vm0co4NtzUywzjfyNV1J2pKF5cTkwg=; b=W6iSXy3/6+wxCk2NR5FRr4uBHUIP7K1VrKpDwbq+dxvarVb85vIs5vBXjduF90LyDNp838w+zi9QGQAQEkm31XdTUGSJqZDBCHQdJUzzezGKqwlu6wRoO+zL8QZXSKV0QRnVaWoasWGTWqvZ69RqDRp4G83dc5E21pVSFUNS1sGr94FirxK59HlXfGxtnOAN/Z8WD3ZN4mirxdWh8ZgeyCvwivckr1VIt60ZUZR74gzly2OWsuoBPMl1TLfz6tmJS392a6fi9d6FxL+kq4m+F0Zu+cnZsNa2KlFsGlgzF9asok5sv2QE+hzf6NPwGRwBIU6Uw0t0OYSaCbNpSj5mgQ== 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 AM9PR04MB8874.eurprd04.prod.outlook.com (2603:10a6:20b:409::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Sat, 4 Nov 2023 08:36:21 +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 08:36:21 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 05/12] mptcp: lookup_addr_by_id helper in userspace pm Date: Sat, 4 Nov 2023 16:35:40 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR04CA0016.apcprd04.prod.outlook.com (2603:1096:4:197::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_|AM9PR04MB8874:EE_ X-MS-Office365-Filtering-Correlation-Id: e27bdb18-a722-4974-2c62-08dbdd111f58 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /IrBISxsgbu0C7PTTfiUPpJDnsHHD73rIL3VTVZeWxkFw4GYNczf4eljoF5l01cXDxfaNkYNKmc1/7bARz3GtGCHu++ldRmMv5eFyRSDxc/EdP7o++f2q/ojOMReawnn/HY5dOQopRuVsyv0Xbf2qvKFweWHgyrF7pliZSEQYsD//NZdlfW/cUAwAZOT6xaDMBEADI1GgoJTqhFRwiEh6eQCmgzNlkUxKLLzBlEymcCTVwhLc9dpnTU8VJa9apLLtO9u10EPA/T1qBH9cpWUYMTDE3nbt6kC9HG1YvbBziRWjixmN3iErmQ94CgsMsLbI5v8zUuU4c4tWktI9mrLejihm+9gydYJtno+LGBK3qYw7Njutm6n9B4E19xHFW3joc1wba8+ZTPWVILAMkpjRq46wXiRcEzWrf392bX+sCMFj8mK/HwZntUr7k4GFqwzQHjfAsC2bA2s3uvd0g6OzAQXi4zCbCP5bBDkzDVOezA1q4TfM5alOhJ2Fl59d+z2RXGskewTph6cPJIRgx2GNolI8yVJMgFTjqLBA8U7zXE1uXybl32CV6999GGwo3QxnqjRPbEoR/VbRV7m0QuVIZwJXnyBMUikpp0FLUyJ1Y4= 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)(39860400002)(366004)(136003)(396003)(346002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(316002)(86362001)(83380400001)(107886003)(6486002)(8936002)(44832011)(4326008)(478600001)(66476007)(66556008)(41300700001)(66946007)(6916009)(8676002)(36756003)(26005)(5660300002)(2616005)(2906002)(6506007)(6512007)(38100700002)(6666004)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Q8zy3hy36ztq20MZzXX7LCRd9x6AnzlF1N2g7NLpxcuLMlRWer0usH+qLj/K?= =?us-ascii?Q?JQf8buJPvwCOyVp0UYuh19KLKuiXTdV9+19vqx6FMTMrvLwsXgpbcoMjTT8Z?= =?us-ascii?Q?87SP/+B+2a7EoLOgyXerXutur0kPnHox8x6o4nu507RXIVTf/jKkN56hMs7g?= =?us-ascii?Q?7d56cWtlS6dcHjJxRqbnzBYTP7Z+Y+KWsDs8tBKiFzQ339IFPqsWsGI495eA?= =?us-ascii?Q?r+8R7VwfDZSSKkPYs2UHpUg3bq1uwM/N/evVqzbMqzR0SoduudDlR1ZqR+Aw?= =?us-ascii?Q?S+XwpVk+nB1aRvU3wJSCMnpm/8kXxjQd43/kpErxdtdZZyRRfaMt5N6x6GVm?= =?us-ascii?Q?wUfo7+1bVmdswoE4aUxJopaY9zDltCr2FjZUEdrBOuN/rHm92KlSKmqO8W+M?= =?us-ascii?Q?BYv1Et5/W3ee5x+44B5B3D+jnKIOm66BbxNlSfb1Se/Wx6RMxcGErwgXQX24?= =?us-ascii?Q?ZiJETyoO6FJyNG0j1nFN1MZJqG6oiT0na20s+yaF3nHkI/nzyBC/+5myz99H?= =?us-ascii?Q?lBdBafnfnnThwxYFVvz6mLvErVXlncTpHpVm1uUNJ1wWAVzmWFotyica71QN?= =?us-ascii?Q?FTKSQQl7SL5bg7n3hDS4FEyWsZGeZV+uBa/VulYmfU6csBp8PLtItWGwvMFt?= =?us-ascii?Q?Ge8z/eEIxfewUBr9HBh8Gb2gYrMXLR6UGE/2vSOW8EY10edA3d1Hsp/Rizju?= =?us-ascii?Q?wknYLJC7wlyWTknM2EfQFeFTfF3Bm0P/ntw+/EFljGItpCj2c3u0yjBr/WUr?= =?us-ascii?Q?6IkB2QJz18iTHlHC+wxGulPddjuS5lEidv9UYJH6TyuW39bvoWB2B3Kfq/fF?= =?us-ascii?Q?jbwLkQ9K+CQqx3Esbg9/bdf413PbntMQ2Im81bEVGGGz1882ywcuHGRQK39x?= =?us-ascii?Q?OSDHv2IGeRtrLuJU8lQAR56XASekEHcketCj1t2htMX+Vjkkc3A5UtHflUqf?= =?us-ascii?Q?CCKraWbFW22P+JHC/ZWHFjCYh15FA/sPZ5jkIk+vErFrLZ7lcS7RGjML9eKN?= =?us-ascii?Q?uYmwEHudGgxdF1kT4h3Zd+F0/FkGmNNsIrrjUdg252UHbET3Vsb17dujaSWg?= =?us-ascii?Q?h/paAaNr/pnCZMH0PPSA33F0HUJ+21sVrtgak01bzKUs1b9n9y51G4X3cAfE?= =?us-ascii?Q?P0usrCKFoGhRzVyDcdHW3/J7NAFHIiaO8qb3Gr1bSxHf6UnJbQJV3GLsGzvD?= =?us-ascii?Q?IZorcj0Cqm8uBiK4u6/OI82/VUgSDvYk1wR4GOilrqD5JwG4jev6PTr/Uk76?= =?us-ascii?Q?z+wwPu4fpSaDXIWeGsUPoBMbBsHWj8GH9/Ri0nqY9MenafvKQXZUJIeLcBOC?= =?us-ascii?Q?A+bT4Y9xnHFX3bPq31adHLHpagzTgQu15P3qF60DSaufOfw9HP9IVwTOgokB?= =?us-ascii?Q?b+0pOhe9TRtmftwXM1XTC49e/5PxxRx2tUa4F+ZeOLbJ6v/Bc6iZjDw1oSvV?= =?us-ascii?Q?h2rGmIk7gUm/TA8q8InLXtIUT4HOAOWE4Ac6KiZ+FOs/B/GGsLxHkeEUz+oe?= =?us-ascii?Q?aDxGtAYUcMlxv4w+AbvlIuVk3IekYkHQRKrHfGPjL/zqbZKEXULUO6a8Lc5H?= =?us-ascii?Q?rE1/nsgjcNeBalxlb7qc4tfoCzhUMd7Uxcm+ABLP+fmg9U6tvEmQbLaXLiZi?= =?us-ascii?Q?xQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e27bdb18-a722-4974-2c62-08dbdd111f58 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:36:21.6108 (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: iI6LPKCZG7R/baci+KvKU++SKZfd2iqKQhzeVAc8k4CzmY5KFeceuYdLpZ/AJNgMpeJJ1Vw4NgPfmCcXRJ9aSg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8874 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 6602abcb00f4..8c369cd77e2c 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) { @@ -112,15 +124,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; @@ -252,7 +259,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); @@ -289,13 +296,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 Sun May 12 06:57:59 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2085.outbound.protection.outlook.com [40.107.7.85]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AA0B67472 for ; Sat, 4 Nov 2023 08:36:29 +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="GWVyMtYP" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ERlYn4keySQ+gcznMLrEZQDekjCeBXnGhTWCXrGk7UJDZIhRLWg4LjzAALkPW42Q/o7r0IuJeeAdPvmsHPCNUjWmW7uWZ1/0dKwBXgFMz2gVJz89+oGAkevbIXGqnU8xTDV2luvbn95o+YL3WKv6ma7uSAM2UoYtt6S46y7UBpTwW1OjsJhYe7UjsR5CRVqqoajvV3eEn58wPie4pYsxegyXWfFDiCVteJewv5KLA2PgrM84KBLY6pozcPY26UxiV0FEocoriKlE0HhQMaS6pswnd+pKRHXn8UwTvt3h7C8aV/sjpuFQqhjHJahzCJ5A0tKZpUTMfKD5R08r21uKZQ== 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=n9+lkh5oxHyyC0eV5D23MvyvmQA486hAoDcMsCbVCUo=; b=gp5zQX8sqX/+W4J8svcFEv4vBCI9GM4zSjvm+mXF1iyWSnB3eaKGf8/URMeu5R3OMkMBjArTW9Pi7ktsS3XkFCGh3mtHwWG9ex2sPj3CMXPzRyzdZcSrK8VimrLq89jsg83vLv74aZmbLeOdtEN/wsGYuInu1gXcJpwxdy1yNp/oTLoa+gN2UgxlHMhIJRq9uK2NNX8U/5LcQvUohqEE1sTYSdby/tzZuS2hCoZ8kVnrkmC1yaOweY1W/qYMKKy1XTxcGRXJCTDNjrjktqKOg0F+bGTEECndHIQdzpYNe4VNKjRMIZvXiPtWL79gTZO2P4xkqCB8+rCEPnYb2BHngQ== 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=n9+lkh5oxHyyC0eV5D23MvyvmQA486hAoDcMsCbVCUo=; b=GWVyMtYP40NUD2HoHvCr0z/+MSVsTCf7C9CjwzzEw9uaqzdvN5AdkxDoyA71Wnemf3E1z26V9YNIdW9YtqgYB4bdj3Yg0IJ9ao04BAfQ2MviEi0LJiQ5Zy4kyThu/KJeS0JoW94L4UplTtd7RulpEm/JbFaPKDozGX4YdDbdRtKV8idP6jluXDWBN3c/06ePcfo9HsaFO2ak2+MRSCAT9ytRERyn5c502VYGbkFSdFGbgwm8rDYKQoWSFQjhlvvEUlQs5jSqSuc6WE8mOZQ3lQ7nbI0uZdKCrLYjk499LlLaPLkQ3r+gXHMNbX8d+rxFOwp47LpUw0zBT3bppbK22w== 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 AM9PR04MB8874.eurprd04.prod.outlook.com (2603:10a6:20b:409::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Sat, 4 Nov 2023 08:36:27 +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 08:36:27 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 06/12] mptcp: dump userspace pm addrs Date: Sat, 4 Nov 2023 16:35:41 +0800 Message-Id: <153f06e46d440f83fa04e65d485fae03350bd6dd.1699086244.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR02CA0006.apcprd02.prod.outlook.com (2603:1096:4:194::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_|AM9PR04MB8874:EE_ X-MS-Office365-Filtering-Correlation-Id: 995a30ec-d1b4-4a3a-9fb0-08dbdd1122b9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eWxKbA9qMGdzz5IIVCD6QHYXFy7Xa2kZf2EOIk9GoKE0b5aybsdq7mM4kzp3SacclUd43bQy4kyBeSdUF00uyB1n/BV6AkKopxCASOm7LJH5iXY6RWfQ3K0Zr2VpXcEvqZGSc2jhAeuweRMupxQYN9FGex40S2/kdc2rDnwKoU7Xp2sDfQmR+4zwuAwkxhodxEQi0eW8Pcjy+i+lHlroBtdigl0Ww/r+wPDWza/Lf5GbYnEgjtsVzsny5l19nAdUqQQ7L4d+71LBwQQXr+1g4LxLuhSMgLfX/dr5v/CIOZPEEEqknTWjE/x1nT5fommTU3WDOdA4CcRG0R3SXl9vpqofccKNPGVALNKt94NQpnLewVfXlG8Fm8qiO0G15wB6TLAN2opnnOdVdW4yWlYMXi3vI9OtCliDexnHVTGKgRCOrTGolwRjpl3edhdzjF4Ze3lN932DmvM0bDhbaGU78xoZWlGk36cvaBm0bEcB/vDgpzHqDPDEMBSDeCnpK/Z2vF0IdrQ9PdMoIVEfn+cWBkaI8q6uRxZ6IWUq4J1DrAZETqxCb43BWPRU7LrcITtQPmNNGNL4QqBGzBtVoiuLr0XQZgmR3TpNNsx39n99V0s= 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)(39860400002)(366004)(136003)(396003)(346002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(316002)(86362001)(83380400001)(107886003)(6486002)(8936002)(44832011)(4326008)(478600001)(66476007)(66556008)(41300700001)(66946007)(6916009)(8676002)(36756003)(26005)(5660300002)(2616005)(2906002)(6506007)(6512007)(38100700002)(6666004)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gUBUWoPQVkhc8oXoqT5CpzaAeBglOuQmq77z1Ban5bMwpNCW+qkqDVkjVWsx?= =?us-ascii?Q?3oKxmsxmcmfLf7mzqN5FB4tag6ZqtxGd3EfdW34uGe4lzxlSgv0LdCBbAbyr?= =?us-ascii?Q?D8TZ6GcCCEICPikqs/T9PBaYC2wOUWzY2XmAVBgo071PiG2f4yzWaasVtRRN?= =?us-ascii?Q?6esbp1KYb5CKN/XvcU419o2HZRpd2zm15u+sR7QalXBeR7M7Np1UrOVfdtv4?= =?us-ascii?Q?kTmx89pWOWGGaLho+m+MvtRIqigPUSDL0JgK7XDhTMaXf0UOPsbY0czoSZHE?= =?us-ascii?Q?3Tzc0OAFCtvIx8+N/q96RVfX33wg06qbdzLOFktPeg3ntY8lXIIF+ytspchD?= =?us-ascii?Q?5av8FF6Pwi/grq13JQftvuyYnQhwXIqzgmDQ/jZbeMgOpyBDtYXkxLq7R6/s?= =?us-ascii?Q?XsiMRpRfc88OvFCoWly9NpbGqd6rxWBggF0Q8lXJJElZtlKxpGcbgYrZbUfk?= =?us-ascii?Q?LFuyC3LR5tYJ0QjAPAUA/o+Z7gB5b/DoZV38C/P/4nZ++pest/vBhnIx5zuj?= =?us-ascii?Q?WB1jrym6GuyCX4oOtey7fA0Ck37oV7JGDQcNRzEE7TgotCwkEdVGxOgABV38?= =?us-ascii?Q?hAQPLMyXR8UPk4/Dd3Y87gRGWdnhTvO5ll9P3zsdeR4wcDd3651EqsRG2gZd?= =?us-ascii?Q?UN5G+yrHyuKz+Npxeb1qITzqPPAqCL6DsFEEhCTG4CbhXtJZwQtWXUOqJ7SW?= =?us-ascii?Q?aFym6cwAhMUw67ANDMMnucLWwFU6TEtnUbIFxfzTfXt+PbLr5BN1hpZNyaUJ?= =?us-ascii?Q?drHLDi+Vjp8E3vK8yN3XNfdwyLeqJoIa85F4HjOY27/1cql3QKoFSxyijoph?= =?us-ascii?Q?r7k8cItpjl2+mUlk7dJV6oWO2q7EFu5pQEk9FYXMnfCvCgnJ3Wxx0Sh5XP/5?= =?us-ascii?Q?cgdahcT4AG70yVYyWt2sTSgV3vR+ZsKK+QeZ84ADF244kchD9DGwMp4HwwxW?= =?us-ascii?Q?RJdI4jqNSfUrIPrL8FTsGTU3NhJdhc3LxbtdlGrJ+HJ9WSvry0SqWuUTSEt2?= =?us-ascii?Q?5CzbQeXZdruyDq5rMBr9P+eAbiisNlY/dly7M4JQ2/GaS3orEw2G667NVUZm?= =?us-ascii?Q?T2G4deEuhh/O16MmM8TYFLm2iP9/tTncbtYCAU/cfqbTcR0KO9aVj5LsvKTo?= =?us-ascii?Q?APITbWqMIhS32ltyIuaki2c3mafj7md1cC1Wecm2ka2dU4+KbVt2JfndVfi3?= =?us-ascii?Q?oph1Wb2CdTncSzvCxdg47lwHCrHv4YzJWzL1w/5PV0t21G4vdi215/pNa9As?= =?us-ascii?Q?pvhPgjT41O5OLlxZmtMS813Bjn8dIDPcVMFo0HtHKSjmjMe1CVAD9YHsxiwA?= =?us-ascii?Q?RQZ4HMECLspYArhGm29qGQlYNyXgma+ALKoMRACt8byyDdiVtFHL9CamuF17?= =?us-ascii?Q?rvJDsVTwzXokxFtCVpLtdlC2Vg37sxcQTngXeX7o74Vw3sPE3b/M7L3e8WhK?= =?us-ascii?Q?osN30vS9OeACZcw49wygwoC1xwiz6C9xK8h5p047bnnrc3J1chvf1LPxSCgv?= =?us-ascii?Q?B4QoWlTc10w/U2LxTR+6HNMdVtcd0HE3U84w4w1xBgJ5TQm1rU79P9aMLHY7?= =?us-ascii?Q?1EhS3V0xsJWLi94gCTuI3FaxAcsPXzkSQTUwn0waTJhOYP7BbiXNp120kcAQ?= =?us-ascii?Q?0Q=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 995a30ec-d1b4-4a3a-9fb0-08dbdd1122b9 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:36:27.2700 (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: 83FSHbo8O8JCj+UBLwak0XIxcS7P6b2HDGqUtnJ+bvabdJ3oGwccgzF46OLi5oPOLxtn8NuZt1Y0CeG1qhTL8A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8874 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 | 7 +++++-- net/mptcp/pm_userspace.c | 25 +++++++++++++++++++++++++ net/mptcp/protocol.h | 2 ++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 344362ec17fa..e21ef13b5ed9 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1708,8 +1708,11 @@ 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) { + entry =3D __userspace_pm_lookup_addr_by_id(net, i); + 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 8c369cd77e2c..0e65b32cc073 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -577,3 +577,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 Sun May 12 06:57:59 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2044.outbound.protection.outlook.com [40.107.21.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ABF487472 for ; Sat, 4 Nov 2023 08:36:35 +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="P33EshG4" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dSQ3EUmfwG+TG4DlfecD8a4Sksoe8LiPSo3AXbqciPNChscw6yezjnT6mFyDAZTu/Tx/ochx1QtGdBJGwNoABWOtSUkwidSQvt4Ulz7CLdGgWddF1BPls4Zk8MCbqNXz5hC0VyhybqRpFVGdQ+DtwqLN0FAujqFJr51nbAfeC9GAOqra52BOq7xW9o3fnrpNwN52bVn1IMJc39iwZZqrZA2QoUflNUkY7R5GjvmP6l57bNh+3byMlrphnWLj3bo1H6Bw+K1aUSPhnl8NubxcBHBTsrXIJD+RmX6NY2t3utJuCZ5ypn1gWCTZ5IOzwKDtkSbHzQekS1sKth6RiTErww== 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=L97WQciFddA7c9qh7kd2Pvr8agY5jrzV0Wska2LTwVI=; b=fodWhmJf3c26HVJ5h5kd3pbLJy2yS7DK/6KKkRBb4fO9apsZiYeGYJ/nVM4w8gUF22N8LuSKOBBf5SqjUNCONp4njoyO0FDrtblfHnn30MVmeaFtTQ9z7x9zuDXsWXfirBPeAhEW2mqyqdg+udFLEOKOHsZ6JZrwGwAsUZo4vrAO449ECB+XLnBUNYOpPJvek0PfS6csQmjlpQ20Ptctm11inYs7YnwqwNUyG0+FK+WXMGBsMDdkDphvAmK9EDQyeZ8kQp8Nq2zKBM2b25H3dPgpIKukKroPvxtWI/z0niK8yxIaSIKHcwPof5R8DU2AqL9aO9P2z9pbqzYpY2X6JA== 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=L97WQciFddA7c9qh7kd2Pvr8agY5jrzV0Wska2LTwVI=; b=P33EshG4UQt44MW2U5+WP2LMgk1vSEub3/tSHjIsezBFCbjDzgNYHxYTntF9F9I6RpFSTyWU50CaKgdxnh3eys03I8hv58qz6AHt2CNZtii9ZXUj41nkh2JZ1olYzQ6T6oHv33ISbebHlgCy051z9ZrjYGLOkjVCX0DLyXV//60RAHiuDSw7SLOjLu4FBfBhETT2ivJqhGsG9Y5F4AJCqFM9KSZiMdX6aDE163Tv2PdcSoeB6OLEbwx0nHBZ4EVCAbsQtES9z9rbm6dqVKf9XHaKqKWsWFcDmn4J4miJXvt0CrsHIp7v1prZjM7tKPq+Eplxqi3ao34vyiiCXc8auQ== 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 AM9PR04MB8874.eurprd04.prod.outlook.com (2603:10a6:20b:409::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Sat, 4 Nov 2023 08:36:33 +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 08:36:33 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 07/12] mptcp: check userspace pm subflow flag Date: Sat, 4 Nov 2023 16:35:42 +0800 Message-Id: <675f12e6353058e96e50f599c0d1d4c126eca0c5.1699086244.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR02CA0003.apcprd02.prod.outlook.com (2603:1096:4:194::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_|AM9PR04MB8874:EE_ X-MS-Office365-Filtering-Correlation-Id: 10869e16-e897-4a8e-5fc6-08dbdd112648 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +Izr0Hx+8nrt4gOGlYevbynNAwRvk8dSEKY8zu2g46MZj6QeAucFPFYuoDCwfdyJxjHGsdwS5ZYAhststBJnOoV/DynzuoV+fS2+ebOkKiCkIY1F2QUP01M+zyZFVyPl2kBn92WJc8Pq5AyEq5noqM3wzTHKp5V4k2+wwgvsJg35bZ6YMR4X16t2mbOgsLFTWZ6NHqcG1w7TQMU0Rn/puZGZLyqtDaOoBNXjgJ6VvSEiAZ3tU0vJy/W/chaLZHYPUQTGWfeoiLCrs7QTsCy9oZFyleYGLTD4YGXq9puZsQgYH/lp63/yqwLnVnVEjbG+ve4Sj3gZs3kMjm23fKq09UK6arJnjhQhXkb31NJiqpfGqfbyMPIX0QEp6SIIwamVFXAYXysJSPamv7Dx7p+kqPDxO9PcwsYD2Epr3HWyiwyQxk5j3k/jKvHpJt5wrubHatW080NDb5QdSaIqnpgIQBKrON+zCnhFTh4SbAmhAYUSqzdfJgWRQ4FuAJYgOZIJ3RfdqvQyq8GYV/dCeGxFQCdZlThcjPaKP4eZauAex/c4vENZpeplPwWHMBIvjGOV98D3hISe8osSWrhjAKnuGdkD/h1SVfJiruA9OZ59Tzw= 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)(39860400002)(366004)(136003)(396003)(346002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(316002)(86362001)(83380400001)(107886003)(6486002)(8936002)(44832011)(4326008)(478600001)(66476007)(66556008)(41300700001)(66946007)(6916009)(8676002)(36756003)(26005)(5660300002)(2616005)(2906002)(6506007)(6512007)(38100700002)(6666004)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?rjD/GSZL5j4IgT6EJ+IHArMs1hm1dKF84LukXwwgSdlUfUpVBHq2Ix9uhIR6?= =?us-ascii?Q?A2EvZCfDM+fUQ7+0tDOOUp5LKEqlk2GVyLMBGNL7HmjQ6dEgJkC4zj1TZBDk?= =?us-ascii?Q?VfCY26xPbPUYM1/OCHeoK7ZIEQ8gtQKR3TPBc0D+Wa4fLsKOKvR6+7CjN5+u?= =?us-ascii?Q?3ftMapq9HPzjK0eetmA85yeJomufKjCEYMqMrJh8eUk7VtpwmqBO3zf9534y?= =?us-ascii?Q?lSTe9TU5ZYEnwPx0kMMgCj0R+stAfGD3j0VsHIOg10PrpiDEfgJvpOqS79DC?= =?us-ascii?Q?A9zDlRxaL6t7TsxzO2jeb8TxIahLp1j+mk8PskmIjLCInyj7e4AMHflDT9+a?= =?us-ascii?Q?Y6tSMEe5gthb46q39z4HV8IT0H3/ERjLRot8v5gDHVElSMdsgEWQhnaaO45X?= =?us-ascii?Q?vMC7OUKse5DDxI7jku8JfYC5v0LF5iMj7s/Pbgq9zezrte4P8IsCt4hoaqri?= =?us-ascii?Q?RQsfdY+MaeekRc3AiMGFPRswU3yUhxRyyDJp88LyKJLDykvEFajSOf585vA0?= =?us-ascii?Q?8glNa/+Tm4HTAidxEuAtPRqJrLwFhJD3aNndh2QCKB2WaONCU5VyU6+OMnSp?= =?us-ascii?Q?I2ht/4TfybLqveMswDEScClfdKl+Zlqy0X/deJwY5teIOmw95gvj+cBhirax?= =?us-ascii?Q?4c7ju4Koi7DbhYGXIQwFxTQF0EDj6zkBPljKpmt1V3vcdy1llOBlDczMVe1S?= =?us-ascii?Q?jLqsykDzRur38zE8X0YzV4MIO0qok+Cf6wGvjNqZdjBWmMuPZH12IezGErfA?= =?us-ascii?Q?HWLo0V3F6UjFPxdggclnvVtO/ep4KRhk8esrjSZ7DigAoqeIpHbUNQhtp8tU?= =?us-ascii?Q?BzFGV0oKNIS9lXoOdsFGLmb4m+k33GIOEbYl9PuFwghj6RLMRQxA4S2xOChU?= =?us-ascii?Q?r1r/0DnxyqPwEuwN3YZv2C92Oi+/Ypo4GckeS5iMHBcD0IMDeQHnQPR7hCD3?= =?us-ascii?Q?6RMNiq3RJAwczGw/6Kx/Dx7X9PA8T+B9/46FhVgkNSM32EDSSM4dqNoCKs26?= =?us-ascii?Q?cuhWrkVTrFq8Rj8DAPIILx2cedaGi026wMd1AAThR9oJqK0EWyN6y+P8dBtq?= =?us-ascii?Q?nxZsjDdEUFPfh6fUBDdbJ7JOqDm7mx6lnezf37fBYfEKGQqaXogRLeJsmqSK?= =?us-ascii?Q?1LoE9gPXl4RZ9X8NTfn2WGuhTJlgGEKtx7Q3rwFmGmgbbbZERo3+HTfdpgJz?= =?us-ascii?Q?fgbIAY6e5LtW52jJDr1QRYNDb3iqzo0nKZ4dCWmlOqqHNdnStiHwPpiKlw2g?= =?us-ascii?Q?TztDF2dcQyGYrjAgV1uQDmIYkruy/tPvG5aoNNKIzaAtU6DJblA/+XheLe5C?= =?us-ascii?Q?dR/W229zzer7MkKwcnbeylkneYzUghrTC4A72MvYzIfzc4JPvYtkATea3Nwj?= =?us-ascii?Q?ukn+kEoaj8fcc7XFCUUnIKiwscsiObS8bviAY5MDmyFdBPs50rQCjUhfH5Sm?= =?us-ascii?Q?FM93FDu1gVkD9dqzDzb+LP5fRASGT+w/s5WVURXcQNou5oXO/mK6wAHvusZF?= =?us-ascii?Q?JTuakoVKvpZPY4OHn3hd0DxiA5xVBq6edxTUsduZ0oKI4QnQRcGVfjGIKK9f?= =?us-ascii?Q?o3QUJN9SNyCXkiIclYY3o/2fdU+l1w7jUvHEeMj5Z0CVtkXMubsS3XlozN64?= =?us-ascii?Q?Bg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 10869e16-e897-4a8e-5fc6-08dbdd112648 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:36:33.0678 (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: FavBpz9SUUuI56/CyRo6DUmoNdhjciZxQ/rfdy13/Wo5Ss/d9LrHeyofe01hWTgyIO/pjWKb9yDBgDzQvXpkbg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8874 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 0e65b32cc073..98390d048ab3 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -352,12 +352,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"); @@ -370,7 +377,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 Sun May 12 06:57:59 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2055.outbound.protection.outlook.com [40.107.21.55]) (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 59AD57472 for ; Sat, 4 Nov 2023 08:36:40 +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="qjueYDUs" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iWGFzwt1QLQvG05E6XJFoBMFmVE2G3xf2tKQaX08Vlix7o9MaJgxtOGmT0YAPTRfDhpjjmDQNpMlgx/XLNMSbhedMxp7/Kl+Qko+E0zesS6reajdpjMuAEXIkWTGCGR+rbIaqalk3iREiNyykQqFuDa5J+41L1xr3M+ntTO3BIobagmd930Fu2a2oLN5HP6AAl65hLdtmwTqsZYC90WuSf3czIRMQ2SMfw5c1HjyiLGx+GwP39+QfR8jzt+P72tqNrne4u6JqZTd57tG6w48a4Ufsxlnl+Q9yJ9CIt0Wp97iq6n3lsavaxJdFnDzsEd0Jcgk/XTeqqXrwaowKsNI1A== 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=nDmEj/NCMVUKgBvjOp0AWEri9rt+29jTgiZn2UwAzhConHRX7DDMJHg9foLTufE5zzDZQ0trArC+7dH/1gsYkWGGgRk2M15GZB0AfoVGkCO+iPS7qJ5GkZ3dQJfD9GsJCs1l4ZBSzwmMwgI1lfNbgb3Jk5ZZ7m4VxKkLfF1cc8eeZEjdPSN0/owLh0zVFkrQPot3z1g6KbpyUC3nSB+QKTv77WbPo/VehY97Ti4kEWJqHwt9a/DXwfFgXQYaIFXJ8cYi0hy5jr+BIo4+UA9GdN92PJPq8C2dWzh0PI096EuVCN6ogdCkvkGqyzvh3AZLM+VDCmmAv85a8Z7dPEQD/A== 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=qjueYDUsHenlLmlwvycR2UENXmY9Lr3DNRkOV3vvXOUX9gYBwFFKTjHSLH0DsGY1KXXXF49HSwSISF8mFYoEYdBfQgsf2NZdWdZiewJOZ/zx2GRMb8MBJ9RfwD5PhLGI0XjfDFP7DLFTwLVGqXYPgANVDQyc7gLdBDrtBd8I3R15OMiCXxvyFHYXh/o88tR52OALmlOdaCWOr6M0fTv7/nG4IXPq0tJ1KGtKk0j/sBvOHGidhOhUBFrak38BDHNC78JCTnb5U05PxKCk5qb0J80mKIMyMhrEyH7mApRFTO1dYLdCogD5E7t187LEiNMCuJeZUc/Us5iO2d+ZavydIw== 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 AM9PR04MB8874.eurprd04.prod.outlook.com (2603:10a6:20b:409::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Sat, 4 Nov 2023 08:36:38 +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 08:36:37 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 08/12] selftests: mptcp: add userspace pm subflow flag Date: Sat, 4 Nov 2023 16:35:43 +0800 Message-Id: <4e4793c4b76a44ba47e5cfe28048121d502c309a.1699086244.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR02CA0002.apcprd02.prod.outlook.com (2603:1096:4:194::22) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM9PR04MB8874:EE_ X-MS-Office365-Filtering-Correlation-Id: a06e156c-06e5-4baa-9dd4-08dbdd112932 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OdyTJzXeZy1ekTZMixVyL1viV6AS9uywjS5fZr5QVwE1N9iDaBrsMvD1PIyzTFsINo0KbSai8N7f43S6ONkV0y/4bWs9G1T/ITgGH7DZKZfb6E4XiNqh/o9OshpJrY1NAZScLqZv6mdiYrzX6hjcMCw6oaCrVXB1ozXCJUjlwqBf8WgzeidKPkya0c1xchrdhLcooeOieJKhdzuU/oIc1vRrYEShnEvZVIVFF81h2tIpPfHGrZYRvytwSkqq5O093b2KIM3gD2K5t7GW/wQ/G7+s+jxg0cniBfhzVwR03mVB3mTKgTMsN+pfNmF7IJ7MBfFtdOqUFrHs9Kru5L9dX19KnEQbwv9SHNNAUCJxXSrWIvRWoTwnxv8SxXI/uTL+rJZK9gHHQOU14lS2SMylFc83JC/wtX+/8PP83hWXzD0lYJVzk/EBinfG9YjVOCalURabvXi/csDw9qM9aw/AiK2P2LgD3qUqihuqo0BeB7CBGWR1mH4Qo/8AZUKF2xKL303O5cIRq1W+v/MiVfgcpjwaa38AgueG3Hh25Qc38XWqMnF9qNBxOUTtFCeoJ+NIlEQxsTNNWjrLdVRYJLnoGCEMN+q93mfgsJs8CoAO7qE= 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)(39860400002)(366004)(136003)(396003)(346002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(316002)(86362001)(107886003)(6486002)(8936002)(44832011)(4326008)(478600001)(66476007)(66556008)(41300700001)(66946007)(6916009)(8676002)(36756003)(26005)(5660300002)(2616005)(2906002)(6506007)(6512007)(38100700002)(6666004)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gLdYVwO+nAV7+RYwQQeU40XNo175TYu7XdA1PgXrFPJJj4hKDhf6EU5chlpu?= =?us-ascii?Q?ao0u9c6FpCqkc4YvipbPCX7Xxee+WkUD4UWbvVDZUY/q75Z6RGfAQJrpUT4Y?= =?us-ascii?Q?cpq4ZUkDdxDi5sxcUe4iw+6GhZmXNOmT601fuzEe6rCi6Yhkv9SHBrN3g3jP?= =?us-ascii?Q?ErepJ3ozq3Fxezv0JecGKZApF3S1iE0gORNHtuPjn6ReUnYtBpyStXvm80DB?= =?us-ascii?Q?ODzLyM7qtwSLN+r6+KtL0eV++qG7BuVa/eQzvno9qFmpNfNpKZzcG8Uvl4eg?= =?us-ascii?Q?qC9HeTl3LVS2nkODoUnt+KFNTVz5S4bZ2VReS2lfMmO0NzHD3YHHY5OMYg17?= =?us-ascii?Q?1OVCk7h7qqpOlhY9n4uPVz2o+3kYMK+RQiBDINIvegEtMBV40QxtsiydAv2v?= =?us-ascii?Q?PIB8UZGVZAMc4QiLI5BgYt+TLporwwFYFp52rlqQCITRbu5v68KTMzKsh44F?= =?us-ascii?Q?mO04LI6DcPCwLkurhxPqT3HmvjKJmhMCgfYDiT4Fo5zBWO14ompoTQdXBIH+?= =?us-ascii?Q?m5aSh3aZ1JYqfDIV5Rz08/lUbyJfYC/tB/QPW0VHRr3YY0urrq5deD0qTlb+?= =?us-ascii?Q?s0iGJb+CFGUaJu245y9uakjF8DUYYSMGplp28l3DjgwAF/ezp/Kp3uC1GEpt?= =?us-ascii?Q?qDqhfAVxLJNy9qePHVrQ0dLMw9gdgHMvYnapVAPw3svt3KKvnBiS+rxAF5Gh?= =?us-ascii?Q?oBJZU5/Q/vEy3gn+YPKyitRjotI5LVPb44Bqf3umKr6SI3tXga5RtSVK9fNU?= =?us-ascii?Q?YjGfyxARiF0Tb8siFaRfbWMsc08Ly/1THsqR2wRj9RHI2bHZknqez0XrNXPA?= =?us-ascii?Q?Guc01nwGxNDY9sSKSd5PaR423DOodnaFHTVR/N5V491Jg/E0T7Eg18eqL34O?= =?us-ascii?Q?2oylkIg0bSU7pTltRQN7SFPtHjoTEPb+NCnG97XIL6OPAVLe0738gvGxE40M?= =?us-ascii?Q?Juz8MbcJjglvh9T8cOZT9/O42vlGloqUevbq4nsfJt7Dk99gqS/Rfo7W1fYr?= =?us-ascii?Q?moTqzihVyZTche4NV1RI4tpW3jWk9hSQ/8KxWcxlXgOo/1+uHQez5X5eb0F/?= =?us-ascii?Q?9NNTdK4uZoMImD4GY4QYJ6DvXQ4Sg3eZ/uGX8RriIHba8YNSP1ohLghGs5az?= =?us-ascii?Q?mJOmxsxGTKPuav/tffiSfIRa7qBPjWGH6Pv8NgH9DJ9WcPaW92IduIfPOGJR?= =?us-ascii?Q?h6aDLo49Bfhgs2mC3erNGsFcdJwAazkacOhTl8Ic0Ttq/74ihEsYq/BQ5hbs?= =?us-ascii?Q?JNH6/9yqXzHTweJ+47k/+i+KLM4w1mscdl3glg2IF6zvBLw6t7ZqyxdFOWw+?= =?us-ascii?Q?64BO8/EbqT0XWsovJQ5xOHl7uh8N8pK22SIt4Cfss/ppV4i3lh3OAjeqzA/V?= =?us-ascii?Q?YSaX62NHdkCW8XpPuXuONSAGnpIaFoXFATBD13Imsxnt9JGR5goZM+0LkRW/?= =?us-ascii?Q?sNT4iIBG6dkKMPngDQf0JOCl1f3KfemcG/Acqot1W83gw38IhAxeQ9u6rMpb?= =?us-ascii?Q?tlr60iEqJYxq9RkvqrXu8hGW/w/qPX6b4c+i6oVpBImmkvOMh/gQL76+aiXL?= =?us-ascii?Q?O//I7lNyNQUOHLmNvGiZ6Uwo06icRMOQh1mUtPuEwYJH7SXEfbRl/zOX3y35?= =?us-ascii?Q?bw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a06e156c-06e5-4baa-9dd4-08dbdd112932 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:36:37.9597 (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: 0KrTs0dkVYgw4E2BqJYMztfpA9ZEHS2LOxoWPUWIoSsdMUlPWRdBHg0mpqCZaumno+kV7J0wrAZTgL/U3YIWLQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8874 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 Sun May 12 06:57:59 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2050.outbound.protection.outlook.com [40.107.21.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 B33837472 for ; Sat, 4 Nov 2023 08:36:45 +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="eijwQscT" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eyKbcgNlTMHlHPPH1DkxJKTuD7Kc5TQeDhLcb6fmu7HE0/4BKRMJs61ibcO4cLND3lMcFZ/Sv+JcQDL+SDphaQRzoB5/ekGKK6yV7d8wF1KL0MBOQcObVrPGy4BADWeACI0WTMHfHMJrq215t8hJgsjlWabhn+7KVSQj1ljkDmhRpZyOoNeA9TrHRbQH90Pr6WwcpLFLi4Q2yZnxdX33VXeb/I/lRc3svtqVN3J2RvRmSUY9UwJe5WEtmdx8+2+Wxp9GzrS1s6poro6EKVhbTUCBWuVK6U5I74vd6KtRbiTHRwg5+4pZN5Tq8W6Le8wwy6eLouP0W0islCimhgexEg== 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=SguT89FgtqSkd/FTojK/iy4epMzEIhDJ3OwYFMQnHxcJp2Ch7e4pHRnAMoIO4h8bMJI4iUjX8lYjQuHRgbrxADYN32c/tcAIf2lIJ65KgGwQwrtRRUZ9lXAPyK0pdP0w7X5qNIpnh+8BeumC/taK5sLNbx56Xz9mc2WjkRhJO3jxD02SZ5pmjN7kEF+y5eWii6rqMhWFyWdC6jC8gPufVIp70wQppftcV56SMsXEHb34IGbwcGORjJy7KQszwDuZANBYv6JVQNifv4e9VrKHquxL3oD05Tf6KgqNkOs98b3YHnwjW1DKovQHmw5YC5SnErTBuHmNCJTtDzOgd+1dgQ== 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=eijwQscTc/33CDR66Df8HD5+Q5h8whPbaZJ/J4LL8AY8gA1jawzT0GpCmrufKR221xSUpCL1TW9WHB5iYxHh/e4bJWk7kTfX5jA2mWVjzStbyST6UZ2boyApA9/Wi55gShXlJesBTudH+XWZ3DZOYa0iO2vpYz/Q3PTG1TWAMvQ0+q2L99Pt0QwevcfIcAXcnC2PGo1QpX34i7cvVaHjLf8Faugwy22tBpXY1Azxx/TUU9rOwr7p+8/K22//Xy3lOjklJpVZ/roztWwYX8OmdHJ4bWgTIId8QItS3/eikvKfMarjnuKepuw25hq1lHMDTWtpe0ZlnIwbr0qayucijQ== 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 AM9PR04MB8874.eurprd04.prod.outlook.com (2603:10a6:20b:409::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Sat, 4 Nov 2023 08:36:43 +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 08:36:43 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 09/12] selftests: mptcp: flush and dump userspace addrs list Date: Sat, 4 Nov 2023 16:35:44 +0800 Message-Id: <9584b3f7d80c51431424d104647fd43fece39671.1699086244.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR06CA0004.apcprd06.prod.outlook.com (2603:1096:4:186::20) 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_|AM9PR04MB8874:EE_ X-MS-Office365-Filtering-Correlation-Id: 6db8c582-4e7b-4d00-623c-08dbdd112c64 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: C8ygbgf2YGJ9heRyVU3CZbVFbWOp7Fi+pp1ipCEzntK+qFsZnKRf76OjoEZLV0MDYiKiIJVIwtPCHg50DAu1+v0p1UmUu9CQH5H9hGRDiOGLW+Ege+XzLD7MO4J1yeL0YENTSWcqNdLmeD4SSLXQCI1YDebdlLMkBcj43J0X7/8ZLW29XIAJTQJYWDZMLgOQz0/Azoksjl71GLUArZ9VeUWoYDDzPf9lfcuiwTB82UEczQQdGyjrCfbodQxdeGa0iimzqtXrWjgNMLf0CSpp2glJP5C1CbYGon6jkkbn01lT4YaakGpU+2ybbC7/sVssBPb+K48nFNM2rJUhuC/FQwuQmITqkbymGhatIJTEzfx42r/XhCeS+VN2afLn50qqLfevdjgPohgiouV1FZnugdppq9e53OtX9LHc8hDJauIhjpMmt/ea4WFyp9BmTwu1AdLuoS2nQLi3dv01UuRDjZb6CbkG81aL0YxanRAVL5SK/BDoHnDTl00mU1awnUEN/+CwKkVBlAY7/KMwR2kX2RlUtGXKL4hIFmzfKhwo6QkRF3xwMqrFxLejgYCMRTA1XJ1otkidYNBCYHHuk5Oyanme+ooPimtLGoIP8JIn5Ng= 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)(39860400002)(366004)(136003)(396003)(346002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(316002)(86362001)(107886003)(6486002)(8936002)(44832011)(4326008)(478600001)(66476007)(66556008)(41300700001)(66946007)(6916009)(8676002)(36756003)(26005)(5660300002)(2616005)(2906002)(6506007)(6512007)(38100700002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?CbkscI2lnntpGQ16hCtOkHtnxXRvQ17vt6j/2euI7orjloc25p8RF3z1Qn7v?= =?us-ascii?Q?PJfjJQV5QvVMYU0HTJ+SIxllbblemhwhHkiLwkbecMXCE4/ArONw/g6KWIlo?= =?us-ascii?Q?E/6JVlE9nugxiL164SfrVXrooUQAqOkDVapr3GUN7DJ2E66r7rUXX4TLpKj5?= =?us-ascii?Q?aJ4ZmMjXw79D7yCWxf5aecAgrL8yq2pNuJ7tAxyz92BBe7EKPQAtsbNWb4up?= =?us-ascii?Q?DvZp/QwQqr5WqoZv2QDGxLjozBIE8azd7BVruud1CdVTCpiUu/E76T+OjMd5?= =?us-ascii?Q?Hdgxq3begh4ZxztbB9Ivn0WjRVV73MXjnWdVuFLEc2HpgMYnnjP5uTFiKZym?= =?us-ascii?Q?oDUulDCjutM1wVoKALV5OScscckZEOLDF14Hf/wES+CKIDiy4qlF8yCcK7tw?= =?us-ascii?Q?FjakCG/QwAd7D1W+ahjGDQ5Uu3As1PjAmDYvTye1T9Bd3tWfBnZ4gSTL/Yh2?= =?us-ascii?Q?nid6ROqyW3UQRyfo25O3iQdbC4cX7TW20tlsQfVMCJl1AvILSSic/wiDmm/6?= =?us-ascii?Q?lWdvKVcg0q4ezL7Bizxcl46kVKgpj4JUe188X4z5qpwnNwndLk2ljEXu9CSh?= =?us-ascii?Q?EH47wny9A7X7mdR1Dfl7GOc8Hjx6FeytTfZGT97AKwHUz06Erw/KiHWHJp3n?= =?us-ascii?Q?+mUFzkWbAngvh++HCEPD0cMfQd6lysefZ79l04gOPabzsHboTrZWYVpoZARK?= =?us-ascii?Q?0EzHOSxAmFgqTp3FjEMumgL8VW1YHeVZ6sBzEweGFzsiI6NMOn+4aha+v9XJ?= =?us-ascii?Q?HXXuRFA0CVb1SENH3OmI0tZHvLdU/R/RnyFHGBk6TrwonjNlwvY/ci9PCfjq?= =?us-ascii?Q?Io9ufsmzEEoST/BIQB4YwFsbnAB9krgGBYogn2KFOQvOO2olbcpf5aXZgHv+?= =?us-ascii?Q?ZwN+9VYWSsS/4Bv1nyiLukstWpO/00IQLOHGOgh8ZdzLsJ109AOrlAzjXR0I?= =?us-ascii?Q?OhZGGAA9JbdVXTHbMbQZQy3QqTmgCnKNWQ4bxFGc6LhE8OOB5MjF1+9yX4ub?= =?us-ascii?Q?VgUP5010W7B9i51q9Ag87TRhpQRdj8lzZlfFuLSP2AynAF+kdP2cDSG1kHgz?= =?us-ascii?Q?PxiSNumSDjWJUC/Dq3SmjLnzfhWvzpQnr/3EQ3EoNhmK8syOb/1Rufcn+609?= =?us-ascii?Q?mZJTzsb4i0vrJ0Fvvwl/+wNQihTgNkzmrRyXe8m4h4B7vCC41sn0DACnKeh4?= =?us-ascii?Q?n00SNhp18AD1PhO+YAr8WgVSLmdgouWDQyjyZP75Zi+EXAxQM0xVwDy0V3ZX?= =?us-ascii?Q?GGwlyHUiVjsmJ5ijWB7/AIAZB/cDT2zk+uathbMNp0/GDUUP2ZUjF3ecTx77?= =?us-ascii?Q?ssaQhpuBJCn7FIcjaXI5FHDJQnW9PGtG4CxrSUUT3ACaTrJMB8MuUEUcxsyz?= =?us-ascii?Q?ljEMbIXJRTs05nySZ/S8cDJWeztr+c60ML42WTSUwHfY2IQcbMYQ6TDaBQoh?= =?us-ascii?Q?/AV1gutplskkRH3oQsBTsDH0ywbpGr7zkEEa9pzZD2qxaZjqbxdeKE5nT5Wg?= =?us-ascii?Q?U5Y7xKWjWmGToiDYpRzWk93fHh1T0zqISSF7lPcoaxz1KWK0aOt2T4MR3W8Y?= =?us-ascii?Q?bAjZu6U55HNIVZPdj+oWIvdYU/EcPnh5UR5JGvRMCmEhoxuxOFm//C/Yo+vV?= =?us-ascii?Q?4Q=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6db8c582-4e7b-4d00-623c-08dbdd112c64 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:36:43.2984 (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: 8WZasoS/Y70lDfHYQAMCPs5Q7Kfwg+RE4Z1SxTLq/VB2wpWT1OPR69ZCCICPf+hPZQ7uOlkDX+uLkN35cPUasQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8874 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 Sun May 12 06:57:59 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2054.outbound.protection.outlook.com [40.107.7.54]) (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 BABB77472 for ; Sat, 4 Nov 2023 08:36:51 +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="Pp70VJP6" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mLJKD6R9s3y5bRPvVK+cFjS56vJzu14GWppcauxB+IBwrfyd9PvKY9j+bAxh53owg6TLYKwpyIPOuE1y2w2BRqjXAJd2Z9KIiof0kxI1AmoxqbcL+djKLZ+zr9bphAhWgl1hDVvItb3dkyj2coK8lUBZBYR+nv3wnCiBFUfuCjScR9pyEDQWI8fvV56WJ1wTPu+swOI+YU0WJP1CZX/DOzYnnBg8pX099hYwapegl5nXfkrICx2hCbCZoBUVGzzjDlTE32497K6D4Kkkq2JTow09wFbQ3GqHhfh03w3xmK3K2ZTVAiIWTkrzN25Y2QX4CLXfLa6sVx1qhRXc0YJAQA== 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=/Qjlxfh/pOPBcGzSu6yZlTXjeUIIUlCMyCMvAB6NJvY=; b=j+V1/zBueg8Ye4J97vjOWwdLPV2WgRja8NeJLNi54VNoePSIeSCB9QYYpENmMD+WxCEHYwZYpJGbDNKVJgBSmhmhOjvvmMM2G69U0y6L71MB5u5yMwPeodYUn8rtAVjewV30eNnR50oxrOIrD2Wxu6//1ZSy9Vgpp6vexaR2eoRwIXaybFpbE7kneoC+VdCkDT7wfr9xYRzcE8bXt8ARxT0gbGb1h+HMM/CdZx/wSqbrVUrKsb6hMhDdR5RWPGYrfwHT3B0s6srh54CDGawb7uDSOixY2XHjtnWhJ4p3sECbjOoF9npBYYnJ6PsVA9Cw4m4JF00n+Da/R6GvP09f8A== 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=/Qjlxfh/pOPBcGzSu6yZlTXjeUIIUlCMyCMvAB6NJvY=; b=Pp70VJP6qkvIvuZ6MO1sUyqjVjV0EzdcNimJOzL/LwZiJAeQz4tU6nmjReBBWxer0aCQ7yR8bOYE4MsQN4saP5Zc2Lb9H8OOUNLTdl/SUsBbMMO/flmsBZHEvNwmR3wL3i5NUghsnzztF/7AqkhjzpuWQiPJCv63/RibJJ0hTk1j/6/yVPsl/M14uxOWJd7UgwZ1NwE2A7UayNwFXWUBrhtsmf8BAnLvBHurb6BJHmYFGj0sA+Ej4EObYpCOfmMKc3si51iGr+pFwDAC1tZW0OeHHf47OGlyBQnk4aHpkU2sTvarlzDPl90SJgMlG/9zZ41a9GSgB/DtWPzGBUhRrQ== 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 AM9PR04MB8874.eurprd04.prod.outlook.com (2603:10a6:20b:409::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Sat, 4 Nov 2023 08:36:48 +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 08:36:48 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 10/12] mptcp: drop mptcp_pm_get_* helpers Date: Sat, 4 Nov 2023 16:35:45 +0800 Message-Id: <1a25ddde32dcd4bf35895c5fc9205c4a84024133.1699086244.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR06CA0001.apcprd06.prod.outlook.com (2603:1096:4:186::21) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM9PR04MB8874:EE_ X-MS-Office365-Filtering-Correlation-Id: b3c36745-711c-4bcd-9c11-08dbdd112fab X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3As5zqyqlCOwYaOzjYxhuJu8H5c04acE51V/VTGNOrvMHxW6vkOe/2SyoLEVQImrIfpcbrms4vS/lxg53XHqQG51NuQX+Fni7PMtHj1KU7knoPfTNyAK/ECMMMuhPZTHmUuSJY2BxTHIgaiUrCFfhVjhBE0PgH2MzUjMaDsWpy6OtWeBBaME8ol8TlN9hJ4LqlcoX3lhMa4OpAci0nEeh0EgZki8cbWXga0WZlm4Loq3AfL7212UHfQu9eFc3sg8LUuNCdI+/0sZq1sh+Qj3m6MmsDtcn3U00Kfnkc0Z6pmaCj/eCWYIrwNS/I9GB3UkdAx5GedNwwxPWfgHvoQrRFinrwEZ42S7XRip3Y30bFCPNZKgtMtAg6RmkPcOobaRr8Kpi+KCHdog392ecmBC1wL0gI6IFGfKviQuBCXOXvaTkQnty1eApqC1WvmBfsM+3sEIUkHkRlu8wkOpcr2qF9r0qbRksfIe/Z14wngqzeFFXFlPrE5ugb40W5tSGa/7BJWK/e/Obqpce52CxWHKROTcMsi1qE64cyIElqolO8raWX06wNb413a6DGv/WUYwHNOhblZjKUzaWCSSno3BItvDL68jWTaHFFl5K3iptQCETPfN7XHM3IQ8B+u+Ee2y+66NjqP4K46t2aDT8UnMzQ== 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)(39860400002)(366004)(136003)(396003)(346002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(316002)(86362001)(83380400001)(107886003)(6486002)(8936002)(44832011)(4326008)(478600001)(66476007)(66556008)(41300700001)(66946007)(6916009)(8676002)(36756003)(26005)(5660300002)(2616005)(2906002)(6506007)(6512007)(38100700002)(6666004)(13296009)(309714004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?+w626M4etlNLB2kEzCXfQzpRrj7AR92q4mfAHeTLJ7lGUu9O27Rvrm6hTVZ2?= =?us-ascii?Q?ng+3cg8sloTZd7MRlQoouQXk9rb5c+raX6egwPGIBjD7/yGtY9HtRmOhHnct?= =?us-ascii?Q?Y0papFza6pdKku5KMS8fC9eaSl+muk4rWkmy4nuvsz6/+iXwe95/1EyfKBiH?= =?us-ascii?Q?KUeS4DhDAK1k2QDKsln5RaXpjaxoZ4vbjcEz6Lz1XSiUCyoN/LeJaCdnwzdU?= =?us-ascii?Q?D3igCfbZH8aT9GYTgD0lFXZoLTYbTbajN9ylGngP7hdpAVlsp2gbOydc0NuN?= =?us-ascii?Q?D5cxA1JGnOQPKbraPliRdueNE38UParTSExfazemFnXO4iMBq5d7FJURWzoT?= =?us-ascii?Q?DiI40Ziee5dlCWPrmQJwTv3HdZdtILFfQK4zMCG3Mtz17s2dP9RWmjlFLoKy?= =?us-ascii?Q?P3QpaBdbUw4wigmtAZGwNYAGXYPXtLchi1ZogJGXImj/W5vjAknd8otzSS/z?= =?us-ascii?Q?a0Xl1F7HEmvFuSx85zgnLUHHlKNR7+kINXTixynCTxQevWwiYL09aGocZzA5?= =?us-ascii?Q?0btG1CdW0ED28lfP1xwriUIx2XhaJod0nOlpFiblUDCZNykJLmme/MzBWqeQ?= =?us-ascii?Q?XwenFWvZUA9JJuGTt19AISM4mFR30ntrdu119c9zl9/FngNnNuRdw9wGAEmQ?= =?us-ascii?Q?IqbSSyYuIXOHHQZDke99xVEBA/jNMP2VQZSQ/MhcADr9gt4DFil67MsJYGe2?= =?us-ascii?Q?2fXpDgP1TNH1aWJaBUIt8uQo9/R8VbqTglp7VtvkPRTrUWkVGH+GSZTYWpPS?= =?us-ascii?Q?0XoVBL06WP7KG4HUsS4k/pUUC6gqj9J2pJfaVEboMPYPmI2e9icCOFkmScfL?= =?us-ascii?Q?sS6bVrRnEf0G7rxw08YWAHz18hhp2XB/L3eYcQeNbM/fhW1LZPjhOvdcF8E9?= =?us-ascii?Q?WxIqjz8BaQSpW6wFcCDMRxDgdiLvzydEqiO3C+GSLss4vZnb8/+gln/uDlM3?= =?us-ascii?Q?y61JiDnW50j0dq1QK/HoOyIBSZtpB62C4FKnp1pZeyjsvOfTqI7g9xksPWOd?= =?us-ascii?Q?KyBml4XyG/pkiQisEpaDXNPdZ56u5/Ms/1J5VSBD7/xzyTpuflxfaBvFCAhL?= =?us-ascii?Q?1C4zQQf5h+5zfCrAkTVmxuByihhYBFTCv2zU6h38Y44M2tfRRMP6/88Hgui0?= =?us-ascii?Q?ZGvNuO4YBQKRAk3TaCzHr63Jd8Y5ZqQBJyGDIcdeU3iZdTjyiirV6aEFXMaH?= =?us-ascii?Q?ilLTPa0ExSyYvqbU7Iy0Sp22pV/o/7/56WRN5BlW3LKiu4w1dwt8ifUbgl66?= =?us-ascii?Q?Gy4P8euNUGv5C/SzXHz3ydKiQcN2xoeP7q9HACdcbesO9aDNBjnLuFCppvIu?= =?us-ascii?Q?5Zop+Y42q90K9YqdvyK+rbeEhedlyPA2vCmnJtolm6IdaVp5djkZS4NZ0rep?= =?us-ascii?Q?slGv+YwtdpzSysjn7bYzapFA4OosHSrxQMQA89Z0XdSq8NLzSz2HSeQiJybK?= =?us-ascii?Q?+Mj13WNDAX6I2E4+mDaOf8hhMn18Qmz+M0Jc7wvfAZwqEchwhvBFH14g3VWT?= =?us-ascii?Q?P9+hrjl7YiTc8a+q/IIwcQNkV0IqSIjQ84hZNhhVTRKtm25yA+h1R5JfUckN?= =?us-ascii?Q?lg98Vd4xnjm1p6uqZZjmppZg8j4K9ugl0cKs4mCU2JIiA7VXSwP1TlX4m+67?= =?us-ascii?Q?Gg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b3c36745-711c-4bcd-9c11-08dbdd112fab X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:36:48.9038 (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: dKG/rJQmiK+K0FFVDze7emeApq5m6KF9la5rQiyTaP5nSCrwaSjTpBK5pnpuQVcf5YGTrgJGk8SU2zg1XmDASQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8874 Content-Type: text/plain; charset="utf-8" Drop four mptcp_pm_get_* helpers: 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); The helper pm_nl_get_pernet_from_msk() can be used instead of 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 e21ef13b5ed9..52f54d57aca3 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 Sun May 12 06:57:59 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2043.outbound.protection.outlook.com [40.107.7.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 A02AD7472 for ; Sat, 4 Nov 2023 08:36:56 +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="sS2q2CK6" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Oq4jDUWEjt3S6G0ca3w+1frRERAfEHbUR9lb4Vi5Q4h1wuwVFZUpt7sg+iEUS7fgHJHOTxeXsX8FkmhTUtJ2uOtguqVtcYkAP3vR6qy+EjPO853+RPrRRLQ1RePHFgj7jHD3yXCEmlVj1U+DLuoweGze5buCg67V6Ez6+qC+tc+AiqTfidHz9xo0ggidtRJtgnx7YYwr1m/wc3iT+nPYL49TBQzB2lNlN55BuNXUPYz4evg6x0KI4Jr0zb1nQ8bZUnywVYxMwhA4zirwMz/M7sDsP2lcDYeDAl/agvEEJpZUeM4SB9sFDKIrZ5/rJ4vn3d3lsoU1TWK/oKd0Yr3I2g== 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=JGv7Qlzpo3tOGq8WqZP9Y8ZEp065I/7HsrN1ouitems=; b=b6OuIg9Obk7DihE2+kcw8MTRvdxKbDxtiUF91h47dfcFKv/RFOWjL3a5JD68oOG9l/lynOE4U1e7H6xG2BjF40+qBE7Dp0cB8f9Qz9h0Fym+V405R9EDB9ErK0W3J8VFCyux0mz+C2Ja6bBhDm0DWl1Skdtx91VdUcfoovV0l6xZYO2lCuylr5c2FEm8jViJQxntYIVDPi16I4K19RIODNGQR7kuq0bZ8uwxARSAUnHjqk7UXRUIl5Eo+4E2PVsYtXbkX6aE0Zx8t0cSvQogcQJA5Qn+tIgUpKcFCY1sa4iaFBKucfqQ9N8z9aBDVKKgKe6Krj9AornKOeVeNhwm7g== 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=JGv7Qlzpo3tOGq8WqZP9Y8ZEp065I/7HsrN1ouitems=; b=sS2q2CK6MyROAY/GRwayRykXMEiEoZxqGGFKXzAJbjFe2DYpLAjSKNeGFEq13zxxjNJGxf1F3gx0C23Oc4mJnmI6Z3/K3Jnj0VgmrdzwLjV5ySqTlNOxh/p7aWgOLlBeSZtOxVUaILlTsUCh55xXCI50ZIgyI0cNGlH0N58RXJwu3do3W8GT/7jt/G6jJ8Ci2gdQk+H0x8N8kcKwCbSm4z+66znlUtPkG9PrZ54yoBE94U7gUg6MRXYCToNt+U2LFgH2tsqdJnm9ZhkIjA93hhfusi2obEiC1M06cXk18P/XTwQBi8flU3+gcj7Xfp55Qg8JUPztRanAV5d9DmOBxQ== 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 AM9PR04MB8874.eurprd04.prod.outlook.com (2603:10a6:20b:409::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Sat, 4 Nov 2023 08:36:54 +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 08:36:54 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 11/12] mptcp: add addresses_identically_equal helper Date: Sat, 4 Nov 2023 16:35:46 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR06CA0006.apcprd06.prod.outlook.com (2603:1096:4:186::19) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM9PR04MB8874:EE_ X-MS-Office365-Filtering-Correlation-Id: 5b39f73b-ce2c-46fe-61ed-08dbdd1132be X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BFIaN7i+rJrmaFaRgc4IMhn0TNlIiKsnxbvBrnueGN6SKdrYlM9fnOhPzMF9HS3L+U6A7WJ2Z9ssBEwowsyqqx+jLisn1EATnHbEUvsnYkWGlj//+Vdrs1AILaELP9XQkysQJHzUgboBbjFU9n09654a+/doRMYZmTbXWCw8JnyHplqrC8UKUhSGwXgGp/fK5+gRU0wQQvK4MHnPaSYePQhxckL540c9SfVdNfEomwfeqh6IDMm2eCcbLqx6xdkuIQBqF+FGsXHAmuLHIOvGwzNrbKjzSoxvN0bl0T3IKcujoSEdU6qHFs4P1JBmP7VMl4u6zWM8WfSvlgekKV/11RARzMCD3Y3YNKDff8VtnS3o4VEqqntMavhlpdEtg0ULe+JEHALjC9Uc5Ckd4dI0QfDzzK7T3QTC6fHomUO2qrK+gm9Ayd1mIXaeRnlxP/kVDvO8Kgy+GtnZcVCyUJ3rch159HtsYcJQeBTHxPKk2+Yp9MWYjexn+rC8bjBWjSUBS59bfdL7b8BeAj0gARShu/UCuSEFTS0fAw2gstk6u75Nw/SRktY0R5IwdfeEiYoS+d8WLQGuIrNL/lbwZr5UqfA+z6cyVxBDLjrzzyIOZ7M= 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)(39860400002)(366004)(136003)(396003)(346002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(316002)(86362001)(83380400001)(107886003)(6486002)(8936002)(44832011)(4326008)(478600001)(66476007)(66556008)(41300700001)(66946007)(6916009)(8676002)(36756003)(26005)(5660300002)(2616005)(2906002)(6506007)(6512007)(38100700002)(6666004)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?q3A8qlVFB4O985YjXQnQdk2rGVpoE0GuOIiq/XXhS7gsLMEPAcmLksoCb066?= =?us-ascii?Q?XsiElniVr55d4fX+1uBmFHNsyxep6y9/rk51gRm7LU2qoaE8tOFQAP7LMhEK?= =?us-ascii?Q?rWyeo8Z4pXV7t058kmP16poeDdB/4PSLPWYl5yVlJMqBrOr3HPCSvfyTcUUW?= =?us-ascii?Q?s/zGvbegDdetfbCaLBUyT1RtU2FWOogVfy1f0kExe8XNbfcqGpSOHn8OppeA?= =?us-ascii?Q?oq1n/v0m0FSMsw4jW6iB0hUlEJjxdIGzxyl/dhuS7BM+L8L0LC3J1gQgPWbS?= =?us-ascii?Q?+fGcD18E91ifJ/bthibceIAf+6bM5QLEiIkNSTLVaD4xVULPPh/nTqL1Rn18?= =?us-ascii?Q?Gu8Sn5G396jOQgbJHLeovOYuMvmmTWmnJRMhy3qSGRzabSOnhAlsgyLUeY5G?= =?us-ascii?Q?h0rQYG32z6U508Z9qFYaj6rj1XLPFY/cp05ijlGk75DiRDiKGQXBvhJ0OIsj?= =?us-ascii?Q?BlgH8DawQSueGE7sycNZPZ0yAYpu46JnKv5cIfykrb9UabgxcZh1+5FSSw9y?= =?us-ascii?Q?95lBNNYLuzqVuw7edMyagv4sVBdDSxcUgC4xirI5KESJdOz1m3uPsflO5aM5?= =?us-ascii?Q?6T7UZw8K/r3of6JDYdNHDAvxp3oz+L998ef6tQZG773f7rn//z4/T8jfZOZZ?= =?us-ascii?Q?Fg0fulHlzeyeZndnmHr6NbzM2+Ky9KCYhvCg4ITzHba9dJGDgCUFVkYY71GW?= =?us-ascii?Q?+XhcWARxZJYlWAOXVnbEYa/OXrFqKN8hic47HGEgHCHAH2GWDwAmuUWGyLF7?= =?us-ascii?Q?FqHcSwnDoksVitFhYCogtBNmhTeYOexGyhOTFKp4SyjDqmst8IR5RBSlm0RB?= =?us-ascii?Q?GK2WcMkToiWDfw+yOtO1KMRB9pMPuOfnaREusPpDTFDkjJSxvHQ1O4QkOitu?= =?us-ascii?Q?+Ofsm2HzCE6g3CH7a1cmEPAVRC6rrXLlkwehk5uhvMclXSI+Zx8cTuZ8B/7N?= =?us-ascii?Q?XleiSqouGBBOVc8G9QGWMdQDvmC7wvuy/9FP9rXyZQ7Uw4yEL8xu7dtmjr8L?= =?us-ascii?Q?32puLkdSxzR8ckmG25pmnFCXPoQtuIOzM0dy4Zsg4D/CdW1TQ/DwZSwa+EoI?= =?us-ascii?Q?w8POUiyXqDL8XTxZIBG86N1LlY/Gs4vjKQwRtxknbwINXbI1LbQNblgTdWOC?= =?us-ascii?Q?jdiwWLp5NKVg37sGuiMWzU8Y08yXYR9tglzny37D2/eFwsNY1oGfBdQLmeTU?= =?us-ascii?Q?bf+MN0MGgsQPNTXwiKOp2vChTUkAttyTWQNwPfmkV0KKELlWXUmuBRrPQBjL?= =?us-ascii?Q?eh/Knf8U7zaO6h8TBbhqYrojjlEgexKdP27IlyRtVXt/nf0cb+qQoWOfLmtE?= =?us-ascii?Q?yXxVuKa+S/C5lz0LnKVHQQf54LNcN5B/aaJoYZxbfhaiJ1rh8pQVAiBKu0LQ?= =?us-ascii?Q?2kXmyDzJfifJsrn6TtbJwvU0biXUjFl+Gt7YwMC8RqPa+sd2Rni9g2LYyEaK?= =?us-ascii?Q?g30Z90qhykWTxyDHNNiUnFjAXWMBf7sKqk24XWDzPuoTRABv9iiaZlu2n0vD?= =?us-ascii?Q?BpOFUHG2LFwXBqAvx3+IVKADvJj0NP7DSIGEaquSlyH3EOvFMtFZt+MQYhTg?= =?us-ascii?Q?gXu62U69k3ZcOnkquH/IlTDavnwEBFsuX0zQHLcBjMB411fO93aJ5Llm0Jcg?= =?us-ascii?Q?Qg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5b39f73b-ce2c-46fe-61ed-08dbdd1132be X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:36:54.1553 (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: BZ/Mn1PdZeBt+mDAXF96GSKkzclFTNG8P0CELB0O95eUN3v9pNnxMzLcigU5fChsVHf14hsqPLdR7hfH5SOX8A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8874 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 52f54d57aca3..ae5489beb31e 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 Sun May 12 06:57:59 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2072.outbound.protection.outlook.com [40.107.7.72]) (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 A98F37472 for ; Sat, 4 Nov 2023 08:37:01 +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="yODc+V2l" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iKtChIm6b8gdESTze7NlLG2aRwZ8eZLhWryHaF6le1I/Nqyt5e3NWQ1L68EtDR5BCbJJBBIyCQ8uGgNPYEb+ItLQI/JoB4/KCl2dn4Jip8xD78nb9Ud0VwsNFNzYYfPuR1DBF7YOvlvHelxVmcGfK4cD2orYUEuQjtgNJx4W38HjwKD2k9b3WT9uz+M4kOsROVKWDJ4afezjvmoF+Lu7sb1H4jwlrMaU9qF3PkL9wZMVx6ThGXE+pJeMdnGcyXsE2TrjRSV/aNHcGHf1eKB0uClvpCHSKRJk/JTH+Bp/D9MyuIsY6Ky5k/vlW3XnAAWfbHdKJx61y0cWqeukzBTCtQ== 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=zlJw0F4nsVw0wUo4lf6RDN6vdwxBnJn8U4hLlHlHjFM=; b=IQg2aiYlGnS6PcQtv4gY6w61EZy2Vzxs/d9RjXE21/Yc6RwzoLFlSAtIg9H6sHOJAddTGdlrZBhQDROYOA49QTiCoH5q11TM+ORYxl+cmSySFgwoqc6WXD9YsXpgg7WrxaT/qtEVYb7Z3O5thbthnBMtUdHEH8B2aoy8Hc2PX5fpbpeophLus6KBVQ0UpxR066f9EGqQeCXooYANBDbblNm5tYIPiynTR1V4RASz/3aaJY2xEBMXcdTJtwVsgEvN+ybB32Pf6nj5oEgyQVIq3mKgnBjiQ7hreK2tPbO3Rqhp8i4/Suu/m6Xu5qUqZT9WU1Rzj5sFh+/+lj0/ui7Kuw== 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=zlJw0F4nsVw0wUo4lf6RDN6vdwxBnJn8U4hLlHlHjFM=; b=yODc+V2l19Axd2Qr4k3VUC3ZLYhSRQeIaC8Sf9b7YIhlslNZmb1GC+hmxQoyKQE3Uo7ixRmej4w0mvO3pdLbo7gi8LjrG6AaLSEBX/vhQ0Qa2xRBX4OitC8N+07OW81Z31ogOnRnhgfyURTM0r34o/xZ3M4Bw+rVMG9TgTuWK3M1vdPZ9xAM92br56hLURM9mlz9BVy+iTDMiJrzU+1/sKiktWzG2gRp0yhO2xpg87QuRi4/rQXk35YVffCXbHdTFp2iz7+uoBySyWnxRXCIpWn8Wf1mJhf5cLajdWdv2sXSRHz9dBuuNsW9tIwA7VcyiVoEg0uihqjWi7nBVtILWA== 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 AM9PR04MB8874.eurprd04.prod.outlook.com (2603:10a6:20b:409::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Sat, 4 Nov 2023 08:36:59 +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 08:36:59 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 12/12] mptcp: drop lookup_by_id parameter in lookup_addr Date: Sat, 4 Nov 2023 16:35:47 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR04CA0006.apcprd04.prod.outlook.com (2603:1096:4:197::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_|AM9PR04MB8874:EE_ X-MS-Office365-Filtering-Correlation-Id: 24f2090c-f876-4901-139c-08dbdd1135dd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8LrbkzFw6M0+mzppbW/D26zax/rv14Ng3cX822awUGpspnC6IM11hNCPIhdy/2mZzRlTibLbwsVUQi3em3wN2P2mutWBbKfejOuYnyzFpLEVqBZHm6WNumOaGIWHouEbV9wSrW9psGvbmODtLkeog1J15Enq0NCoHMRnLqWnmutz7FqxaXjlHvywBpSklpd8YyukgPVMeQddyofZpaQzrh9Ghd4tsnTDlAPrKVPZtNfldRynrT7m/4YLp+DgK7p6yc8STrd25c7nvLcYim6VMx7SoZPvZI4Y2YqwAtd36kh3Tk60vzWZGTNOaYF6vQCCz1qvxAW3/f550w4vXNiQo3LWjuNWfuzFE0332sDQkuMRoUf5z/GKefGG3z/6rh6KmjVrhw1vDwxtkTl4bWXqR/dsTD0B+7B/nf6UZjdQAYgJw12zXD5jpJyWCsRtVy93nJi/0XufR+kdGVR/sVzK97R4GAyoabtGY3r0JgmcI5BTlKy6HJfK3NbzZR14/OKFZKi6wIFn8NpygPtpzIwTzA+LFNfXI8jH6v2QV5CMbsmZBcMfOONzS4Bn49VmJPyULF4uH1a917Lqwz7c4O9A1oSIzQtjpH4rf4mDuj5wf/4= 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)(39860400002)(366004)(136003)(396003)(346002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(316002)(86362001)(83380400001)(107886003)(6486002)(8936002)(44832011)(4326008)(478600001)(66476007)(66556008)(41300700001)(66946007)(6916009)(8676002)(36756003)(26005)(5660300002)(2616005)(2906002)(6506007)(6512007)(38100700002)(6666004)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?3GYcRZ1I1w1GJiYT3gc+eGlBxUsJnt/2qQlWeUQOnY2zAFux6xPFsYX2nkmg?= =?us-ascii?Q?e+nl80bC5r+pmIVE3wbAaaN+Z99MGQLf2EdNcrGHX+4k8k3jm2o7fHy95SCf?= =?us-ascii?Q?sP+VGtsNUsDZdZtS2loKndHM+zGhqcTWi+pS5GdGPlsyvv5Ps+OFCw5KWiEc?= =?us-ascii?Q?Z6jzp7aZ++RMI9WrJjx3TNvDIkpa8S/s6zwt5epInqpe6cwovK0lhFbfWmsJ?= =?us-ascii?Q?GmUMl7gaxd5sW1ubQCDwvEc1JU0QKZPTFZoWt6FhDBcPyU+M5fmhSEIFBDx0?= =?us-ascii?Q?Z8Slkl+z3hPOYpYDnyBZHe9OoFPY4/T6CWp7JMHW5D/43MiOdnWqb4pEd73Y?= =?us-ascii?Q?6XBUVsLzlIxT64gcbgGq/YzA0hnLhfMckUgcsK1cO7p0t5YwKj5FYEr2kV27?= =?us-ascii?Q?Zh2GFkUAWXhHcUdXxAfDm2YVHqPFucVgPUz0/4iCwXTUBS+KIX5TF6YRcjMN?= =?us-ascii?Q?3Vlev9VFsuxoTql7v4TkjmHzdjS8apX7eNL0cuyETA4o2nR3dV4mmjLFUxP9?= =?us-ascii?Q?KfvoOjs3qZiaMcvoDK7U+VadS9GPMMyfMWmjDQ5A5IJ2R21G8l4zhHP71wz/?= =?us-ascii?Q?p4kLHAUg8q4rodbWfagXW8S8v8ICc0rviA81NeTigqjZVpaD4orLxwIYiAjq?= =?us-ascii?Q?leSaRE07MTVBGkwKDnIf1VLPVKPDjer/UIm98SfA2AK1wKCCM9WY5xCle9KO?= =?us-ascii?Q?oaJ/m/FEnP4V52V8SDRi1M4UY2IFCgKHJbOlkkTCz6xUHEnRgh6kLx93ZYjv?= =?us-ascii?Q?4jIgMuZ6EdDI1HuxXHez/JxuCbxOHtbo+gtx97AWlkJ7qZTb6U1h28q0ke7A?= =?us-ascii?Q?d1Sl3WOR1kBJIERRVwVaByD02N3DKn6bQJqzKNAljBZRFV6u+ze2/C2ATcb/?= =?us-ascii?Q?yHxU2U5aTy5m7UOynyBlJ0e9f5SYU2hC3HL29BJLPoXQ4x5iaNg2HucW8rzY?= =?us-ascii?Q?oNgz/ocxWZDFo/JD3qxz2nBjhuP9deMQLAHGNbaQOUs0ihMnpkUf9q8BvU0B?= =?us-ascii?Q?UyauRDNqpXH/9mDKiw/eJp+5kIfxR5Dcd2FrvNRtw6IV9hQ8EZoDx2aEVDAT?= =?us-ascii?Q?LNBnXbxN4RZl5r0LntdvwZynibQAG6IyC0XkI+cHxwtLA+Ykge6igEQy7h+G?= =?us-ascii?Q?QGiiNThZkvMSu3nvf7DV3sE3brPznoz5tW6l0VIL8flOk/0cFhhR2WhogIDb?= =?us-ascii?Q?/8m+KE8dVQNkN4CeM+boEIfCRDB6xwuHH/LHV7NqaXXZbR3KGn/K8DYVT6CS?= =?us-ascii?Q?6Yw3YlL4Qv9bU9YNKsx2bivTGYeTPBMFUVrJCzauXpXkRSNOb7Faf5Pxl6cg?= =?us-ascii?Q?M+CH688NU34gtrm2wLJRYouyApUK2V+RJOXUGoXn8PeOQrtQFPZs1tHvDSg9?= =?us-ascii?Q?ZKNceBiUgeYxbk5r41FPSEgA45baLE0v+kNANi36NJIGI7QXNM2cvl1cu6l/?= =?us-ascii?Q?WQOOsEpvPLyVhgnIiS7EnygQ2i6Qb2EEUVkGpdnTs87xQcIoDkWHtCba7t+L?= =?us-ascii?Q?j8Ki+DDbFELGOv9ydvvvw635Zsu+hGEqZQuQTXI2KVXsV4FwkuURmE5CeFwB?= =?us-ascii?Q?3ALnhvHBlPDvZQ9q1CYQeYjwSHWtw4fN0wcp8yGqw8w3t4pRx1g1uhQGqj8f?= =?us-ascii?Q?Qw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 24f2090c-f876-4901-139c-08dbdd1135dd X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:36:59.2061 (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: 9RlyTwdPgV0DGXscGmOzf4GasUcvJAsFK3cXyGzplOnKdoQ/1pI0cP6tpkhnab4y3mQgWCTJt2+9DigKAW41fg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8874 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 ae5489beb31e..ea507ed7aad1 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; @@ -1850,7 +1847,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