From nobody Sat May 18 16:18:07 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 294822CA6 for ; Wed, 8 Nov 2023 06:50:05 +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="cjrS/POR" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lF+LbYr+cIDyhABHgYYhWlSUMPhHz2mORiktbx2i5JOab9V6k93lh32INxnodfxmhEOWMRaMoefARFnd1WeAdNMCdXxqN0f3e9g7BXdI3ZvlUi6IG7QKH9Mx8xvjwyJJMajC16+vFMclEDJaYFZSCLFaD38so08QXHnOJ26dgEFqsJ7iBCu0x3d0/uGKC7DAnbyDKgASdvGMegw2uPQBYMUHH2q9vVlyDKrYnQp56YQEoyVFZCNZ8PBcViW+5tRB8MJEYSen6ETl8JRKJxk91GSRMpcDBa6h08Nsvdgj3nhXm19z3OSEpP4v3sbBUsK5+j05pxG8vTh3g89APJN07A== 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=ny/YNTV6iAE3ls6l5bZbWBN4WsGQ64owh+fZYjVRzZQ=; b=EFlc5Ee/VWvxvvv0FH0vxMzGqNC/Uji7x+teJQyjpXT1LZiwYav4XGbniERx0GvBC0zvgU37Scmr11N9NOEUEzHaJoIDFEEJkXTjsUwTiH7skrlbicCURXoYlmyoHUFesJ7xtr5ZYhmAL8CdOdEXQqYwvirP0xqhy3tD6yV8iTR6h1H9gM5FpT4qagri6/WEcKY+566w0JQJnq0QRnCuBlmtlUkQYliy90Dc9OvCaLqGIfmfKIZN+wqqeL5/uG0JAFSdeyAsefWWZ2LusEHJgPlEVo8z7H5OT4iOicfEKBIjSIJj5YiPEiqI8+XPXHcxxmT74sJ4PK9OzfcxOuNDgw== 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=ny/YNTV6iAE3ls6l5bZbWBN4WsGQ64owh+fZYjVRzZQ=; b=cjrS/PORwyq5bs3GbGeGlthjjlGqEVPIjnbWm392dHJa+XsGLMjZjDT/nJH2f9SMhpRI4JTFvCgdNGxi8p+DeKDmnWr6jAD8nkYAjOaGhSL7A7+fkM80i8y4pNy0SrezOQgCdgiHtCFqXr2/iYRYLf9V1pvBLKyY0BeskVwO41aKaBhqjPMFHXBBztbovfakLn4HceAMzShRwkMCuvlGc4Hpvtjtvq4cyyATnmi6utyOzkevoE47GYWhEsS7uSxZvtSfw1hw1eepVico9YfCLkK3N4kZaUvAzdDi/n/dIwD2hYJGNlMSFEBIoOl/HOd05g4VQLXVVWKLfAnqTwRmMQ== 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 AS8PR04MB8803.eurprd04.prod.outlook.com (2603:10a6:20b:42e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Wed, 8 Nov 2023 06:50:03 +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; Wed, 8 Nov 2023 06:50:03 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 01/22] mptcp: export pm_nl_get_pernet_from_msk Date: Wed, 8 Nov 2023 14:49:31 +0800 Message-Id: <9b6e98e069ac9aa4a2124602121c0e9743f96f28.1699425895.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0028.apcprd02.prod.outlook.com (2603:1096:4:1f4::6) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AS8PR04MB8803:EE_ X-MS-Office365-Filtering-Correlation-Id: 6a316db0-33aa-4258-9403-08dbe026ef50 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CrXZ8l5ftdU/16lMGLgkkN7/MM7OZqHhh9PJuSBt5JPjsF4eE6DpT0SdIh+Ob3ciU/S6zYqAvyiR7Pf2AJfyKzoS28MWo734jju+eckDBnayJF3ojshTBeNp2VMPqPop4nuhbhlpY7cbt7bmYIpT/SO53g3VAuweuQfO49+zo4iZCA9rFfMlb8CAuVQx/qtYfT9qn5nl5KQIJJ1dkMO4aHtCQB11jgcDWo+guvxNqm8G9yQOX/orlOsWWETonH0qD/s1ZXos+KUTwT2qcgPhhhpWv4YO6PXhJ/5vkc+T95yQudKQZKbyqNu8KJ2wFURAohOVME0BgTEad69MzxH5UzDg3uFLQRoGVOTBdtt+bPRCGUuPF2oDMBKBMnGpnMzeVqZ2j3TX1bPu0TaKWiWWz4GmB6/3SOfxtLF7PZI3hsi8ZWCdomgULOEkKpJayH4rQxtwqdhh8aB5sdK0QGoZw9D+2+/8a8ZDGXDpdUR2zea/MrqdC6+yRqlsCBcr2ZNZwVkzYV5cpMrkwb/CKsvl0K/iBj06uLfiOnZoAEaq9JE5tGs/ssvtGgXoTu0mq4IDSQKj3clk1JOgF+hmfnSAqQZvlW8UHgAwTrYwaNVJMXQ= 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)(396003)(39860400002)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(6666004)(6512007)(6506007)(478600001)(6486002)(83380400001)(107886003)(2616005)(26005)(86362001)(36756003)(8936002)(44832011)(4326008)(8676002)(2906002)(41300700001)(5660300002)(316002)(6916009)(66476007)(66946007)(66556008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?R2ioUE22arnHZ6JWl0h6qmvInBrle40pU25cqPEll9QdDX9p2PpRMg795EA3?= =?us-ascii?Q?yoPdgG3e0j75FcWaY1D1UdMhhGXaUovEKqz0wriu+r7STZwtkr45ZuQqfjrS?= =?us-ascii?Q?FORprkB9Wk8EXxFeJGSzqSY5hOEldjYHDl6YHPhrP+55ie73O5fFS2L/mM2A?= =?us-ascii?Q?zM+N3iRaZ7pa0IDirscDz1hqZe5J5kG7RCHYspc4BGAsQQ5Mm+OiMWYA8UlB?= =?us-ascii?Q?E7gy22xMp7fl4M7KONIfJEbRceICqLATzCWz6Wm0+EZYtfYxtkXIVo9uTULx?= =?us-ascii?Q?+vtoSMB/KJ+CdbU1jkjJF35pilFMWvsJQwFJC41AWpq9CPnuDCasTmysWsqV?= =?us-ascii?Q?gw8EosS25zp4Fe2ho1r/uCKYTFfgRzg1QHWRbbfr0Q0GKfj8YJ8wl0Z8Esyp?= =?us-ascii?Q?BaYmGvyT/gwDj7YSyabxQ4oXhnO8x3Twd6rBkWn0KQ74T3uAO9XFeA1rJCkE?= =?us-ascii?Q?Afq/Lx9Gk9rrgKw+aouX6OqlQnRaMzYgQuywb+2VH7Q5ukPt0mCJ3Pm6+xnh?= =?us-ascii?Q?UedpE7GExSJYRvOQ2VinQ8pLGVV3i6uuUO36+lbD7QD84P8fkiC/Huj4OhnQ?= =?us-ascii?Q?dq2tBI9PapdgvGiGNTgi2QElrwtDmVJe+v8oSw6AJHuAmXRnoDTW9bHkogMl?= =?us-ascii?Q?EOcLNWgXYaZ3fO30BQzL6+xm+BCpohGxlnMgYlk6PNZMo6INO6nz3cgsPMDH?= =?us-ascii?Q?9yFSeqFIOzddPZMCr84Q+fSXgSTrje+1o/9+qMIy+ejBDeoBTKSzz5iwre8B?= =?us-ascii?Q?pJnXNpnK5pitaItwll5IWbYJR4MI1RLL3Z97wVbdc2xdBrqVd9w+028NB4oS?= =?us-ascii?Q?/NFnNZN+0d41aY75seH2P23K1ODnOW8K6mdzp61hu7QZ3Y29YVfD9Lu6ml0I?= =?us-ascii?Q?vhkglPTXAFt2lASqOZkmtGFCc5PbjLE9dySylDyKYKrpXdm74FovKFWdMoUQ?= =?us-ascii?Q?GRXgurElr5l1iTjBwoKA/j13LJBZ2JDHqFIVynaHmyNVoYUR7tjIR6WQqTFN?= =?us-ascii?Q?R1UPFXlbMlIQwvErLrz1v9GthvQ14o8v/OjA/V7yx+zEbTJLgBhwmjPhUH6J?= =?us-ascii?Q?6eIkot3Ebr/jhFf4i6uKiuZ79kT1hSx4SFQLXuvl8BkQaXIkyDVYSwq11BML?= =?us-ascii?Q?/INU5wGi+dsvmP+2UBie8fr76WEDQLWCF5iFYfUycxc3B01pQOFlZA/GWEOF?= =?us-ascii?Q?AFdvh8ebuywISDKnp24CWJKXLJC3OQBAwAYR0NxcAijD+ePro0x8ndX+9WT2?= =?us-ascii?Q?V5vw6Qq1uGzKn3ONh4hObQLAhEgoK46CJADiVAzwKDuQZAD0HXjYqcdGeMWg?= =?us-ascii?Q?LkT/SluCA8aEnAGqfBMuUmlyEqc0+vOmTL3kW0rciGrrMCw7HT0sg5oVd8Pb?= =?us-ascii?Q?lJYrmLp/qbxlkx6pFMY3hSMRV8SjFin/knZCacuR9kqa/+amd3ODwSaxE3pz?= =?us-ascii?Q?bOTnFcczu5cxFU4i7W+mVcNym0srO+PyIPa2lGUIE213NIih8DLs+91CzBc5?= =?us-ascii?Q?vcSbxSStNYFmf3JT09StESla4VphMpS8NYXbKk5xEQ3l7n2GZXULyqQT5tH7?= =?us-ascii?Q?JxCgqbnbDA1U2shA4HekR5lXr3ua2wUsbRSf6VsQwMLq85umqZMH3VdYTAtY?= =?us-ascii?Q?2A=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6a316db0-33aa-4258-9403-08dbe026ef50 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:50:03.2976 (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: qvylNVg87snzQ0fE6DLyALqMPolKTV+IRJ2K7Ya3BIOIy33YzciK3qlPUG9bM77vAarFSh3cUAeDOIYlQRjyqA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8803 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(). Then pm_nl_pernet can be accessed everywhere, not only pm_netlink.c. 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 Sat May 18 16:18:07 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2070.outbound.protection.outlook.com [40.107.7.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1259E1FBA for ; Wed, 8 Nov 2023 06:50:10 +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="PWQwV6Zo" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LZ9Wyx4LbdxrRFAyHh8aTBzLeO+LExkzRts5oqkZizX/643ynQxQ2GVi4N5kLnRi/AThMnwpw5gO27zwfGXvY1JBYgoJNIr1hFo1vVw4MBNe/xRY4Xh0EhhXMDHLTkbS3S3Sq6H8e3YwnxsNIzBvnXjio1gQFiN3le7NIPdnClNb2C/HL6LkBQ8H4AXq7AE3p2r+osL81PhkDIZdz/uVn8ODksEqqZ738xBV/3v0nmYcZNRCK4XvIu91pbC1ah8RYehY8qnHzb+d2jkWeoG6pu2R9rnUhu3yJWBGoE9cK65Ky+JsDJy9vIaEKWPmV1LUm2Tl1kxiEfAFVNfbWAA8PQ== 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=Yw9ZkQ7Xck8HEfDIVhXW7Ml25h8Yy4lGHfnF8ES+7io=; b=WmL1mxW6MpNcmQW29VoFmuU2lHTTlkUNSxmrB9YGs4WacTTt6SyYNbIVGz271BplxidIjncsEBUs8lYiuJ3zy81qlDRF3BJHS0BqElFJj2/nuzuXsvb5uG+7lBpU8d9cPclSkbODc0H2x8uvUk7OqmJ88nGL6Pl8fLYhEghwcMN2QwaYASLKeYjLtwasSfcK9pRj6WPb5CY/DEjNYnW3sjmLWkrIA71pEWHOjmc+Klz/lj36gJHDepi5oApNl5t+03vRe2yaXh+moZWpvLCQuGQ69jTGgdbrk+PdRgtDIAYml0jcbAwddFM4q6n0IrU1mmtL6w8PLul9LkDJUEnm8Q== 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=Yw9ZkQ7Xck8HEfDIVhXW7Ml25h8Yy4lGHfnF8ES+7io=; b=PWQwV6Zo5kNTl5h6hl3ybwdSsZHbnf5WmD1bkaGC6mNwsM5ymbH/6nnqLRg4LwB8A8FaEPNQDw/gnsjMoqXcJNUBYTwz5tSGhFj1fQKgjGIJi2J46DtbovSkWVHFpYVlm6Ra1GnIypV/SBiX7vgEwuvcWzkvQz4B6nIkRuDKXH5Hqvnhskl7fdoAy908YYo3CEjiE8zH2RTaxWw3GfCLtiL8E58Hpq4nZistm7mCQNQwGXdt3ieXRA+x7pR9P3qua/gPNT8//r0RcQFHJ+TUTJ20HqDIRDQs7pRvwA0rCODhNJFOvs4jyyrhjEurjQidg3ltKsn/VmOWZSMGOn1M8w== 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 AS8PR04MB8803.eurprd04.prod.outlook.com (2603:10a6:20b:42e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Wed, 8 Nov 2023 06:50:08 +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; Wed, 8 Nov 2023 06:50:08 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 02/22] mptcp: drop mptcp_pm_get_* helpers Date: Wed, 8 Nov 2023 14:49:32 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0027.apcprd02.prod.outlook.com (2603:1096:4:1f4::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_|AS8PR04MB8803:EE_ X-MS-Office365-Filtering-Correlation-Id: be1910d0-7a81-4003-0eba-08dbe026f217 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mBhK2/03/EdE+laV+YcuFlBXelXHKxxdoyfXRRkF7yYmUPMoDzQeqIj2VYc0PeQGEFI5bfhXx6yBM1UMcNP70YrB4jKczhH0s/PP2JLE5zRKPsZrHMonglnjg/zKYwzuEo/kaqWxp9linZ6F/3aUH340edFXaNjaNO/i9Xvd9/La5dbSAdR3SC+hFBLvSxxtylXTjHk+27c4kFDkwBjgJJsxPspXFRdiwaEFjcTD3auV3kKCHv4YvAKsNWL7tf6OleGmDwQ+w7MYmBvm0wbzcLpbWmG4AF7/eu2FW1AryRuqiNPyB+RwX7VWUP0SCJaUTxhrgXsU9gxOICylEiYnT7CFZc4CJ4gtjE3/fl4nVXNoMC2tuONAN8liMgwEmn32S3bVq6PbD8H1DbQcv6BntTALYoKucBduZKI30Umr0FVRcbiSHSWwwQ0IWeJXfyyG2MqARZ30cjGvlp6uUZiFMI6jgRtbH0MwCtGmNpsQA782Tflr2iGgxRBL+7Qz/LiyPh2J3azPKbQzMoJbFTp/ESn8PRqcqhDuy1xat80/+BZAaWHvMuVO+X/U6g0I44ieP433n9RE6H7GU6xcPbYkKl/C02LlAUB8npbV1Cp968VCYPG/18VLX2xLJcbEpG2bb1FSUDTZWFftEM+U6KsuUQ== 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)(396003)(39860400002)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(6666004)(6512007)(6506007)(478600001)(6486002)(83380400001)(107886003)(2616005)(26005)(86362001)(36756003)(8936002)(44832011)(4326008)(8676002)(2906002)(41300700001)(5660300002)(316002)(6916009)(66476007)(66946007)(66556008)(13296009)(309714004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0k5RlH2SFaw+Gwg0IXnC6V5qKLSCWaL69vys+QTrcSm+EOPiA2vucgc8La9m?= =?us-ascii?Q?aA6flYJr8MkMnQmuqo6DyJqao9AFdtfG4YaQvY6AqHbkQ0gQm2uD8AKyUS/K?= =?us-ascii?Q?J9Knb02Eq3/Z/wuxGJlGJsSzb+F8pQAI5PBlsoN9GVzPtGY5WZ9SkfbvOzlI?= =?us-ascii?Q?1/IXry59DSmQzrjZX/eI8Y5DDtBkIPZkJ4CAj8LQZI80v4Gm3MjQV54fkCu8?= =?us-ascii?Q?MMuTfJer2ZFsMwswlEYJMxROPR0h3//XiWEHbJUSmQoQDAQBAWBJ7wZ7H2vb?= =?us-ascii?Q?cBNb56JRuynxNuur9853Amg13w9Sh5ADbV3/+OZ2I7eWj1w8+9tlml1k3Bg5?= =?us-ascii?Q?AZ/9iuV507sxz1zawzo7JO5DNLlGGO7PwPzEuJeKoWbqoZ1zm2lLdbutHrsu?= =?us-ascii?Q?Oi1oUxa0gbxplheRntWBJQXeraHikY7BtY3fR61PNe5gGN1u7Rh05wIDBC7S?= =?us-ascii?Q?p2X6el8I9AFinhxoN10EvfPUKsXCYgWih646eW85igw2WHLXkzb9WqSvuVOM?= =?us-ascii?Q?KTwBtsNGG2torvj3lL/0Ti02XUWLHqx7MkNEAavVPVPTx82A3+v77TbsZwhm?= =?us-ascii?Q?O/huaaEXrUv5yqgGhAoNB3lSxFAmI0jb0bkLD/8//n/EnFrnd34Itxr3JMc2?= =?us-ascii?Q?jOhR4DjyOE12b+Ua5j5gS3fpDZgAmL6z9dI5PjwmYKIEy6wOBII8VaTtpAM7?= =?us-ascii?Q?MrRXD+/esOYc7EEGm7OnNGgvEdNcTrzeIC25VSlooXAjqyR1HBVd4Ht0fFvH?= =?us-ascii?Q?pDF1nSuM1Xyz7f+sYuYIXZcjly5eRvcHLxzulDDjVwZ5uQHQbtjji39PDHO4?= =?us-ascii?Q?fUuXOU13UWeKqnd5TNXLJZGk4XQuPdIK7sLYSzUivEYSAu9PlUFyUkt6T9Fc?= =?us-ascii?Q?tTdrwOHaqezJIjCO2px0p+s5zHykH/HjvO/xrU7jiUzZkhPMFo3tsALiKGek?= =?us-ascii?Q?ypbUE/o1Qge4Rplx8P5wzz4+3WxVHdUp2A0F9ohOwL5GB61m6WzUa2SH6/Xp?= =?us-ascii?Q?a4T0aYcrTBBBEle5uAKVYSLFO3eylPhGvo4Pj9pggeNac9WenvrruCeKWLdT?= =?us-ascii?Q?fHQwQaRLqJGh6nb0CQsOiwneW4xgphyBLJNHzqepxqnEIxh+HnlYoPTs+r6m?= =?us-ascii?Q?YLLPzKHCTCCcPuqnpmHobcYgss9DO8vJYiZO9ZqBdZKZqcL72yKXpX9Z5XTx?= =?us-ascii?Q?79qWdauj9KjnNmocRlt6NFlr6sLTGKgZB7jb1QAnSNkqQG7lBc73K9iwDUFu?= =?us-ascii?Q?+F19Pwjxlmz73KinoiTte8j7c59vdr8VRPrtdYe+SUm3DycMuQU6b+/IPw18?= =?us-ascii?Q?YI5dbq31eiD9vjPkOB2QkypkdgysyKK+8xfDgDntF1PD/Hae1XOoEDbb6KiH?= =?us-ascii?Q?60fdpW7T4nArWcrHJMp+1VbDUcg1DWRXJLY8fygxRE7KogVRiJH+LPEQM3hj?= =?us-ascii?Q?0YwButAndOHUA/lJzlSKGgHtNP/BVGJwBCPhE05EQ3GYhe0X2iJ48DWixued?= =?us-ascii?Q?DU6Og4RB1Z8nsVFW7cGM8Yv5yQeO+5t20/ADm7WSbd4fcL0XjR6hmwiWCvak?= =?us-ascii?Q?1lwacceQkA3/SXmCs3mwGmwDtLxPnyt1poxVBd88TqiRx9Ux13PwcnM4AMJ1?= =?us-ascii?Q?AQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: be1910d0-7a81-4003-0eba-08dbe026f217 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:50:08.0730 (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: bDYaQhl34GL+8M4Jly4kAhHOrxq4sE2z5wiNknCn2A9o45M+NBq3ZImibrok/qzmh/j+NF89MYD2CE6rnKBdeg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8803 Content-Type: text/plain; charset="utf-8" Drop four mptcp_pm_get_* helpers: mptcp_pm_get_add_addr_signal_max(); mptcp_pm_get_add_addr_accept_max(); mptcp_pm_get_subflows_max(); mptcp_pm_get_local_addr_max(); The helper pm_nl_get_pernet_from_msk() now can be used to replace 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 1dcf104d7a01..dbf040e39af4 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 c38a2126071b..88f5b422f941 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -1043,15 +1043,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 Sat May 18 16:18:07 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2079.outbound.protection.outlook.com [40.107.21.79]) (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 C472CCA6C for ; Wed, 8 Nov 2023 06:50:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="U+0tnlE6" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W6fxb4micBtrYpaojDXvD20Rt+t2pDj/o5geH4ce8ghVHafRl4QAEUjIqGYnDsJ1Hxv/QAbZUzw4Ej0ti/5N2izTbWSXP7Nxl0SvoEIm5DbV9t7opgwozaUwr/S4CsLvJCjIbRrrUiGEk9Ms1JYk6Pua3OBMb8zLHp4ujq+WeSvUt24el8C8tj81Nh0uL+tBLQ2E/AQFRvHwqYxJ7XjGpAjR7Q6j9RjXkyhj7q6Crp1BQaoJXkZUhqdwdu3Jr6K6kdWq0xY2/gp7E4928Q9IuLijbyDAFalQfv6uUjA9sW5ukfeYxXI3YBqFoPd48pwDnOd4PK/kyE1SlQgzuW+bSw== 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=DIHyqT6HE6SN+ei496ifxFyH6B28w5/Nfb2pvs1TXCU=; b=Fbl76ojbo4VT3Z7T8MZqqdJ7YseVnBKBP2Y789VMZXtq9WO9RQRZWHlQ6RSCkC2DkJWFjpYVPaunObYFvTIokNqoB9/Ta3/ogg3grYFbgFf98EFacfp199TipoCEwJarfnlk6zBxrXbo6PSaACjrpvTTaqrZ9Qc2iEGJ5O8n7kl9yfUTStbVvbVNeAn24Pl0GIo+4pvvaEhyO1I+fcIWKkzSfP4D9w3+Gf0o2ITs4zIgC0D0tG3MAq7Tcy4WkBN5T6xGxBBVr32jcJ4oUCPFIrwsX1rFIb5AZupeQaGy/XDsNidDmkMuFvcypJlcXI40r9UeTFHtvT7xh4TiYp0o8Q== 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=DIHyqT6HE6SN+ei496ifxFyH6B28w5/Nfb2pvs1TXCU=; b=U+0tnlE6l/iphdeZ6wQJfKbwM6KLeki25puzaZeuxvScHFvTP4kqdlOXbFWxgVfDfWuem/9Me3EUXEZ7/6Fd0HIEKdr3rplbYJ2w4JafLaTWW/9DtoyMY9TBPceyDx4P1ubhx7XF/1pMdCpNrhOTTn1wZTYbV+Z4viVQEdcuE39eljnFYK3HV+zz67hmUWEa85YgDdFjy1+VtSPM64gQAZ/isA5G1LE1mBFMfGPdI80GSNNvLsBtyNyXDYlrCuBmGu70PH3TWfuBMPLinjfLslwUvPCiW/5tUe/DgQYRkkUNlhVnjuGxzozrrwD43z4XuaX+/HCWuj8O9Wz82/Bbjw== 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 AS8PR04MB8803.eurprd04.prod.outlook.com (2603:10a6:20b:42e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Wed, 8 Nov 2023 06:50:14 +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; Wed, 8 Nov 2023 06:50:14 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 03/22] mptcp: use pernet id_bitmap in userspace pm Date: Wed, 8 Nov 2023 14:49:33 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0023.apcprd02.prod.outlook.com (2603:1096:4:1f4::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_|AS8PR04MB8803:EE_ X-MS-Office365-Filtering-Correlation-Id: 3261dfde-35da-4498-901d-08dbe026f5e8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2HQ2/9078xI1WSnk2q6AYg1I90F4wyVJ1fhLZeHEyhOcnN8yp1D6EXCpqYYypxQvcF5iGuzzrYvncecvFL3FLi31AgZEa5B/6qZvT6ZYey8W2xZn1uvYYENCXlEM5W+1V34c2JSPOtLTYqd/wLaD/3/0Q8QFhvfkr3tw4gBCoXBAos3j51hzKGxhxtvjcK68V/AZXSVNybLJYnEKR6jXHTWELEwQIfquH4+4vuRIiFlc3GpBiOMereg3x/Y+vR9eEGegfW4eu7lvK7UVhnx5xwTJhFb/CFXlWJoXWCLZeBeDRxf5EJC1eT8H4vU1bnkVdoBMZYxJ2SrtdwEpKO8UV7W13JChjKY0Xmzweiej4OjCbMljiY3ReHKQpS0MomV/55FJPNQcQL3b7Z/DoMuw3pHxc7ZdQwbh0vpFZCZPilxV9Qu+fjxLTHVGyfaNtY4F65r8aaMo8n6umfVsk8YviioykxdKuMRIK0wQ9bZnFgpPW3PcAZ4zGZBOwcNFLi4CgvB84Mddhkkke3S4or3PbMOR/m8EZdBGAjDXAJI06SmzvSbSDwUs7yzIpCNo+yWJmxYBXAMoewRSiy9MRwXaaGcuPRwYYUEpA1fUGKHBhwg= 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)(396003)(39860400002)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(6666004)(6512007)(6506007)(478600001)(6486002)(83380400001)(107886003)(2616005)(26005)(86362001)(36756003)(8936002)(44832011)(4326008)(8676002)(2906002)(41300700001)(5660300002)(316002)(6916009)(66476007)(66946007)(66556008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?v9Kiy7P+D/eHNy81EIW/uZav67wMfYvM0HXdeQpOf5pddV60W4PyIuuXEPRm?= =?us-ascii?Q?9fsuQDFXANFtFYzK/Peb8HNQzPnBLbI2oFxfbl/s/kagVNMu4jd2soS57Dko?= =?us-ascii?Q?2tqzyvij0mKoU5bH0EXQKcFWhShsTG1VLfq4LTgkIramxhUnGB8IBk6/er0X?= =?us-ascii?Q?b4oIrwdUSntEbYXsG1TRjVDVAZzTZk1wVXoOC83s7hVDuorKBiZxvMGte36B?= =?us-ascii?Q?HHvOY3hDQJtB4JKppOR/RW7wBDPF6MksWXfIAE2T9WnOnLqParITPnZzgbJ8?= =?us-ascii?Q?N30kTNEoyW8ZGQRKREvH9Ex24R8S3Guqnc7J/qkVdLYxw4MEtT75fwN9xaR/?= =?us-ascii?Q?SCf/JCKZCt84T7Bc5pf32P+Z/oN0/BcolVNGzPs+IrO14ds3dnwQ8KtbLyzt?= =?us-ascii?Q?bpb5w875e6V447yam51dLp41INhVPWtfO7MN4FwdGOFOn6jpsZkz2jPck/mt?= =?us-ascii?Q?SFrLFB0BET/JF3x48AnFan9H6nVvbM3dGXaqWSR7XDT/2iGL/VjeJgfjycgA?= =?us-ascii?Q?HSFbYuDnY03/TMdObNaqSx4kHr8dTD+ps7EcS2uH4zNmJVHeliPvdduhJu8/?= =?us-ascii?Q?qU2BaH6fqq3zz0aHrYu9Bh5Q0eGCzUEdHUGzoTyHuh98jhiYb6sAOvSeFHH8?= =?us-ascii?Q?g1KDzn7wsSIWXLB819zpn1YNvbZkhzgYYJbVExC2AV5l788nLrrp6a+TQXqf?= =?us-ascii?Q?TsevodDWGfqfcPIjvb6+q2dY4xel1DLNOV2O+wFKMJxGhea2dqiiFfZ2ZAH9?= =?us-ascii?Q?CdZJQX3YWJa0pK/CTId6o8iwdfelVxnTGjTua0sD6/iJqNv06Y2UCys9TO5Z?= =?us-ascii?Q?ehLjK3cn6b5ekd2hHDavA1wHnAbeLW9eqqCw151lYHivh2PC94rxiarcH1HW?= =?us-ascii?Q?kKOdOavS7jlcDg80IuV09kZWfA2kISXQT4WA8Oz4Spykw4BkiHmfEYIo+LPO?= =?us-ascii?Q?GN/2kiTFoJAG0r486diir9nvMYRAgj3Zc9ztBo6xSoYKEGGnhdSA6KRRcXeq?= =?us-ascii?Q?MUbVf94yYUSaTkMb+rhfLnmqtyKMIJDePU/FjXbT9ZqPCdu3WnGSpe7r3h0d?= =?us-ascii?Q?imSOTCwUwhdblDcGz6ybTAyANV8m4+pAxBgMfp3lbZKocP801WTmBjBg217q?= =?us-ascii?Q?zs1e09ecawhjExkYQX9h768WlIfFg1GcU5drZWFv0zbGNuPkLPNCccqBnYYE?= =?us-ascii?Q?ACJvY5g/aO717IHRq9vxZ0JZUnBCcDNIHY4TuEqXyRN2jNlPNU2XF8cMfdvM?= =?us-ascii?Q?jTsxwKYFgSFR/IesVRHFB7yD2/HJxP09VfEv5ipB1kT0sbr4+vGzpLX84fjL?= =?us-ascii?Q?GlHp6BynUK6Snw+aVUDyPmVa0ZqZVWfvjUsfLJfjUtd9tiJfoti0qhS1oP3U?= =?us-ascii?Q?fKCIUMJCUMmWEdIdz2wL8bctac8OVQzn5DFd0l4hyIOQ2VJX2j3ziDGE/4XP?= =?us-ascii?Q?BPB0GmPaISnIKNwf1wPlzDbg+yfmd5+9xLdALdpo2srTFUuKe38ywig9c3Uj?= =?us-ascii?Q?Zu1dZO0OZT+QAp5yn/+0w8/2g36r+NptFf1Lly4lUY1u+apy8l+PI+ysovtL?= =?us-ascii?Q?JmViKYI4cdFYetg6Rksu92fxINLNwKnEjEWr8GmO0XPtkL8trjZx9KFiHmBn?= =?us-ascii?Q?7g=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3261dfde-35da-4498-901d-08dbe026f5e8 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:50:14.8120 (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: bk+Lc4BozxtmpWpq8R09qBNEZ41nTPmqB40VtlpbERmKRt74KoWielCEKbcq5qGK9YRIC9ZUFgObgh/GAB9OPQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8803 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 | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index efecbe3cf415..b3a606a5e182 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,8 +36,6 @@ 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); @@ -50,7 +48,6 @@ static int mptcp_userspace_pm_append_new_local_addr(struc= t mptcp_sock *msk, } else if (addr_match || id_match) { break; } - __set_bit(e->addr.id, id_bitmap); } =20 if (!match && !addr_match && !id_match) { @@ -65,9 +62,10 @@ static int mptcp_userspace_pm_append_new_local_addr(stru= ct mptcp_sock *msk, =20 *e =3D *entry; if (!e->addr.id) - e->addr.id =3D find_next_zero_bit(id_bitmap, + e->addr.id =3D find_next_zero_bit(pernet->id_bitmap, MPTCP_PM_MAX_ADDR_ID + 1, 1); + __set_bit(e->addr.id, pernet->id_bitmap); list_add_tail_rcu(&e->list, &msk->pm.userspace_pm_local_addr_list); msk->pm.local_addr_used++; ret =3D e->addr.id; --=20 2.35.3 From nobody Sat May 18 16:18:07 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 BAD5F2CA8 for ; Wed, 8 Nov 2023 06:50:24 +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="ren62/5J" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F5pCAL7B+a1d5nMNjtYnH8HtusOHMGEUERGGWSX5slbjBZY9m2kbrMQPEoJ7dkUkpFUXIgBqzFf+TYDNleze5+2KXenIUcoALfpdFIW9VLrVThu0J/ApXj3stHYMjs5ZAQqXn4IKJ90l97FIt/380PZXo41F0GJ/ySyHW9Yc13X2AS60KrjKhWy+Pt+2DbGqFjwbAzIuNn9NYtTNPQGQA6Dlp+Cin+k7nXK7oUq0gZdUcOHWQvWeqcYVt13KI2j4SSM5UwnDURZsoYKRhXJ/gVbakjshC1jM8d59LrLDtGEXUrp5DYhK+06UIHaU8z39UTL/S1zE/UBm7BjQnGtBTw== 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=5sx65YAN9kdex6GGyHYp8vMQfSQoElqK4D5eJ5zgy6A=; b=eUOF/BCyJ5DluBWFDQAKLTnoARxaTq3Rgn2lBrZyWD2dxlwnBzMt44NGjMcgQnrRNV9fHuINb0RQUGyW8Lm1RkArh/kRbfw9jEid/CH5gNTCfSx2hGXbKZubZiwpjppFqw4jzfPVBzLmrDpjz1idf3N6d7oYvCDrUJxxJXkFza22jQAN4RHKS8GGQu5lE758fk2U7OOR1bGjsmqJi5X7n0UgyXZ0dg33SPgY1n2tmsbW0LzO6TMVBE4a1KP9kNp/dF8fxNi0yZoxtixtHDmgao2gSnLmMbfAKYQKgTASEwRsVsmMnwALIEU7dJ4zLgTgYhCpeDQ3EwrihVDBBekKvg== 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=5sx65YAN9kdex6GGyHYp8vMQfSQoElqK4D5eJ5zgy6A=; b=ren62/5JD8BZTNYmk4gn77CkLCgLah+Nkz2Pj/u1IYZSPdyFTPGxm4m7wQK7rOaHi6bLlTRFxhdcbTteFHI4uIAk/+fdwnQ1q7POfpnjXy7GodX7TmXO5qBNE2ymYyrba9taCkv49/4zFY5V+GqbuZayTfClrMnIadiTdxymRG6NG4sgK+PXXNea6EADuHNAVu5TnCn1urV6cDReQ3X58FoIR9OF/WEUk/w3uK0vor7X/rfv0rqw3tI+7ceOW1F23OFQylhubk109EgDBfK/IwlcOIoIxm3dWF/ZHfoU8mO/oR5TiVxM8jPJjCEJdRsVpqomVz9M5qg/ACMoFfiD2Q== 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 AS8PR04MB8803.eurprd04.prod.outlook.com (2603:10a6:20b:42e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Wed, 8 Nov 2023 06:50:22 +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; Wed, 8 Nov 2023 06:50:21 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 04/22] mptcp: add userspace_pm_lookup_addr_by_id helper Date: Wed, 8 Nov 2023 14:49:34 +0800 Message-Id: <44f22fd1dc0664a8653b0d76f703563a9c3ace1a.1699425895.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0025.apcprd02.prod.outlook.com (2603:1096:4:1f4::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_|AS8PR04MB8803:EE_ X-MS-Office365-Filtering-Correlation-Id: e28fdaec-04d6-47f9-5e28-08dbe026f9e7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: j72Z6TFFHpneIo0GQmHdN+YWauTsVfLHWbhJJYwDFeOdPrtAyTZgTa+bdRJg01Yyd/L9xyIjI84Kb6WNb5X9BC12XeolFunFdtwCqQ5T8mV5Chfx5KTImtPnJpKbR3xV6ubCqDq7jzXMpXkY4gYkQIaK5fJ7gli4BCLyW4E8O7csDgY/Mz5MtGWiE7GnP1Bx6LpE1X5gdpd1kBP3wgpmhGUWBn7bdzM8to/iYIS6arcyXYMkiZ0KBbDuFuxKhM6Lgnk5BpsGnPSDJfGXAUwc3PjzXM7obuXci0oNhQvrXv2BzFk0Ev3enVT7RUF8lPaPc88diTXxUizp5AvBzicnf5QA3uepiJ4cUHuq7WHdo3+sTr3tMU5FJ7DtJ7u1QXXr02l7VAF4Q1oV6Paz/4ug0N+LbD6qodQaQ7WZjesUd6nNr18E3fQD8JRAn+ewunUz52bUJWHWbglnWE0UAiwVyZ6VT7CmYZDfs1OhzklXAczTMDAlv+RJclhnfkcpc46q5113plEy13aJcP+GjlmLoRUqE+Rp1knWx1SxkoCP0+hrELhprtaIwzN+UaJ/kjwjZvCW6kz0dWzVuE2lj1ypAuEw6PxmvCB27C0d1Khsrqk= 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)(396003)(39860400002)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(6666004)(6512007)(6506007)(478600001)(6486002)(83380400001)(107886003)(2616005)(26005)(86362001)(36756003)(8936002)(44832011)(4326008)(8676002)(2906002)(41300700001)(5660300002)(316002)(6916009)(66476007)(66946007)(66556008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ZII9PK21cMJkDNs2YdB5Z3px9d4IEAl1L94lOHiwh8F2khHvri4gpog2s13O?= =?us-ascii?Q?8w5fwwvbDXd2lYzwuTTvFDHxmtbXZH8B5hFmRoolNgmX38U6Ol506G0bRToq?= =?us-ascii?Q?VHTF03Lk/e3OYxN18PmaN+4rW7y0oaEVUdAN3noVsn07xFLvkxDyo+QIA6M9?= =?us-ascii?Q?4ih2oIv/NZxOUMxOPlzmGSbHd1LwmO4XSyScKkPmnxdHPVkymEK09bUndO2Y?= =?us-ascii?Q?SiVTdbbAl77mUUU8GurS/6JXUUq96Mssy8Ts4hopWEZjGTqlRYB8r02Rl119?= =?us-ascii?Q?o/BI7t0xBJdR4BFNdWZZZwXZ7djc8d3QIgaXwdVZxdZeJVhfX1ULFk51aoSr?= =?us-ascii?Q?8aqQ4WXuNE6K1ppFzsO8ZEvjPDM2nbq9yCNUigrzK3ibsjqZ85n2dUrjbaZW?= =?us-ascii?Q?5UwiHJzvcSuXZxRVCYAngqMLFKU1Y7ai8KX4U4ri4QUAr2OyUTnfysIKj9mo?= =?us-ascii?Q?BNTt0jhnLNd+ciFHXCjFCTKXJrgh/xD3S5/CDh6t6n0J975zRb18UURzhWO2?= =?us-ascii?Q?I/bVLvm3xOtmlpeaNNaSXlM9b39JuOejc0m0aQYTYhXLMcGeefa6j8a+gfLR?= =?us-ascii?Q?7zPjxRE5MB250myPwwEcPu0tXZUOR1GGFB/p+wAX9CtxPxXAKoJjMHS2rB+d?= =?us-ascii?Q?Kx+TUclhfCxEhxNP/a1nWyHQkKnmMve/BS8E4DOaDocwM3okhMLWj1sUkzIW?= =?us-ascii?Q?S21EGnNLpVJMOz7kb6XyMxPLmIj1c06wSADByLSDJzV6siFndIhc/svd84gq?= =?us-ascii?Q?R31LI8SR/LDz0MkCG1c3Z4DjjsPXl4Mok2renucBrBno9XoZJcO6wpp3g/+P?= =?us-ascii?Q?PqsDNousflwaNc1PiE+qxXDNNNEQvVeS/We5OXNoYh1VgrTGcJpgHvU0ahan?= =?us-ascii?Q?mows4OtGsBY7zglAwA40xiOKFeeNMQwZ1US7zffXdpolGF9g3KaE0niMLARN?= =?us-ascii?Q?jE6KHrr8gzB6qXdR5f/1MjNXtsFrUX1gnKZ5r6qFkZUMv8szsAOdBXVOh4vN?= =?us-ascii?Q?n+C0FvT/FpErBRvisNpLkLgTnwRr6JNVcH1Re3WIcYJof7vYZM2S+I7G94vc?= =?us-ascii?Q?6b7b407203CxaPEd7laikHYIsAFVV4kRP4/WE+xteK68r0InKRjqzX7xELtm?= =?us-ascii?Q?KnUCLmzoTsCP+Rtaq2b+Vz2Kx5GqbI1gDaMEQIUE+BEOkHZ2xaNGywCK1JMs?= =?us-ascii?Q?g5hEdNLlepWjJB8hAsD0Xmt8EkuUVio21c4G0IVEIg+2IWJaTHfvugKwS7HJ?= =?us-ascii?Q?h1z9kqkwqrY/4/V2Slm+AZ/HW1xJNg1OwmCPnCwq1SSbqsPMlbUcENmWHHYy?= =?us-ascii?Q?2gbtAfSCuEiOtvH2VFJz1k0fMlsg3M7hv/H53adKxXckUfvkW0s3esTFMYoh?= =?us-ascii?Q?EaVD0dbhOdtYVAmRrDp8LdKwLGthmef1cXSRCG2rtp4UwRNVMDkZhTMcnwzf?= =?us-ascii?Q?vnBr9JtmNaaOFR8X/xeR2CIhiSgzhCq0oY0iRdfWpuXH7S049D4+rDUwbNiW?= =?us-ascii?Q?McoTcElxXp5S5e9pkFs99QsfoOqE9SYQaRA122c/GZinqrDy/umKhASQQgID?= =?us-ascii?Q?u9+K0bUehJtimALO5jKDmknOJ0h9vqF+gXuYGRrMY4Fom6SMkYkIaIA7Pmun?= =?us-ascii?Q?mQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e28fdaec-04d6-47f9-5e28-08dbe026f9e7 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:50:21.8992 (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: w6kJ3qVwedGZwiT2+wcetxvzx0dC5c8ys44OtRdCT1vBu3Fu1qGunsYNn0MyjW4mDvdekzCFuqNDKm81FKCyPA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8803 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 b3a606a5e182..6999296cd5db 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -25,6 +25,18 @@ void mptcp_free_local_addr_list(struct mptcp_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) { @@ -107,15 +119,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; @@ -247,7 +254,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); @@ -284,13 +291,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 Sat May 18 16:18:07 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2044.outbound.protection.outlook.com [40.107.7.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 7895E2CA8 for ; Wed, 8 Nov 2023 06:50:31 +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="rKGADioo" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IxQut30akHZZqU83L5VtTKX0GiIr9vAlyP4HGqytvE7L55eo66+fVfXMvu8OSWbvRZJUp87xuJMdH+LjySuktdiRbScxUTxnKy3s2V+hMdrIRYppy/9YBorHk0SNdhdelCDPHCYzAWoa+l+axrXC0O0ukHJienhTWtkqHbcxisYxWAOcQIeLYzgAa4UmDimz0c2vFVsvavi9YlstL4h4kb8GJor10vZA82iUJwqfpCAmUClNBbtTdXU/Dt5g8g5wf9RyA/SS6eKPvHAh+4r0UEn7bxg7/LdFkRVlTpvM35//OFQ476j+McbxKq1p5ujtygWdvJ00tewBuEqqr2PvDg== 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=e7yZZCJyImdlhF3yfkr8RmGBMoZfcXqYBgY155dLXVg=; b=HP4WCo3/edDVSEfRapED048w95sBepYjUMyzQ2aox7ggxTzIyKqHSTuRiHp3UBBhHwoVq7wTVJrGCzBczQyX/jHdvhY5i1pUauc94mBKbTBeDPDSLnyjaBOyrFSlCcmUZdLFeCn8yknxKwD2T2iqTN/tvYTkv3zs2grVazmoE49y2Wcj3cf6Kb/TJwNVFXZo4ItgqNSFT4q6TJbUTBgQfA2oK9hMcnpmDZOcgzXT4S1P4ceUhqDbuDAFJDwC6/v6aBB5Z1LPnKNKmVSwoyFhb74EzEJZMOOfAANaPWCzhUdyt5LSNyd6+V7XfIOn8j/MumZcjrzNVGPbHWg02wasVg== 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=e7yZZCJyImdlhF3yfkr8RmGBMoZfcXqYBgY155dLXVg=; b=rKGADiooOxSwPOhQocCvjDyM54SrtlOhKPKURV4/jxhahGzGIb0R3hnMqyAsL5rbe7RGbHcLYe2S4f3zOGO48N/6EhPTprtnm09tYGZzDpPVKQX2WfrvyDFkcF4twSzoMg75BCiQNn9ci2kiN8/Uv7qnTN0+VTm9+/O1qzQ1+2Xqm7U0P2oTeI121Yq/Qdpxz72tAIuSQyRF39tpy+DIlpIY4HLDAFbN8k1gb+5AkbNUw1rG5gpZmFCUHu5/8Chi+mc7qUalkH4BVSngsSCFLGNCzw18h1PvEpKZDz9cV9hNu9TxiRN18qtouufDWNGyRLY939NcNr5Q8rSGPRKT7w== 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 AS8PR04MB8803.eurprd04.prod.outlook.com (2603:10a6:20b:42e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Wed, 8 Nov 2023 06:50: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; Wed, 8 Nov 2023 06:50:27 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 05/22] mptcp: drop lookup_by_id parameter in lookup_addr Date: Wed, 8 Nov 2023 14:49:35 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0019.apcprd02.prod.outlook.com (2603:1096:4:1f4::15) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AS8PR04MB8803:EE_ X-MS-Office365-Filtering-Correlation-Id: ea5b1d43-9b9c-47a3-2bee-08dbe026fde6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7yIRqDNWbOtj6swOyxBWtkoy0y4gdqVAS8X5/2bIzSHDMAFbwvb9ySQrsV6uE5BJZqsOvMSIvGoVkVP3oL5qnMeVl7lcng8w7/e+tLoRus0v0odCMChmGioW9S62aVwy7xNRbUlrZsRqWztCPXZR5fhNqwURDRmPSyZtyWJ6pTVPqSG53E90gxCw+sQztYVBbP0rEH32RjS22wvcoMyRT2o6OYtlBE9R6odyEyvisyNryxX6igIcORBT/cdr7Y+LLOYRdiiXTrJpQ2qPhyrwyOTXu+t4+r21BHNS3tEhMPIK4ZcRaz23tNAHaGT0q6BQIQ7Fm7LlyGF/XHxC/duyVRDrNChMQHfgZKpTRPl+J94DChGPMAD/+D3QkO0U6L1hDwlCV9JJKT8OZXR8FA8bQA+UP01KYdccT9mpjbjRQwsHbmuZOCSSTl42Py9WARuCXA5rS34ZFrL9fnTA34bNTX+vQSDFzcHX69WMnWKRtPHWPBql/TX/KHo/RbWEgUXnSCnNxMpCAzmK9jTJQ3rThYOxQro6eZoPm+iE9G8big2k7NHuytWvFecW/Bv8XGpYe1UaMRWheDU5qv0rlcr9BlRRCYiSRbXo4s5a4CktoA0= 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)(396003)(39860400002)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(6666004)(6512007)(6506007)(478600001)(6486002)(83380400001)(107886003)(2616005)(26005)(86362001)(36756003)(8936002)(44832011)(4326008)(8676002)(2906002)(41300700001)(5660300002)(316002)(6916009)(66476007)(66946007)(66556008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?oeh7VfHsZ1UUPPEqMl72e8pqhCg0OPe2NN1cZPzGvw8iw137yvf2FAB1B0br?= =?us-ascii?Q?cI1Igu8yeG0qXiEMnEDSh/tPTEbCL7Y9ZkNbMtViVfo5RY1kZwi6lvTB9h64?= =?us-ascii?Q?7Yh+UcoobY6ezN/tjnebC0I/h9xdM3JL1cEvknaUr7s2fRzXkP60doUcTfVk?= =?us-ascii?Q?0e82WcsbB0j0XVzofEB4nZHffu3GIpilvMimvOBfWLnPKIp9zULpcB0Zuynk?= =?us-ascii?Q?t7xBO392ADgyiL+CGVDDF1+wgrx1HcfGOcgmZpNwV4GE2ymkXCZR8/JbMejz?= =?us-ascii?Q?8pYrkbxRAjV3dEPzXU3B+OWrxNHKrewOLwem/P2Gsj0I4Gw4TV9VNkNTIKEM?= =?us-ascii?Q?zVReFPdKTYqz0STnwUPEL1RL7bP1Budlk/7EmWVvaaDUtM/axdQuzkKQPDpL?= =?us-ascii?Q?HIgw+T3jNEDT9EF7L2FFYp7c8r9pD35byf3jp2YLU87hpu3QuB3TDnEbF/Q6?= =?us-ascii?Q?8kjVEE89KG5nTCgoL4AucSfiou7F1E6o7yVpWOOhd+6GtbLtB7idD4eTGvT3?= =?us-ascii?Q?RGD7HdeT9RK62DAMNCGVmJlSaQhOiLfCUo51I0rw72QaFQJ/LnxE2PEqQ23j?= =?us-ascii?Q?71is2lR6PAcpkBKEFdVcDD39vE1zZr+sM13taEquB8DpWgS5Qw8TRWOSC72Z?= =?us-ascii?Q?sOn+9x++WtjA64GKt7Fu7iPSmZetZogcPlV6I9OdsGMKBLKQZ2jPutGwMLWW?= =?us-ascii?Q?plUzix0mn943DfOYMnH3r2FCxx/QSaBv0ZhLyUXvc2j3xkvBVOUBomwK98/I?= =?us-ascii?Q?m9FmZmjOhXhWEOnh4HxT9d2Lm1JaIdWOVeUeLpsZ6uebgIL/HTFmV9tWs2Pr?= =?us-ascii?Q?1lEwW6qYzwMf8C7NII761fOJKRONDpdSRifWeGOzFJiKU0YYMuway3KMqJHc?= =?us-ascii?Q?gfuoxrk0KS3louU/ePj4pc6IPmlHfdV4D5UCiLzhLmnRosAyIM7bX4viYEJu?= =?us-ascii?Q?FbM8s/O2KKBH4Nbg/Tg81x2pnvyu+xqHv9TWr6TaxfUDXLOTBHNleD6nhvje?= =?us-ascii?Q?v/CBazGLhKFzTVUzc1w5Os/oYqY9Y1IF1RXwEgzjeUACNLbz6akfVt/WPAe7?= =?us-ascii?Q?vMrgIMzrZrm3uu04ROFtDFxlhvrp8KZ3B/m50Bxb0ANRZ6wlmv+C1u6peuUX?= =?us-ascii?Q?ob9lerKa6+sCfEwKLJmfpm9xWpD7SOF/fxuVzEQeypphcyLXNf5O1HZLY6Jn?= =?us-ascii?Q?28k4PkKtLWMSqgjln9Ja8T04GRirEn37j7oTx4ZrJ8hTVKazmBfDL8LJClIx?= =?us-ascii?Q?x8J6SD9GHjZ47S+isnAfhUi93RWiwgBqbPY0tpd4k0Wxg0PaS9QuQOpGBZz7?= =?us-ascii?Q?9N3RId6eXpGIeTFYkhvLQTcHGXf6bwVqSoP/FAuDwymtCFtv6JzTBuOq4PHU?= =?us-ascii?Q?iM8NnCNm033X25cpLcL5AE+D3X5R16cwrwV8e5QhsUBTytzJu5amuGuO+u8J?= =?us-ascii?Q?Xn8GSMPXDOkavVHIlcJVjGiViMV/8s4Ecw2qIJGqwfHej8HUTJpj59e4lk5P?= =?us-ascii?Q?uhGf6M6GneB7YEXihoIY2Ezz2NbPf+UlNHtNiL5craecxR0wWz+kZvTqf+uZ?= =?us-ascii?Q?d8dJm50Va7ry61xXX28/JqC8LnW7/x3boxQIC8slbB/ape0vwG5XsmFrcc6e?= =?us-ascii?Q?iQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ea5b1d43-9b9c-47a3-2bee-08dbe026fde6 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:50:27.8388 (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: UG7kMZQ1zcfortO1u/Rh9TbD50BoJyPIsRvQAf3T2VIGVRksS2N7UovLDfRuEPghD+IZQikzdrhV3OVglN0gzg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8803 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 dbf040e39af4..4cb52df57ba5 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -458,15 +458,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; @@ -496,7 +493,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; @@ -1832,7 +1829,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 From nobody Sat May 18 16:18:07 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2044.outbound.protection.outlook.com [40.107.7.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 E0B871FBA for ; Wed, 8 Nov 2023 06:50:33 +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="21vm9GWS" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kfhgzLb0Tt+EAWsxjdPG/lo2Zao57NfM6MafuhB6TuB3LMqU5B2LqFfSGzEMwDyOZXFFDK3LiUJvL5XtINxg60+JtQqgXWRWW0Fzo+WcExptCttaet0VOUyPKw38Ef4XGz2/LrQSymrH58lmQa3JXcnxuX0JvPOvaZrfROLEuiIiYPCfiMOBwtgpHoa1U3UhOfnIsdLGJTHFSLl2E0ibW3POaIqoxktSsPh8Z+FE2ChfckeRaig/PdGF+6Fk5MxFfxt8OZx0uz4Fhgz7xOGY532BV/N62ILdmjuAweNHHFjU9c2FNBcGeHNYCFX88S8WsrT808bCTx1LqF2KI87Vww== 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=9I9BhsUgHu9NIyvVUommWpfzUKT8CPGIVlfQ/Lgp1ME=; b=bI7Xdp9UJGSv8TZtbq9psrAno+7bowiSH4kP2AMUN7V5+fDYnw3lo51DA3mRFxC6XwZtLM24vj3yGD3Fzn/gEehs9Hj6FBEZtertdC6YeVyid/mRargsDBda3xF8HNwHc0Y2rauhMddjHKCj04hWT1VFFkckHz68KFdIy0zaePVLBGW4IcRJ172v5Dw01JFCL6SnSxefAfrhX57/E6rLbHC6D7Wu7OQRa97zJooehb48Pc/6ANjrdeL3BFLHCI2KhiXg8KVQ0hbbzIaScmUHGJVopEf7MpyNYqfWGSdw4jF84eOipxM1oQFMLwBjrusyR2z1hdYl9PNzQlcIM/aFAA== 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=9I9BhsUgHu9NIyvVUommWpfzUKT8CPGIVlfQ/Lgp1ME=; b=21vm9GWSwm/ULtr/JW2gx3j9uUeU2JOqCFGekMfJVMCz+kNtmxN9tT0wteges7oMJKgEnN9W0ueK9V4sA9CMMDEcFiGH2v+u7Bdm7K7qHNT1wtQb0Dy2aKZe4J8zNWbiTJJMKiCTgXmF3rlPcY8uZTbj0s2eIbzlh43p6kwPDqKbMhWH7PR2w7xCkGMPmZ0bFG8xfgxdV1D/H5HkJU3Xv0VyWuFRPDxrrBLj06LhiQWLqaU/65xBDMHXgbQb/nBhmi0yle35/LnL7IX58HKvQpvMOmkA0kVjUpKSchhCZ/6sKN8NTvAAQkfuVgVCnmM9fmhM1/aeALiITGqhgWbDAA== 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 AS8PR04MB8803.eurprd04.prod.outlook.com (2603:10a6:20b:42e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Wed, 8 Nov 2023 06:50:32 +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; Wed, 8 Nov 2023 06:50:32 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 06/22] mptcp: dump userspace pm addrs Date: Wed, 8 Nov 2023 14:49:36 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0023.apcprd02.prod.outlook.com (2603:1096:4:1f4::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_|AS8PR04MB8803:EE_ X-MS-Office365-Filtering-Correlation-Id: 6e2ddf55-b70c-41a1-e070-08dbe02700c6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3tOD7DyzwM1JCB98wTUc1Id2WWv5514aOnodAClQ5T7FWNsGxnAJKgXtO1UuM6XrpOoNsTQYJjMAXjk6unem+esKv2TyyiWf3NV1VCLoA2HZWfrdfXJhGbSlELTwjJh5aupi7+pMUX8p6aT0ReBFKigJrBp2Y7heNQC49xjOwj2YRYT1cqFrOXyjPixFSRoBysVEQFFfRUHvA4r7Z+3FVGzxNDP/Iat3REt0sPLifFOeOCPCmjuLT+9Qkfd15rBmIOsys+hZILRh6Mi9rZbGm9wVv3WfmpO1hlg4SYKQr5RaTNOl4XBe/yLfoeAUYFvXqji+S+OdmAnycuDqvr94TccXJLp9Xo/l4CbUu8BfIMK2bI9zy8/PYnemvTGRr+IaEiLNMvbdSm698aCKSFIVXxP0wBC3re1zjNnV8xydsTKcKslTGass8AnPcDAHqVcvaqlFQfUghFnIz1GM0eejKlQZdErtGNIQTKYTgo4HPaj+ptb0EAwLsFbAUdm+l7WA7JqDhuJjq9DWnKILKFvjj/qVTUmpEWq3Lhm3cxw8l4Yt5kXCVVivugA3uhXmLSCR4AEDfxkdc/poWdFMuEefN9FXy4F0cRv8tvJkcRB1rkI= 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)(396003)(39860400002)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(6512007)(6506007)(478600001)(6486002)(83380400001)(107886003)(2616005)(26005)(86362001)(36756003)(8936002)(44832011)(4326008)(8676002)(2906002)(41300700001)(5660300002)(316002)(6916009)(66476007)(66946007)(66556008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Hnf54zDab5cm6JAa2QcJe/oSAoPsIPq0EfHTRgiKDd1//kYJwDLD08SwzMoK?= =?us-ascii?Q?+jNHkVoDxMSPW0AsYHdKSHRLtjAPU4Q7OF381PMad+jFRKpOtG2jpsOOX/tg?= =?us-ascii?Q?ABgCsrI+l+kHIkQR7LpOhHJ+ylfz+VQf29ygCmFb3mETrHQ7T4v/Aop0fzd4?= =?us-ascii?Q?EM92d/huM/jCa1Fcl74oZM2TwcRzfz22aSHjyi56PQ2+LBmChUawHQ2sOFTy?= =?us-ascii?Q?IzBaLvciyTnO7x8b2eUn188Cbyof6716IXVhDpbsBgUxH9R7UB1BFA+z6FIf?= =?us-ascii?Q?9WbzPdwB9Jp2o/Ks7w/VapySDOeh9AiByXQcLCC0OxjGp/ikZfoTHdkismPx?= =?us-ascii?Q?TD4PtDd7L5o6tgF8jPZjNgkhjizOSZNWLWDptBOPAq5cqEDrDkeIuJvwd29C?= =?us-ascii?Q?1je7GTQqKMYnASz/1yxudja6UVSg0w1P7qTvtds45qV3eU/1C9J6J+BfRDx7?= =?us-ascii?Q?Hhl2H8p98+7bd8wq2r1PJ1Qx8ZF/2FK38qCekm5p40pO+iVdGvU/UdhdV57n?= =?us-ascii?Q?qjaciFfbFP5dD1kTYQMekRThZovZvkxDf0cyfry0yt3cY+epCiuLaFRCw3N5?= =?us-ascii?Q?MEnSOvCN7WO00UxFK0za27troehIBxCZu2r1uFKhRNf4FttRtMjHDWE0njL9?= =?us-ascii?Q?eFfa7vUv8c3pRQry/AH5oNgp0yJamHLMWapg8aLElILPV/kO1erpIhdyhwmW?= =?us-ascii?Q?SIgzBe61uepz2n2fdSk9DioO0nUJdBue1iu0coNjdJUPzzklH1YpPKKbaelM?= =?us-ascii?Q?SGa8Z9cf1s2t+kOnNdL0rO1EAKMGb+Ghz8CZgPoiIvMJP9fhQtcoc1mhF/I4?= =?us-ascii?Q?CsTCbwGYxCJgiR7OaP7gNFbcwBmbXvWwx6Lu3FWJYqS07vZuopvNO3/w9/Wg?= =?us-ascii?Q?Rpj0eW702k0YLKEyN90OilvOWwT8GrpA0HIazdxJnYViSxLszXiE4400B8C/?= =?us-ascii?Q?NtpBwX++pi4zuP1nPYCC9Ml//lOhhNsuidGlYT+wQu9lepWA8h7JB0rjodh6?= =?us-ascii?Q?AK8eznc6cbUKHDt+5GwIB+lz8n34H+WUtaDEBNGHs4bh0S/flU3xekxZ530G?= =?us-ascii?Q?iOyLJnjRHdteMcNrUjZIIwAhCDKlUCzGS/CeZv3g228/Ea2NpibnnKny/Wea?= =?us-ascii?Q?uYRrcPGC1JlFOVD7E6DcTp6JottXukJ4Y01z5b2WxzFhb/lzJ881H5IWzMH4?= =?us-ascii?Q?3lKskQ5mcDFEsMgPvYpUR6j+mKLWjyKV4qfwAoSHJS75OP56aYmiqeuP2qRI?= =?us-ascii?Q?f5RwuUWDQeMC6w4aupF/dHb7t34gRpzVvGGIja/UP7SUIQ8QJaWWkemNS+3/?= =?us-ascii?Q?DpLwAfHNQoJ5dxon0+weeS+M2W4UOf8VlyeUy4sg4qirtqRyU1rv46kqlMXT?= =?us-ascii?Q?1fa/KnG36EpsK0KR6yYZ0koDrAmS7srtw6tVAW5vKGIOWvX6KrPgYX+gVv1v?= =?us-ascii?Q?h/+7NX7+ZtnsJh16COdz+BUoFSmcwvaQUrhKsTEDDPPXzY9dGySwp6xG8AI+?= =?us-ascii?Q?6GS6X+oFWTDmWccY3HlNjAh5D4s9M4XMno49z8PVkOj35gHgiF6EtbowoTst?= =?us-ascii?Q?BWj3LZhpVlpEEsE7M+CxJqOK+kZWUKbsaIihjhHNPUGP1vuz7rOUYKSXRTQY?= =?us-ascii?Q?KQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e2ddf55-b70c-41a1-e070-08dbe02700c6 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:50:32.6242 (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: g+JHAdMk3znQqmpioq3DMHlGYMiCCziuNkPjZTd79Bn3zCp4gF4zsc0GuQ1wX688M8E48C5eQqGHv5SWcQC9ZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8803 Content-Type: text/plain; charset="utf-8" This patch adds a new function __userspace_pm_lookup_addr_by_id() to lookup the address entry by the given id in the userspace local addresses list. Invoke it when dumping addresses from netlink commands. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 9 +++++++-- net/mptcp/pm_userspace.c | 25 +++++++++++++++++++++++++ net/mptcp/protocol.h | 2 ++ 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 4cb52df57ba5..08b4211fbcbd 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1673,8 +1673,13 @@ int mptcp_pm_nl_get_addr_dumpit(struct sk_buff *msg, for (i =3D id; i < MPTCP_PM_MAX_ADDR_ID + 1; i++) { if (test_bit(i, pernet->id_bitmap)) { entry =3D __lookup_addr_by_id(pernet, i); - if (!entry) - break; + if (!entry) { + spin_unlock_bh(&pernet->lock); + entry =3D __userspace_pm_lookup_addr_by_id(net, i); + spin_lock_bh(&pernet->lock); + if (!entry) + break; + } =20 if (entry->addr.id <=3D id) continue; diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 6999296cd5db..5e45e36ce1d3 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -549,3 +549,28 @@ int mptcp_userspace_pm_set_flags(struct net *net, stru= ct nlattr *token, sock_put(sk); return ret; } + +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 88f5b422f941..c30e59278080 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -1021,6 +1021,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 Sat May 18 16:18:07 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2070.outbound.protection.outlook.com [40.107.7.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D3D4D53A6 for ; Wed, 8 Nov 2023 06:50:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="j7m4zBTB" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DCURzcvqYepI18ykb2ttROyGAZ6aaog1VTpprwb+TqJzsyn7g9NxOhTfB1nd+0npEKr1xyu1tkE918W+SZHC3FM6yFdQREqOeDOKU8qtBM4zOZS8ltwIH++kP2aUjYeevpMLmLAVEs2F3R3r3D5e95FP9V5NprNhKoPRuIhI9mezmReexAGuJ6OQSYRkBPrcrDl0mbMvLJwgjxSsCWHMvUH6asEVk25FYI5ZEKJPQmtIxjWKWaOexCvGcLj6wofpOq9Nns/u54sooT/zZE+rq4KxLI9kE1lj1KXT9Mg1sI/lOX6KO0EVKi2KOhXfuDm+tjkT/KaVbm8iyw5T2fe4xQ== 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=dph7slE2gv8EAzbuXoW1AIj1s2dm2ND+F4+zezBtKwE=; b=n0HugLsMTKLqCo+4UsDKqd+BnJxNUK9JsuAtluqRlKUhpp/XqKJ4oI2eWwGUsxT3pV7hoXXGtXP7YGb+mmMK8i0ubVVSEdqpS0GrMPpJyi41GCk7IvfB8g1jbTKubhIUp9sRrLTS0f0rhfbSMB2LRqSIP1HUyIhp8k16VV+e9YUNMyWjr38z/DydfnemrGAy/vFCAsrtLXsMhJPuGVLozPp8rFGLypuq6wsQWfGxDBBy30NudUBqoijbq1hWj9fEw0AXYIGPUkF6FUd8nwX5uHFtZ/cXeydkb0FWPRSGA095aRWWYyTtAuLXbupxIwTWZkCs1Y+lfTqDhaL1oIzpWg== 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=dph7slE2gv8EAzbuXoW1AIj1s2dm2ND+F4+zezBtKwE=; b=j7m4zBTBf85JrNITZkul4OF42RfQmbtuDkiXttMycBMVB5U/eTlVXWb1SBAPURBROHbLI3MDHFDLlKL/kMaJg/HshixUf2uZ4FPbFcbIlu1+0ZaajUSsDMtDtPZyY3gBsLtUttIEptt2xGGaKx6zY2YTpL7u7l+TKE7RRXSmKIO6dvDbT5oHV4dynV/cx3fSzNmvXL6boTTXOgJvqPxWJgrLa76U/k3nVePR5k01nG33L0DL+XZ/e1efNgB+NHtWnuCLnG7GV7BNIYkr5RKyc3w92MixyIiRIN3pPQZ5NJMe3KLyIQOkO12YoBwaTCfwtTMRbE9IHaIXDQYRFsGLFA== 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 AS8PR04MB8803.eurprd04.prod.outlook.com (2603:10a6:20b:42e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Wed, 8 Nov 2023 06:50: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; Wed, 8 Nov 2023 06:50:38 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 07/22] mptcp: check userspace pm subflow flag Date: Wed, 8 Nov 2023 14:49:37 +0800 Message-Id: <617ac73e3f5a57f8917c1e9905b79171792513b6.1699425895.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0022.apcprd02.prod.outlook.com (2603:1096:4:1f4::16) 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_|AS8PR04MB8803:EE_ X-MS-Office365-Filtering-Correlation-Id: 81795c1d-e496-4079-6662-08dbe027043b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5RWCW+/eA0zURqy30EVrGuhkZ8oDwbceM+Xfw1uybh6slahPMVgvpKfoNvAlFmK646Q1eKlk3t+9fhl93xUi6bb5bHlpANvrI/QDDL28cGZ9VNXHiLw1nxfz5ms5gcmXB/z1iKdON2ODG5tkf3QMHOkCancAhDknjoSBJSgBY4fq7lMNtrfckovYcKD4GyALoliyA0fNX1o2dytXhVdRKGrMFasPuuDLCPYP/pe/R//RTxYQeowOvc+qBtmN1PLzLmf1tpYq53Sx6n9/9Ya4bD7UH3ivpMZiAujnKM8Bh5uGyhXI2855CPB/sgLZq8JOSskiXRfUsKy1hnT+lhewgm0uJEvttWPXoHVM0gNLZ9DqaZolrtpOdVeFRkGV1ZruMpZ6DEM1F/q8RGjCXbjYrtAa+6X2/DuxPGoGp504zuBGJ02tZJx0XJM295dcyvLEVzkHzNspC195ri9dmCy3a4X/nsUJoboHdD7wvl3r4DIaG5zYvq0/g1DeBRkiiucz9Onls60CcLUnF5wary0XqRNSlLYJs+twjFYlYU6gxhMiDM//FyMAiDdtfpaZCgA0l6UDh1MfK89R0klArUtr7c5uKoNpSPd5gQ1iIPQlilA= 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)(396003)(39860400002)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(6512007)(6506007)(478600001)(6486002)(83380400001)(107886003)(2616005)(26005)(86362001)(36756003)(8936002)(44832011)(4326008)(8676002)(2906002)(41300700001)(5660300002)(316002)(6916009)(66476007)(66946007)(66556008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?9AIyfaaGu7kIiso0xo+lD+FpSbRlAWiFtRA0/kUI7BuAaqfiQT0Ct8j3bN0C?= =?us-ascii?Q?bkQDrSEc4vmiHuLlCPMyQGKB73sKvgxmljg+awkMCTYYaIa6hcu3IejkoaxL?= =?us-ascii?Q?B6GfgaQWhoymZ99PH+9tlWf53nylAYu62Hzb4MoMEFzyVtf67wXhwD/rP2mn?= =?us-ascii?Q?cr9IfUB5ZChivb69cWNfnSjYgJNNdCUbNGp4+PTXGbv0VrXEBhNli6weUIP9?= =?us-ascii?Q?iExphrILVSIgKDdE8zM3uOTPtLZTvYS63N+rwhDqMM96OeA6ZXqVCuQJAn42?= =?us-ascii?Q?qgustnSCjvEvuBY4k2zDBC3fVsAga5ZI89Ll0d9WDSgIpbV3uRFFwODvWkxW?= =?us-ascii?Q?UPYIPFpJZ+csi2IhRPaTkpBv8JQAvXY/VOpkOH94JtBTjeqETHEMU7btYcrS?= =?us-ascii?Q?bhGuEoG+yILUwBGp8yMeySD2cPJz1gtasE9lPeXMrECIsUgsGuH4qqR+MTor?= =?us-ascii?Q?0gcJ456fA0HDiiHSWmJnhNtctBrEC8r1zLtcUBaLvHbKZW3Sx0oecnY6+Bb+?= =?us-ascii?Q?WOrRFeSS3hv2P0INiG7H3WhhflFJzYbmZeZvDeNJY2asNhZwspIWo/uUGZ9o?= =?us-ascii?Q?FlmutYu3dDawhnEMRGyxc3TY2/mQaEua32Ppj2VqYhqciBusEz8/Xz3GZr9g?= =?us-ascii?Q?E3YWBwTCORdi5fYTWzTFT+gfBZ1DpGmkvtBUxLUtlglIEI3bQpWUrOxO6cqG?= =?us-ascii?Q?3hGD2YkbBY0NiySgKsVHOXvDKc+D4Q2VbjacIK/rWrdy364J1dSqGKUuaRn/?= =?us-ascii?Q?nIkZSrau34ePFPxmeehEuCRGZOj4ueawRc7yue9uSfno90qKxcX5IihQqugv?= =?us-ascii?Q?7ASYtjNzFrTK9j/tMtSj73PCVEk/onQXO+pJ0GbkJcvTsgjGbTmPu6haPoke?= =?us-ascii?Q?MmHMx89K/957UrqP53h5KH7FcGYik60jHwE+V3Ha3XpmxX6hJWJxupVfS/qJ?= =?us-ascii?Q?EZwhhlFGadG5+P1iaEBOAOwYJzxszSWY9C3g8O1rbtaSkK5Irna6Gh+5H1Dl?= =?us-ascii?Q?WN/uA5ZOfcsWKI6pWXQnqYL1P6IpykAfvBHMEBVv/wSvmM+vVhzm0unV9Y5M?= =?us-ascii?Q?79pwQuR+qNjYPccz9zAP/Fkhbr46Y86KWtTFS3JcFdZsBgvIqsBqsPuSmkRw?= =?us-ascii?Q?VS1HoVOToYDMrqOQBIMwkQmFsex8qbkippvhCx9et2dIHGuMlXc2CkUfldFZ?= =?us-ascii?Q?kJUBPcv2NiGuZbfcXfqRFCuDUvZcvKwc559VFldRXceY9OoSTf0mZ0Al2EVg?= =?us-ascii?Q?YDzv3pm2dp1L5vm1KkZmoys3zSG0cTSeAQvj13sVKePIZYRjnYMtGuzeaG9X?= =?us-ascii?Q?EC0v7axcujwuos9URvBunTxcuRtTHLsMp1Blw0+pY8vMuiKDs5RoZOU+c1Y0?= =?us-ascii?Q?PcB4lsJV3ZF540pmKDDa/u1sq92PILAbKDWhkDfOKl30Oau7ikqKaImKnlxY?= =?us-ascii?Q?QxYC5pO+hCLCTUtaJ/lhxTzhq1H4hepAq/seWNK306pKPA2bfhhO7LGo0ffU?= =?us-ascii?Q?mdreJ40a/UPn8lLgXNFrr8VYLGF6EXRX1+kelFUBuE2m6bUg0qoVLIHaekqK?= =?us-ascii?Q?KBoLdnUT4bHVkNRU3DGrURxUdHEr0BiYxx6KaED4Oz9A88TfIxp30k1m6iJx?= =?us-ascii?Q?qg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 81795c1d-e496-4079-6662-08dbe027043b X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:50:38.7482 (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: MHxjNvJoqsqbv7pYyHGruNFYa3dIOIo6e55Z9JWGXoLMbq6et94GJwRxD2Zvu7X0kYuvEIWAg8aro76f1DvTjQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8803 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 5e45e36ce1d3..de10be21bf26 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -347,12 +347,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"); @@ -365,7 +372,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 Sat May 18 16:18:07 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2070.outbound.protection.outlook.com [40.107.7.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 21D301FBA for ; Wed, 8 Nov 2023 06:50:44 +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="uwqy3TMN" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oXTdxomhZ9rT+LN8Yzg91IPqCFgkPqjrLHGTIeAkKImAabiqnnT6Lch7R8JBZpnpqOJ1xBKyKj7DIPw+k22ADVRDpY+dyzquiWuGAkNiOsVHDg2nZ2IhjGMhxExaPP7FUso+qracys4cRmXfzTQ08bmEDjZn2qdRitH5OQ0OfQjJIgHHKEu2abIe3PP112JaogHzXffWvycKIPMpuEBAvqInYmCOIQ3Xo6J/LkZEr0XnZq4lH/tAxHDGAdwCtO9WIztZJwCBwRCfIbj/83fJzL1EUmc85b9Tkx/NYoMlMq8wPtP9IYj5u7Paky7mXPGa2l+HWP3aNISBTlwfIEdcFA== 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=mS+fZLmRceQ63sHeC5r1yMdqZb2zL2w2Pxl2GeP3dzaxVa9kbB3pGyMgHETFFVXM3QrZTusKdBQcCGcq+lOv6wyKGQueEmGK2Uz09/iN0w3Bwr3G7qD8ub6VbezOmGGmEADU8qFI+KzUYhYR1TazdPnoCZjAwAhPc7CBtGJZPLLuV7F7UuvngHyj9G5sUssjVJYlOU7ZpdDTzG4uFv288LG7+BmDmWm6Brc+Zqx5Mj204nPmVTToKjwalM8eCPJzAahaz/h3sO86z2ib5Qc1Kzb8GWpTIvspVXd6Y4B4YRtIh1KbmJS91bnZNmpufwRw24GrdCH4pJntTfd/fEgdNg== 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=uwqy3TMNG4NqkfKvdpSrqCJKDe94eDGaBGXiKtOJmR2I87PSAEmRxpyJAUFzR4qkEHmAQmll7TESOZHZIw97v+KlyEQIes86Li7g/jw1aCnbVLiqk/u0NnUkCExZSKnvDCcTU/lBE9AEKvmH5fsHp3if63tI7VcCFZnHDOjfNb09tMHXl/INxe8RGG3g+2h3hIJmG7hoqU2TBgzEIdemTO2fC1oYPxcDbpGLRwP5kdRh/5LjkENhdcEPehxzXPV4wK3PSj/ZPcVhcfjZ25/0a/oTxszOHSyGjXFnu6KwnseLYZtKzgaVJn4zX0xoqDke7H6yZ87YCfOSGoRFx6l4cA== 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 AS8PR04MB8803.eurprd04.prod.outlook.com (2603:10a6:20b:42e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Wed, 8 Nov 2023 06:50: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; Wed, 8 Nov 2023 06:50:43 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 08/22] selftests: mptcp: add userspace pm subflow flag Date: Wed, 8 Nov 2023 14:49:38 +0800 Message-Id: <58b2e7f0dcf3d8f34c972a3beb3538569fef9bcd.1699425895.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0025.apcprd02.prod.outlook.com (2603:1096:4:1f4::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_|AS8PR04MB8803:EE_ X-MS-Office365-Filtering-Correlation-Id: 922e1ee2-2329-4f22-68f0-08dbe027072a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JEecvCZ6VYQp+/SeeoJX86eUpHqRtjSH5RTANq2qg929+qYCjL4ex7IyyhB3TZ4OiM3ESS+NFJ5oAHfLijRYdcchvgHN4HUPAnKHjYoLaqy4pNDJQMKRfpzpGG3zt12FY/ee0d9xIuq8uwmpWOphSARIo54nwB3+cREorW1sKdkBlgaRNSr+OYaBjfswPsdocIwr3w0EOFphweRLvJ2fmgY2lOlDStumzZsjyRc0mEUcUf3LPGXOk2BAzB97BeQFz4yD9O+800/64//vFONLO2VlBb5kep3DjM4k+k8fk8lACy+B4buvLTCaq3wnKb+cZil/KksDLR2iLSPApj9ifEkkzA1wMX+ii4BTHEgFRikbwGPvV0sziUEUqoVohve9X+oUcv6NJAPaEkoUwZUToh3SJJEr9OiZJJA6plANgnh+JzeDqCuH/v4GW07Y28LZ+19+bWqHE4fGVZlpC0TXWOELgsaP9DfjgQwlQz1psUKICB2r+fYUul94BpiBqBgs3p2FObyMPeyh4JdZglByGLG+6D1HALLb9f0rNB0w9XyisMMOgfkg75iXYoUyuCrYjCKNzYRhkhu1jnMDJ9hJNqKwNvoaAfithst4SzIIcDM= 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)(396003)(39860400002)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(6666004)(6512007)(6506007)(478600001)(6486002)(107886003)(2616005)(26005)(86362001)(36756003)(8936002)(44832011)(4326008)(8676002)(2906002)(41300700001)(5660300002)(316002)(6916009)(66476007)(66946007)(66556008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0Sx8btLoD6e7OXErNJW1EE2fZa/k4EsBpCLzFRcqjSm2rr3NM/bC5JdFDi4S?= =?us-ascii?Q?fwCHGZI73el5oYeG3EsFtlmdPa9nahPrqdmbzH/VJLWZZ5GOCndmQBENZ586?= =?us-ascii?Q?feKg7qjAQq+BruWI25xfZf5+K4ubzzwUqP6THR70Zc165fcvhBRVYsKIK+/F?= =?us-ascii?Q?CU8Q/uOjHdxOMcskBpQeHaNkwbICyLIz+43arOGoDPlK7irmssnrsDZxgrrL?= =?us-ascii?Q?DrdIhgcUnlPsrFsLYia84xQCDPOchyYigTpQtu0hg1Pw//uCsOp/gllzmgP0?= =?us-ascii?Q?sTqAH0BLfUmzVdzMgn7V5gFpOqJZhr2wgQHO8cLqGEcCA/xtmokxqd/I2pY3?= =?us-ascii?Q?+5TYw8yIeKz2cgqZQVXdH/1UJXpoGVnFmL4+skzb+BunqCbmqmdODZATCT0A?= =?us-ascii?Q?ufywm/pv3H0mEyDERDfakcYwksbwUyUdVqkgWlFWyDMAgMyVNlGKrKDy+u98?= =?us-ascii?Q?ypQ5dxU00VEVJ4sYbWjgUY8ah/0JwFSb/6buUNO8chx/bqayK9klg7F6Kk6Q?= =?us-ascii?Q?LUKdNoFcpGGfbX/ks2H9w6YMYnia/Ly3hKCtAwHseMMdjOAAimLQfE+uADx3?= =?us-ascii?Q?Cej1lbteMRpRMGKcjOp9idPMDsVoLESPAaXC4OUnNLD1LPuAela7Sc25vhh+?= =?us-ascii?Q?SG9TDfNSQ+qqMpty2eksrzcQcva9appFbFih1WAc80yfzlS9k480IevvT6Ri?= =?us-ascii?Q?rIUdkYtcDsYXPF+OlNLQWlS5xa/0hdNU+MkpvUb535CyI8S5JiH3+4O7l1+P?= =?us-ascii?Q?i7yZTaCCu4DEhDIR18WG3Q9Z+uAtRRoBa8XP9jAevnP8xIBSSMTA1KtSsty5?= =?us-ascii?Q?qogb8Jyie07AVAibSNSuXS9/n0YrYf62TLPpNUQ0VXY5MGq9C1rxk3WQQUS6?= =?us-ascii?Q?IIj5zvJScGSiyYIxdqTWAAuOasHwFqOtdCNr++jNpgclpTPcdhgxOvul8x+R?= =?us-ascii?Q?vVp2/C+iBFplKe24+KDpmwljNBDgWANQ/Alcb0RHt3KdEJN8gFyWT+83nz/0?= =?us-ascii?Q?jfh2K704V6YXgdXUOFC4VcuMi+xkbTEwfQ3h0uiYJOnS8N08M6uzbNmuM23b?= =?us-ascii?Q?EfHszhp2N3z6WgPRen90tNL+0gVCnQ2hOt78CQnJo3oTgN/9yAnflQsCEUuX?= =?us-ascii?Q?c+fXNoh6KXmuI0I2agWUmD5SzvGzXiR6tNYyzLR2oCuwgD66XQh7IIs2pUtA?= =?us-ascii?Q?x/bIorxcMyLwKE7OGA1ISsS6sWmXJeKXR6qvj05Wl7mahhKPOh3rHSJrb9X9?= =?us-ascii?Q?tT8+6sbPt+BQ2sgaXYeBwh7YmLVU2YjaWtF5ZP3G84ky6EgOjoCrFbejlZw3?= =?us-ascii?Q?zN631r5l74spl85+3wUB4BDLRYEuLTPw39D/wHPTT5OcOjTe9Dozo4nJHos9?= =?us-ascii?Q?yVLEb2ruH7iBuw0jyXPlDQ38v1th24yrkvQqBp/Lkhea0drHf/3oZfNfHqE2?= =?us-ascii?Q?WfJU31nH2MWhnoyEXTOAmZEtM5kkAecJu5mWUQiEm9iAU2ry7Zhmmbnfs862?= =?us-ascii?Q?7n+dCitCgZmZqByicHMzNWjtZ95n5vMYJ1eggC/vxpeKcX8xp3LpoPE7g7ue?= =?us-ascii?Q?NTyBuHRbCF/YR52d8r8NTjWBoJUyfSgBZzOb6KmvMEYDNX7CTKIKzTTzvAFP?= =?us-ascii?Q?FA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 922e1ee2-2329-4f22-68f0-08dbe027072a X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:50:43.2990 (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: ZKOe63KDRTZ4WKdL1XBXQoo6TY1OYa9OyNGAfQj/98Si6Rv8fuDezzdL2uxma81VUdEudzkt0upt6z1HUnFT2w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8803 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 Sat May 18 16:18:07 2024 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2072.outbound.protection.outlook.com [40.107.8.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 51C8D2CA8 for ; Wed, 8 Nov 2023 06:50: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="TU1dB2JS" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FpGWUZG7FD+qaPF+37oUA0aPbuPKJg2TGyTa692MbqVa/D9S/xFXec2oqhk1fN7NtP6Yj2j5b8P9fSTD1hC94faUpJsvgd114CkQMjILxKVros+MFfOljnt4IqaAQRx58jEiINdE/buQbYtJVTB/fTmWd32BqvUCmS3a7oz+M0H8+uYGQ94nw83tsfL0CdODSHnn9wY6eEA4UfcQ4HoLBx8dJU+ofF2RwWJReKwLUFssclqsIpZ32BnKP6CGRnt5m+BBwGvoUWM3H2+vjenM4cIyVawQaEwJWq8Swpg0QoLO7LjNzRyY9tHorM3rJJfzqJy9+s2GhAD2Vd9T8XpUbg== 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=HM4RxoPJZwDGutbcG61F6Se288v8pVVi6psQOSacEc4=; b=BlGKjEx7zke3Xe3IFn3WAwvNvXkcaaQcvf1V9Crl3A9F8cjPRGIaZtt6cT4+EDo+u1SEbGsdqAM02ODwM4T4J9eL5PoURnXmDqWAhaVNntyiZiVVJLbMmrZwxXybf45dQnWrd07kw/PLocayIhwnoAMjd9j77x7+LnLL/ZsnnAr2A0vjWh5tedheKn2RgdF4Y6b1sHXkDDyMu6SjK0qygIA2UdZCD2hDufzRDdS3d9tuRX8QlBbkFy2BrzDhro8tpkqBlfgzCMGDIWzPrN+8bbXS2dp6NiukBzblpfHeT9oBWAUCWN/dBWrbCYc+mJb9lsfpTQx8TBTSp5eZx8Ui0A== 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=HM4RxoPJZwDGutbcG61F6Se288v8pVVi6psQOSacEc4=; b=TU1dB2JSMLE5dmGyOaRHhgOLrIeJotjw/jKSk2ut30ByPhQ3MhjzE2k7ZD20YbJUeNhqeuFKGw+/HTeDqOPG4MtilU/7lh5ylzOkYYpMGYg7fxoVLTHi04w5HxqOZ+F4x5xbsn0jjYc4bftSbiirSve65jKo1SZQC6oZDGmUSTLvrHF/N5eJ29oAkxo5yGkpi4uLMya0rqZyQtoQhk3O1fbOm8rnXpuifAzy4GUIXAn9qNIz7D1+cITB8Fuj1EwQUHwmWjfAYlTfndQ5w15nDu8IKs8eaBiHfFyLuv5VD/uOlXY3b7bYEPu6GU6Jqr/wcDB/BjCxqcTElFgtEtObBA== 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 AS8PR04MB8803.eurprd04.prod.outlook.com (2603:10a6:20b:42e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Wed, 8 Nov 2023 06:50: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; Wed, 8 Nov 2023 06:50:48 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 09/22] selftests: mptcp: add mptcp_lib_evts_* helpers Date: Wed, 8 Nov 2023 14:49:39 +0800 Message-Id: <6d8e284e61c212f14e9aa216ad3eeaf81abd56e2.1699425895.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0028.apcprd02.prod.outlook.com (2603:1096:4:1f4::6) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AS8PR04MB8803:EE_ X-MS-Office365-Filtering-Correlation-Id: d2d0efa5-9cb5-4af1-0ae2-08dbe02709f8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SJV58FF1FQZvE8gKo1s88pLOft40/cAZ4OPYU9xtAva4JTPtk2t2AzmeTIx80M+Z92XA9yCfpG5io/1we+zWtAWzb/QGsWxI2LsCeje3b0mGVtuEzb0+WDCVWl69sJkjszhvVU944c/W6qEIFTvhaLKgLKRJ1NIUrDLenPSoOV9Q6k5v8g4R24ahK2WGGKmoqBAlDJfUYL/KUXIYHaqaRp5Y4cE/nl52Bdk7xig6h8W1Wnbw/Hmlw/+7VwHE409pRppkeiTxvbo7nZM33L2GwlYD9Vo/N9FDoZAsJ9jQPUe+OFp5S4gX8Bre43d58QG19JUsFfTO0yoWwgLycU0MHi+tY32cDRfbiikKix9s7sA6hVzk/3/F1xuAMUul3nxy3Uo7BIp93+G0B0MMrPyYLZtWfNEZaG8nlKUpJ/iSMXBLLOlfyXFQ+x64ixYpz/ekF8KSI9axYqSqhCXKI3sG8OYAK7yUfKhbZubONTNBv7S8nnAIRkjFWuZ04yKubwPYPNXRdG6NJF9k/3MLk7bHNO07t4TjS8xh9sUv6S+Fp9ZZnslevnjn3nYmx7UCLkTHU5n22Uyupjp09REcEnWczA9EyVkT8an7OgC52OzvufU= 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)(396003)(39860400002)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(6666004)(6512007)(6506007)(478600001)(6486002)(83380400001)(107886003)(2616005)(26005)(86362001)(36756003)(8936002)(44832011)(4326008)(8676002)(2906002)(41300700001)(5660300002)(316002)(6916009)(66476007)(66946007)(66556008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?4/LmKHq1SICIFjxC9NCqFqql/fml8Smb2ph+1RvazvHzoWlqJfYCAv1HF8k0?= =?us-ascii?Q?nqQ2Mk+lluRYdnQQEJS0W/YitEy0MrJnVKVFePw/WJprl/EfaGgg2tnEdmwc?= =?us-ascii?Q?NrSx+UernKxc9gwOHgunFUkxhL6ftHcAq/iEUFrqJjQvumobzyEJZizhS0sD?= =?us-ascii?Q?0XtNF9TeZ7OyhrVdkH1NO8J8IhjBp1Wb/Iy9SMvfgckVdg8ISw6JGtHBMGKo?= =?us-ascii?Q?8E/fpNRQHP/NpkRv50kKrSWcpRVhuQ1yedUeC2pSZdTgdyoqa1bPfl5ACoi7?= =?us-ascii?Q?zf/NKnT+OEXOQhpLaASNXTUvQQopCvQXJt8t6ZgFEW0iTRqt6lHiQSlVHbrX?= =?us-ascii?Q?O530cCRE0FSK18tS5VK/an9isflPYwSmRfXz1CP/HkMxNRvN637UzYTeyGBH?= =?us-ascii?Q?MTXv6qoRr4Q0bc5M4TmmrtC0NGvSfInp/gzpJh2mh1ax9aw3BUCbG11NdDBa?= =?us-ascii?Q?VS9kV3w5hSbCIKB1q3CeEbg1aqBOa5ngZhPy7QfofkRa4OWWLgK8BU5DBTOM?= =?us-ascii?Q?OzSXIkvdCw1cWk8TpbmGVTVvvzv7p6nlAIx+n7jyYwcZrM/WalwhoqimunXv?= =?us-ascii?Q?goPuivyCzx5sldSAa4tOWWYKdyYaa0nQRlEzfY6LF7NSDzGlQLmF1dTXtLOT?= =?us-ascii?Q?APBd55X0lWASChQmEUmgrLvcH1kKORNEM8dDFkcoBUDTriaHQP2sPh5ohEXD?= =?us-ascii?Q?AILsUxv1A9DKH/6EPLWCdo0KwFmj2kypGTSypICuJM7gu5KISXH0BnJqVXPq?= =?us-ascii?Q?gPPiZh1NKY2oRr8BCD8nVxWsxQqdquqz1rc22mfoPbabbUYKpd6jN5XZgnxc?= =?us-ascii?Q?JIs/ThSZk4/lWtvvc1K0aybowqdy++acLXfuxG0/Ah4h3TtKAAtu+mFYngNq?= =?us-ascii?Q?9c8qR8lBg71QHrnAgib0HJ3HfmdknTOItvKGZ1UWHHJDCylLYaBWzoRyYZXc?= =?us-ascii?Q?i8G0W1xZIiVvCGutV4z17s1dKkaCNTvfyuu/EPoP1+bE7zLKPVV1eTiwZuZF?= =?us-ascii?Q?GS9NI+ZEms/NwvGwUvJCHp23OpuQ4juXYvbrTwRBm7uOCGxsvvBuVR3TRRc6?= =?us-ascii?Q?TVQxfwPrOFP072O6PrzJyby8QAU+iHCmLEEWMQB23WkZOg4b7Gvkfufa40ih?= =?us-ascii?Q?PUTuP1vnOa/r1fmjDTvi/lsTYt6GgI0twQNnyrwpgv9eOysJkgY8eFNWVnI9?= =?us-ascii?Q?SbgKBeNlidbHLqrOheezCP8WwXhmietA8VJjxHJ66ibWPGcSa/7bZOonkkVb?= =?us-ascii?Q?QwJ5G8FvAr9q7lNGk8bj5bO3S14+r4j5hDH52CmiNh5RRcLF/Ds9ImV86pEa?= =?us-ascii?Q?dFJBbmDL+knqIoLtgzZ6IxaMEKHKFAnfOinCoNPREolvoRe0gJ0lkshmS4lj?= =?us-ascii?Q?dBH/huHPGVrrkYTdMbOqFODYXi0UtxdOl+pU0Zi6Q2U58l3a1ZDZ1rxEeIBs?= =?us-ascii?Q?+V8Z2Q0LhL8LXNZxxe1YOLKi5k7JEVRMB85/JW8l2qwFjredHwbcXAFypst1?= =?us-ascii?Q?jIDogjM1Pfndy1OgZvfe4KF3iOKASmy77Zz+N0LA4Urj+pCZNf/q9yuV7ej+?= =?us-ascii?Q?Q/iw3rfqLCpdw5OgB8Jd0RqH/s5eV12a9gJG8vRw7KGILcYSJCJKpoLc24Dy?= =?us-ascii?Q?MA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: d2d0efa5-9cb5-4af1-0ae2-08dbe02709f8 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:50:48.1835 (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: Rcf6XJUduouhn7jhDm7EMhrrBxUYzC7InbOZddqxGrfqPCZ6Kj6Rt3Sd9oASWeErGfbC/O/ut31aVvDedCXVJA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8803 Content-Type: text/plain; charset="utf-8" To avoid duplicated code in different MPTCP selftests, we can add and use helpers defined in mptcp_lib.sh. This patch unifies "pm_nl_ctl events" related code in userspace_pm.sh and mptcp_join.sh into four helpers: mptcp_lib_evts_init, _start, _kill and _remove. Define them in mptcp_lib.sh and use these new helpers in both scripts. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 54 ++++++---------- .../testing/selftests/net/mptcp/mptcp_lib.sh | 63 +++++++++++++++++++ .../selftests/net/mptcp/userspace_pm.sh | 31 ++------- 3 files changed, 88 insertions(+), 60 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 995280882428..ac7cee3f4dac 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -35,10 +35,6 @@ ip_mptcp=3D0 check_invert=3D0 validate_checksum=3D0 init=3D0 -evts_ns1=3D"" -evts_ns2=3D"" -evts_ns1_pid=3D0 -evts_ns2_pid=3D0 last_test_failed=3D0 last_test_skipped=3D0 last_test_ignored=3D1 @@ -182,8 +178,7 @@ init() { cin=3D$(mktemp) cinsent=3D$(mktemp) cout=3D$(mktemp) - evts_ns1=3D$(mktemp) - evts_ns2=3D$(mktemp) + mptcp_lib_evts_init =20 trap cleanup EXIT =20 @@ -196,7 +191,7 @@ cleanup() rm -f "$cin" "$cout" "$sinfail" rm -f "$sin" "$sout" "$cinsent" "$cinfail" rm -f "$tmpfile" - rm -rf $evts_ns1 $evts_ns2 + mptcp_lib_evts_remove cleanup_partial } =20 @@ -460,12 +455,7 @@ reset_with_events() { reset "${1}" || return 1 =20 - :> "$evts_ns1" - :> "$evts_ns2" - ip netns exec $ns1 ./pm_nl_ctl events >> "$evts_ns1" 2>&1 & - evts_ns1_pid=3D$! - ip netns exec $ns2 ./pm_nl_ctl events >> "$evts_ns2" 2>&1 & - evts_ns2_pid=3D$! + mptcp_lib_evts_start "${ns1}" "${ns2}" } =20 reset_with_tcp_filter() @@ -635,12 +625,6 @@ wait_mpj() done } =20 -kill_events_pids() -{ - mptcp_lib_kill_wait $evts_ns1_pid - mptcp_lib_kill_wait $evts_ns2_pid -} - kill_tests_wait() { #shellcheck disable=3DSC2046 @@ -2882,9 +2866,9 @@ add_addr_ports_tests() chk_add_nr 1 1 1 chk_rm_nr 1 1 invert =20 - verify_listener_events $evts_ns1 $LISTENER_CREATED $AF_INET 10.0.2.1 101= 00 - verify_listener_events $evts_ns1 $LISTENER_CLOSED $AF_INET 10.0.2.1 10100 - kill_events_pids + verify_listener_events $server_evts $LISTENER_CREATED $AF_INET 10.0.2.1 = 10100 + verify_listener_events $server_evts $LISTENER_CLOSED $AF_INET 10.0.2.1 1= 0100 + mptcp_lib_evts_kill fi =20 # subflow and signal with port, remove @@ -3257,10 +3241,10 @@ fail_tests() # $1: ns ; $2: addr ; $3: id userspace_pm_add_addr() { - local evts=3D$evts_ns1 + local evts=3D$server_evts local tk =20 - [ "$1" =3D=3D "$ns2" ] && evts=3D$evts_ns2 + [ "$1" =3D=3D "$ns2" ] && evts=3D$client_evts tk=3D$(mptcp_lib_evts_get_info token "$evts") =20 ip netns exec $1 ./pm_nl_ctl ann $2 token $tk id $3 @@ -3270,11 +3254,11 @@ userspace_pm_add_addr() # $1: ns ; $2: id userspace_pm_rm_addr() { - local evts=3D$evts_ns1 + local evts=3D$server_evts local tk local cnt =20 - [ "$1" =3D=3D "$ns2" ] && evts=3D$evts_ns2 + [ "$1" =3D=3D "$ns2" ] && evts=3D$client_evts tk=3D$(mptcp_lib_evts_get_info token "$evts") =20 cnt=3D$(rm_addr_count ${1}) @@ -3285,10 +3269,10 @@ userspace_pm_rm_addr() # $1: ns ; $2: addr ; $3: id userspace_pm_add_sf() { - local evts=3D$evts_ns1 + local evts=3D$server_evts local tk da dp =20 - [ "$1" =3D=3D "$ns2" ] && evts=3D$evts_ns2 + [ "$1" =3D=3D "$ns2" ] && evts=3D$client_evts tk=3D$(mptcp_lib_evts_get_info token "$evts") da=3D$(mptcp_lib_evts_get_info daddr4 "$evts") dp=3D$(mptcp_lib_evts_get_info dport "$evts") @@ -3301,13 +3285,13 @@ userspace_pm_add_sf() # $1: ns ; $2: addr $3: event type userspace_pm_rm_sf() { - local evts=3D$evts_ns1 + local evts=3D$server_evts local t=3D${3:-1} local ip=3D4 local tk da dp sp local cnt =20 - [ "$1" =3D=3D "$ns2" ] && evts=3D$evts_ns2 + [ "$1" =3D=3D "$ns2" ] && evts=3D$client_evts if mptcp_lib_is_v6 $2; then ip=3D6; fi tk=3D$(mptcp_lib_evts_get_info token "$evts") da=3D$(mptcp_lib_evts_get_info "daddr$ip" "$evts" $t) @@ -3415,7 +3399,7 @@ userspace_tests() chk_rm_nr 1 1 invert chk_mptcp_info subflows 0 subflows 0 chk_subflows_total 1 1 - kill_events_pids + mptcp_lib_evts_kill wait $tests_pid fi =20 @@ -3437,7 +3421,7 @@ userspace_tests() chk_rm_nr 1 1 chk_mptcp_info subflows 0 subflows 0 chk_subflows_total 1 1 - kill_events_pids + mptcp_lib_evts_kill wait $tests_pid fi =20 @@ -3456,7 +3440,7 @@ userspace_tests() chk_join_nr 1 1 1 chk_mptcp_info subflows 1 subflows 1 chk_subflows_total 2 2 - kill_events_pids + mptcp_lib_evts_kill wait $tests_pid fi =20 @@ -3480,7 +3464,7 @@ userspace_tests() chk_rst_nr 0 0 invert chk_mptcp_info subflows 1 subflows 1 chk_subflows_total 1 1 - kill_events_pids + mptcp_lib_evts_kill wait $tests_pid fi =20 @@ -3506,7 +3490,7 @@ userspace_tests() chk_rst_nr 0 0 invert chk_mptcp_info subflows 1 subflows 1 chk_subflows_total 1 1 - kill_events_pids + mptcp_lib_evts_kill wait $tests_pid fi } diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 1f8be9dd0e20..980ef3dbb6ab 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -299,3 +299,66 @@ mptcp_lib_wait_local_port_listen() { sleep 0.1 done } + +server_evts=3D"" +client_evts=3D"" +server_evts_pid=3D0 +client_evts_pid=3D0 + +# server_evts(_pid) and client_evts(_pid) are needed +# by mptcp_lib_evts_init, _start, _kill and _remove. +mptcp_lib_evts_init() { + : "${server_evts?}" + : "${client_evts?}" + + if [ -z "${server_evts}" ]; then + server_evts=3D$(mktemp) + fi + if [ -z "${client_evts}" ]; then + client_evts=3D$(mktemp) + fi +} + +# $1 ns1, $2 ns2 +mptcp_lib_evts_start() { + : "${server_evts:?}" + : "${client_evts:?}" + : "${server_evts_pid:?}" + : "${client_evts_pid:?}" + + local ns_1=3D"${1}" + local ns_2=3D"${2}" + + :>"$server_evts" + :>"$client_evts" + + if [ "${server_evts_pid}" -ne 0 ]; then + mptcp_lib_kill_wait "${server_evts_pid}" + fi + ip netns exec "${ns_1}" ./pm_nl_ctl events >> "${server_evts}" 2>&1 & + server_evts_pid=3D$! + + if [ "${client_evts_pid}" -ne 0 ]; then + mptcp_lib_kill_wait "${client_evts_pid}" + fi + ip netns exec "${ns_2}" ./pm_nl_ctl events >> "${client_evts}" 2>&1 & + client_evts_pid=3D$! +} + +mptcp_lib_evts_kill() { + : "${server_evts_pid:?}" + : "${client_evts_pid:?}" + + mptcp_lib_kill_wait "${server_evts_pid}" + mptcp_lib_kill_wait "${client_evts_pid}" + + server_evts_pid=3D0 + client_evts_pid=3D0 +} + +mptcp_lib_evts_remove() { + : "${server_evts:?}" + : "${client_evts:?}" + + rm -rf "${server_evts}" "${client_evts}" +} diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 6167837f48e1..f1dbd97c0c96 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -34,10 +34,6 @@ AF_INET=3D2 AF_INET6=3D10 =20 file=3D"" -server_evts=3D"" -client_evts=3D"" -server_evts_pid=3D0 -client_evts_pid=3D0 client4_pid=3D0 server4_pid=3D0 client6_pid=3D0 @@ -116,18 +112,19 @@ cleanup() =20 # Terminate the MPTCP connection and related processes local pid - for pid in $client4_pid $server4_pid $client6_pid $server6_pid\ - $server_evts_pid $client_evts_pid + for pid in $client4_pid $server4_pid $client6_pid $server6_pid do mptcp_lib_kill_wait $pid done + mptcp_lib_evts_kill =20 local netns for netns in "$ns1" "$ns2" ;do ip netns del "$netns" done =20 - rm -rf $file $client_evts $server_evts + rm -rf $file + mptcp_lib_evts_remove =20 _printf "Done\n" } @@ -186,24 +183,8 @@ make_connection() =20 # Capture netlink events over the two network namespaces running # the MPTCP client and server - if [ -z "$client_evts" ]; then - client_evts=3D$(mktemp) - fi - :>"$client_evts" - if [ $client_evts_pid -ne 0 ]; then - mptcp_lib_kill_wait $client_evts_pid - fi - ip netns exec "$ns2" ./pm_nl_ctl events >> "$client_evts" 2>&1 & - client_evts_pid=3D$! - if [ -z "$server_evts" ]; then - server_evts=3D$(mktemp) - fi - :>"$server_evts" - if [ $server_evts_pid -ne 0 ]; then - mptcp_lib_kill_wait $server_evts_pid - fi - ip netns exec "$ns1" ./pm_nl_ctl events >> "$server_evts" 2>&1 & - server_evts_pid=3D$! + mptcp_lib_evts_init + mptcp_lib_evts_start "${ns1}" "${ns2}" sleep 0.5 =20 # Run the server --=20 2.35.3 From nobody Sat May 18 16:18:07 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2079.outbound.protection.outlook.com [40.107.21.79]) (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 B42F02CA8 for ; Wed, 8 Nov 2023 06:50: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="Wzcq5SYR" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ib9CanxaVMI9qcngfUq0ExLgYW4qK3hLWZL2F+nO1EspAVPp/7qN7R43uHEmHcW4v/Ins8JZK817iWOvL6ZIpfIA/MMlraWs2S2GmOF87+LW13zzhJa8PRVIKNcITmnqX21Rd9eyOzLmpn4h64au0y+4OHGG4hZ3O7bnO9sJ0l6CS7MGhKG/xqyiCZmX/Rh94yhmVH2j3urjX6GwZXNou/Zb+n5kZvqJCBBj/27zZk9HJe84lu1c5v0Y6lBlEb8VhI3xgvnGM5l5lRRefAwtNZ//3dDdnyisZy7zFDFF32S2jjSm5Kmw9yN06QfZ19lhI4MNagVIToAoGC94VHR7qQ== 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=qRMYjCXMIU7R7fJukU+VlrRrIQKipuIOZjjFKjJYgNk=; b=FUNOtGKBOM0vqlwJZw2YW3svrVeeJGGdXDNzseMisF0XAtDggBvn4HXRp0laSOzSOGu9zxROmAbrY/IZqwJVGf2Dkm4gO/NWVbwjCxVXgBlSCt6RKU7LAehjnq5PtKjEAueLplJONZ4ExxPDOELdY2TOEyek+iOf/vjwXlzc32kpU5rEidfyihmPo5HLKgCMfYwez4z1N9zXLwkd7yl3j9uzbbKPzX4M4DZNA1y85UuiCEvOKJRVyb/HD0imAPHlTT0llvsGOlWT8g3B5S/YSmkOa0BdvZSQAxTH5lAKMu2Bl/OvTp2AQLf4aOLaVicltMd9E8hwY0y2ZLoUJWIdOw== 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=qRMYjCXMIU7R7fJukU+VlrRrIQKipuIOZjjFKjJYgNk=; b=Wzcq5SYRq+jys6BP/BKyZGfOIAY3uvtJlthl5NUNuNrNvHeCdGB5JP7PYpWXZrAbPd9iy8NRX4RhOms08TCGKxJ6fr3vGSAcNR+rCz9jvRRJfRmdUyaaIqo73fhs0rZSSuXwH0Ru1IINym5bw6FwQQZ4ZT4zyEn67h5D4EF8liVxQsdJuoZNABQuUpVuf8+qcbcWHJoY4DwVqyIvHwY+75sQEN0kom3+fhOuT8AErwWn21QVE2DKPKbYB57fNouCccftJK9MOubALtmWxRuRRvQSfmDcuqMmqjb2UA3B/8cGB3bhJbf2DjfZIS0iSPWwcmKqFJOvE2WJ2ulAB5fe2A== 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 AS8PR04MB8803.eurprd04.prod.outlook.com (2603:10a6:20b:42e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Wed, 8 Nov 2023 06:50: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; Wed, 8 Nov 2023 06:50:54 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 10/22] selftests: mptcp: dump userspace addrs list Date: Wed, 8 Nov 2023 14:49:40 +0800 Message-Id: <57929c92d5849ba5f9e223ef35368f96f20bca85.1699425895.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0026.apcprd02.prod.outlook.com (2603:1096:4:1f4::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_|AS8PR04MB8803:EE_ X-MS-Office365-Filtering-Correlation-Id: 01962876-d440-4000-05c6-08dbe0270d82 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7k/6CqvwgnhwGBBU6PkfMn/j8kAES7tj1IE7f3wT+njjOE6VtEXeTRziKQtI62XE2qTjYNT2X7BwX1BQqmdIVLlINvIUK75kGa6X2wVZutIVLNX4tb1ekqD7xy5RhGI2T+dLG6GBw+3HtCISDTKg4cUaskaia2Zl945LnMK+ce4/EVZ7DahJeZNLZz4nlXWQ8/cg76CaJWxhkpbDTMDsS/H3nJrjkL2zbE4cXNBHvb/14iYgGbAtVIaZJrnnF48hlHSI99Qu933foo4+7dl/JPWZRq/GpdTStI95gF76is9XpmsGKL6wVCUCdXrbi4QIiOev+wmEZebtrBcRxOMZyG9fn3a/1kQ7jVdQ6pHju5iYyTV2TswOa6THAVNeVxqILJkKK+w4Jsy68vEQhr2hEXXXMPYThHtAf4tkl7FuNs64WbnLiZYHqNJ4WUNpBQJsgANzCw1m/U049fGRnZ4dY3t4cPJJBkmuvEWw4/LRuY0mI9IdXq6VmkL1nOyIv7T1atAI/XkmSQDoQkuwncBd84qXg7hdU66jTvqKy1QO2sA+22oo5/kbVCf+zns6+OVUpvAQwcl/yY9+rHF+c9HgxJIFHOCD1Hb1BZDFlSpL8bw= 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)(396003)(39860400002)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(6666004)(6512007)(6506007)(478600001)(6486002)(107886003)(2616005)(26005)(86362001)(36756003)(8936002)(44832011)(4326008)(8676002)(2906002)(4744005)(41300700001)(5660300002)(316002)(6916009)(66476007)(66946007)(66556008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?UPuR19DTTHF/HSSzo4e8uiRWYYdB47wT2qXdyCk6m9FwRmNBUS399l9lZuIl?= =?us-ascii?Q?bgR5wg6pi3CyYBFXiM6vq6TwpvI59VJ0+1i0oHCaON7yaJ2PkRox9Zo6myTR?= =?us-ascii?Q?NfM+xiyOKEZqqOk0JXpJ/tDRCptDhVn/fk083eeGk1v2Bcu+NrDfBzaR9wxT?= =?us-ascii?Q?Q2MKjfbFP8Wf2yUBeJC/+uRq/fyZRX03y7kowivAgxddu64ecaYGe+zHwb82?= =?us-ascii?Q?TSasA4DwEiHTxDziltSSj85JL6Wl92yuQj4CfIYEgyq+J4UmpbDIAR/Py0Du?= =?us-ascii?Q?sRr9wR+gWbOj76tJFA7urVO9r2j8ZOc9cIKE+6cUjy2YyhKrby5FAzgOJhuj?= =?us-ascii?Q?apKhxGbt/3BGMZCuRZZ8HScZTyqfcUYpB2RUB9L/e6UckfnzSykpAZ6vQV9E?= =?us-ascii?Q?F1d7mMUCyubCbVj+0Dr8xuzmAX4NzEqR71C7/hNsltaTeuaCl3hJpcCz4eNa?= =?us-ascii?Q?28aoACKNHCBmKX1xbm8tFKqF/Pgx5v6/XCJ+vk3+0vCuiKKQFVb4Rs+iDXFG?= =?us-ascii?Q?CaNxKlxeltaNhvOXdBk1gfzxtFH2bjpMOr0I0Vwv1ynVn0bPSSKBryrH1MK8?= =?us-ascii?Q?dZXDihJg21J+waPeHHLGhLtP0WqSQ/eeMd2k1im9kdrkU+Y7KhZukvfdAHuR?= =?us-ascii?Q?c8diMGz8sAiVu0WlyPl43b9Ka7Trr3ETF3gPuOe9NmjrpJDBvup3Tw+yv4Hv?= =?us-ascii?Q?Lx97B0WrUoBqHljhDlGOi6kvUCyrjHwK7OgGtUGgRC989EMLZfVARCgkWXVh?= =?us-ascii?Q?rWjailwvY3/EogVOEJygnnJ6IlgMTCDDcmR6GzAxUXFkOHO1TLgO5yv1CWfH?= =?us-ascii?Q?n2Miuo7FokYBDs0COxZcU6B6WIORWhC9rSn46S/0PpPQnf2ZNN3jkMHwJD1A?= =?us-ascii?Q?8sL/o+eEILForYw8N0N1EYAkNKu54zWmjeNr+Lp+Gs5+/CTEdiS43sxKfF6f?= =?us-ascii?Q?JLOSdGzQ4LGbCamVGi9+aiHRkUffIf+TAWeFpjb/jKTJgewUKjj93hiWQwxl?= =?us-ascii?Q?PCdvkuL4LIzvgg4bjJwfFY77Mz+v7mFrobXI0KLaQs+vLZRUL4Ma0edMm9Oy?= =?us-ascii?Q?QYChrpHA46030sqXW2QwHAIghiiTviCiYEljPmjC2mLea4u8rbPZT2VEBjB2?= =?us-ascii?Q?MO48ezkcHNJpGE+6VHurSbdcw6SXeQNfc7BKWyTaqj+BJFWhwee7cOmYJMv8?= =?us-ascii?Q?yqx36djOpEeqmWywYXBN5ENNDnD+J+HwiUuzfNr/44Nv51FneU//pxVXf24I?= =?us-ascii?Q?1+lQrQcBnscv/QaTQc0mN+lxompK8GndJ/E7hRCo5cN2apyCGNxfqRtoKLjQ?= =?us-ascii?Q?9FwdZrh5zGBTwCiE4Dyiz8J1yPvjr5v4Cdci1lqymesl/tuDsy6vAaOSSnD7?= =?us-ascii?Q?F5UtsWY8L0Ld1ZptLnytBilqMAzyUsYlMzMGmmjUc5cELpgMW9G3uJqdYT7+?= =?us-ascii?Q?OejQcwAI+Ga0dexhNVyKGzGVnLs4PnpHNXd9DQd6F7+4QkMZfrwqgld8OYGO?= =?us-ascii?Q?vk/HxSN2hAAWbks/WefHedcO/0/23me72JcFpIm1VpvihaOANWtPw7+c/EyM?= =?us-ascii?Q?uRZ1dzP1mGZapVZIsSfKuvuUYrUz3OqYAdMYGXpQOywSaCnIMl2ofKkFVRdd?= =?us-ascii?Q?3g=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 01962876-d440-4000-05c6-08dbe0270d82 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:50:54.0326 (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: I9xq//iUbdystlDKLcSjNDRE/W3ESj5lccrKpwDSjo+l9XR35s99YRXx92IksJ8B5gyFmHIxRdtyhppt7zwiGA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8803 Content-Type: text/plain; charset="utf-8" This patch tests newly added 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 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index ac7cee3f4dac..581d61448253 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3389,6 +3389,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 @@ -3413,6 +3414,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 --=20 2.35.3 From nobody Sat May 18 16:18:07 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2050.outbound.protection.outlook.com [40.107.7.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 BA7291FBA for ; Wed, 8 Nov 2023 06:51: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="nnjjFLIV" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oE3kemEVUdJKfd7zHGv+e16Rz1Q6BM1NYDpy4gVxvXygz5bKIDw8aDc3VAMCg7qSg+Rb/3QmRVq4yAgV7e5u71nn1ca6g43THEiQi8P1vKssVs9WiuuAb7JcTVCEDVOGx+bXLEzJt7arXNkGLzyPM5F7Tvip4HLQU9Ig7njdPD3gFG/oGeYL7et88Lo8xAN3cs29GpGmJUu178ButWR23bSdMcI7jepPN+EzlDJJdcddugHwwq/5BwtsyLZdm/OVMGB8AVFoTC4cfhoowQjtxxFWm7OAkweoqi4wPfMbvZ+Fb95dc3nC++rp7kaGIPKI/r6FFLorrcqDEP9Tr2ChRQ== 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=jYuEwtPTT1Xgh2FC4RUPWfAfSYFJlXOMeXPVpClzi64=; b=NmixI4XF4o7QJogScMAL+4Mu2rMHUc+RwP+1U6X3hfkURuGW2MRhyUkgLl56sUAXmlx3+fqQ34BQ5q1+M/tjQZEvfSm5mxUeLbn1hFQPr4ZAwunr0MYirTHak/rmzs1siGn3Uw182TF7qinD4bXwlE3vowL4+S/inRoMqtwJFwKMM+qcHSNBd/PdEO8d/KImtWeElrfC3B8yFcERGGlWWPk51tb9FRac5Io1FiMpRuLy6ijV8D4Ec50SC+8HQbUmPZC/CNY5fuNAzkUYZmC2fog3J2JmG9GO4u65NaXzP6p2DoVL0+NBBwUQ8+5vMgwXLhvPFUx7pVS/6aZKpiURgw== 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=jYuEwtPTT1Xgh2FC4RUPWfAfSYFJlXOMeXPVpClzi64=; b=nnjjFLIVfPFnb2cXtJ+E6Wd0K03p1VCf4setuYaFcYKqDj06uOAgy+im55okQoAMSeiC44O5kB9rOpHA1z7yOjjhUkAyTTJmSNJWqv24koD/OBXBh6lx59wx0svfn9fXv3Dm0QqTKCWYiqWIrTEC39cUasvKDSJtSHVLNCP9B5LrRg+Ot2UR4bbvmpqZatHJ783iyuDAxP2qkoq6lrk18RqVvor010jtBO/oLggBQ31jUfpbKKwpwLBmPSC3y3HrE0qa0p6bbqHmLF8+NU2YoWuXwC2tIvm8E89GTk2ZQACiAw5mhRfdz3bqcnWo2ODk1UuCMZ8Iw6sxSQF9L/NAJQ== 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 AS8PR04MB8803.eurprd04.prod.outlook.com (2603:10a6:20b:42e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Wed, 8 Nov 2023 06:51:01 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Wed, 8 Nov 2023 06:51:01 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 11/22] mptcp: add a prefix for free_local_addr_list Date: Wed, 8 Nov 2023 14:49:41 +0800 Message-Id: <927e718d31dfceef1ae409061a4c4366bbeecbed.1699425895.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0110.apcprd01.prod.exchangelabs.com (2603:1096:4:40::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_|AS8PR04MB8803:EE_ X-MS-Office365-Filtering-Correlation-Id: 9005d01b-282b-49f6-ee23-08dbe02710f8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ny7T/whm6VAPjLcNfGt2naJL7Neh5IXBuS48lsF7FBDcjE1tlQkBOZvuek5CQb9sDAVxKwK2GY6QhzebFh0nkK4VwEAVYb2FfSIVQlYolLPhFh6PGag/jrrlJ4OtKDM1q5hYF4S6x7fJvhWoqKorrG8xM+wcE+sPj+xLlFgwgGvxyvl8sDUNA8v1OUMpRtjWwert3ONGqhP1J3QKUB4Yhai/N2mmkB++vgKJv/NDo5VOh71w5RFln256FtMgQrCiBtT6WZb9IBqM+qxtsSniFXs5FT8PRv2jXdL+PtotCSI9x3AQT3U4e6dCXW2MxhqF629uqpvFwinh1o4A9nGTQ7RklIoBktwU5OW7aj0qXNSAW7LG8Ymi3IarPX13tWjFuWrd6jZsIQ6m/yLFVW0csJxOHq2Mh+DxIJqMsiqGFITCg39DLec9rbT5jgrYqeB/MCyulyhJb5Og8ypScKkHp7hnpPZTYNmHF/vG8zcW7NfVRU7gpbCgeUc1wDTJY3NIegfgMQeKDqimG0L5SX66zsYMeXd8jSf/01auaCfM1PQsJIobJH7DJTLlgcvwRX7P8dH26/SUimsylaLOdlFRIrY0IakDKkr1F79JHOfhl0k= 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)(396003)(39860400002)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(6666004)(6512007)(6506007)(478600001)(6486002)(83380400001)(107886003)(2616005)(26005)(86362001)(36756003)(8936002)(44832011)(4326008)(8676002)(2906002)(41300700001)(5660300002)(316002)(6916009)(66476007)(66946007)(66556008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Bao10R9GVgD9W+Susj1dziXFLfBFIl6k2uAxF0wG5mp2fcT57uahDWPeeQwD?= =?us-ascii?Q?+vdAfKNkfMguE6WGMMMc4JNSnVpAISpFWyV9SoAKPz+k4TVH+IQ0NKz2cXbS?= =?us-ascii?Q?pjjIxGazVXchq95GW859xQiRkF8XfT1WHQJ6nmZsLTjtS4hGcKNQwfU4WwX2?= =?us-ascii?Q?SvBjFzxVBz05ufxtc2LdeUS4toVxbPe6IQecsX+SS1NdqXJqwpk+98EX0k0X?= =?us-ascii?Q?40aZzpcvV4A1UF68aJPUPVZnGKQTYbqIDfQzk6z/tYpvJtlRClpYS2RoZmZO?= =?us-ascii?Q?KW5OAum5sDgmnBcwBgFdjm4G1moxxwFOJ4Ck6SDIy2Hzml713CxcYPwVptbx?= =?us-ascii?Q?adtypPKVneJeN8qFGNEm0ytC4VIE0ggymBvHGYmx8GB/THWBOC5XoCQkgWip?= =?us-ascii?Q?ZhKaGLR8bebxFYQD+Yxv8imVUe7m0USrwcLVclfTCOhLVEFkeHPy61ifc7fz?= =?us-ascii?Q?mETmQsj+KT0Lg61+upchmLaCSW8pyJCSaGNOCaLYhL5X3pPo5/h07lNkrRl6?= =?us-ascii?Q?3dzkfS+CJK/YHpeA6AXCZbL1e2y/tD/tM9DmpJu7AYIqVYtYBtNoiEhJHNzx?= =?us-ascii?Q?8ghAXqEkf+hvO11qgm7DNVse1s3V0/u5UBZLdrq6FST4zKDDFaxt6gU/tPP+?= =?us-ascii?Q?0587c8mmIqlsmDk32IfyWzIj24GARV2Mcy7eGZgfLeNveXUUGRnypZR/qrhv?= =?us-ascii?Q?+Xyldhls6TmlAT7rBGFNpkTp+6NOL5DCGDVTA1foP3mAvmh6NUs7BvNx9YQs?= =?us-ascii?Q?ZDYmcoOF0OTat87whgUY85r9tbT/ZU6AnpUt4gVdHiqM8+MD6BRzRkDrjHZf?= =?us-ascii?Q?1hZeABFOmrovD+NCshj39Wyr8ejMQ61XhYGG/jBmvQeSFlJSQXVVi555eoz2?= =?us-ascii?Q?RUa5Inu62gTwDMMv0mRI3lCD73jbE/dzXHnSARLGY41COlr0IjqhMneQt/44?= =?us-ascii?Q?SyLCNw/rvy0Cgg4ePc8R9A/farApsKnDppzl7l1CsNhR5D7urbHs/Y4nzZG+?= =?us-ascii?Q?x8wljJqTjDNFseLOm8tl2spXDgA/ogN05F+E9uazq4gl4MKT4Cnz3trrtZr3?= =?us-ascii?Q?s7fQP6ttw1vUrcaiX+rW6q9guIYRF3/c3eQCa9H3Cpr0Fu5e5EhyKtsA8Yo5?= =?us-ascii?Q?gv05/KHDLhhdLjALNMcENvF9KoEniDf8JzxeQ+RSnSigl58GGEReefOWOKRR?= =?us-ascii?Q?AoFu/+sveePbwsUde6rgUcX16LfFI3y6SHqiE4JjinoAv0K1Pjre5Wna7p6u?= =?us-ascii?Q?59+IlpMAlxq0XZn48odVEALyu30Kl/HTaGtjFgg/0HL8PvrvudtYtIENeT3B?= =?us-ascii?Q?y5DEQUPcaWHi/kpDAHomvA4C0/vstdEk0NB+JFoQp7Pkg3c7JRDzc2JZdbDI?= =?us-ascii?Q?xWyKPgeNjD28yQWwnNge2I9I7qW8mXEO6WAaoJUD3ln2FgdLRX1iNQnNoSze?= =?us-ascii?Q?U8G29EPPdHUfqWFqagLJyMqRaYYTysB29LmK2YlxnVBE4RdkyucQCn4YfjAJ?= =?us-ascii?Q?luZXSgQVn6KPFkPptx77Ks3639NkrHkZA11vtkEOK7ZmCUwTd0NP0nlwfRdf?= =?us-ascii?Q?v958jA69TT5HnM25ngn5VBRGu+Kbra9riiE3H2WtAHC9EeWBpeXGglCPs6yo?= =?us-ascii?Q?tg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9005d01b-282b-49f6-ee23-08dbe02710f8 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:51:01.2316 (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: g7wPM/Suca+EGG17FLNwdxpG8aDXpr7b6lIL5Ycnzc1lFX4GaMGzu/Zc9FlNngN1uq5yNHZebBwObCX+dQGXsw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8803 Content-Type: text/plain; charset="utf-8" Same as other functions in pm_userspace.c, 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 de10be21bf26..70f6a510e3b4 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 6956fde61c68..f2f0ce608219 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -3321,7 +3321,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 c30e59278080..76981adcac22 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 Sat May 18 16:18:07 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2066.outbound.protection.outlook.com [40.107.21.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 915A9320F for ; Wed, 8 Nov 2023 06:51:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="XpTRglQx" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PlqaLjwHT/2otzec8rVgtmQZfcBwlR6C44AUzKMf3UsrAO2xhcrQTNJ0GS0++uXOJJ7cItOd65bJzFPk8MEZWIeY91YhZSZyBgQIZ6bXoM44l2DJOogINcvwLk2Qv+9vpF3U6CCrsKyuy3ZtUocgYq6QDPrDX8XEZwn4PJYFs/gvGTzbpgdI1rQAzUe2FGDu+4h9cFatZDmGchxgnMCi/ieMVi+BohiV3LxfS1Z6U3Zzh+ilZ9eJ2apl4DgqNgkULUz2z6AyRKwS/qjXwm8TSc0YDAGiixd0UKvJRtSO8qBBKq425kAjZHz3NvbsLQW8jZKGbst/Bi5MVizks9e8cQ== 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=z+pLfFetXjuYnBXKMt49PdHXoDBsdRVDlUyVuIUsOuE=; b=jtDT6ywATDpC0FeL/xkAqbvXC6WkxtOt6dy+KnEyqe6LVTzvcJS7occq4hGW1UHpmpX5JPgfOOwwYJNAfEeZ1eY5Ep5bPJrigmfPtwIedcrn1TqkT/sygKrq9Ch6mMowaGJhX5CpyKWom837lY/eP6/i2Dnook1vhjPMKW4UNomrw7c5gjAhn+cOuwhi2o/yzsOREtPEt0yW7Tio4qp1Ui+4m3v+VeVZd8uIbo2/pGG79B5uPP4rmdFeiEOBG/nnaw8MPk+PyEiunP6vu96r7DsdB2oAUVb41Exo+Q64KgaBNekNCAAeMP6sMQnKv3cKTWZIlgHCu6tTQsw0lC9Ubg== 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=z+pLfFetXjuYnBXKMt49PdHXoDBsdRVDlUyVuIUsOuE=; b=XpTRglQx8ctwXR8I+gr6JBqwxnkmHMH70nGkPV7aPPoWR51F5L4lQaDRyorWJOsuTdmpYvujmoyTqXXDF2UW19Z3x5gJVFZ9my4FWSsNSQlaRkVjkiM/MOEj8NnHVA7hOh1Sq6cqREe8L0mX80ICmAuBILAIe0rK88qqNSnBX2kMpeWfq3l+2vdzzQq3C6fJihA6+IwpG9ezC9iuplQZQhS6OxmP03qtuEIjw6G33h81X7nwKkhOmS6271ZQ94Yew2d8kzmzVNbcK+h9igTdzvOsqWLnHL2mScioXOtiWim+Xo9E01/SnTVjkW18e3B8WpbnJfqDEl1ZPHjMVDR8Zg== 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 AS8PR04MB8803.eurprd04.prod.outlook.com (2603:10a6:20b:42e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Wed, 8 Nov 2023 06:51: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; Wed, 8 Nov 2023 06:51:06 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 12/22] mptcp: flush userspace pm addrs list Date: Wed, 8 Nov 2023 14:49:42 +0800 Message-Id: <80ccfc81befa60bfa271810ea00e8e987c455d1c.1699425895.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0116.apcprd01.prod.exchangelabs.com (2603:1096:4:40::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_|AS8PR04MB8803:EE_ X-MS-Office365-Filtering-Correlation-Id: 43cb6876-b5cd-48c7-a633-08dbe0271522 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: d/HFixtttEpvpu+O888v/26dk+5fuPgP+gxqxmuHqQAJPVDWdjuz0q3WwDhVQJ3s+HLoxLboSwGKFHhUVn1eQQEhlIGUGs5+IMIfjTC4hpcU/J/9KvrpMC4w6rCymsB/58UFYh23FI45pUz/3WzjVsSyI4q0oTf939pVB25zD6dH+N9165aqNmD58Xlk0hVPboRzId/OSbA9JAP/5qQSaBFlBX2pYRkaRfQGe9UXk+kaTR5DGLxG9cATJbilXX6xojR1LjM4WcyKS3MaZ5nCiFOmKJfFZy3vfZTIGWe8BqlC2i2Ql04W1/TM8zU7w6ZMh+8B/egljAfTNkE7xHLeWcCghJgZFxQnYT5jGT4WmkLBYoUjAa9pohF8Bj+jvuF+wQSf3NEmwlsYrMpjnQW2gfka7GG1JULDy0mT7Y5EmVlm6AqwCxn7GBDTcNcpS6VjYJkLcyzFREPvpx5LWGzuifR2GX8CF6fVRpAN002HGuJWEefKvChM1WoPzFqCm0hsZAcIHY2e+vPyLDgGbCzY6XL/YlLU9mLXuAVcoiTzcnM9v0P7KUNEUtePHrPqAGKCF2gHqS7eBChIB5pmYLTdabnrvVNDsIzRR3CBDdw8T74= 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)(396003)(39860400002)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(6666004)(6512007)(6506007)(478600001)(6486002)(83380400001)(107886003)(2616005)(26005)(86362001)(36756003)(8936002)(44832011)(4326008)(8676002)(2906002)(41300700001)(5660300002)(316002)(6916009)(66476007)(66946007)(66556008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?KHU4q+NVfaFgJ6X/0tojxN8AUHp5pK2vEP2QYisVrxxHgT6wbwOya6t1hrPM?= =?us-ascii?Q?bNlYHIef3zTGsakiYs4AALAyAUIFDU8bPjTDT9lt176SmNxOBiQhIDVUAoz4?= =?us-ascii?Q?R8PuT3jGmWaSSFcx86QLPcMKFMfLfvhoEKUy3D5R819OFkSKwjnkskDlGF28?= =?us-ascii?Q?iHyqCjza0ZH2NeI7Ui9khDDHo0JvGW2h/IP8D/JRkBHkPR8/mjbJPdSu0DK4?= =?us-ascii?Q?KHeoypqLTAwXswKcpLpziB+zU9hU6CBDA2KILJiRLl0XlGcQ4JsavJLjFYnG?= =?us-ascii?Q?oIwdwXpOOgVg42CuKcqgcfTALm7Ll/xJN9bp/jzyAtUv68to506xBCR9p01C?= =?us-ascii?Q?NJepIEYmK15R6OAmJRGtROIh9/xC+zNTg2jMnkYUBQp+S5RnHRKvBuheLEii?= =?us-ascii?Q?FfJhaDlFFfpw7Sauyz7AoRrby/CdORuM+K4HH5HmZer0aNhZC7tG2r1SJPWu?= =?us-ascii?Q?A90dR1kyUVp8q1lptiL+gTX17D1tt3kLpOUlMvjPlJwI9Z9KFsRvrRKlpVTr?= =?us-ascii?Q?Cu+9Z+uN953X+nClELh568ewRFBVMh02Uci/Y0nFfVkXOmExVCh0MIqFTVZF?= =?us-ascii?Q?O6Y1tBjz3qEV6jjSauzjr+RYNSFAxjHmjKbBZSO3psY6dqUiBagnkezbsV1r?= =?us-ascii?Q?Cbd3QuTD3tsOWFGGFTD5qCLJ+oLivPYFS0wYqyMcWdD4rvHwN/NerF+XF8A4?= =?us-ascii?Q?jYwjEClSFI28TduXqksjf+ALNEQWoRomVJH5VDv7fL12lJtFBgJ3C/8qfvju?= =?us-ascii?Q?d0XKxgB1Su4Ae7NDTIIo07diQ0TOK0oaJHwkg8YvTUN93ct/CU8UFYBtBHbW?= =?us-ascii?Q?8kbroScBy1YgswuqblkmBIyjgLt/EXHpV/g1SvArwwyMUzflYffN5NF/d/Fg?= =?us-ascii?Q?O6SYoBOZveKdoneMgyrx2ArJAfuaJzGwTWQwvlFicB6v78JFa+lktqR7AWfY?= =?us-ascii?Q?4r7SSaIJZoeBex7GjKye47d4VzhYwzw/Pw6yfgf4BTiILzemiTcq7t1gyiBA?= =?us-ascii?Q?gvE3M4c4TtQ3R6s/ZN/32UYBZ8uIIIai7nalgM0C4Vb48Iy8GC/hxo1coq27?= =?us-ascii?Q?nBDChqOSgMz+vAYe1B8g+AMH7P243+vGGW4zmWha4KC9BBv9v84drolUk+hL?= =?us-ascii?Q?/3pfkEC8IPO03mJ0reqc5GycwbrKfR/yiUyaPNOHERyEIFaEv6Le1iFaT47y?= =?us-ascii?Q?sQ2yYlcrO+fB3bprig8dzAFbbzQh0Xka7IsdTcWIh3rDRRp2fO4oSao+yGJS?= =?us-ascii?Q?fsjQEKIx+vF0or/JtW4ekfyPBVgKVbwBShbJgG1++TttucPUW+sGsEbZZNhk?= =?us-ascii?Q?/XnRqymutYSuUC91BkpanY4Bn0R/3hOPdGSH9hroSoG/iLZap6yGhUVwmiOM?= =?us-ascii?Q?8MgFFcKXIHdvCekbrvAlcmtVsHqlS5wMVFHFhGK8D/ga7yFeQHE9ecGJkHGt?= =?us-ascii?Q?s/g+4yo1f8hIe3ouQcUHpACBM+SkCRKEVad12pzu8gqFOd5jQUG6U15gHFNd?= =?us-ascii?Q?PZ2VZqvvewcVlfS/E40FjEgi81DXokP0vI4WY2R30wZRGF8QH/SAHGxdHkLK?= =?us-ascii?Q?XoTpGB8czv3e4JCDF1o9uEcaSA5I0rO5IwZCBSC0KIZhyn6t4EjPwWHS/kGY?= =?us-ascii?Q?Xg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 43cb6876-b5cd-48c7-a633-08dbe0271522 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:51:06.8756 (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: v9s/O7Q74nvJlNUu9dMLIW4p7jX892PYHB4CwffTzf7ZGFfzMfF/nGrWD2Cg8307Gbw6fb0grhn09vaxWdM/hg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8803 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 08b4211fbcbd..b7e4c8d21078 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1565,6 +1565,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 70f6a510e3b4..abcdc95e7bde 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)); } @@ -580,3 +582,26 @@ __userspace_pm_lookup_addr_by_id(struct net *net, unsi= gned int id) =20 return entry; } + +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 76981adcac22..089fbebd21d3 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 Sat May 18 16:18:07 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2087.outbound.protection.outlook.com [40.107.21.87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5D07E2CA8 for ; Wed, 8 Nov 2023 06:51:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="kAK0gWS/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FBkYiVxHaubW0KIr++aYxbSqjCRHsvfZTvAfpy6h4GlRLjGWyQIKp/Tdck3DYpT6GVbr3XPHJXYJDTHv4JwVDqnHQMcYpb98pFGhH9qHbFJmQLwNGR2EyZNWChqKwSVD52MuA9VZ3DmJGkZsS4gD/uCv5qdez6/U85XidVNUkpnh/3/j1yCnzr3TqQ8I02NnBkRlKP3MsW+ttbjEQHd2/o+DyJxhW/yqzA1o6b7T4qp3Xn5Amhpon2HtCxpS5m6eRsfVK5Y0bJWuDk9nmjiGD6OLeQYKrjUc+jtY09u5uqWKdbgULw0THJHseMUI10mqt4GXy28Wha7xSfG2bpyIOA== 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=rY8CNmC+Rrmivupi971oztbQaGCoCWTB7Bb6IUjC6+4=; b=iUJMmnbBPSRY8913BQhakIUn8nCiMaBA23VtVfP3JYBwpOdwwCqS+2VB7pLXR2aF4wbNIDUYlZWhgtfwh7Ci1aB8woW32b1xdKQb/vH2AmHeRIBU1UROeQiWCDN9FSHrkqZrRf4f2n5Bp6I20YmiIyQzTnB5xabbgpfeXkuSsamqVxRdVD6ifeBwGJRlirhk84Ev4wUbhGCw6SIhhBinfMaxvu+8Ya5HfIUYCYc2snoz2vxPY+ZMDsSiUy31pBGYpMOo5vXWTp97Piy60qny+vFB/EFge/mhTs4HpvQQsmMKn82GEhgAZEB/KQossDCAcUvbby+NuX681+tAiEOYSg== 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=rY8CNmC+Rrmivupi971oztbQaGCoCWTB7Bb6IUjC6+4=; b=kAK0gWS/wj9KOVc350ny3huakovTTeTfoVH5Te+kFgmj87JexrZ5UpNcgo8lIGo/Z/g2piDJpuYvl8lzLOXaaZ48qU0xSFK6Y5+BP6Uo375LH6AFhjlCAcBQer1Jub111HWAyNjbOdyOf6x3oAr8lju2A79aVaBlwyXU4CCucpP58SK3B5i9NT6HwoagQc4MHn18UXRxejquist8dfT+uk3IQKImKjlFYx1Rjp274KFVgzjOAqcOFlfviO9CaOVwB/kB6XA2dxqC58QtJEY8R+SslynCazB7gJBtwnGsEgJudXhbesJvpvPGNSCkW8WpN/tOnKuaw5Hch6kQyaCGSg== 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 AS8PR04MB8803.eurprd04.prod.outlook.com (2603:10a6:20b:42e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Wed, 8 Nov 2023 06:51:12 +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; Wed, 8 Nov 2023 06:51:12 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 13/22] selftests: mptcp: flush userspace addrs list Date: Wed, 8 Nov 2023 14:49:43 +0800 Message-Id: <903f1300236dda5d806a612a27d12678b4b5f8c6.1699425895.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0111.apcprd01.prod.exchangelabs.com (2603:1096:4:40::15) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AS8PR04MB8803:EE_ X-MS-Office365-Filtering-Correlation-Id: 9b612376-5f81-4f2e-65ec-08dbe02718b1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QXG7NWGfhhyszebjeRp6KBsexYIYSOZLTJzjF5/cxcrWCc5p7i/KrwTiOU0r9PCRtDNQ+M8mSQBXf44RDCq1foCKtG2KJ7Ou8LpQaRBJpyZiC/PEwEmDF6dgya5stYctx/Z3A70RiP93aaqwcqzFCxmP+IdQx6xFJInySQQ/7qHpFstI9IrvRTT2n8CMudqPlQs6mMvxrFocTXW3mEM2SHEKG9AZgjIhvY3qBCIa2O0mC48JYZUdFqeG0W10dXWMyM0AGuGh+PseKgiFEDtCGqOUv2JqZ/D6IRYxCaZzfZRiWpaA9jswYx47tj8jasNtnCCd3rhWbaDRO9HRrjxFVPHKl6UWOMcyBl2g/lAzGM9nQ3R2/NL0XPcnAUfxbfXz0sXsDEhVWiVVq2WN3fgSBcYrDyxakTnLYsvttNslYEYSefMgmIqpg8OrTs3M/88xztcT0Az6S5QqeFb1C6vYR/wap7wsFDBAWYYnS/5EuXvqIntTdBdJggDEi9yaNT+LBfjoJzwImCTz6+zkcfF1T89aQ6YmWZX9oEGZ9oddeK7OFmthUMZHMWbGGbl8gKHGC+afTnz7qzr15Z86cqiz3VhgzHNtnp7amlUebAW8FyY= 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)(396003)(39860400002)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(6666004)(6512007)(6506007)(478600001)(6486002)(107886003)(2616005)(26005)(86362001)(36756003)(8936002)(44832011)(4326008)(8676002)(2906002)(4744005)(41300700001)(5660300002)(316002)(6916009)(66476007)(66946007)(66556008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?QpEcxvfO9GdwkSr5ObokPYa/EXUYiDem81GWw81fgG6GqyfmY8K9WIoz1ZqE?= =?us-ascii?Q?oEoQUMovlNxidmGqBejmSdUhjrrdTzzXIaLGSb+3oaiY5TPmqC6FZcuWQiFf?= =?us-ascii?Q?zX5rrtp+p04hR764+Gbp0+XGNspPrmaddoCqKTIUxDD3rhZemkNnf3wY1BcN?= =?us-ascii?Q?TRbaTbJScyNkzDmbHl8fsnW0eUOQkaoDu8gjqaIQsJ4pETliMdIPPmWerabP?= =?us-ascii?Q?Msc/b2VbySea+PMLoiSFJxnV0zPJ3Y2Xa6hdvbTqr4xQlavj+lSH7wpCtdLt?= =?us-ascii?Q?ZI1uuaHDmHQDhBwssxUmZA0qp0Tzsekj3DrLO9NF36Ccf3lrrMHN7kWqJZ5l?= =?us-ascii?Q?3H8JrfDZj7VnCQXdsr0cLyVilr6IWBYArHZYUl40d9kubRpCLJMT5jAu6Iy2?= =?us-ascii?Q?WFguKiQmAEJoqeyFhRUP/eHn36YmUCHNtiaO85t38Hu5SQSTq24ukHDpzpOw?= =?us-ascii?Q?HLg8NEtGASEv8HwzjGLomVRQGZGu85UR2cOcz3UP2CuHEabeLJp/RpnzBUTA?= =?us-ascii?Q?9KTg/okqhWyWGNVWc89KVYilK9+rmO7d9ne92hEKPriibZfsvBL6ZO0KNhbI?= =?us-ascii?Q?BhAM9vOT1b89iBhpsmjej/+uki/XoXGip3DVo+WT5hS/M/KXTwSBqIOx72Vi?= =?us-ascii?Q?PLICTLvcKfYrgbesLJ6ZdbUhp+ZOxoXR/s9IuhVXiw0ipLnRYjfu05pL8azB?= =?us-ascii?Q?Oc5AuSXdOdAJfUT0GYHoFsquQLlQE11x7lGq9ndd/nZDV3g5xLOv2iOVQ1Tg?= =?us-ascii?Q?Pe2vANrckGV1XxQm4XbU07EO6DSvo5FzCYpGNskbosiqAPK1h2J9Binh+eyj?= =?us-ascii?Q?gjmVIeP8bWPyuyr4CIbL0wCzzdaoBWEldnkESRLdkj2crvbbPVlWKHYuT860?= =?us-ascii?Q?cz/v7LlYkZSj8Wq3WN8RV9w2mYU64OxAZS4ff2kP+usyImWkj69MobWi1i5i?= =?us-ascii?Q?gj6CX3y6OAQE8ra3BdduXZ8mvIU8cxm1KdDDr+J3DpcjOn0AF8TLAUIXFhUi?= =?us-ascii?Q?hzAh0BEyaUpzyZ6/Hj0MBlG7UkFUPxMOLxUnpC2PfKFJMYdK+hhYj33B1f7r?= =?us-ascii?Q?f4L2W+kbf6Q7CcGJGs/Je1mhlogy/DYiUAQGyTd0iMQnPzyjB6kDqdUhjWkq?= =?us-ascii?Q?IuK/MQDQPm61LgUqPtT8YXtRL2rTQxgU2uCELRIM6eRdXhuoE5NnLRYvl3Uj?= =?us-ascii?Q?lRDfCail3juq2+3BNk07h4oxJ52S1kEw0lXlslHN1nRW2jXA/VDol4DFGOoB?= =?us-ascii?Q?nIDAXznDCufpYxUPPFpsShfcn4bezkBb9/i8ZhBHwwb6QaHkbfgFPTMA1j4o?= =?us-ascii?Q?FqbekTw0RFxNQ7IATt9peCjqQSQwdL2ySp44sN/O9jjiAHMx7KZI9y2bS5hc?= =?us-ascii?Q?N4k6KQLBcPkZAy2/LpVbiqJ2TAXvKtWEI6lfWvinJtTQt425L3HtqKHpdxfq?= =?us-ascii?Q?1NYMItUDnbb5XUBT1FO9nKhLoD6kW8/e24o7qkQ7ikwwubbLkNY0VQNTPglD?= =?us-ascii?Q?ZGdCoFu5lPkrM8q25ZYX9kQfXEIN8T4FfJf6nNtHdDPJzycl2zuutOgkC1Mj?= =?us-ascii?Q?+YNopCEAuOB3Il7Th0bWoibR/P8i5pmjwcvZKrCIWPc788ueCuNceHGb3gBZ?= =?us-ascii?Q?xQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9b612376-5f81-4f2e-65ec-08dbe02718b1 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:51:12.7394 (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: aS+T4VnDSWyPJQb5f4xDKmoKPvwq9gykhe2rPKGAoLy/Xh8LLA1maKaaeFemyuXupycronThZv+tdGhd1TV/0w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8803 Content-Type: text/plain; charset="utf-8" This patch tests newly added flush command for the userspace PM. Add this command into userspace pm test. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 581d61448253..634b51e40435 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3442,6 +3442,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 mptcp_lib_evts_kill wait $tests_pid fi --=20 2.35.3 From nobody Sat May 18 16:18:07 2024 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2075.outbound.protection.outlook.com [40.107.8.75]) (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 35CF7320F for ; Wed, 8 Nov 2023 06:51:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="TdQRsMq8" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C+qhupuHKKrG3vSyDW5Lu/5Ze54ETuHXXJJGBsnKKmX8olmslWarkcHbrECg8fVVqqCtjw3+vvgfMbO86TfTAYDzJ+UcxtI06CqWnPA1age3wHAiTydQIyrLzOk2u9adVUaK+1rkusrpzJN+4klIxeHeQ6BmzGYwzOrJX7k9SUPgndSN8n757RRDp+6Ki3m/sGSpt/TUdHtzUC/4BSfwGVsPJ3sv5G/U54BVk36SJAp+xZwd2nISQhTtGIrRxYN3hdQ7gcrDBxeh0n9BnM9znka9hEMjnA6mC3De/EoNfU/k+ylpyVPkCZWqftq0cg9a6y2I4Dp3ChWpiprezorN2A== 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=eur/i4I+u/zCOSJZDwVRFa9Fs0wVE/IxjUU6DKAI3RE=; b=FK1wmj9a0aeF+AD5BafpZTaz0qmldp/C9zZ2OcT0FTT8bFmsGYgg0Rlr73i90MUwfb0VjvRZnQ5l8OmYgh4qpVaYkC4jBD888M9ZjadO7buLKNFRZSP4OzYiQ90XTyGZnYEcYjwHyzQOkzuqoZc0WOl/BbDFpu99U7qd7FHfwwoigIbNiz74E7HdLQT6nr6Ja7NXcEh7t0ABJkvDBHgBE/lr016om/GM1i+ijIMnI15GL6N+aMVwHSL7h3dMf7q0aLlQf6tYPaBBQYbsQBtwEYD7dryC+0dhZlh3X7vcyjbVdDzaZZpzEVlAE1SbHuofdynrKe5glDSP2qYnvg+v3A== 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=eur/i4I+u/zCOSJZDwVRFa9Fs0wVE/IxjUU6DKAI3RE=; b=TdQRsMq8LRi3lZJdbHltTsiQydKe+IS653p9IgcK1cAc2rI1PwqSsqsFdLn90i8rxUR1xzWfCA8tUsftZ5FpOm0uC/LD6gBN/8t9a+1OkXBl0kPoYsF/a5MsU9OhyPLm2KXNaQ4gEFd3iNmQilqt8iSatICzqOAKm36BglAWvn6iAngS8s2LSHOaWDsVjVWWtTM8eHwoTLWqbMGNQ60lblrC0bTfuIsEDfhNelegwshb8KuCCG0Qs+T2tP44FLGH8N0GybMYnpl17Bon+VVdTX4ynag1uFYkKMmJOY9hmmLWzgii8lsChKYDpqdUDqoWHSbMgtJ07GPNfsfLD6kNnQ== 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 AS8PR04MB8803.eurprd04.prod.outlook.com (2603:10a6:20b:42e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Wed, 8 Nov 2023 06:51:18 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Wed, 8 Nov 2023 06:51:18 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 14/22] mptcp: add use_id parameter for addresses_equal Date: Wed, 8 Nov 2023 14:49:44 +0800 Message-Id: <2e82b15587bd3c74c1f694bc3e75beb4954f83a8.1699425895.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0122.apcprd01.prod.exchangelabs.com (2603:1096:4:40::26) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AS8PR04MB8803:EE_ X-MS-Office365-Filtering-Correlation-Id: 7a10a051-79c4-4f26-8c65-08dbe0271be5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: h0I+ePPnJ5VXLts9jWdsuD5d5P9ydJl9mZ9spaGdgAX8WzouhcUCjLRKedsDc8QeiGTW/BdQwKPNgwCoN82yj4aruUGy0nsUNnhRbniWNvrCriedjq+S0UH9oVN28QXA5XCVa0IAvtD6tWIUwCTCz46XQB/RgStBi/KtMVDsRshOetM+h563dk8ER40+ZNlP2kvLbM8F7bLLzpro7jcNFNj1a/ta4sfu0aV75d0oyqQ97Sk4BVl2bn06OsW2xiVdj95bMPL76xLf1E5TM1ozK2ZBf9Wf0eiTqYYM5hfwSbKcR483S9EmlXn98TImZ64HFsrDdF6kmTAjf0xO4jdpx/kLdOT+QBqz2FXdPTG2ECRn1FxWn+ueOEt9GO1xmPaFoZAcXwrCnrfgK4QWeDBQRgAz9bTt4eg3/vAHvPlQk4+aqp42Kcj9IFmBtsUhunv4T0mW8vjhfQP1He/79sokKyIxUOlc5TG0Pu7PCvgm6JbUmSelEfg917vIKu06lW1Z++sRdzeNP1MfoTEW8FcEVndSPDntVMQhGKbii9r9a7W1INEWiKA6ZDY47RtAnIyzy2y/lzHySpX9oZ/EFUz6OEymNBcKOaQX5eSWKQMgmEI= 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)(396003)(39860400002)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(6666004)(6512007)(6506007)(478600001)(6486002)(83380400001)(107886003)(2616005)(26005)(86362001)(36756003)(8936002)(44832011)(4326008)(8676002)(2906002)(41300700001)(5660300002)(316002)(6916009)(66476007)(66946007)(66556008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?eSG9JNbelia896UMgEIhYu1mrwD6039q0paL+Pb+cLMuoKWMhKy0VS13cj8V?= =?us-ascii?Q?UYqj0nGGmxOXdJc0Uu0NIlVE2R6jfbO0yegTuTCDtdKmRk0gCXIUvkgZSKfQ?= =?us-ascii?Q?uJOtJ4CA32li6V9yOcajsDy7Ow+wQrDJUiCvszW9sN+kc4WnHNt/VBJRR717?= =?us-ascii?Q?NjLd/rOc9ZNtBdFZfsbrVBxJJmKmyontmkU/YuA5PNrpr+o3x3u0T2fU3Ewb?= =?us-ascii?Q?dapUOtFa78Roljjq0/wz5bdkdGyuUbY1K0F0d9MLXhqxTnN3VCVHNl46pg2j?= =?us-ascii?Q?u6esZ12TRobWc6lwMbD6tt3SJtC8Q4LYqdcncX2AR3IWFnUx7huWthIYrnfl?= =?us-ascii?Q?Rs6MdCtlb8pnh34c3OR1cs3xq8IAj87E4qHEQWb9VTCJbQqcyV+ecFvHtl6M?= =?us-ascii?Q?g0J3wC7/qE4CxPHkBqxYVrz+L6bIou4iS+M+4n4/5i0ib9Yhhg1FNPLW+Yx2?= =?us-ascii?Q?K6yxS1tqWAeJ8GWiWZXoVVCiB44m0nwd1N6Nx51vKKwlWrfpWZoF7MaszJZ4?= =?us-ascii?Q?azJNNR4imLEpS4iIRzEYWU/jjaEU30RirrSQfKtv4Oat6wCZKwyuq9B85hBS?= =?us-ascii?Q?9Qgr5Vb/jdojpjBPgP5eAGdDYYjxdyEhFjar+J11dxsUs2/V/CTqyMOu1HK5?= =?us-ascii?Q?Loftv/8LNGS8bXzczZOxcfLLZ5NwLZinsGxmMu1cZbfgdA1XUuO4yebrDty8?= =?us-ascii?Q?E9u2BhjrQRCPG9U4vX1+ZrJxeczgOE5NjD65NXxgloc/83vHmw5ZYqiLde/h?= =?us-ascii?Q?vtxS8JyG20ZCGRP1cS66H7pyY6I7oNVJIZqY32r4NJhI+uOfzWIEWRxwlqK4?= =?us-ascii?Q?oza0f8IAlbBCfoqHoSiuClJzKB1JKi+N1YJWDMrRlksxelWnt+HtrcIRfpWY?= =?us-ascii?Q?cA/E1ibzMtyJ1h1zORVnbErfNAXqtiRk3Jkg7oWnuomdjiGPOnMGeuyBWPnP?= =?us-ascii?Q?C74yQ5bt7bzwRhEd2zEhYss91a7oTIFwF3seY4AYAzinKPYx4RX5qAVfwaCh?= =?us-ascii?Q?p7mgqfKbmq1hT5T6u3Ws7gdtY9l9pEmHbMjIIOOCuVPSujOrsxT2wpIctFv4?= =?us-ascii?Q?mqZVjNKkCNZt1bJH0SU4l35RlnXqEUF9DywWkrY0N6MCKWitqL0+g28L2h6u?= =?us-ascii?Q?+/iAikgAwv9t+Rtv3U27PtfbEjEESmUxWGDIlIyY9fRRAIYFwF7kD4hOHi0a?= =?us-ascii?Q?rGJlKymu0Kekdi+NlEq5HKfou7i3EdQBGcnNhtO9sne7RVSP3i0VJb7m3adA?= =?us-ascii?Q?OaTZDO4WctpW/auPX1FcmuGV3PD03g6uX4kEsbIrGdMk7A/iVIcrpTHZjziD?= =?us-ascii?Q?7l0b15sbiXpF/x0XXK4D5DZJ8+XfhDr8wh91i7rcxmiipawh2Em/mvSdXLNv?= =?us-ascii?Q?lV3+9Er3ER66LwVd6y4mi2yIWxgwD2YP2j8Q0gUmYNwqK6OcTLpU09Cfusla?= =?us-ascii?Q?9VGSHq0D4xXJ8Sw3AbgJBO7A1MDX2yS3/7ZYRp++zF2Z75SyQhbT3BScgxpY?= =?us-ascii?Q?oXjwvAlMvgwTJ5lTrOchBo5isN73dJG+foB/BrzNO0KfAcM5jK5xr3NrEnd7?= =?us-ascii?Q?XA5pApFrlji+T+9B9KXYR6+Wa1aCkH/hZuYh9+iG/tHrEKWloi6ELpf1/BG9?= =?us-ascii?Q?+A=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7a10a051-79c4-4f26-8c65-08dbe0271be5 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:51:18.2910 (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: 0xlJ34vjZcoVILKZqyYswB3M5ouUFmJ3mf1LNWQbXSKlYwTGGBQB2I7T1lZxY98OeCAQTrnen0prO6eSTMXVdw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8803 Content-Type: text/plain; charset="utf-8" Similar to addresses_equal() helper, this patch adds a new helper mptcp_addresses_identically_equal() to test if the two given addresses have both the same address and the same address id. Signed-off-by: Geliang Tang --- net/mptcp/pm.c | 2 +- net/mptcp/pm_netlink.c | 32 +++++++++++++++++++------------- net/mptcp/pm_userspace.c | 4 ++-- net/mptcp/protocol.h | 3 ++- 4 files changed, 24 insertions(+), 17 deletions(-) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 48ff7ce20890..77a0e859076c 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -420,7 +420,7 @@ int mptcp_pm_get_local_id(struct mptcp_sock *msk, struc= t sock_common *skc) */ mptcp_local_address((struct sock_common *)msk, &msk_local); mptcp_local_address((struct sock_common *)skc, &skc_local); - if (mptcp_addresses_equal(&msk_local, &skc_local, false)) + if (mptcp_addresses_equal(&msk_local, &skc_local, false, false)) return 0; =20 if (mptcp_pm_is_userspace(msk)) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index b7e4c8d21078..599137001148 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -47,7 +47,8 @@ pm_nl_get_pernet_from_msk(const struct mptcp_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) + const struct mptcp_addr_info *b, + bool use_port, bool use_id) { bool addr_equals =3D false; =20 @@ -68,10 +69,14 @@ bool mptcp_addresses_equal(const struct mptcp_addr_info= *a, =20 if (!addr_equals) return false; - if (!use_port) + if (!use_port && !use_id) return true; =20 - return a->port =3D=3D b->port; + if (use_port && use_id) + return (a->port =3D=3D b->port) && (a->id =3D=3D b->id); + if (use_port) + return a->port =3D=3D b->port; + return a->id =3D=3D b->id; } =20 void mptcp_local_address(const struct sock_common *skc, struct mptcp_addr_= info *addr) @@ -110,7 +115,7 @@ static bool lookup_subflow_by_saddr(const struct list_h= ead *list, skc =3D (struct sock_common *)mptcp_subflow_tcp_sock(subflow); =20 mptcp_local_address(skc, &cur); - if (mptcp_addresses_equal(&cur, saddr, saddr->port)) + if (mptcp_addresses_equal(&cur, saddr, saddr->port, false)) return true; } =20 @@ -128,7 +133,7 @@ static bool lookup_subflow_by_daddr(const struct list_h= ead *list, skc =3D (struct sock_common *)mptcp_subflow_tcp_sock(subflow); =20 remote_address(skc, &cur); - if (mptcp_addresses_equal(&cur, daddr, daddr->port)) + if (mptcp_addresses_equal(&cur, daddr, daddr->port, false)) return true; } =20 @@ -205,7 +210,7 @@ mptcp_lookup_anno_list_by_saddr(const struct mptcp_sock= *msk, 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 (mptcp_addresses_equal(&entry->addr, addr, true, false)) return entry; } =20 @@ -222,7 +227,7 @@ bool mptcp_pm_sport_in_anno_list(struct mptcp_sock *msk= , const struct sock *sk) =20 spin_lock_bh(&msk->pm.lock); list_for_each_entry(entry, &msk->pm.anno_list, list) { - if (mptcp_addresses_equal(&entry->addr, &saddr, true)) { + if (mptcp_addresses_equal(&entry->addr, &saddr, true, false)) { ret =3D true; goto out; } @@ -463,7 +468,7 @@ __lookup_addr(struct pm_nl_pernet *pernet, const struct= mptcp_addr_info *info) struct mptcp_pm_addr_entry *entry; =20 list_for_each_entry(entry, &pernet->local_addr_list, list) { - if (mptcp_addresses_equal(&entry->addr, info, entry->addr.port)) + if (mptcp_addresses_equal(&entry->addr, info, entry->addr.port, false)) return entry; } return NULL; @@ -704,12 +709,12 @@ int mptcp_pm_nl_mp_prio_send_ack(struct mptcp_sock *m= sk, struct mptcp_addr_info local, remote; =20 mptcp_local_address((struct sock_common *)ssk, &local); - if (!mptcp_addresses_equal(&local, addr, addr->port)) + if (!mptcp_addresses_equal(&local, addr, addr->port, false)) continue; =20 if (rem && rem->family !=3D AF_UNSPEC) { remote_address((struct sock_common *)ssk, &remote); - if (!mptcp_addresses_equal(&remote, rem, rem->port)) + if (!mptcp_addresses_equal(&remote, rem, rem->port, false)) continue; } =20 @@ -883,7 +888,8 @@ static int mptcp_pm_nl_append_new_local_addr(struct pm_= nl_pernet *pernet, entry->addr.port =3D 0; list_for_each_entry(cur, &pernet->local_addr_list, list) { if (mptcp_addresses_equal(&cur->addr, &entry->addr, - cur->addr.port || entry->addr.port)) { + cur->addr.port || entry->addr.port, + false)) { /* allow replacing the exiting endpoint only if such * endpoint is an implicit one and the user-space * did not provide an endpoint id @@ -1021,7 +1027,7 @@ int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, = struct mptcp_addr_info *skc =20 rcu_read_lock(); list_for_each_entry_rcu(entry, &pernet->local_addr_list, list) { - if (mptcp_addresses_equal(&entry->addr, skc, entry->addr.port)) { + if (mptcp_addresses_equal(&entry->addr, skc, entry->addr.port, false)) { ret =3D entry->addr.id; break; } @@ -1397,7 +1403,7 @@ static int mptcp_nl_remove_id_zero_address(struct net= *net, goto next; =20 mptcp_local_address((struct sock_common *)msk, &msk_local); - if (!mptcp_addresses_equal(&msk_local, addr, addr->port)) + if (!mptcp_addresses_equal(&msk_local, addr, addr->port, false)) goto next; =20 lock_sock(sk); diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index abcdc95e7bde..58e9ba51ad36 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -52,7 +52,7 @@ static int mptcp_userspace_pm_append_new_local_addr(struc= t mptcp_sock *msk, =20 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); + addr_match =3D mptcp_addresses_equal(&e->addr, &entry->addr, true, false= ); if (addr_match && entry->addr.id =3D=3D 0) entry->addr.id =3D e->addr.id; id_match =3D (e->addr.id =3D=3D entry->addr.id); @@ -103,7 +103,7 @@ static int mptcp_userspace_pm_delete_local_addr(struct = mptcp_sock *msk, struct mptcp_pm_addr_entry *entry, *tmp; =20 list_for_each_entry_safe(entry, tmp, &msk->pm.userspace_pm_local_addr_lis= t, list) { - if (mptcp_addresses_equal(&entry->addr, &addr->addr, false)) { + if (mptcp_addresses_equal(&entry->addr, &addr->addr, false, false)) { /* TODO: a refcount is needed because the entry can * be used multiple times (e.g. fullmesh mode). */ diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 089fbebd21d3..e66b1fb7b522 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -645,7 +645,8 @@ void __mptcp_unaccepted_force_close(struct sock *sk); void mptcp_set_owner_r(struct sk_buff *skb, struct sock *sk); =20 bool mptcp_addresses_equal(const struct mptcp_addr_info *a, - const struct mptcp_addr_info *b, bool use_port); + const struct mptcp_addr_info *b, + bool use_port, bool use_id); void mptcp_local_address(const struct sock_common *skc, struct mptcp_addr_= info *addr); =20 /* called with sk socket lock held */ --=20 2.35.3 From nobody Sat May 18 16:18:07 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 966831FBA for ; Wed, 8 Nov 2023 06:51:27 +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="23zjQUpG" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jMNJrm/Y4hN5MJb65v8pwsCg+hdzxopzJtHUh9w33dMO5i7dIs3+ZkcLZzkBj3ZE0pZ6IjR8Rf+W9q/gzDr7e6qV4uC9hdsvs5A2dTjbB1KDioJmNWBDyeVMPqbc512ik2Wq8MfEmnEzQ0FFthT05BMR8MHeYDk4zwPF9fqQtcmiuV08UmdgpoHE88wtG72ziCjR1Rk9wXtk1ODnhfS5fAtCHEJHtPUwbuN8K8zFQOVuvQitwg2tJ3Bc8OCjrkLVmDj4rSs5RjsEDWID1f7QzqpQEgJIaavXyX3hMNi+iYtgKuU9OdtWnB/ZQWm/CVPji4PU2xV/GWKlkMGHvplwaA== 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=z8rB1qKVlNHnu1KwIAr47vv45kew+zLW66aYqLNMAjc=; b=KYr6hIm9A5FUkyol9PJvS00sqyEUhUY3nph0tWurGLe1Lz/ojjtfaOgKqINBUQnH2h2ESUdQuYymEY2y8aZJNThacWyC77JwZXFt2YSCoB8FX2ySHR2SHl3N2iYeyiT7xVhurHnmx8xjxY1eFgsJLY/iKiimDhPPp/PNQS24TXBhgHg0fbwOiN2QZcYW93Fh56J2BYMDez7bPYJPP5UIcq11ZP2v5QvySB6p3ZsJl5NPzt80V3u2aysekAAJ4SJRI7/o8VUw+EO5YC8MbVc6rHwnZRJBZijU2AZa97mSEbpJVbw+kEHX+QiXhMNG+rxT67Tvqf2sMLWdx1YRAeGQrA== 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=z8rB1qKVlNHnu1KwIAr47vv45kew+zLW66aYqLNMAjc=; b=23zjQUpG6396qEhIfxVMLklarw5uk0+k3IKfn4mTXcnUIaTPMUwAwxqPD6BzGsUw/SNulMa4IzcKV1muOxd1o6A4mTLVoWgFJXNsePEJEMqwvk7FTBMcumfeCH50I9zVS6oWVU7g8Klo1SpShKXTvwdlUrvuR6DM6rjUpF37+E+0qsj3emGO7nA2Hfotfnk80Kyxsfu0W7yLWfHDawi306zDCZoGYWF5WqbBZj21sjDBq3yZbvN2XFukZVHr48GPf+OG8g7R6EtBYUqn1DipAZ0J3CR8qpa7A8evDxdi+D1+JldVBUqqaChJYz5tbrvhjg3wKOiIpwEFfN/GuQxdkg== 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 DUZPR04MB9846.eurprd04.prod.outlook.com (2603:10a6:10:4db::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17; Wed, 8 Nov 2023 06:51:24 +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; Wed, 8 Nov 2023 06:51:24 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 15/22] mptcp: add check_id for lookup_anno_list_by_saddr Date: Wed, 8 Nov 2023 14:49:45 +0800 Message-Id: <6a0f323d8676fd0728a62bc92f78934f0550c942.1699425895.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0117.apcprd01.prod.exchangelabs.com (2603:1096:4:40::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_|DUZPR04MB9846:EE_ X-MS-Office365-Filtering-Correlation-Id: a7a06b17-ec24-4ec3-d59a-08dbe0271f7d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MpgC3VxHGRSCoY8KmCPTgbyPGhrgZ8VNK20bEyVUHbk4+MfcKyQuEQNR/hkX42lwfq/R1tzHJHNi/rPRailbfsbdwUH0GVHPAekq1SAoPuG2qzJ/ceJb3RQW7d7NPlQo/UUveU1Wp5E8fEqL0CQejMq78WVaAyUFrYIk5iDrAQsYkvMdrHUsT/D+OJECvSqBA7qOyYXTadOttrPaOZ41daWVEdv9IOC2yKlXVR4dCoSZcp95/9sEWjIyVjo4e60EI5mIuwNufa3nqNS+LWxOShvQhoaWv9ti1bpsadn9vYnwwuJRY5R10Xzv+Ofio839OtI/MkSiW8D+f3vry+cwOEP5GBPfqjrqXG9R/Bs5uLnXtClfZQsuS2ItpzIt1L4ToBDM0kxTOyxQDM12VKkKJbUHsAwGgS4d3YzxkEA6QSPqtxqVDYne5ZH224kyNcG7484AV25kG8gDTxTme/WdbZG+Kodh4Mv4Mu8Iv5pL9UG1Riy1Msx8Q/uYPSgOCA5e4cajfLFhuNcvTVgwO9utVj4Ei/uS873Lo+T1VKW7cwGDPdkIWd91f+8jjJx0Wuv0stipwVXmv3/sjz8JE2ftm0apq8CVxOh6SzraGqMqVts= 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)(136003)(376002)(366004)(396003)(39860400002)(346002)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(86362001)(8936002)(41300700001)(38100700002)(8676002)(4326008)(6486002)(66476007)(316002)(6916009)(36756003)(5660300002)(44832011)(2906002)(2616005)(66556008)(26005)(107886003)(83380400001)(66946007)(6512007)(6666004)(6506007)(478600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?UHV5b2QyxRV6papyQ0xd7aPqYF0b6kuZTuWfjOwJNZvm1CaXuk58Dgt7nCwU?= =?us-ascii?Q?yM4k5yjh7V7kfAwIc5rUzFMUM6hJAIvA/toEG3DGJJyPVqUSZfeVhsO1diUA?= =?us-ascii?Q?B300WzLOjHowJuCiF3dgU13GNcRbyHjp5TGvSIR6jfIiMym7UQcwarynCmVy?= =?us-ascii?Q?maoUXMxmqDX4T7ACIEK99BHBUsGEQFa/DdZTrzT75b6ehivrFvQ+JoatH7Ft?= =?us-ascii?Q?O3G90tLqUZXO3q+EOA3pc8DRpiBeusKXBcLAtc/HHtzwixgPI9S9/WAxEq/6?= =?us-ascii?Q?fFQX8YYvaa11NzhI7VvT7Nqo9yN965srSnu2TKTSffJxvA41+55hYW6pXzPQ?= =?us-ascii?Q?onhf9BqN+jYay1w8fyMVnTZqjfbQFrSEeHWdyvcvBDjGdX8d44IiO0QpZ6gP?= =?us-ascii?Q?AdjA4dB07qmx1TuE9LE+rvJARJ6UoocMYns6cOYJwuVQwbwyYwjeLQeekIzf?= =?us-ascii?Q?DpZN6Fh7wNwVVMsO2qF02fvgXFA2/twDRhsnzP6Cl3Vs0q7DvNdJ+a/G4Fn5?= =?us-ascii?Q?i5AbKZe+chyDuf5qN1ROhabelPjWSBJfrcj9clPOBU+6w5FZf9U6T9fJ5urI?= =?us-ascii?Q?KFgUWJnO0C2G2ut4MwCH7BAQdylk9d0x5idWbQQ7Yr7KtweoRF8d+Mya1JGe?= =?us-ascii?Q?FWTnoYxVdlash7IRfAb/7BfAQGdg5hC7bz8M8nhuAhczQmcp+/Dff7wRNmB0?= =?us-ascii?Q?yk+H0YzOB4oEIBEBTfiJQg0jBTz7hvD6Tha5R9Bn6SoyEL5SKK9BSjkcAQkN?= =?us-ascii?Q?T7wwEvd/PD9bHNDPT4sh0o/713nl6NdxBQ66nRA6Vsvd1ZY9evE6pJpt96EB?= =?us-ascii?Q?rcu9o/3v89gs9PSUGpMHOxH8R+u5q9OQ53N3075DHuHcq4c0jCGOFh1/ittA?= =?us-ascii?Q?hPiPhOSQWXZ0pcHgDoesYHzxsY2V/sm8NMAqPpHb/N8YnrO+GIRrfw7yNwWG?= =?us-ascii?Q?eBTXRQODncsJvCc0vpFHlRDu6U7pA66H0cRO5uBgZ6YFOSEA1lF5t2hR4voW?= =?us-ascii?Q?tv2T8Geypqcuu4NxnVLB+jTR5LL+8oQafT94365yrN3m/0h1NMa+odrzwQ2J?= =?us-ascii?Q?WniM1Buf4o6Y1ZPx78DYds43rI9jUABUI8UmmOG3X5l5HCsm8QI5v/S/YTRF?= =?us-ascii?Q?fPNyvsX+U1/65U9vuQwabt7y8/SKh+QcrQw6tGLKXF7nCuvQiLDsrfHLmBjU?= =?us-ascii?Q?D9SB7ozY84IumwZ851PY3vs7UoKEbhu2YIEKKQe6n27i+0qJGS1ZRWaJuteA?= =?us-ascii?Q?sroPx0F2NQIaSz5VQGqlbQapapMkfl2/JH/VfKKqAztKBU9mxFyvmnjj0Ah9?= =?us-ascii?Q?tAsxMFact0Vn2xncYJmkDhClurMVpCazOTsknJcqHB4zWlommP3gaKr3qSjI?= =?us-ascii?Q?MuZS0J7HTJsD8qvrUBHT7EbTKDwpYNPjT3Dy0V7qYoswpuCm5+X4kpgawObo?= =?us-ascii?Q?HdWB0L7NZuN6qiqw11AOPhF5v+mDBYeIr2P1ipgIYccI7VPa1y+UlGccUpF2?= =?us-ascii?Q?f7YBJvJvf842LtoCCXCeFs3ZO+TxpLVwnqmU/DtjASNxb3SB2XHYxim7yU74?= =?us-ascii?Q?LuY+XzeD1PXuG5bq35WkFOzFA4AhLAr6KnNXl5NwXXIAmYJzHFxGqHsYp7b3?= =?us-ascii?Q?GQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a7a06b17-ec24-4ec3-d59a-08dbe0271f7d X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:51:24.2991 (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: m4qWqQDEtxRMgY3LvLDYG/HRWl2Z9gI54AewZB7nUT3aYYXp32hi0fL4jqzsyunWgldwQOVFo164Ckzfh5wCYA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9846 Content-Type: text/plain; charset="utf-8" Add a new parameter check_id for mptcp_lookup_anno_list_by_saddr(), and use the newly added helper mptcp_addresses_identically_equal() instead of mptcp_addresses_equal() in it. In mptcp_pm_del_add_timer(), check_id can be passed as the new parameter into mptcp_lookup_anno_list_by_saddr(). Signed-off-by: Geliang Tang --- net/mptcp/pm.c | 2 +- net/mptcp/pm_netlink.c | 13 +++++++------ net/mptcp/protocol.h | 3 ++- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 77a0e859076c..d5ae2e775059 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 599137001148..af915ba3dff5 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -203,14 +203,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, false)) + if (mptcp_addresses_equal(&entry->addr, addr, true, check_id)) return entry; } =20 @@ -290,12 +291,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; @@ -310,7 +311,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 e66b1fb7b522..d0eb7b84a262 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -919,7 +919,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 Sat May 18 16:18:07 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2079.outbound.protection.outlook.com [40.107.7.79]) (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 B36C42CA8 for ; Wed, 8 Nov 2023 06:51:32 +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="eWJOqLWc" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ks0udNBjWaaHTGkZ5vgdHHk+0hBEgzR0zKtQQ+KhrBTGcr4hqlrQ20Z9CL8bbkmaxVMwVIKLSEiWACMQiDBtTX8MTCo8MLETGfWCqyY/zg49B2q5t6q+GaSQeCCpoH8QHUyp9W2AMm32K+kpWbohGAL28VFQSXN/xQFUL8A5tPJHTnDzgvmP73UgHK8//GJ9CGHSQCCbZVfZqEQl/duyNlIm7hUU3uBFTFo8Emv9YwDaV4+SUj+Ik1UHp73WRLJLmkNmrY9hWmT/azHtxoiRFO2tOSwRz3VdblmZ6poyLJYju9Ddxo0cr9aCcVryCo0B0KMSVjzC2Wby9qUTq2h1Kg== 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=wGfN82lVkeQM0LN3DHLqA01K8e8fWi10BoyEV5rc0Gg=; b=GABZZNuUHk18ICQhOiKOxNxxBPkQbbN6Z0lYKLkzI4W3OuXC7FrDlwgzOD+Q9hjdr2h7LsGMC8/otG8UvmkOnRQ7ZjMPaPdUxh07TU7vDe7pjb7+LsnlOZmaqbYPuiASDsH21L5M3fzbWBXHVdfOglFHIxJ8Z8Ch+lTj3tCkEOYLtExDlICdx8VpTAVuzyXjjnUwNGPkCTf70pnMYsh9QOqnU3O1Jmc5Akt2UQWMITVHf8ziZavB3o0j/6we0oJ2MkVvgqVIP9QZlfknHoAF/XWXjfgfuMHr3Vg1MlxC/cNzcXDgnrEs7AMDCPntcfFcr2fZ8tU6xV38eiZl8la59Q== 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=wGfN82lVkeQM0LN3DHLqA01K8e8fWi10BoyEV5rc0Gg=; b=eWJOqLWcgSUymgw/++dxIbkYW6//+27+xl4K9Obcu9RMEp19lh4KKb4SYVuZi8r22L8A+pr+rwbLPxQsaW54yzIAyArCMc4+zBW02L2SgWfUN6Ozr5jyQl34vlthUU0hezcsCQQVNOZM9F/qpEU1ACP9zTPP7DizgckwxFcM0M295cXu9cYzTmLkg0xumeO1h7xalUsVe/DyrXQgchcW8gzoXI8geUYL1TC4/afPew7IJYo9v6mgw9qHGO818MNhj7wScPANhyastGDobboy5JgXxPvshdUdEsAyoMUjxQxfkYn7KgwXmdOKRB7XaXMHYMjNgOF7geOV3ZSGDIR/Ng== 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 DUZPR04MB9846.eurprd04.prod.outlook.com (2603:10a6:10:4db::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17; Wed, 8 Nov 2023 06:51:29 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Wed, 8 Nov 2023 06:51:29 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 16/22] mptcp: add userspace_pm_get_entry helper Date: Wed, 8 Nov 2023 14:49:46 +0800 Message-Id: <3d569801aa9429cfb14ffcb59c0c9c0105adee0a.1699425895.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0132.apcprd01.prod.exchangelabs.com (2603:1096:4:40::36) 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_|DUZPR04MB9846:EE_ X-MS-Office365-Filtering-Correlation-Id: 6d8239fb-2aa9-4df7-35e6-08dbe02722cc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QmYWH/Z2ZjZSxGFHVGVaagM5pYgKqkf9dY0KmzsK06eso3KCzqOe/w/o2WBhnxD1zVyANFYD/P2dukOuSUzdjfTBpkmRA3cT9Nw3oVO4Jr620oeaVD7tYM4C0zQ01wK6+AkVbFNYaiSrGtNEyMM86H872TgOKBxE4/jUr4ypFdLtqZ/L5dsJNK/Y1oizYNimnLsOXIUyzpYPjQHh11exNcUnDnr5Jdmc9BJnN9PyKLZS1XZwJLI+I8vlNXWH/nKDD5wsMCOpNqxf+2lF+giLkqFrJF1zzhowfNK0yXeRFYeK3p0EHwyoat1tnTavk/zVDHKZpQX2VB4ZJx5AH/XUfwh4sLpfoQzVcHPeePGmoeHdeE+Uij2wDcMqSEYRb3mIwKUZt9zHrKJdC865rwuvk6zS126M0P42YWzjujsCvFu7vAxCBlhV5Oa0MtWKffc0jsoSxy1lCyI1DS25X7Sg4qc0JUddw24RdlN+l78rD1dMPJHR3jMcSkmOPhMx6nGFXn8M0IVPqiO/TWedKMUV15GGw0GJnxq9Hcf/PgFyh0ItMEHmfowYxgCGGUJN8hEnYJzAKG3jajijODlM5MiC2N795gGgwnBsK41RHy3AozE= 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)(136003)(376002)(366004)(396003)(39860400002)(346002)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(86362001)(8936002)(41300700001)(38100700002)(8676002)(4326008)(6486002)(66476007)(316002)(6916009)(36756003)(5660300002)(44832011)(2906002)(2616005)(66556008)(26005)(107886003)(83380400001)(66946007)(6512007)(6666004)(6506007)(478600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?TmbVHWozuvIVquGc9RBO3kxcak08RyxpKTN2skNqmMfBczEIhwkS8YCLna5E?= =?us-ascii?Q?tHhH9LQk6sX2UpIDVsu94PMq9VQZXu9b/rDfagDJgh0qYUkzaH74xDkumw+f?= =?us-ascii?Q?vQEQrEq3BRHcK9U9gGgCpaFUwPV1JGI/ukzdPAM2QC5GBCDoVZJ/02rcVCV7?= =?us-ascii?Q?VTUYtuIqfON9tLa8xZltkyRt1Ssy+J5OyhfeAp66Tu2lpgM6EVxRXjb1/Ll+?= =?us-ascii?Q?ZrpjsKicLJX5J1NU3BgcFFC5D4mr0ESN33OCNFzvegf2Nd9Ze8KhkpJ/aS3p?= =?us-ascii?Q?EgKR6KyDUaqCZKEetUvTgxBSvY+q1MrItFtl3z57C4Xzlt6op4HW0gnCzFrz?= =?us-ascii?Q?PiYCYwXDJcMfyQABGcVqCPpDK7ZytYr2K6efWlxbRROCuwDRv+k3iuKyBMe9?= =?us-ascii?Q?AlseH1Fpb9cQVHEkip5TGe1ezQg5cC8iz2kP36auG/vCHrzLEj+iyka62aVg?= =?us-ascii?Q?R4sLE3cGrn24pP5hLnsd7NCZdsxxXGLau54FcPDVk/aA3BSx5u2EJPXmWeY+?= =?us-ascii?Q?EAWzhhERUnZIMsuUcIx3IUBa1BD05u1YDsBnAl6pNzcS/hur8V9QHvvsAJDK?= =?us-ascii?Q?KrKzsvnJ2KBRznEML2Q+LggvtBhOQomIFfdwnv8O+nvie4mAJMCfq7EpfRxF?= =?us-ascii?Q?pCNaQ7VwZWv8Keebrr0uEK8d9rMaEUKfg8j6cbEpYPKeDDCVhI+AYD/Vx+2N?= =?us-ascii?Q?GNeen04/muUSZYq1fDhoW/0e6gStDDQXu5C1OVzHMyvbUDBauqPgwZQqS8m/?= =?us-ascii?Q?SzVe6qdeB6e4zlDFbWOCpWbCIhoQk7VG1jy2dlVRrP6wWx1+rKCmgzqLKkbm?= =?us-ascii?Q?Zdy2dTVsCmhpmMbo8funDkdRWFeQs8YlCstohIg9nmmm0X32qHjJ1ydE20fd?= =?us-ascii?Q?2HsQlw3p46Qta4k+iFXweyxhqh/SobK8fWFLxXwnSgYJ0FChHGEPk11CT7Pz?= =?us-ascii?Q?UgTdEUVElay4lmCu6iXfyqmLctjjYqgYsdoAwm+oX8Gm0zcM7fXz8wajAEML?= =?us-ascii?Q?W49a4xROlk7lZ3/yagnXs9eZi5BV4zB45A0zr0go9S1O5uZW68w3gZexghc7?= =?us-ascii?Q?56DW7ZHL+E8vsyRE3PSfHt5CGGuyK/Fsakl0QSiFtPCqiEPSTNLjEnkh9sgs?= =?us-ascii?Q?UDGU2tZwmWmmhcy+6gs8D1RrbDyFrORJ1YsWbHHuXOpB6oB2hCI0bcYheR+c?= =?us-ascii?Q?xRt8pTmHvIZHsqxQweCHMPLsBI9G77Jw62fvPaT8OCoE+viSD4VkIVadxmES?= =?us-ascii?Q?FeqzdquVwiVp3Jpx+DeRFKmqUg+WKOYY5FC2VKG1RTZ6vlzpw8h9q66EiJpA?= =?us-ascii?Q?gaTpo/piarUXgRMs0kafiVLBVb9eBEC6FAPrucFHbEC2teElaOfW9/dZcBVy?= =?us-ascii?Q?x2dcZOXgrXm8iNTsjFv/BDqC4suLlwcmaPKA0/wNXWYXxrcIYzzRiGl6TyUr?= =?us-ascii?Q?vM593/g588b1pF9gN6PCgv50vRKWR4SDRCxG9Dq2bmAFM3BtzwUUm1MxLll9?= =?us-ascii?Q?84KfuPrVc04na2Tdh1eks8UpqRFpbkYLZf5AvB3xQKM5SUdrfrhb0XOH7rYF?= =?us-ascii?Q?xAZG6/HPg93seTfbdlr8QcpioVMxF1wi+ILMvvN3pndDUmVr0CfW+mEx08cX?= =?us-ascii?Q?LA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6d8239fb-2aa9-4df7-35e6-08dbe02722cc X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:51:29.8204 (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: mo8ed32PWRNdXmfo8v8QdJu8N51CKTGST5CtJuUB2fCz4Ej/N2cqewfx+ug7tOcfOD62/yqxAKTgzHMC0kDk3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9846 Content-Type: text/plain; charset="utf-8" This patch adds a new helper mptcp_userspace_pm_get_entry() to find out the address entry on the userspace_pm_local_addr_list through the given address. Use this helper in mptcp_userspace_pm_delete_local_addr() and mptcp_nl_cmd_sf_destroy(). Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 58e9ba51ad36..71c47fca375c 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -39,6 +39,20 @@ mptcp_userspace_pm_lookup_addr_by_id(struct mptcp_sock *= msk, unsigned int id) return NULL; } =20 +static struct mptcp_pm_addr_entry *mptcp_userspace_pm_get_entry(struct mpt= cp_sock *msk, + struct mptcp_addr_info *addr, + bool use_port, bool use_id) +{ + struct mptcp_pm_addr_entry *entry; + + list_for_each_entry(entry, &msk->pm.userspace_pm_local_addr_list, list) { + if (mptcp_addresses_equal(&entry->addr, addr, use_port, use_id)) + return entry; + } + + return NULL; +} + static int mptcp_userspace_pm_append_new_local_addr(struct mptcp_sock *msk, struct mptcp_pm_addr_entry *entry) { @@ -100,18 +114,17 @@ static int mptcp_userspace_pm_append_new_local_addr(s= truct mptcp_sock *msk, static int mptcp_userspace_pm_delete_local_addr(struct mptcp_sock *msk, struct mptcp_pm_addr_entry *addr) { - struct mptcp_pm_addr_entry *entry, *tmp; + struct mptcp_pm_addr_entry *entry; =20 - list_for_each_entry_safe(entry, tmp, &msk->pm.userspace_pm_local_addr_lis= t, list) { - if (mptcp_addresses_equal(&entry->addr, &addr->addr, false, false)) { - /* TODO: a refcount is needed because the entry can - * be used multiple times (e.g. fullmesh mode). - */ - list_del_rcu(&entry->list); - kfree(entry); - msk->pm.local_addr_used--; - return 0; - } + entry =3D mptcp_userspace_pm_get_entry(msk, &addr->addr, false, false); + if (entry) { + /* TODO: a refcount is needed because the entry can + * be used multiple times (e.g. fullmesh mode). + */ + list_del_rcu(&entry->list); + kfree(entry); + msk->pm.local_addr_used--; + return 0; } =20 return -EINVAL; --=20 2.35.3 From nobody Sat May 18 16:18:07 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 2CFC81FBA for ; Wed, 8 Nov 2023 06:51:37 +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="oFu+jOEM" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Fmr4YYfpIpwhxktcpfUW6h6T6YKqCv0zAXo9kMSE++cGp/yOgV1qUCLMsFCpzsqVkA7ftfrfdRfP/NBHUarrm+J9+t/XBBR+1SYPGItQErGvDLy/mtCO5+kxaVBwBilOGMW0aAF4knmuD8H13ogHtmEDBeIf6f4aRL0tNA1jRMHb8YzLkbEbnP/oWKzKGcagee6Nq2v/4+rzTO2pRzC6rmsYNaJuVvcmTVD0E2HdD+tL9SV4IuV31Ep4TNAGIuVNT0HW/RXxptl0zPQGvt4enQ4cyvweOC6S6/lPYJMDyc72jkU5YYMFfvPXFCkAfRg6cLezaoyOSr+PtITMyQsEdg== 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=cF+z6uN5edzwJWV7abOzpoi0PldDrgYlJA7x5/etgv8=; b=Pj27b6B0/niJg1QpsZALuyGmzGvPwfmaczJ3sYvWu6LSuNUDN84YtkxgNU1GhwrNdUUFG1U+oupx0RkMxXFm9dFX3erun90rcQomGmGapd5BG5fJ9AhMoBd/aJkZyewRtd+p+/LW8AURRF9aZTpTANVG/D3BUkQEYnM83hAf0W3Ihj73yJH1278zCni64/H7wxnJhZ4bXARh+MIcvUK0KCtCBIlvluXIpRzM98ySFUNlnkYAUbd1eM4tUXYFQOR/9udkRwm750ftQQGF+jaYZByKHMOuKvsXClPKrAM/oBZoQOE0aLzCTwR0q/OkQ4gYu08FNIURikA08WyBGTt/UA== 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=cF+z6uN5edzwJWV7abOzpoi0PldDrgYlJA7x5/etgv8=; b=oFu+jOEMDWasfIvBPfDp62CFILA3DJUQkxCDHwNbxE2G/Q89yxNHHVAAABf6DYyG9z7Dlm61kDF3mr1MRLC5guhC4dYeQFgSWuvXraI01kzXLykIxhujMR0wyedvkd3ThjaSQ4C0/z52XKDELw/yxIPC0Ote3fxOOA4UZnulQLZ0DX4Pa4oilfktbjA5nfsGGajAhanQd6TApUC+ImFxum6RvJYSFDsjBQeKackQIgRRtYrfgmHXtLIJRGTg59D2Z+PhYBftA5BKacx583vbLHuFLwfEQAZlvxZaxnRA4JGtFTW6INbkOxks5Zwrj2scAlWRtcZH4wyj32Wj0eA8PA== 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 DUZPR04MB9846.eurprd04.prod.outlook.com (2603:10a6:10:4db::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17; Wed, 8 Nov 2023 06:51:35 +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; Wed, 8 Nov 2023 06:51:35 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 17/22] mptcp: drop addr_match and id_match Date: Wed, 8 Nov 2023 14:49:47 +0800 Message-Id: <7aae46b265de86e0e419f8c1817d93c88c5c9350.1699425895.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0109.apcprd01.prod.exchangelabs.com (2603:1096:4:40::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_|DUZPR04MB9846:EE_ X-MS-Office365-Filtering-Correlation-Id: 36471312-ec5e-4c9e-46ba-08dbe027262b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xX+yaP8XU1l5awy5EXmr+zFzDZ7ova0sEHOz8lf12kRiiQg/9h+LCqw/Zd1IoGPSKRkJkPlOavYPoQVCP0Nv89BNIokqQE8cXFTC2QDrhrm+aNPb9I9yc7fljdENiHvF5y1KNxT9ASn5JqfQJcv1vjNEdRPKpKE/yYZfZjyjskeAng4FslXmHgluOwd8bgbmHemGafFRQamImdSLOk4hCyy0hQw5F6P+oagJGmFVcvYLxhQlKJHtNaLh321+G3xcgfI7wm6F29iCHUcJcW1X5kyuwEA0ld04sFubAhmeFTieWuE3WMf9d3LIooDMsm+T3H+cduYBCQQrl9Lz6H96+03D8Rzi6xyg1tTmHeDUYKz6A0qIBMqWt2nZsHLWk++hR7uXmuQWn5bHdI5DEYKAkLcv1z9l3h/F5oO1pXO8TZOqOB7EEDky9QSjaNmnrBUgP4OpUEYxT6+Q0KTU1q1uluzLsISuDAj0KARf47//rXfsJJJjsoJfgA/QiwT+uZUK93vnI57KsmcORzimSR4jpvi6wd9MCjCJ4Tu5XtT6aMdZZbknKHpxJjLqVrm2o2cIPJ/hHb7hm1lhX0cFU0PjXQNkrDmkp4LYzojZj2lxOB0= 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)(136003)(376002)(366004)(396003)(39860400002)(346002)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(86362001)(8936002)(41300700001)(38100700002)(8676002)(4326008)(6486002)(66476007)(316002)(6916009)(36756003)(5660300002)(44832011)(2906002)(2616005)(66556008)(26005)(107886003)(83380400001)(66946007)(6512007)(6666004)(6506007)(478600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Um2j3ZEz/yfQupt0I/klDRKbrlMRHy0LwmFWWHL0H8JUBYp3NO5vLC51Qjp+?= =?us-ascii?Q?sCxcDWWhwKTBddnh/IG5mkWV/l23zRqMaNbgjb78UDy0IIm/065VsZEd0b22?= =?us-ascii?Q?GsWQ5bhU77TEzXI3kwatXE+X+DjiAS//VRMYaZTXjm0gbcaUd3P4AqpGZlJV?= =?us-ascii?Q?gJ5YYFzb6eItUKIuRYzunoBTJusUxb6fjT8GEBaQV1fSwhxdXM3y6iPV/DW1?= =?us-ascii?Q?A4EoyNLBwMffQDYIInoHlbY41RUblT9AptWHHMElPbDyuqQPAOZmcp+civAx?= =?us-ascii?Q?8UfM8Ixffzk7cBokNqLYIGYmqKTDxd9lT8WamGaohdSdffWFm91Hrsb2Lr7u?= =?us-ascii?Q?8uk18ai9i3LYHFCiBeOrQBMppi6PR90zTvt666EhxiycArhxkRVLBDB2Mlom?= =?us-ascii?Q?9G2GpA+nI+49jWtSTFEInufrA9IS34eByy7b2IwyA3VTFfzvuaP0MGswfqC3?= =?us-ascii?Q?5WCaCQm3FhjckqY2Ja/waPpJ6+7KkwGcikSHcJ3QQJ59oD135WX9yRDUYE20?= =?us-ascii?Q?4EHU42WayZbliX9KJenhI5ajXymUdxiG/68fx79zp+siPhJU7cdsemXJmnSz?= =?us-ascii?Q?6V/l2I1WbwlDdJUGM482os0kh1U2xaMuAAW56esy1HV9L2lxLA8ejPruZs8W?= =?us-ascii?Q?0jwbwhWe8so/8AXMu+0zoFA9FAYzSprnCLj2itN/5yJkmNIlKADU+f+Pdnuk?= =?us-ascii?Q?zbA+d7KpnQqFFQD0vN0d9CGnEnOAyYyigs8XsPli6O47tH/30QCJBBerhwU9?= =?us-ascii?Q?pYm0ypzyD9IoV2GiNbtn2VfOalIzUC9Vzqn7Wl7EvEZ9pkC1cB1xYtQhKwH0?= =?us-ascii?Q?EAZwySss8OynNJ0lLHbWwwtVHtcryoGjE2j/EEDRwj5Mu6uQgEYqvyUArOkX?= =?us-ascii?Q?80pUYkVXTZE2YMM7AxziojbZRd2XNPDl7zB2RR1ohNdEZHcpM0KKLhLdKhBf?= =?us-ascii?Q?a5Y93vQX0BzRJZoABLCiOoLdEDCJ84HoTkztDABze/XeCxbGVC5lZSFQJC/h?= =?us-ascii?Q?t6mLHn87u8Fp/7Jyq2x9RvwCVISfx9g76NhQN0ovdZFV+cHm1J16bLqfg39I?= =?us-ascii?Q?bH0fFffv3t2O+BAQd2Brm4CDLIh7CBY+pUmcbxcqzF+XCHt8TkhyFXnE9vzR?= =?us-ascii?Q?19SMp5k+TEPKiDErsrysYGc3jFyCCVIC5AfBUCDco4RFvFZVrkzf9opKCgFB?= =?us-ascii?Q?zD70QIQ5W1MM0+fDzmzpHYadBUEa9KOK52kfyY8rS6SK29zHRw82TdOZvAYg?= =?us-ascii?Q?ftgC5iCeJY1I/AVLg0Ojzf3VcLQiV3d4zUuB+kK7aYmm31Df2SheZIgVhJTH?= =?us-ascii?Q?6OAbHF1HR60oxVdAwqjHPW+lLvBNZ1Snpsas8Ddt4tlXR0keQVbzh2D/UB0H?= =?us-ascii?Q?zcu9xzbI9KgWXtSdGqOvBArzh80yMXDk+iLWymkwZ8aqqCGs2VLLE5Bwuvnn?= =?us-ascii?Q?xJZTqo6O9QdI+iG8DVI/B78mi/ylKHYAh0WV+eIK7/M89N8BLSrLq9dGpOoD?= =?us-ascii?Q?D7CRoKbWnQEl2ETZtHk+a0JJRjjcbtn5uDBqLIULcjIKwV5sOMbLIhuu8FAA?= =?us-ascii?Q?XOyZIsX8I/WJYd1YbQfUojYnDWx46fyhmeOjBDGoaEYseI8J762/UQYmRLv9?= =?us-ascii?Q?kw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 36471312-ec5e-4c9e-46ba-08dbe027262b X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:51:35.4821 (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: Nn2aSh0MPvipNtHrrF2tbLVrS73gPVVmKyAusp7dmDQz0Hb36WtwqXYMDU8B1tN/dPtgQEzg5LUOIn8590IvbA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9846 Content-Type: text/plain; charset="utf-8" This patch uses the newly defined helper mptcp_userspace_pm_get_entry() in mptcp_userspace_pm_append_new_local_addr(), and drop local variables addr_match and id_match to simplify the code. Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 71c47fca375c..994f2bfd74be 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -59,26 +59,13 @@ static int mptcp_userspace_pm_append_new_local_addr(str= uct mptcp_sock *msk, 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; - bool addr_match =3D false; - bool id_match =3D false; int ret =3D -EINVAL; =20 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, false= ); - if (addr_match && entry->addr.id =3D=3D 0) - entry->addr.id =3D e->addr.id; - id_match =3D (e->addr.id =3D=3D entry->addr.id); - if (addr_match && id_match) { - match =3D e; - break; - } else if (addr_match || id_match) { - break; - } - } + match =3D mptcp_userspace_pm_get_entry(msk, &entry->addr, true, entry->ad= dr.id); + if (!match) { + struct mptcp_pm_addr_entry *e; =20 - if (!match && !addr_match && !id_match) { /* Memory for the entry is allocated from the * sock option buffer. */ @@ -97,10 +84,13 @@ static int mptcp_userspace_pm_append_new_local_addr(str= uct mptcp_sock *msk, list_add_tail_rcu(&e->list, &msk->pm.userspace_pm_local_addr_list); msk->pm.local_addr_used++; ret =3D e->addr.id; - } else if (match) { - ret =3D entry->addr.id; + goto append_err; } =20 + if (entry->addr.id =3D=3D 0) + entry->addr.id =3D match->addr.id; + ret =3D entry->addr.id; + append_err: spin_unlock_bh(&msk->pm.lock); return ret; --=20 2.35.3 From nobody Sat May 18 16:18:07 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2087.outbound.protection.outlook.com [40.107.7.87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DD0411FBA for ; Wed, 8 Nov 2023 06:51:42 +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="WIj/kOjd" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YGENqS3Xcqj4GE5myT8hYeMED46Dk4yErYB7+Lgf1gonD4aQY/TS07f9uXHhAwlXCO3dZA8l0cKLmPAscDrVwslg8OK1ui/dW26AzQYqNaR1GOboeAHD8DmIk63uckpt/uCIHZ0fgRuhFMjhJAvvdRjBUPB5LxsJEEjzNoxr8WK7bu4Ve47o1PrRSNjo0JEUUDO5/4kIdN3wW3MyMUr1wZ0M0lXizKFGhXJrteLy45ym+3r0sgvz0AwZQoKWhwJZEi7f4eQ4y1yH2GjLlWOdoPddOtzX27d65kuFDsPzdAzWHkJs3ETMf/jDFMQxs9sXhVffIzXZ7tcai12LcpK6Tw== 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=J485LD6uKpdHPTqbfvU4+R1QI2ujw737Dz5rD9eL3hQ=; b=Kv3JUMS3oiVRw7qbU5Iz8eYhbzVttGCWhOHxK5MQzNcaF/FuSdixkLie4qFdmGirbakO1ybbTzejHzkcjmoojQ4fB2UPecLHrnwDH+LaGeOkJsIXj9HfTLH0O16+FxAlGB+Atdx/MDvcYBTP5VIw1ZVnpBxcQ0GMtKh9ENqeSMH3YzuxDCApNvnf19q0khrJelJSHYHWYmoZocG7Y0w8FnOjGzZcwbFHpnT3kGYPHzJEqWWY0izEBJLozGzdTysCjwIzcQl2e6g1iZgPYovpCcX4UXDhNZvSDbgIRYhOF7Jz8gv24FC9WwvP6cuEUe9vyyTcyIGBf0n73gUdxtauMw== 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=J485LD6uKpdHPTqbfvU4+R1QI2ujw737Dz5rD9eL3hQ=; b=WIj/kOjdWXcsuswJHStcArPmADvHB7/gxh1mY1rgmKdA6sfj+jgaZlvwkS7bza06sZgN6dJ0U4pLXSYO2KoNO2H9O5TPGCqsQYZFu2T2sX3jMbNyp+AdYxbj+2jPsjK9DM2nHX3IF/yx+2y0vZWL4knuKCsGDAG5gG7rWbo/6fNC98v4xzxnQk8YCGJan0cygV5mUfvBF7cyg/rXa0vGpy14a2hO2P6NSWlEXv4zveC3mLRYdfMdS27dclwZUFTui8hH0GRrgcO1z4GUBQxB3k0q4gMBaGQuh4o37/22320TiodlOq5xbVhjadiH7HpVo6dQKiZKZCoAcpnOX8BVWQ== 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 DUZPR04MB9846.eurprd04.prod.outlook.com (2603:10a6:10:4db::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17; Wed, 8 Nov 2023 06:51:40 +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; Wed, 8 Nov 2023 06:51:40 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 18/22] mptcp: dup an entry when removing it Date: Wed, 8 Nov 2023 14:49:48 +0800 Message-Id: <55952ffb86167826e5830ae6b93ab716bb58a242.1699425895.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0122.apcprd01.prod.exchangelabs.com (2603:1096:4:40::26) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DUZPR04MB9846:EE_ X-MS-Office365-Filtering-Correlation-Id: 7d8ea404-c6b7-46df-bff8-08dbe0272910 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zgamVawMeyFh9qn+4CohIGaui3rHfJv/6G6WVef73afpQ9xxncYy/mnmc3Ac6dv48WU5gkAQ5rhUC8BvNm9f1hPMC3IA1avvuBwnab6pvmeQTSLuqn/qAJGlzYO+pL6zuHNXyKujzEUquEXfmJgL4q0TsUknZRP5v/PW2vJu3YXWrUlO56UlzurZ5fWoKDrb6NzOTSTt8rskQ3vaOY4056I+1oin+NNmIUohGMy7v32e7OnJ67cyzpFJoSaz0AIZZsm1A/ptMn7IdiNb4NmJn5I4340vJtIzTMDMa/VpC5yd+yx9XyJkwqiNg3n6kEvncq5isUR3A7cqCmkMXY+7kkX5/Q+jEfYyHvASubfnPKbbUWWHUM6qjwA2hKQbxQHvT2HNnQSVVWKNz5vmvPGiUH2QreGOrY/7HDFYwopaSQe7dT+G7jmU90uuJzAKpXtJ5jG89YFp99CtmOdX+/mK7zXloLCH+FMGMY57fqciG+Q1c5DmXp4za/TEme1Ow+fZkaNmVt/haaTsPfmw8avzgZRnweacC3V2illHdr80AQ0invYjrkSMqhKt6zP7992/YgipSY7F64eaUl9Wmh+CeMGaI+NM1SF8GLC7Rq9GmTw= 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)(136003)(376002)(366004)(396003)(39860400002)(346002)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(86362001)(8936002)(41300700001)(38100700002)(8676002)(4326008)(6486002)(66476007)(316002)(6916009)(36756003)(5660300002)(4744005)(44832011)(2906002)(2616005)(66556008)(26005)(107886003)(83380400001)(66946007)(6512007)(6506007)(478600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?5yZ/U/gBGWFXvCIf97LT0crx7BStvEebcpwbgORqHT1/PQhuR5SJYUcdgyyT?= =?us-ascii?Q?/qcUsaOQC2pMOr5g6Rp+JcUbsaU/XY8JdbrW3OHX27hwyhnM4toCsK3CsajT?= =?us-ascii?Q?GROe7ajbXk3vWhqbWJlnPr/xMgsWlBa/KhkaAHMd9WNH8loJv+cnp09nds1m?= =?us-ascii?Q?muAgRBLFIVGa0R+BDUHgnzqGLatczFvdMRQ9NrktRaCCiKTglll5/jO2sMcy?= =?us-ascii?Q?xddCS88suqf4xSJoa3LTsyhsazm6nqMUzJ5/bF3sz3eYeF+F+YBO0jYVM5xC?= =?us-ascii?Q?0VpZcdSvWAIc7PH1up7X+srdE1sCiP7e6RgaNrI0EyWlnmvETrIp1Aw9kefD?= =?us-ascii?Q?sGVLbZ2jHRK91qLwSsKEw3/KTzBiN9o2Gvv4yFBUrmwmn2q5w1691MpqhO6x?= =?us-ascii?Q?x73qiMDaE1sqACXwkwS7ALiM2kDRJXuSBeuupft/n60kxdygReXPObCefn8Y?= =?us-ascii?Q?taTIJpvNdpUxjYajPWv7yHSPsJwd2vl7STARaRise+MgxxVyn/8mHmffet+0?= =?us-ascii?Q?SKa+NLXQZiCUi5VvjK2IvGaMjzituAHLXYuzlrwNffkvWlkweEXoTsn0byno?= =?us-ascii?Q?7dC2RYGuWqFD81uSX3mHlh20IF2BYVSHZ37DBqPBnZgaIZmiWfZGv4AvkpPn?= =?us-ascii?Q?C5ZPCAFmJVDKaZxuuomSDqBPGpKsQW1AKeIOFsB2Az3hCZp6cUBgMR5BHzL5?= =?us-ascii?Q?WLM8jzi4kZWDQKmEj7zrhPJUEYtBhHMNkWkWTkRaoAeh+7xoAC+8huiUqD4g?= =?us-ascii?Q?GgmIvNpTqjJ1a6I7NXwHvH/9QKP+5cSSllBB2tq/REv4JdV8n7kWqe9NS2lp?= =?us-ascii?Q?vlzVYPqHnyERP4ELf1Nc1G09zf8lw0QFtaXzap4Z9+MvajDduuh4ZnsJfhdk?= =?us-ascii?Q?azCzUNXG430dhQ3Wv8e8ok838q1tXRFkY1P+3lVCgD2ZgwW9efC11EaWHCqX?= =?us-ascii?Q?JpvQUNllZkbVeZ093QG6wYWO7tcpuHfwIOhGu5Lv76CFRvIgrYll2m0ebrVQ?= =?us-ascii?Q?GnYJb5RsbJcqfpSO/yNWgdI/LjemRISxhKXgP1WqNxaZx7EQwPPMuxNnEDPx?= =?us-ascii?Q?0tbuYxwpBl3paIsrGMXPFdcYhOqHBshmDpWy5rWctdyifg3Kq/Uedb5IRYO6?= =?us-ascii?Q?v8FwQtQAFN7FELbVZB/Yn2fTeS+Jiusn4loMSI5kWboOmLAJ5Dl5MqE2psrI?= =?us-ascii?Q?DOj4e4HH7+mzH5QCthXml4OymZJk7DeSBgvzPuRRG2ANTmZAdrmGtPg7tGaD?= =?us-ascii?Q?Hp0dNTVUXvv+ZeoGCSQhx0GVfgBQr88QxroafLMxWpGzKUyZATMkMXvUFdRC?= =?us-ascii?Q?B1jbQkAUN12zEJ1m3lYhT3DJgo2WoYit4MwizHgXweJTa2fGkafOKXp6YM1D?= =?us-ascii?Q?Az56657S3eFNpHzedIMym/yzv8XL96eDrTATiuSXguQK/KRizUfZ1S81L7Lo?= =?us-ascii?Q?18lMagTzMWcq2NdovKiFo3ngN6NVth+MfC7wGDbciqTL+GrPTxlV2i91SG0S?= =?us-ascii?Q?VbHubxxwVbUixd58sGA/J44bCIXN5CyaK3NUKGcx0LW+95MRY20fWY7Uat0w?= =?us-ascii?Q?EJlbHbTpvO8h34iX7E4ZwVdAIzzfsT0T/FgScaGfbiEd9pXRNTQkluNiPP4k?= =?us-ascii?Q?Pg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7d8ea404-c6b7-46df-bff8-08dbe0272910 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:51:40.1388 (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: 7QYRFwzHVfLWntLAmvk4ASywMSnsZtssJ1jVcc7BRm3X2TNE87Db0xGQ2X8f2YMQBnZJhw68T1CXjJxTuI6L0w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9846 Content-Type: text/plain; charset="utf-8" In some cases, the address entry does not require free. This patch dups an entry to separate the deleted address from the free address, so that the refcounts can be added later. Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 994f2bfd74be..e2f11e821214 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -303,10 +303,18 @@ int mptcp_pm_nl_remove_doit(struct sk_buff *skb, stru= ct genl_info *info) goto out; } =20 - list_move(&match->list, &free_list); + entry =3D kmemdup(match, sizeof(*match), GFP_ATOMIC); + if (!entry) { + err =3D -ENOMEM; + goto out; + } + list_add(&entry->list, &free_list); =20 mptcp_pm_remove_addrs(msk, &free_list); =20 + list_del_rcu(&match->list); + kfree(match); + release_sock(sk); =20 list_for_each_entry_safe(match, entry, &free_list, list) { --=20 2.35.3 From nobody Sat May 18 16:18:07 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2080.outbound.protection.outlook.com [40.107.7.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 482FD2CA8 for ; Wed, 8 Nov 2023 06:51:47 +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="K5S3F89l" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e9KDdTMLINMGjXv1FICNbDCVgMxDfIUBQnesT7ZknumTVDzdGTd+W2qbFoowbq8QkW1Y0wdNv2b8M+n1m64fbblVl+i7xN/Ij3eGpaWxb9UCI4dikBgiRRz11iISD7yY+aUWvPbhrqyWZD18OACmO01TO7sO0UlB6RzV3NqlOrM0Q/fPEwZ5o2PD++2R5uxRigncu9Zaf28dyA3hxI58/24CFkLNx0K66KtH5BTUMSYNDx3HUJ/3RN2PJr54j2vVGO+6Pmevc6EsWSsGGpR5bIIx/dBq7Cb9SFNxrBtKu1ZC+msMb9Tt+qMwKdWvJzJqmZu7GX93nZXKoU7ZTiGaJg== 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=6+27DnH6uO6vqX84r/9aSY6qVhay0Gh8UVPXxzxQDxA=; b=hBM/2mdjJ+ZiuLPGAxOG2wC1lPdpNrbYv5Cu5q6W3U3yiGwElzfJIY533z/7Z3KcNp/q/v5QIuh+4vd12RqcnvIcxv0FjmPPdQswDDPfybCKGddCBPOzPQXFxgf3TNAIENcjcqHJ5Wdtte608gnsZ8qrPwvp4etAMBXjEHGCn5amB8JJiAqqq2dtPSdD2FmsrKsa39f8PHfTe+6m+YG9W/md++V1gedsS9oF4YMTkPe437DseCp0jSgwr0at/LHC6CmAMQFlxEIIXR83RxtLgByS+pBJzxFj5e6Xrbia6SE+rDySg1Y1GcAlBP0TD1eQlP1qSi/Z2VTxE0bpGrAgLw== 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=6+27DnH6uO6vqX84r/9aSY6qVhay0Gh8UVPXxzxQDxA=; b=K5S3F89ltSfb/B1YGWEfnImdFQHj2J8Vee9FjeTNGEe/cAAj6mqpp0rLyuRhWFq+wvxM5vNGxvbiJXXGrb1HLOQNE+oCvWn4BQc7vmRWkn0SoUUcKVA+p8QEKsixrSQFrVJ+Zxz+0I+hTRQCPGtrZce6SqPpU5G/rHOKrXpotinjFQ07bincfpLSAb9dS+LQE65z837EllVe1hxwLCpRNEOU1aUfj2WJbOkPRkpsfuz4B2kCA2t3xWvF0LY0niZVaxkLQafP2SMTOUc70oGg64DuUOmjNcd5RIj8SYpgSdpCOohJ8jOeGEg34MNMu7HM23tQVJPQPiUL/0z94BGCdQ== 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 DUZPR04MB9846.eurprd04.prod.outlook.com (2603:10a6:10:4db::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17; Wed, 8 Nov 2023 06:51:45 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Wed, 8 Nov 2023 06:51:45 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 19/22] mptcp: add userspace pm addr entry refcount Date: Wed, 8 Nov 2023 14:49:49 +0800 Message-Id: <2c497c2cb2f53151d0d824c0cb8cd342a36f85e2.1699425895.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0115.apcprd01.prod.exchangelabs.com (2603:1096:4:40::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_|DUZPR04MB9846:EE_ X-MS-Office365-Filtering-Correlation-Id: 1d0e8823-999f-422e-0f42-08dbe0272c2d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NAkUhxJL5Gm3neXsJzEZ4bYfVJa1lDhVUWkUjYmgy3h+63hbgiTiWPCqDXL8dQmBWXbuvSavT4DHa+XMi4EhnRrBy+nhjVdZ8ej6XnX+um0RLPvfN5ZIVhHR81h921ddbdF29A/fyTQypJ0Wb4Iku3vg4on9Ailb/DRmp7Fr8h5RGbah9yXDEBYjmBMMRgzaaK4EYnRHIxpT4kDR+crvQFaZIxjvE08faC6w1AhpYtPPT+RNDG3zA4f5OAoqRomEKdr/8hODgaZLQF/fFBCdClayUfhOxDgo33Uy8eYpP3yUOqyEKr7bKToYHnPuT9ISWHEYEBmSrDILLNuxA5wHPqIsvzJEqC1fCKOQ2XXwjoVX/lJGJaBPFN5MLORMqV2qHSxDWyYSYZocF9ApV5vbb4McI3W+QnSuK0RdtAqIw98RnL12TsC+zGC1jaaqh77H9nuTrQuJxW9beszf9wl0d9bMDuFAj0/SMvsec+bnZ9I5d2LqRS1ZVBo+7Nxde1VW5xIS409C3nO1Mm/8cc+LNcVMVmcCHZh5eT/leVfv15EsXCdCN7G6Eqigcv1XrNdKYRhiHqE4Cvi+k47nKew5R5vtxcjvS7VktdsJA0d9Pco= 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)(136003)(376002)(366004)(396003)(39860400002)(346002)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(86362001)(8936002)(41300700001)(38100700002)(8676002)(4326008)(966005)(6486002)(66476007)(316002)(6916009)(36756003)(5660300002)(44832011)(2906002)(2616005)(66556008)(26005)(107886003)(83380400001)(66946007)(6512007)(6506007)(478600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GCMgSnDVbO/jKar6tkKLgSiUNxmosTGxAoc08qss/MZYfPTj2TuBZ0jIqzos?= =?us-ascii?Q?cqfZbB1maEAKp0Ge/hFiu0hklQLboXWl6AdcrzwujGFzHfHJwa8eC6Bxv3I9?= =?us-ascii?Q?xVLz2v00ApbAOXb5AY/bq5FuNze5ShLxHIvm2RHx4bVKkSPbLXGice2t7tgh?= =?us-ascii?Q?1pyWSz9Rtl0tuI/6/VyCspcVWWT53vX/l0trUxExYGdt/ULkI/ZZ+/0k0RIP?= =?us-ascii?Q?U9Od7SkWFPDaU8Sb0qyS5wLAZhonWuz+ZAhmE+vB8X3MTuI3uoJnI1qDq497?= =?us-ascii?Q?LUHW/GaUBheCVS8XV8COZ8Dl+yR16WwU531HbOzOaj8z/mFi8LfESkY32Dma?= =?us-ascii?Q?Wz/h9kwwnV434PL8DKJRGHPWQoSCPJL28gqC0UM8n2szD7ZNxmNz/NH8iuip?= =?us-ascii?Q?ogMAHeD9rx2BsjdMoA979rvErO1aHAwxwnsPaPV0iM6e3vKw3u1rWxhiYKAE?= =?us-ascii?Q?RJ/n7sGmfZTiWzUVrJEt41RJO2MPlF3ih5DMB5C/8ZOXcLCdQu/SJIfQPmNI?= =?us-ascii?Q?hHDJountpEsPM9HZ0pyx9H6yHf4KESjEVZ1VpMHHNqvukUCLrR6Q+dsS71Xb?= =?us-ascii?Q?hlhGVJL3oabxpVx1gFoZCP6rF5GN6goqyjw0WHjbXXzQ3489o1/BIny8pb9w?= =?us-ascii?Q?PgPJWcFw6DIKkAqZsfsnNq5maIzm3xx1Y/x+PJFng3+C6dRtnV+TZDD/wVty?= =?us-ascii?Q?YiEW3qNL8qdJZ3Brf0i+BSR3sI4fkWcfKVcj/GS3f7kC1g7QRhl88pZd/r4U?= =?us-ascii?Q?AvpVrd9ZDMk6K2uxHqzUNNdUhFjAeui4HowYwkkKpzYZptIDYRwIY4vqusE2?= =?us-ascii?Q?aT30O09FqPrxRfooCBQzeZHm3i1ElLOAGekN9CZT3vpWNHmIYeKXAl4oKRAW?= =?us-ascii?Q?o5UMR9hkD5pJgECYZ1uxjXt5gSH9wGhLwniT/B+GrsTInJm8vJLLSZsho4ay?= =?us-ascii?Q?PRslMv+r2jV4Xs2S9LRmCyBGRKEFqGUwR7k3KSW8EIlZ5mwwCdqzIr4+1aBb?= =?us-ascii?Q?Ai4jszpkHnKETRZEixE/j0+ETgrdvxqMl20JLTB42Pp+w/cvG6t5Ov/NkVv/?= =?us-ascii?Q?hOWiFBidmtpS7p9h+pDpWSB2vvRr33G3U8Dk7dcP4/uGzj4EbY+ByZxmEMmj?= =?us-ascii?Q?Wwj6TQNd4ZGAVUp3oJGuqY8GHcVMYh3D8d17BxeN1xDs8mg9tvDxkwSgHZoc?= =?us-ascii?Q?sYFT5VrMHb+ifNPOqMp+Js2kgoTizUUwslOJjUhSXpsN9JhuhnXP4VKhy5IF?= =?us-ascii?Q?TUOgr219aajTzG5wH5rC6ZoIaxdDTEpdVo0Sp1FBlV7QQ+SNUCLDcKK6ev4e?= =?us-ascii?Q?IhjSo18zaViVPTSzQjCptYneq2jgrrAv1W42w1a9RipEoKEvftukEqSnwM5o?= =?us-ascii?Q?5loANbz3Y28uuIvsAkFMitYPy+QI7U4urre58gaFBHXQCPxoHR7wjlLf5ubm?= =?us-ascii?Q?AcZtLfIhylRjONzFOodbItBoZdm5QKXFdBKJgRyT9RBgZAWxcEOr6ZFd1UaP?= =?us-ascii?Q?JQzSHMLr8FJKH3A/8p470XWZ2svC6OvT3PZh12u+VeSVgJr6QHNAvIDzz7cd?= =?us-ascii?Q?Goes4wLwXQ/5qRVUMYlm+NNNve/UA/kAqW5/zZ7pG7lMkOlisDvODkvXUTIr?= =?us-ascii?Q?BA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1d0e8823-999f-422e-0f42-08dbe0272c2d X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:51:45.4620 (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: fFqw84pR4rHNnR8NWWcebijTkji4DB2BaVKEatjl94PBBJOLc9haej3dfCM9DzOcTOxHjo+zbx7h3ywxyP6I3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9846 Content-Type: text/plain; charset="utf-8" This patch adds userspace PM address entry refcount. Add a new filed 'refcnt' in struct mptcp_pm_addr_entry, initiated to 1. Increase this counter in mptcp_nl_cmd_sf_create(), and decrease it in mptcp_userspace_pm_delete_local_addr() according the subflows value. Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/403 Fixes: 24430f8bf516 ("mptcp: add address into userspace pm list") Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 33 +++++++++++++++++++++++---------- net/mptcp/protocol.h | 2 ++ 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index e2f11e821214..f93eaf1b2338 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -83,6 +83,7 @@ static int mptcp_userspace_pm_append_new_local_addr(struc= t mptcp_sock *msk, __set_bit(e->addr.id, pernet->id_bitmap); list_add_tail_rcu(&e->list, &msk->pm.userspace_pm_local_addr_list); msk->pm.local_addr_used++; + refcount_set(&e->refcnt, 1); ret =3D e->addr.id; goto append_err; } @@ -108,12 +109,11 @@ static int mptcp_userspace_pm_delete_local_addr(struc= t mptcp_sock *msk, =20 entry =3D mptcp_userspace_pm_get_entry(msk, &addr->addr, false, false); if (entry) { - /* TODO: a refcount is needed because the entry can - * be used multiple times (e.g. fullmesh mode). - */ - list_del_rcu(&entry->list); - kfree(entry); - msk->pm.local_addr_used--; + if (!refcount_dec_not_one(&entry->refcnt)) { + list_del_rcu(&entry->list); + kfree(entry); + msk->pm.local_addr_used--; + } return 0; } =20 @@ -207,6 +207,11 @@ int mptcp_pm_nl_announce_doit(struct sk_buff *skb, str= uct genl_info *info) spin_lock_bh(&msk->pm.lock); =20 if (mptcp_pm_alloc_anno_list(msk, &addr_val.addr)) { + struct mptcp_pm_addr_entry *entry; + + entry =3D mptcp_userspace_pm_get_entry(msk, &addr_val.addr, false, false= ); + if (entry && !refcount_inc_not_zero(&entry->refcnt)) + pr_debug("userspace uninitalized entry"); msk->pm.add_addr_signaled++; mptcp_pm_announce_addr(msk, &addr_val.addr, false); mptcp_pm_nl_addr_send_ack(msk); @@ -312,8 +317,10 @@ int mptcp_pm_nl_remove_doit(struct sk_buff *skb, struc= t genl_info *info) =20 mptcp_pm_remove_addrs(msk, &free_list); =20 - list_del_rcu(&match->list); - kfree(match); + if (!refcount_dec_not_one(&match->refcnt)) { + list_del_rcu(&match->list); + kfree(match); + } =20 release_sock(sk); =20 @@ -398,10 +405,16 @@ int mptcp_pm_nl_subflow_create_doit(struct sk_buff *s= kb, struct genl_info *info) release_sock(sk); =20 spin_lock_bh(&msk->pm.lock); - if (err) + if (err) { mptcp_userspace_pm_delete_local_addr(msk, &local); - else + } else { + struct mptcp_pm_addr_entry *entry; + + entry =3D mptcp_userspace_pm_get_entry(msk, &addr_l, false, false); + if (entry && !refcount_inc_not_zero(&entry->refcnt)) + pr_debug("userspace uninitalized entry"); msk->pm.subflows++; + } spin_unlock_bh(&msk->pm.lock); =20 create_err: diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index d0eb7b84a262..3093766dd224 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -8,6 +8,7 @@ #define __MPTCP_PROTOCOL_H =20 #include +#include #include #include #include @@ -244,6 +245,7 @@ struct mptcp_pm_addr_entry { u8 flags; int ifindex; struct socket *lsk; + refcount_t refcnt; }; =20 struct mptcp_data_frag { --=20 2.35.3 From nobody Sat May 18 16:18:07 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2088.outbound.protection.outlook.com [40.107.7.88]) (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 5704B320F for ; Wed, 8 Nov 2023 06:51:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="R8yqTDhq" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MmuArMCOuuNO1ouafdalmaoARFPO97zioRqRAjE1EuzABZx3RyahO1D9EAhdTw6oHJ03V/OPMbCMFkQFDWLlTbb9hIsCsH5VVEg6YarrIJGXCdaWLu3y3fMwuqa955cJLA9IK9nduiWKafGdMgb8z44yCOZJrFa8ZUAFguAoo72nk1R+mTi3LiyoW3/4fw6i5HaavH9pzwozjCJ8URPekyA+RrgklwIbt1FJAIIO5TRxKh5LAf1D/Tt/TP/Uyj63QMdug0fiWbedkaJlYVEyiqPHAyCuKppUiSslc/3vpy5TYXaUgpxVjKsBUhk0+hkJHDUPsNJFyUUlSiAwO5Ofpg== 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=6Z/jSx08fqckMH8buLmDXS6iDsvH1tOIz7nXEcKGUHI=; b=kMa/YOHlRUKSn+q1DdlAPgQLEBfAs2vjYd21t2IvFeg3Hv43YbEMhrKRlSqjgHatzOPcIAHqIO6TWXEXQgrbTNMYE4qta35vPkC2LcyeNBDTV0jO/6w/KSms5wyLLLNX4wwZiDrdlcmszeggCeFWrRpA/Kf1GUzscY/bxbbX9/3ggzNWi3lNqVR0Wi5Y6ArNKk9DjFLzZJxLCw/9EF91+bTgAgLHRXa2wxD0SCC3zF9tR0Ir1UQMKqblB8bHdgOR3Ga+DwcTE9ltY196u2AOi9qCqtwgTa0q7uRK1BKibMpStbNje7DYxui+6ZsO1m/2T9rguZ08K0fyUz3xMpHI1A== 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=6Z/jSx08fqckMH8buLmDXS6iDsvH1tOIz7nXEcKGUHI=; b=R8yqTDhqou5xuMeodelQ1wjYP35nYfNqjGfnWThrUWq6ihmVrD/p2X1Fza9aOn2AiJLMK4l6a5t0FURU8H9bSJjpFmOUHLoDmR0LVcdwttptYw/oG7uznusg+/+Kngp3qtns8UvW9PAs/fWOFCuUXczexTv2AjoQz9mnAZjiIhZ1UQMDdAM29SQPKYy8i4l0af5SMfADz/1F2/Nq1HFdaoLlvklMiewGTuk/k0CPyJ1joMStS2qv+AQiK64eeLq3DHsNWn/AI9I7HU4/GER+dOqF7uh/lH0YynHtaHfjpAjPnZonnqFF+sM+23V2sYgkAKLosScl8qTol3CRZfmwMw== 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 DUZPR04MB9846.eurprd04.prod.outlook.com (2603:10a6:10:4db::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17; Wed, 8 Nov 2023 06:51:51 +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; Wed, 8 Nov 2023 06:51:51 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 20/22] mptcp: add netlink pm addr entry refcount Date: Wed, 8 Nov 2023 14:49:50 +0800 Message-Id: <976e56b3ade5a20701cf2ebb2653eee2bbd33443.1699425895.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0120.apcprd01.prod.exchangelabs.com (2603:1096:4:40::24) 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_|DUZPR04MB9846:EE_ X-MS-Office365-Filtering-Correlation-Id: cf4c3048-3b6a-455e-a967-08dbe0272f95 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AB6AKl9ZwipYzHIkN1+0N1nCFstRDq5L6UvQ1XQRWpE0Q/qfZzlicmwMPchJN1VVl8F1uTHyrvMMxHXH38EUENiYgyuLmmyCw4vD+JjIsbftRkpn+wwGdyApYoQ68xlkw4TrDF0CkvjeCAaVXih5zVF0Pr4INdCPB18gBlBTYEkPmUKpjJmjLnz4NOYonzCu3ntJE6zSsdBh+Gh0JRZmj0e35HzvlMydZNo9Rzi34VnB++5zfWg8/+DXdhowD9ri9/t9JGOeO2lIGhN+cr2Lw/cvR3bE0xXaH85fz8798wIDq/Byzc3mGO3gXmY+dv+lG4PPTNXBj3wWHcLWs/d+OKDA5INTREIH0ryWrLp3JRRkmIOKM17wv1RHrqAl62uTZf7TJM4S1heea5yelRw+FQxXXFp20d/yLQ9xZdAswJkzDOOgX2/u9FK1uz/QIKa1N4NN7cmwmYQL9ttIpFgLfoE9xtL+NDuZKo8u2op4dns14Rt6fFD+9xbzFGeZLEN0Hk/Wx588kdCn6wLztZtEIpapdq1z+6V0aQ6xF9IznVbfB/hHsXx7yem1+ZeDsICZ0Li4uSCcwmUwLotHKYsK5f6ksEG+G6KPpGXkniP9cd4= 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)(136003)(376002)(366004)(396003)(39860400002)(346002)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(86362001)(8936002)(41300700001)(38100700002)(8676002)(4326008)(6486002)(66476007)(316002)(6916009)(36756003)(5660300002)(44832011)(2906002)(2616005)(66556008)(26005)(107886003)(83380400001)(66946007)(6512007)(6506007)(478600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gIZUzllO721xcuNuHFiiiX6MEsH5dAcGjhEytOGasuZ+YJAfIc98KLid+sv/?= =?us-ascii?Q?rnZwkV1GLy2wrri0GcBp7EGl9P6gosPi1M7Wip0dp5HKzeAYHvQTjYLd9FD4?= =?us-ascii?Q?PJRZfzL2l4Oor2Aj/6PzVbfzrVp35m0QgJub/7TQYtWBpzTAc+KS/sV3hdRf?= =?us-ascii?Q?3g5oYo5TxdCgM5VeNuqtQa6Chlv8p32RP+C2pdqwUajDzSD1JTYwYHB8RoGK?= =?us-ascii?Q?bQe4fc2O5OmnMMImD0kxku+JV2tKFPNkroXNWNhWd5DNS9LGAFHA5dD8VZ5z?= =?us-ascii?Q?LoQwsHXgQc2WdW/FMVJO/yzSxr2hyHY3h31RDXVxka66JAjuNj7iWu10Ffnm?= =?us-ascii?Q?jjMqQNijfRE2jM/9puRMTPedEIWzUwS9Of+JEMHuP+bv3gMeXawypK9cjrOS?= =?us-ascii?Q?kbhuaSV/WSlGrH/BvJW4KW8CH3DDErOaLb7e9KkXJIoJqSa8UKdGs/82Acqz?= =?us-ascii?Q?GluVDhQwlT45I5uixHYmXOYhSyGJraMsltapXxLf3HCat3BZ/5U9QosNCpl7?= =?us-ascii?Q?y4nrastRBgg1+mITIHJ2QUtygmhGoIVzd2KhbY4rCcURF35ULWGyXFtLxRb4?= =?us-ascii?Q?24XZ7gxWdvQQteuss+ndquynDb/RmOKogWlbTlwaNjsFBJA58zv1eWq4GecI?= =?us-ascii?Q?b2KZg77hI17/c0ymK4Bf05dRfIHtO/MGJ/Vh6X27bFjrCGM6LAQY1scJ+77e?= =?us-ascii?Q?Wx3Ts9pO5oKFAVn8gUuLz97iSuHWGR55E0a3Tj8Ae9W0C+WSziFpLNTix9sR?= =?us-ascii?Q?8yMvdlvvHmYXqy5oDufF18uu5RiX+MhM9loFxLIy3nDtL8jWcYsjdLVmEnLp?= =?us-ascii?Q?qQHV6QBiHjzKVG/WpI0VggdQemvfmSsYVNVz+hDSLNlzFBr8TS8h/+KWpTAr?= =?us-ascii?Q?ZL/tDC7xvpEauU78oVtMQq7yI34663NdVITTv9OLhYaqvhMkdA/1jPZHp80A?= =?us-ascii?Q?Fuh+/vi3n7WyLfDWLDqbHM2n0RTUxszJgRkXJ5e2S3VuPFNn3KCLk61UyVVl?= =?us-ascii?Q?pjV1oX653+ymfXm6UiANPl/yX4oddyKMmxqtN1E1AOPqsBpGn50rXC26eNC+?= =?us-ascii?Q?ga0Y+iesRTnA70v8V9eMMR87PTQeJjIVFY6xqaAhq7BwtUgF+UUht/Dp5Qyd?= =?us-ascii?Q?JipwGrdle698wHDorkopbPNJaSYdJYheys/VTSMp7BLkbwdjxaboFbm0Gt//?= =?us-ascii?Q?ZUK/rt7mrwddEYvAm2RsV44aRZAWZvh4o/XVAO0ARyGhREq+d/SWNSjKIWjR?= =?us-ascii?Q?BJgGSVj1QRjQu/TsSe9ZcCu4OYOxInWRrG+u5dtmjDK4woN6X8VHK6JETwMm?= =?us-ascii?Q?ykTMyF7yDIjZ5OV7xsWS0l0l7PIguNN/VAJoT6WZqZUT1gd7p3mtb/Z/+aIw?= =?us-ascii?Q?zKjWZp0M0GFXcb2E7768/alaeWJC8PUIevQhnHKrnz/lk2hDcjH82QosI8CU?= =?us-ascii?Q?r57O1/QDqg7Uy5UrrnuIPQXL91JDAQUXanr3PSKJOTWZov++q1/yLj5amHEk?= =?us-ascii?Q?crr17aY6MDYOKqX887zncc4x1Zq5Uz71HYFL9XRuItcO5aVu8RoafQzeZ2Jz?= =?us-ascii?Q?N0ao6F1WaKEq0dOOMSjHYuC3meysnu+WDg2ml9CmuDzI4Ib0DfNlZ7ZKJa3j?= =?us-ascii?Q?eg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf4c3048-3b6a-455e-a967-08dbe0272f95 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:51:51.2908 (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: 83m0a3q3rsXGMUJKNNvmyUZFzjKg3fhBtJqrxPp1i8Cs0vomDT057XtdDwU00l3kGVPhQtUxybJUQLSzmHpu3g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9846 Content-Type: text/plain; charset="utf-8" This patch adds netlink PM address entry refcount. Init 'refcont' of every address entry to 1. Increase this refcount counter when a subflow connecting or an address signaling in mptcp_pm_create_subflow_or_signal_addr() and fill_local_addresses_vec(). Decrease it in mptcp_pm_nl_del_addr_doit(). When the counter reaches 1, then free this entry. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index af915ba3dff5..636fc822a257 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -533,7 +533,8 @@ static void mptcp_pm_create_subflow_or_signal_addr(stru= ct mptcp_sock *msk) return; =20 if (local) { - if (mptcp_pm_alloc_anno_list(msk, &local->addr)) { + if (mptcp_pm_alloc_anno_list(msk, &local->addr) && + refcount_inc_not_zero(&local->refcnt)) { __clear_bit(local->addr.id, msk->pm.id_avail_bitmap); msk->pm.add_addr_signaled++; mptcp_pm_announce_addr(msk, &local->addr, false); @@ -562,8 +563,10 @@ static void mptcp_pm_create_subflow_or_signal_addr(str= uct mptcp_sock *msk) continue; =20 spin_unlock_bh(&msk->pm.lock); - for (i =3D 0; i < nr; i++) - __mptcp_subflow_connect(sk, &local->addr, &addrs[i]); + for (i =3D 0; i < nr; i++) { + if (refcount_inc_not_zero(&local->refcnt)) + __mptcp_subflow_connect(sk, &local->addr, &addrs[i]); + } spin_lock_bh(&msk->pm.lock); } mptcp_pm_nl_check_work_pending(msk); @@ -603,7 +606,8 @@ static unsigned int fill_local_addresses_vec(struct mpt= cp_sock *msk, if (!mptcp_pm_addr_families_match(sk, &entry->addr, remote)) continue; =20 - if (msk->pm.subflows < subflows_max) { + if (msk->pm.subflows < subflows_max && + refcount_inc_not_zero(&entry->refcnt)) { msk->pm.subflows++; addrs[i++] =3D entry->addr; } @@ -1048,6 +1052,7 @@ int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, = struct mptcp_addr_info *skc entry->ifindex =3D 0; entry->flags =3D MPTCP_PM_ADDR_FLAG_IMPLICIT; entry->lsk =3D NULL; + refcount_set(&entry->refcnt, 1); ret =3D mptcp_pm_nl_append_new_local_addr(pernet, entry); if (ret < 0) kfree(entry); @@ -1275,6 +1280,7 @@ int mptcp_pm_nl_add_addr_doit(struct sk_buff *skb, st= ruct genl_info *info) } =20 *entry =3D addr; + refcount_set(&entry->refcnt, 1); if (entry->addr.port) { ret =3D mptcp_pm_nl_create_listen_socket(skb->sk, entry); if (ret) { @@ -1427,6 +1433,7 @@ int mptcp_pm_nl_del_addr_doit(struct sk_buff *skb, st= ruct genl_info *info) struct nlattr *attr =3D info->attrs[MPTCP_PM_ENDPOINT_ADDR]; struct pm_nl_pernet *pernet =3D genl_info_pm_nl(info); struct mptcp_pm_addr_entry addr, *entry; + bool release_entry =3D false; unsigned int addr_max; int ret; =20 @@ -1458,14 +1465,19 @@ int mptcp_pm_nl_del_addr_doit(struct sk_buff *skb, = struct genl_info *info) WRITE_ONCE(pernet->local_addr_max, addr_max - 1); } =20 - pernet->addrs--; - list_del_rcu(&entry->list); - __clear_bit(entry->addr.id, pernet->id_bitmap); + if (refcount_dec_not_one(&entry->refcnt) && + refcount_read(&entry->refcnt) =3D=3D 1) { + pernet->addrs--; + list_del_rcu(&entry->list); + __clear_bit(entry->addr.id, pernet->id_bitmap); + release_entry =3D true; + } spin_unlock_bh(&pernet->lock); =20 mptcp_nl_remove_subflow_and_signal_addr(sock_net(skb->sk), entry); synchronize_rcu(); - __mptcp_pm_release_addr_entry(entry); + if (release_entry) + __mptcp_pm_release_addr_entry(entry); =20 return ret; } --=20 2.35.3 From nobody Sat May 18 16:18:07 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2042.outbound.protection.outlook.com [40.107.7.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2D61A2CA8 for ; Wed, 8 Nov 2023 06:51:59 +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="1DSZC97x" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ndTPPANwpSTBJtfU/U5Sx2tBY2X5gYoZohz0ZQrMk9/+yjDh75qY9z5LOphVO0BPEfw0Noj8Zgtrym7KWgezUQOecdhbo87CvRiiip2RSB+5v+dze5WUZRxHRD1q7hLPWs7gvCXR27IqtK7WHpq75UI7ZNiiANTa/I5LEnwHOph8PkPAu/8ml/aFBD7cF17mN8JauriIfIG5OLppRx5+/cqpF+Sg4jegOhDXn+MPbn6yH93fDjx80w8jvRaNiggoh9gSZ2A5JCkKZdsPeNtyidvZfz/qqVOe95Hl8WZFDZp+R1Op1ZAhsFwiHAbgVBxyu9a44oo4NXf4OSsEQ0SfQw== 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=5t1IgnhDtM0NEu1wEiYBsUZksjlzjV/3WnciozZ7yMw=; b=cTVe0te7Ygqeh8l3Vy2RGUc1nIcUKoddPHhe9BgtLDweHrkWXC09GRyL7oOugDfMpCoNSGoGaaPiNbV3jZIEblYkIUdZ4An1JaHKSwhIVoIX1x11mZhZ3a/qU5BTN5kleUnsN74Jjpywd2JNwwie6Q+Wot2yDYR2Hj1UKDYjEiUFmfRE9Dq1m5V7FhHDCiFv+i0vs8DGd5lL/lPwc9gQs22waywiFbPT3FYXbvauQxlR4Pe/HQGMxtRqlDANGTueYBtpfduwqW/bxwJSaAsxIBwWnb4qmk28vLm+AhTvdyya0WH1l5dFqu+DLUdhi2WIHZlOjZH2/9RgDt5Ix0UvhQ== 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=5t1IgnhDtM0NEu1wEiYBsUZksjlzjV/3WnciozZ7yMw=; b=1DSZC97xTRH3YeckxMmoP3P11TLx64IDARSj9YL302edsT7eBlrte4RGLhzbq+Rf/awrJHbkSxRlT6IjCz9wT+CWx+RHOgAYsFJLnAGIoPmfIrgLjQTK5M3/+wJrB+OQcgrTahguKo7YnzHFJawt7ViifP3VwAE5VqHlL5mdrQSK3xcMDuMON5qRbXAP5EXSBzTIFxHr8+2Y32V43oza9DAgP5Sl5B79PKzfbCkFh9Dd0qmYOmzBXMRakIHZpQnCtR4ncukNt+tt/PFQ46YizPEbCif3zMuM3gSRFh4XPrHsSsI6HWQxnbYc8RJxOj2u+53eXwZZutck44uyiJpvOA== 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 DUZPR04MB9846.eurprd04.prod.outlook.com (2603:10a6:10:4db::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17; Wed, 8 Nov 2023 06:51:56 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Wed, 8 Nov 2023 06:51:56 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 21/22] selftests: mptcp: export event macros in mptcp_lib Date: Wed, 8 Nov 2023 14:49:51 +0800 Message-Id: <4f885a8d5c0176fc4013f23cec1e25c7cecac3e6.1699425895.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0115.apcprd01.prod.exchangelabs.com (2603:1096:4:40::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_|DUZPR04MB9846:EE_ X-MS-Office365-Filtering-Correlation-Id: b4e3ec5d-5c38-4184-e8c9-08dbe0273260 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 29dSy6agcYfdDgodOaKeVM5zpqnk48xu9HwHjJHuO+QgDZ/3V9ocBBPa05wwg3q58wN9QexXgB1X1KXnr35M5L43TkluFbYPSH+lLuDp4a5j2Zqk5DERL+i4qTav20nNIUpoa4buLWA5huoPfAkCJQ3Qzef6BT4tVv59WDs+LkGldliAR7DI7UpnmFvUwSVPu2SjO5bg7ua4tIBH/9U7ztJjmAfTagr9MMvyhU89mkL7aTkeHsqCapbtwm3YA/PlKOkdaX2/etU8paEWzVwvXg817GRd+//Qg/m6UeohcYkP47QkO3La7kqQyq7KABeceO6HoUf7BtSS3cvLKfspiwy2Ob7mddVDiAZqPs5/As9n3m2ddMuTSRXXc2+HxCbUxQYRFnsYPGzBoVf4johLthgxrrMvsTUupV7Yoi79yIbu6jgxeF3WNCGf7A+zEk499RgywVSaxRovTXFGwLxt+ov7yHOAiZO2RMEowqmC7F76scYmtcfljJ8/sCfRKWiFqd0hSOowlJay8J40GhPDiaCsrcc1VGYYE/KC7QW2IeZnMHoAzMea7M5tp+4aLHrCKUuDCGbDMV3IcqlX7SBAl/EfWZD4HkgOd06lUi3Tfcs= 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)(136003)(376002)(366004)(396003)(39860400002)(346002)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(86362001)(8936002)(41300700001)(38100700002)(8676002)(4326008)(6486002)(66476007)(316002)(6916009)(36756003)(5660300002)(30864003)(44832011)(2906002)(2616005)(66556008)(26005)(107886003)(83380400001)(66946007)(6512007)(6666004)(6506007)(478600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?v5pPPpZj/4O15o331pWDgBEDBxEaK5YfpUMwZwmntCwyZUkNb8tXKUJ46VcX?= =?us-ascii?Q?Vy1BNgYkJ3Hl9cZ2LkX/HD2lqvRBatBkdxXyXFXeT302nwBv82Si/pptelsf?= =?us-ascii?Q?GZ2qxeSfqrbvEuemW2pA7GiFkTw9nY2AKE8JYN6U7SAnMHw/ii+4lMUkSp6V?= =?us-ascii?Q?VwA3yxZbL8DZ8eaDbpj5F6jFO5WfmG5i/qFKDprD4b7yY9Rdbmyj3aKQh6GG?= =?us-ascii?Q?lkYJ2Vdn+muBxG8JdC8MpQ8idEvj7mXRmlZaiAYnxqcZDT1AsJu9Fiy2lw2d?= =?us-ascii?Q?OPFXUbaQKHtFxbrcSZctMKNfsmgMsYwhXKIw2hFtPyGSqeUHIAT+L4qcGIP6?= =?us-ascii?Q?4iJonEkl7YL5HA129wGOUQF4XPHdyiH6ScYWxkQbSO9Mk0stakUqsUt2I38k?= =?us-ascii?Q?b+djMQVbJdi66D4TkBotUTuVdAVwvBp7J3dseu+tV4aL+K1X8LNUd6aDefCo?= =?us-ascii?Q?I185vZl62oqSXOsmmnuaNNCdgt1T2pUZQ53RdnE/xYHfpY5BNMQ/qjKu9U+t?= =?us-ascii?Q?OaG8aprHtQiWW0v/VFy/8FCY7eHEj6Fjah2SFZnoRbqloc+RSpcB7LibX/kT?= =?us-ascii?Q?fVaThQAcKa+G1SejQ8rH3LKaBJWwZOASyhij7SkahKxMO5vEMI0jPd5vNKE5?= =?us-ascii?Q?mtvtDYgLIY0P71YyE9+68fIrgwc1fk/GheCGrJOrLNnwK168PeXQtB0PT6mI?= =?us-ascii?Q?wWbv5M3RYnPOULjmNO6nzHfm0p15n+wuyiYsj+Yp/QEk33cbWeB5K+o5gvrd?= =?us-ascii?Q?hzTB+OFrBBhznfR2VAZ2zr+NxfnkMgy+bBawF57AiruEzx3YAXXCgqQ4ZtRM?= =?us-ascii?Q?D7ERFL82NglR72Zd2ub/NGDXoCOcAzrNGmPibefxaeM87pGycvOwrprrjqhT?= =?us-ascii?Q?Z7ocJDHrB1Q620icY68pxdGCjQn26hTb1QQmXsWzKJTaw479I2jf5Q2rCRgj?= =?us-ascii?Q?NnylXcZlYb4sCE3xcduDiMT/0vgpJZq1kS/7WVWS/QKvXWJkKxBohoSi9kK9?= =?us-ascii?Q?iBxLD/BrPtHeZg3+lfnEgsdilSsFqT5JGOwt0Obpkd0DTXx1X8te+FpbQlJK?= =?us-ascii?Q?hL0xrwk6cIqau7KNHoxE6R1Qen5Nnojc+DC3HcVlus+wStDY9f1qEjmaouBF?= =?us-ascii?Q?EzKzJrQQFk7aqmUMBfG40DNjdLlGkXXfuTlbhWy7AVWcr/4JKxe4SNXhkVVg?= =?us-ascii?Q?GkrlrAqKREsZZKvwEu8pXFfatlpcmuYOCsNrGK41ZOzKqGWIl9MKMitaVxlx?= =?us-ascii?Q?3NuwTZyJO7epgctpG27w6+mXMHX72qgH2A9hVNBgH++xPLESSt2re6h07Fiw?= =?us-ascii?Q?jlkrTGpHV/OJDBZdsxAMIlVuRopx1ldKI4tzxjogPu1ooI+oxGtwz8w9dJ7Z?= =?us-ascii?Q?cZWw46ZHQyu23VnktG/vx/mDUvklV9iiPu+aBsqj+Z+xJl4qyR8JCzW6HzBg?= =?us-ascii?Q?m+S8agryurAvIJVWysLcpyAhxJ90F/ojjAfzVX/pe0eROtXC46GuJ2+aLQLc?= =?us-ascii?Q?p6jm+CSY49o3ObuE0t9cboWTBX24tkktaz527NWb0NajH3VnEU+/ZlneOAs0?= =?us-ascii?Q?0jEhJf6euiZFZE0dbpH1DGzUeJNzPcYrNVOHu24knVEEextnAexYpQlHhSd5?= =?us-ascii?Q?EA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b4e3ec5d-5c38-4184-e8c9-08dbe0273260 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:51:56.0209 (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: 8767TCpBIwozwWbYpba1zDdFexm/U4Dl/km+WM090XHDO0vyQU9MQRWNz5ei0fOPe/9gLUSvFpTpzcIoLk5xPg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9846 Content-Type: text/plain; charset="utf-8" SUB_ESTABLISHED, LISTENER_CREATED, LISTENER_CLOSED AF_INET and AF_INET6 are defined in both mptcp_join.sh and userspace_pm.sh, export them into mptcp_lib.sh. Add MPTCP_LIB_ prefix for the first three and add readonly for the last two. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 21 +++---- .../testing/selftests/net/mptcp/mptcp_lib.sh | 7 +++ .../selftests/net/mptcp/userspace_pm.sh | 60 +++++++++---------- 3 files changed, 44 insertions(+), 44 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 634b51e40435..f922d32f4f20 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2777,13 +2777,6 @@ backup_tests() fi } =20 -SUB_ESTABLISHED=3D10 # MPTCP_EVENT_SUB_ESTABLISHED -LISTENER_CREATED=3D15 #MPTCP_EVENT_LISTENER_CREATED -LISTENER_CLOSED=3D16 #MPTCP_EVENT_LISTENER_CLOSED - -AF_INET=3D2 -AF_INET6=3D10 - verify_listener_events() { local evt=3D$1 @@ -2797,9 +2790,9 @@ verify_listener_events() local sport local name =20 - if [ $e_type =3D $LISTENER_CREATED ]; then + if [ $e_type =3D $MPTCP_LIB_LISTENER_CREATED ]; then name=3D"LISTENER_CREATED" - elif [ $e_type =3D $LISTENER_CLOSED ]; then + elif [ $e_type =3D $MPTCP_LIB_LISTENER_CLOSED ]; then name=3D"LISTENER_CLOSED " else name=3D"$e_type" @@ -2866,8 +2859,10 @@ add_addr_ports_tests() chk_add_nr 1 1 1 chk_rm_nr 1 1 invert =20 - verify_listener_events $server_evts $LISTENER_CREATED $AF_INET 10.0.2.1 = 10100 - verify_listener_events $server_evts $LISTENER_CLOSED $AF_INET 10.0.2.1 1= 0100 + verify_listener_events $server_evts $MPTCP_LIB_LISTENER_CREATED \ + $AF_INET 10.0.2.1 10100 + verify_listener_events $server_evts $MPTCP_LIB_LISTENER_CLOSED \ + $AF_INET 10.0.2.1 10100 mptcp_lib_evts_kill fi =20 @@ -3396,7 +3391,7 @@ userspace_tests() chk_subflows_total 2 2 chk_mptcp_info add_addr_signal 1 add_addr_accepted 1 userspace_pm_rm_addr $ns1 10 - userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $SUB_ESTABLISHED + userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $MPTCP_LIB_SUB_ESTABLISHED chk_rm_nr 1 1 invert chk_mptcp_info subflows 0 subflows 0 chk_subflows_total 1 1 @@ -3419,7 +3414,7 @@ userspace_tests() chk_mptcp_info subflows 1 subflows 1 chk_subflows_total 2 2 userspace_pm_rm_addr $ns2 20 - userspace_pm_rm_sf $ns2 10.0.3.2 $SUB_ESTABLISHED + userspace_pm_rm_sf $ns2 10.0.3.2 $MPTCP_LIB_SUB_ESTABLISHED chk_rm_nr 1 1 chk_mptcp_info subflows 0 subflows 0 chk_subflows_total 1 1 diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 980ef3dbb6ab..ffd78187237b 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -8,6 +8,13 @@ readonly KSFT_SKIP=3D4 # shellcheck disable=3DSC2155 # declare and assign separately readonly KSFT_TEST=3D$(basename "${0}" | sed 's/\.sh$//g') =20 +MPTCP_LIB_SUB_ESTABLISHED=3D10 # MPTCP_EVENT_SUB_ESTABLISHED +MPTCP_LIB_LISTENER_CREATED=3D15 #MPTCP_EVENT_LISTENER_CREATED +MPTCP_LIB_LISTENER_CLOSED=3D16 #MPTCP_EVENT_LISTENER_CLOSED + +readonly AF_INET=3D2 +readonly AF_INET6=3D10 + MPTCP_LIB_SUBTESTS=3D() =20 # only if supported (or forced) and not disabled, see no-color.org diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index f1dbd97c0c96..5921589f0db9 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -25,13 +25,7 @@ fi =20 ANNOUNCED=3D6 # MPTCP_EVENT_ANNOUNCED REMOVED=3D7 # MPTCP_EVENT_REMOVED -SUB_ESTABLISHED=3D10 # MPTCP_EVENT_SUB_ESTABLISHED SUB_CLOSED=3D11 # MPTCP_EVENT_SUB_CLOSED -LISTENER_CREATED=3D15 #MPTCP_EVENT_LISTENER_CREATED -LISTENER_CLOSED=3D16 #MPTCP_EVENT_LISTENER_CLOSED - -AF_INET=3D2 -AF_INET6=3D10 =20 file=3D"" client4_pid=3D0 @@ -525,7 +519,7 @@ verify_subflow_events() =20 info=3D"${e_saddr} (${e_from}) =3D> ${e_daddr} (${e_to})" =20 - if [ "$e_type" =3D "$SUB_ESTABLISHED" ] + if [ "$e_type" =3D "$MPTCP_LIB_SUB_ESTABLISHED" ] then if [ "$e_family" =3D "$AF_INET6" ] then @@ -582,14 +576,15 @@ test_subflows() ip netns exec "$ns1" ./pm_nl_ctl csf lip 10.0.2.1 lid 23 rip 10.0.2.2\ rport "$client4_port" token "$server4_token" sleep 0.5 - verify_subflow_events $server_evts $SUB_ESTABLISHED $server4_token $AF_IN= ET "10.0.2.1" \ - "10.0.2.2" "$client4_port" "23" "$client_addr_id" "ns1" "ns2" + verify_subflow_events $server_evts $MPTCP_LIB_SUB_ESTABLISHED $server4_to= ken \ + $AF_INET "10.0.2.1" "10.0.2.2" "$client4_port" "23" \ + "$client_addr_id" "ns1" "ns2" =20 # Delete the listener from the client ns, if one was created mptcp_lib_kill_wait $listener_pid =20 local sport - sport=3D$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED) + sport=3D$(mptcp_lib_evts_get_info sport "$server_evts" $MPTCP_LIB_SUB_EST= ABLISHED) =20 # DESTROY_SUBFLOW from server to client machine :>"$server_evts" @@ -620,14 +615,14 @@ test_subflows() ip netns exec "$ns1" ./pm_nl_ctl csf lip dead:beef:2::1 lid 23 rip\ dead:beef:2::2 rport "$client6_port" token "$server6_token" sleep 0.5 - verify_subflow_events "$server_evts" "$SUB_ESTABLISHED" "$server6_token" = "$AF_INET6"\ - "dead:beef:2::1" "dead:beef:2::2" "$client6_port" "23"\ - "$client_addr_id" "ns1" "ns2" + verify_subflow_events "$server_evts" "$MPTCP_LIB_SUB_ESTABLISHED" "$serve= r6_token" \ + "$AF_INET6" "dead:beef:2::1" "dead:beef:2::2" "$client6_port" \ + "23" "$client_addr_id" "ns1" "ns2" =20 # Delete the listener from the client ns, if one was created mptcp_lib_kill_wait $listener_pid =20 - sport=3D$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED) + sport=3D$(mptcp_lib_evts_get_info sport "$server_evts" $MPTCP_LIB_SUB_EST= ABLISHED) =20 # DESTROY_SUBFLOW6 from server to client machine :>"$server_evts" @@ -659,14 +654,14 @@ test_subflows() ip netns exec "$ns1" ./pm_nl_ctl csf lip 10.0.2.1 lid 23 rip 10.0.2.2 rpo= rt\ $new4_port token "$server4_token" sleep 0.5 - verify_subflow_events "$server_evts" "$SUB_ESTABLISHED" "$server4_token" = "$AF_INET"\ - "10.0.2.1" "10.0.2.2" "$new4_port" "23"\ + verify_subflow_events "$server_evts" "$MPTCP_LIB_SUB_ESTABLISHED" "$serve= r4_token" \ + "$AF_INET" "10.0.2.1" "10.0.2.2" "$new4_port" "23" \ "$client_addr_id" "ns1" "ns2" =20 # Delete the listener from the client ns, if one was created mptcp_lib_kill_wait $listener_pid =20 - sport=3D$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED) + sport=3D$(mptcp_lib_evts_get_info sport "$server_evts" $MPTCP_LIB_SUB_EST= ABLISHED) =20 # DESTROY_SUBFLOW from server to client machine :>"$server_evts" @@ -698,13 +693,13 @@ test_subflows() ip netns exec "$ns2" ./pm_nl_ctl csf lip 10.0.2.2 lid 23 rip 10.0.2.1 rpo= rt\ $app4_port token "$client4_token" sleep 0.5 - verify_subflow_events $client_evts $SUB_ESTABLISHED $client4_token $AF_IN= ET "10.0.2.2"\ - "10.0.2.1" "$app4_port" "23" "$server_addr_id" "ns2" "ns1" + verify_subflow_events $client_evts $MPTCP_LIB_SUB_ESTABLISHED $client4_to= ken $AF_INET \ + "10.0.2.2" "10.0.2.1" "$app4_port" "23" "$server_addr_id" "ns2" "= ns1" =20 # Delete the listener from the server ns, if one was created mptcp_lib_kill_wait $listener_pid =20 - sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED) + sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $MPTCP_LIB_SUB_EST= ABLISHED) =20 # DESTROY_SUBFLOW from client to server machine :>"$client_evts" @@ -735,7 +730,7 @@ test_subflows() ip netns exec "$ns2" ./pm_nl_ctl csf lip dead:beef:2::2 lid 23 rip\ dead:beef:2::1 rport $app6_port token "$client6_token" sleep 0.5 - verify_subflow_events "$client_evts" "$SUB_ESTABLISHED" "$client6_token"\ + verify_subflow_events "$client_evts" "$MPTCP_LIB_SUB_ESTABLISHED" "$clien= t6_token"\ "$AF_INET6" "dead:beef:2::2"\ "dead:beef:2::1" "$app6_port" "23"\ "$server_addr_id" "ns2" "ns1" @@ -743,7 +738,7 @@ test_subflows() # Delete the listener from the server ns, if one was created mptcp_lib_kill_wait $listener_pid =20 - sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED) + sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $MPTCP_LIB_SUB_EST= ABLISHED) =20 # DESTROY_SUBFLOW6 from client to server machine :>"$client_evts" @@ -774,13 +769,14 @@ test_subflows() ip netns exec "$ns2" ./pm_nl_ctl csf lip 10.0.2.2 lid 23 rip 10.0.2.1 rpo= rt\ $new4_port token "$client4_token" sleep 0.5 - verify_subflow_events "$client_evts" "$SUB_ESTABLISHED" "$client4_token" = "$AF_INET"\ - "10.0.2.2" "10.0.2.1" "$new4_port" "23" "$server_addr_id" "ns2" "= ns1" + verify_subflow_events "$client_evts" "$MPTCP_LIB_SUB_ESTABLISHED" "$clien= t4_token" \ + "$AF_INET" "10.0.2.2" "10.0.2.1" "$new4_port" "23" \ + "$server_addr_id" "ns2" "ns1" =20 # Delete the listener from the server ns, if one was created mptcp_lib_kill_wait $listener_pid =20 - sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED) + sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $MPTCP_LIB_SUB_EST= ABLISHED) =20 # DESTROY_SUBFLOW from client to server machine :>"$client_evts" @@ -819,14 +815,14 @@ test_subflows_v4_v6_mix() ip netns exec "$ns2" ./pm_nl_ctl csf lip 10.0.2.2 lid 23 rip 10.0.2.1 rpo= rt\ $app6_port token "$client6_token" sleep 0.5 - verify_subflow_events "$client_evts" "$SUB_ESTABLISHED" "$client6_token"\ + verify_subflow_events "$client_evts" "$MPTCP_LIB_SUB_ESTABLISHED" "$clien= t6_token"\ "$AF_INET" "10.0.2.2" "10.0.2.1" "$app6_port" "23"\ "$server_addr_id" "ns2" "ns1" =20 # Delete the listener from the server ns, if one was created mptcp_lib_kill_wait $listener_pid =20 - sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED) + sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $MPTCP_LIB_SUB_EST= ABLISHED) =20 # DESTROY_SUBFLOW from client to server machine :>"$client_evts" @@ -888,9 +884,9 @@ verify_listener_events() local saddr local sport =20 - if [ $e_type =3D $LISTENER_CREATED ]; then + if [ $e_type =3D $MPTCP_LIB_LISTENER_CREATED ]; then print_test "CREATE_LISTENER $e_saddr:$e_sport" - elif [ $e_type =3D $LISTENER_CLOSED ]; then + elif [ $e_type =3D $MPTCP_LIB_LISTENER_CLOSED ]; then print_test "CLOSE_LISTENER $e_saddr:$e_sport" fi =20 @@ -925,7 +921,8 @@ test_listener() local listener_pid=3D$! =20 sleep 0.5 - verify_listener_events $client_evts $LISTENER_CREATED $AF_INET 10.0.2.2 $= client4_port + verify_listener_events $client_evts $MPTCP_LIB_LISTENER_CREATED \ + $AF_INET 10.0.2.2 $client4_port =20 # ADD_ADDR from client to server machine reusing the subflow port ip netns exec $ns2 ./pm_nl_ctl ann 10.0.2.2 token $client4_token id\ @@ -941,7 +938,8 @@ test_listener() mptcp_lib_kill_wait $listener_pid =20 sleep 0.5 - verify_listener_events $client_evts $LISTENER_CLOSED $AF_INET 10.0.2.2 $c= lient4_port + verify_listener_events $client_evts $MPTCP_LIB_LISTENER_CLOSED \ + $AF_INET 10.0.2.2 $client4_port } =20 print_title "Make connections" --=20 2.35.3 From nobody Sat May 18 16:18:07 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2042.outbound.protection.outlook.com [40.107.7.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 43EFD1FBA for ; Wed, 8 Nov 2023 06:52:02 +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="YyvIBueN" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OkPFYYBVDZ/Pf0xMrKfCa8SW0WqmZFrqcBxL8N9CCX70W/6BpOkOMXIcvvK3dB+1Z9h2dMESK9M1iZTh2bd+Iyt8W/p7mYl1+BGi/nv3ak6ib8cGFqx8hkg/HPOLBkgUl1yFMZIn5vRaK2ZVjNvNUHYRjYp6qNh6/i+c+ecwEFJ5eFvkjc1/hnRmLBZj9/TuEbrT797cV2H2+kkJ7YmjuhlzzWBxQKsp3aU8UELuI0BeM8q8N4lEbS3jU34Zip/bbKCKS0KlfAdn0CGyxEFkjyk/kiGDt3qTwn9w34w6TKbE2s87TBXCsKLrPMWOfaFOyDW1kw487z9h5q73lkb57w== 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=oIp5cD0EI7QTXP0DCZ+EvQq9UnqJZrrDxfcKnTTWKtk=; b=KvdIUWj+6/lOINSoGDM8Dr/sF9IGLcYirfCH3Cof66u8XObr/i25zN8cgo4VSUcBnZd9yIm9Rm3R0FCUzE43lshRaqKvarSrhZocP3w6UX3UI9PvIdblPLApSXO9Oi3/1HuMA/VbYKmwmThHLyeTj62FhO7blKZxhXDIi9U/ieWMTg1Q/XPa4PCTv8BCOgajv3D+KzmJILDRX5wxjBvs9fXhUEOYzXF4kbYaV28gMOupdyCr0HYZXc7ygMBdwZ2JwdLhncEXHD4kFRBaT74wZUsr6bNbZAKFgyWUW2yJQbdBR3pGtsnHIui57YI9d2w/nqBzus26CdfFkGqqTT1W4Q== 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=oIp5cD0EI7QTXP0DCZ+EvQq9UnqJZrrDxfcKnTTWKtk=; b=YyvIBueNUOcdVHGxi8Ua21qys+INpl5EV9C7yeRTzdwn7d0MQ43gXLTaH+TkbrEEjYPuO+xNHP3FX3DmjnZRxLTl9HK6HkGe9bbNuGNBN5g3Pj338cc+m32zaeDThx1x8NyFTn36hFJPvhFwBYEIEUrYcAjXR89+AHKmbhCHL/BpO8Wswwz03OcSP/jeqDVwowzSowVo5YIivZFoSGojP9GcYPhyOMegl7/PXAXJ7xHybZUYTC2/Z/mpqQcOUf2h+IVBJxIsOD6E2a0JQf0JQ5qxm/zLC7JwqoouSJ58F6ow8rHl0+oEvy9XGhBaF10CwGvMVShSgtW3MTYYYaLsWQ== 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 DUZPR04MB9846.eurprd04.prod.outlook.com (2603:10a6:10:4db::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17; Wed, 8 Nov 2023 06:52: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; Wed, 8 Nov 2023 06:52:00 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v7 22/22] selftests: mptcp: rm userspace addr with random order Date: Wed, 8 Nov 2023 14:49:52 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0116.apcprd01.prod.exchangelabs.com (2603:1096:4:40::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_|DUZPR04MB9846:EE_ X-MS-Office365-Filtering-Correlation-Id: eee8d38c-5cc6-40bb-8908-08dbe027354d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1+Gmv5bEYU9kSdI/k2qU2GXf3ptgAwXaQXG8bOy4U4aCirspFURfOnmLYoiFvDtZEq5eSTG3RhkbhxqElLtayujlwgmqzXhfHS4Izc9jCvQWIwp/5DJmlL+z46zDc1bUusVuIyIO2DdtmZfGTskyxpxuVjv0WvchPsjYNhQ080Epie1guXPAb6za1UCWCVwW7Up2BrdSIeqzHv/QYcIcBFXSZDIJ2+Nncr/paDwaDzw+BSQd18BDeomy5EPOYiBxXqmVR3QiukLifnUs1V+oEcRznj7PjIAFAqikHPJLLrH8w9kwiOz3N6CRM5z+tJlhjsWoT2AAherRzEmP0k9Qvz7BlTukOnXm3NIIhgZV+WikWBDbnMJpr5xCZ4I78xx1YSsTLm3DB2Id6VtYbtF02A0bixD71g4k+oqwRdpL8UVHngp6rvexyvajkGseo8ZLny0PlFjPFU7qD3hokI7Ttu6ngwrBlBGi1pn8hvqwHlQv7qpNv8slx2czoR6e961w94JHRBzvPcslSWR0CUCSsThKoUQ5AJP+NR1w+p3THn+SgMzrSit/393Xquoajz1+7lcCD1iFzVstQJhSC962dpK8Ctx4TU+1WqpXvkfXxJ8= 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)(136003)(376002)(366004)(396003)(39860400002)(346002)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(86362001)(8936002)(41300700001)(38100700002)(8676002)(4326008)(6486002)(66476007)(316002)(6916009)(36756003)(5660300002)(44832011)(2906002)(2616005)(66556008)(26005)(107886003)(83380400001)(66946007)(6512007)(6666004)(6506007)(478600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?hRVgdKUOqe38gyenj4TB35NAxV6i0AOa8PTuHEOdK/BFstxzILLJ2UYBj9St?= =?us-ascii?Q?jzcPM7KnVh4Ocm4PYQYi+ONkT0i6Fmabcz/WfG71SB3Fv3HJZz8I1TUO8Iw5?= =?us-ascii?Q?6ekflWjlQVwx4oaTolUjblTeUbGN4Mml14ePWJdBpwW+fDI8USus3JklBIHd?= =?us-ascii?Q?KOeYjlU7KKxJ0qIEQwz6+RrbgujYeEirNCoPMGG4x3MzP03i0hVA+Y7HTRax?= =?us-ascii?Q?yx5rApgWrCh51OVxKqszcsAwRg6deAapdeJ7DXSyn5gCqXcsE82lJUsTRDM5?= =?us-ascii?Q?Y7L+7b6kZsS59wIVAzJ4kYY/F4enQVc10WpVOTAncuurIErtsiKghCKA5KAP?= =?us-ascii?Q?35oL26ypV5zak/07wdCZ1L+5kLUddKGabMzf6rsmbA4VuMxIY/iRzrSaudrd?= =?us-ascii?Q?2EJqRnAYk+9ecVkfr3waWtjHbV24LXqsIKSZkh27bCcioPzhr+XU0qSDD2h9?= =?us-ascii?Q?nyQc4fpbXRmcf2mDCfbY7f5cqTguo0SIfekLJ+AWMeYTbgjnQ5hqzMmfKaIK?= =?us-ascii?Q?nwzIjJpOZ5/gQ7cver2laoom2e+J2fM/xPKxXFFLMmQoIQeoBqdTNB9UaKp/?= =?us-ascii?Q?5tF7FmRVSnWSy/sSccX8mPDW/UsumDiZ8Cx/FWfLvTcQOBraEa0kElpqPayg?= =?us-ascii?Q?350IR5RfV4EDnA+noOVVFeVCjcPNuO/czGmMwI10yi/rEz07cCoM6ZqPGgGP?= =?us-ascii?Q?BpzQAxvRiup6+LTvMw6MNOLBdVuJJ4sKzKzM9J0Ol1RDeEIRBNR+g/hIOXNQ?= =?us-ascii?Q?1/JjRUWxQGlPFsM0l+tGIKpIW99te4zi75wuc3ngZ7eNpN3BvW/EDCaFgBAE?= =?us-ascii?Q?VVSGt128FmVOD5D4hJ3t7XyqYLw+60Z2AuA4LCan42uYumSMBXsRKHH+9hwi?= =?us-ascii?Q?M6FGaVmjgYOopnFIfXVcWspJ8XRKyg93uh/yY16MNOXagR39Me/A3rfX4bq4?= =?us-ascii?Q?FeV/8Uq9ET1gjk7+ZQqQhs5Nb6/0jGIvarWK42asVg2IrY9AUexgaQv/Hhym?= =?us-ascii?Q?f3yQkX/05Ov9h5NYxSTSUKvaRtGEJKh92kR1fXbBRzNOQj8lWfsei29JModN?= =?us-ascii?Q?ZHddC3h1pzkUxNXNM94larGKXZuboTeVoIpjiXUf/SMzlPr179opfjN4I6QS?= =?us-ascii?Q?NGgYTBxV4N273DIbX9fzTn8Qdm+TeHMro43dEsqfE+qIN5vAnqQBQOndD8v8?= =?us-ascii?Q?BpKQV5VZDm8ApkExH9KpDlbnQtW7NCfYbhQHsGmAwtbjURzvVQT9934+lpkM?= =?us-ascii?Q?JJeiVEFS2LHDTIPk12GuuuewHCXe1Qafaq32+vmZBQpVAfu1c3d3Llu/d1GN?= =?us-ascii?Q?Vb3F12ImEk051U/Zpqez1R2cpfgI0WPulInsYkyo+zMevWDk2XkDByqUxXuq?= =?us-ascii?Q?mjTzov9EsL2u0cuw5vk+oCpUtxHHxcCOFYLL43b9v1fey+6nQuRu1P8BuUBZ?= =?us-ascii?Q?HQhGXPjfwfmjpe0e/e64bePNXDus8jhh2UdEdVN9/QGaUTVguZz1qQlRsX2+?= =?us-ascii?Q?RtP501GtP47McN8elFKbUyT78CuTRoOerZlI837ovfDx5bH05kNofhfkKInY?= =?us-ascii?Q?WqZ56FB1kFXs88wsb8CvDtDmgYhvl4+gyLRXHaLqJgUxZfvWTkd9XYfPHQl+?= =?us-ascii?Q?Ng=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: eee8d38c-5cc6-40bb-8908-08dbe027354d X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 06:52:00.7163 (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: /aU4UWLcIMFvAzV8xC4KZ6EPlTVNc2vAivOJOoPWo3qx8D8O0A6bfH4TpvMpQf7SWt3TV06oV+Ew9u0r4oAXoQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9846 Content-Type: text/plain; charset="utf-8" Previously, when deleting a userspace address and subflow, it was necessary to follow the current order of deleting the address and then deleting the subflow. With this series of changes, addresses and subflows can be deleted in any order. This patch uses random numbers to add this type of tests. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index f922d32f4f20..8f7112cb120e 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3390,8 +3390,13 @@ userspace_tests() chk_mptcp_info subflows 1 subflows 1 chk_subflows_total 2 2 chk_mptcp_info add_addr_signal 1 add_addr_accepted 1 - userspace_pm_rm_addr $ns1 10 - userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $MPTCP_LIB_SUB_ESTABLISHED + if [ $((RANDOM%2)) -eq 0 ]; then + userspace_pm_rm_addr $ns1 10 + userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $MPTCP_LIB_SUB_ESTABLISHED + else + userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $MPTCP_LIB_SUB_ESTABLISHED + userspace_pm_rm_addr $ns1 10 + fi chk_rm_nr 1 1 invert chk_mptcp_info subflows 0 subflows 0 chk_subflows_total 1 1 --=20 2.35.3