From nobody Fri May 10 00:58:01 2024 Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2078.outbound.protection.outlook.com [40.107.249.78]) (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 D1E177472 for ; Sat, 4 Nov 2023 08:37:12 +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="lzppAdDw" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SR3v5S1Sz8hLRd1a4UmqPTUudw0HAxIfmP/ObLocsFDDIu6otb3kcGBS3fBAtFqp32c2pZnoYs+A0I5tfM/5yCHyQOHPrRb9hNONtnwpUMUoa5zE/SPij+Pb78p+/1Q6HFuUiqxC9+5b2zVZyYYGYFMzL95MUwjA8C/0yg64A99xig3RLMDhbh2CRpD8nC8wUDwidyKHc6EpM9Qo32XzDuYvWFXtKaKFq+hmh2v7xMPVv0UtlGSeTQ3XjGutCrx7pizSgSzSnpoH6r5LV3IAIBEMBNvJrEirA+06kMFgKLEG/qr1hc0EEaQfFBGDfCp7ea+hnXDZE/sMeC2GVL/1lA== 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=4480WJdQWkJXBCygEA7mOiPrwCN6r9V/egttgfN/imU=; b=kigUu0gmC9UTXCLhfSBwvDttBUxcPQGdZ/SXKySDvPuUg+ZQ+2aRIroYF0OsWPZCLaI6dyGUTZuz0yeyqTnuCSPUd3RgwvTbh2jbZLoynQ63hBdkz7iu7BHwNS2IIKZymyJCkOsLNMOADhApy/iMvSnC4EDWb6UdD1/U1B95ioPVMprHhZsrozyNgwdCOdatDWIvSH9crr4v08CLbfJ7b9AjA6g/FMCRnDe+pMXBlByrYXcXWdPEUCwOxHWr0y7zrIDgcWFehpHlAWMP0qCvHX3Swtrl+BVel0JJElWP6nFOs+m9xREBItT94wtfib9YJUmp7djZe6rDG/E9j4AoNQ== 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=4480WJdQWkJXBCygEA7mOiPrwCN6r9V/egttgfN/imU=; b=lzppAdDw4jQuU+/5TJT8ReaYZHEaNLaWFpIfgtSSTTeqeun1mRK8g2rvGesknXzJuDRo/Yw/4M29op67Hg/gNPisQlOV1GK4gbmABNmpNoHhD+ad3LMCmlEIZ4Skz43bFvipbVKkffCLZD1SB22s7Csn6b0bZADRWcF7MZuup4uBe3i/rK+oX5+1u72ou9hl5mBD7/jnxgbQubNOxLYKO3wtdfLBC+qxx1dJ4C2Vi9hD5oP97qbDmQI8DZuZiRgMfJZZHKNWh8G0tP8qqpHpAEjBAMLSvlp6gYPfO89ZJXIWIdQlHaxqbi1L+nCIvP1MNdx450gRSlVvKlxo8mAzzA== 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 AM9PR04MB7681.eurprd04.prod.outlook.com (2603:10a6:20b:286::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.17; Sat, 4 Nov 2023 08:37:09 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 08:37:09 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 01/12] mptcp: add userspace_pm_get_entry helper Date: Sat, 4 Nov 2023 16:35:49 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR04CA0006.apcprd04.prod.outlook.com (2603:1096:4:197::13) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM9PR04MB7681:EE_ X-MS-Office365-Filtering-Correlation-Id: 41be1ba2-ba76-4c7d-7a25-08dbdd113bdc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eMIp7oaOzUEac0IXn63fFLpShJbkKMRMvonz9sTVhpEQ7FwAICovWFr6BeQpoB5vT7pzTSDOiJ8jTwMnVUwGtGu0E0OTGfTkg+Vrk9O6Vh9d3U/6QPOfsDyT5wJIll33pcemrVb0stns9OCMw1ptuviWT2eNEoYagWPssrrquSU+hzMgmxOnanaUYLH8xD6K3Ga0HzAgrhQXoIJEbBxMXflYrK85OudsM4qmLqNhaVyMwCshPsM+7ua17HD6TqCuxXMYrXkI7x21+tG2D5hFtC5nNGofrMuH8nse0QaUrUJHJG3PhA86jYlo0bhhm+sSI3mEpa5pCIZ2pA4D4UfWroqz2ONnAYb061hxjEb4yT6wD1F0F77GL8OcibL8/p9gKqgM9ZINd13511VrdJedfHMVtrLWLLvWaWzyW0gtuP9ansGTmGQnBQ8juixdGjAz+7dyzZ3uG9hiWde6PHi2+6E2i3DN+BE2QPxPgNfwqAwwDMAXBHwpk4mqz7WD+jZ1iubFro8epFnwUE7v9C93LW41YXHkH9+Hlm46wKj7ARwk0zIQmtGhlCzOJ0DnZd0G48G3Nm186Fh99MS/GcmqgC2IIeG8Lj073hyP6Uay+MM= 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)(136003)(346002)(366004)(376002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(36756003)(86362001)(2906002)(6506007)(6512007)(6486002)(44832011)(478600001)(41300700001)(6666004)(8676002)(8936002)(26005)(107886003)(83380400001)(2616005)(4326008)(66476007)(66946007)(66556008)(6916009)(38100700002)(316002)(5660300002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?4V2puwPcqZAcypXXjRnEChxMulLBX9BiNiM1NYZ0vy2e5stFJtqkjlkaut2r?= =?us-ascii?Q?CNrc9hFodc9C4rzScWTyczCqLacqegqNqUyqRZHQFe0V82YP6UaQNhK3kJFy?= =?us-ascii?Q?Nw6qqj4gEvAv21KLlsawcIUq5dTtcMrcAOZOxP+znimWfqS8MMakE+oL4hhz?= =?us-ascii?Q?KTJAoV44NvqNgnhtGPOBYmd6fXVZ8/s1ddYfMSzwbGEjIdMqsIVJbj5QWOHM?= =?us-ascii?Q?JREneKG0LC/BqS60/v5a+rVDiIgDMyESolEfmGV6bVImRaMV/JdyB6pwviJF?= =?us-ascii?Q?64+acn9Ny+lKd2J4reAhleb4B2AhLWqiPQBO2LffGEdMrAYDFOCevu8Ti3Vp?= =?us-ascii?Q?C9fTX1Iw+J4O5pVpW5FviO7iWW5AYiHYGNF6p0Z6JmaoDj4vSE0eIj5v59W1?= =?us-ascii?Q?4NLwAQ2Z4lVP5qSPw56vk31I1ji46sqCr+fL95KKSf38HMSP7I9C70YPxm2/?= =?us-ascii?Q?eWKdKbM0kg3bOmjCNM0zQ1mCNslOvItltvAHKHHXd4eMpwI/jUC+QkY5THOU?= =?us-ascii?Q?4I6ABNF7ivnoxrguv8xxXfNyhx0iEELi7usGsiWP25ViAORDVSaEFhKpM/4Q?= =?us-ascii?Q?4kSRyaCoT5P5hgXegxZlKgvzy+8ImWUh1iaIJQ1Mcg1JGcWqKn1Xh9h36qfn?= =?us-ascii?Q?T3donBTe1vHk5tJ2YA3es0gpaI5bAoamfExp/2zeFIc2qD5P9rSdPyq0eCbJ?= =?us-ascii?Q?lJZ3dYr/ccmprO3mwrXvj2hSKXiYI5cIahCk6ra8X+W6+GPhXyYXtQeuQ7tJ?= =?us-ascii?Q?voSQ8jr5EVWNa6sXos6tBDrHCo9TsVXhguKsKoWGTsr67e2RrmFoDnlTUh8A?= =?us-ascii?Q?BvLZLU7rQUe8JABtkHy/QHAHfHhDHJsi126nOqZ5ad25KiGF81dS8m2fJ1Hr?= =?us-ascii?Q?CUq6gv8I4Zps3/0QmEQ8aZi8HBDxENal1hdA8cGDtdeboZbUiMU8wRI6SklM?= =?us-ascii?Q?/6gsEwEAwrqksgacf+5zkiaiMAdDrh9PiTYRa/BO7apOXm0bNOm5sacdO1Y+?= =?us-ascii?Q?SdW32g/nmDbHofjwwi4ROld5p40Vrj527LhJTz4CWend8f52IrfRThD6/6iU?= =?us-ascii?Q?kyXeN5UdTnwafC8FkoiKfyjY1AG9cCzkDrWKUvVXBXsqHHZlvWmpmTy5kgvb?= =?us-ascii?Q?28+QEyYmeLKilkG/Jtzc6jUgskKeyPkHyX7jfZBEGrYW50ynxh5nSWYz9uHv?= =?us-ascii?Q?RJ3+lTFV30ymvlrLivhPDSjlYRAo+KC1ZPFm/hUHMUc1FcvZJ9y0cLLkgbUX?= =?us-ascii?Q?TKPoO1nxqNsnXWOHRi4JxMGKMWi8ocwF/YbYAvm22/RE/wy/nFIXe+op5eRl?= =?us-ascii?Q?mQijDiBQnDiSnlJUlKdMvRjHg7ZCIaCTdK80upUygKIeYubo8eQ7J0wtoChw?= =?us-ascii?Q?SGm99q1UqIwOlrugroOs6NnT0h/CfNStUTgWYS8ulEDr50quF0LZaSiNYhJj?= =?us-ascii?Q?vdvTuJgYIxbZbC47fAy3NuvIT/HcL4OOuxojVZ9BSinE90X22GjPcSM65vj/?= =?us-ascii?Q?zPkwX97zxgSNReEPpXB7eWp/9WpQWforot+5nojN3ttx98sLULKcf4G0kqd9?= =?us-ascii?Q?AVF8oyUZCrsfhYWeRM5CcbvAl+I3K7zvQ90Pbobj7bSHgWte52Mm4Daq4CMw?= =?us-ascii?Q?dg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 41be1ba2-ba76-4c7d-7a25-08dbdd113bdc X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:37:09.2437 (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: AgneCAmR5D+3DbnkLZ2inVl1AcrtQ83orZIWsnROeOUPzWYyFH0qAIF3uYh56aeGsgT+pZHSwp4vkHC7YE4fWA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7681 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 98390d048ab3..3f42323c30c6 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) +{ + 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)) + return entry; + } + + return NULL; +} + static int mptcp_userspace_pm_append_new_local_addr(struct mptcp_sock *msk, struct mptcp_pm_addr_entry *entry) { @@ -103,18 +117,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)) { - /* 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); + 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 Fri May 10 00:58:01 2024 Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2046.outbound.protection.outlook.com [40.107.249.46]) (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 BB09E7472 for ; Sat, 4 Nov 2023 08:37: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="3wb4ZEbq" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lY2oCw6EExJGmcB/fZhFOM+6VB/RtijqGe1EJGMuwckGICcA2NXuHiovg42wx4vmhZMTNwuUFBmi43jCuwuQZmsiwrAab4/4n8SVyZpxolm/vwfv4y0LMGWKPiO3BCJxIYSicIItHZioxFe8G7QM1EPQeQL0mzNf4/WfVnByVFzvw2mjMdM4fz/cTKjX5Ym7C/lWAZbTYc6mehEGW07CNgcKUBTKcGOLc+zNEjuC+71x6jEaR4hH1PljuDGiqDfx2jfZxrGSVtVgTeleHAyyrpm5CIZdou8LuLb4cZQ2ZSyFxOu2ZCxdSeFrzVXLQxENvWC92qAJwCGuOvwAjkqXxg== 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=p7oMntDnZsri9R88qHDRaWM6NL0YmCk06chPyihEA7g=; b=DQGoH5rRW6qsmVSjUKo/icaOls2fpteLn9LXg73N0utkve4VSd1ipKvW1hdS912R3m1eIECBG5qIIJGc2+BcMdGGe8+cgraYhfE0O3oy78DQ1IjhUTiUHo8BJpozVzibbQ/s1tXmsJ3G65BO2tiPTzX8CKGbP3pnM954UDaABPyViuBQWMfe97D1kh3IdQ6et33Qn2xgwcr4NyZaRF8nlieO4yIjl0tj+/OUwT7P5K7vf8PK7HZFV3eJV4DEg0Ev268BbZBDj8ImR8sEgSee6nmHP7M9T/PamV2/9Lx71VimLPQdgvQIifOkXfyZhqeIH98AHj8XHp5eiCfgbFY5Iw== 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=p7oMntDnZsri9R88qHDRaWM6NL0YmCk06chPyihEA7g=; b=3wb4ZEbqSuSi/M7cxt0wNtFSyBldDhRQgQ/SKxUsattc4BoKKbaIuXaHs5huLh+550z+dop53O7TE46CLB9zm/pjqv3ghjeZKrUQFW1Tr1AI6kmgLl1xqagpm2pExPA9OtPRwpF4OpoJDC5zC2bWCJ/tXIw+vz/n1j9dSCr1kEx6J91bWbHJsYQJTuOLP/yz7Pi3/41iMMYzVWgfRTQclSHKDcFP94Yj8UbcvGywV7eAY3ivN8ryhIzZt9Abifpta8LkXB9ijj7BofEHw3cdKpY07v1Gg1xf8tnnS/36/DElM+Od2P0wO7Iu5JgUQ9MQds2KvHk2VPJKJooAudeB1g== 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 AM9PR04MB7681.eurprd04.prod.outlook.com (2603:10a6:20b:286::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.17; Sat, 4 Nov 2023 08:37:15 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 08:37:15 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 02/12] mptcp: dup an entry when removing it Date: Sat, 4 Nov 2023 16:35:50 +0800 Message-Id: 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_|AM9PR04MB7681:EE_ X-MS-Office365-Filtering-Correlation-Id: 488abc89-f04d-4ff0-86ba-08dbdd113f98 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vZMi2AjfVN714+uJpasryhzFRqTIKHNLDKBuYv5D1kPM/0bcWukNh5oY5WrP+eubKMfzf99VSShSEhMj3wUG9vEjiik6mPD/WSc+PvBsXZ3djLFDaYQ7VlrIggei9YgUgRO4Hff7CFw968QbJ+PvXqTcL0vUke8WcILm0kZm8CSG9DF6ukz3uebebZ2uQJrrs8g6D+CrHJwXT/Zbvmokza83iJqNGJY+3DNlpdcfyJYsRVWbkwkmP+I0TnWrvWXxSKcTkBHiXICIHT7DxC7FlmPeDaMcElwJF7ryqSS4WNbJYrwv4KMGQLWwzQcZW6ETZNoii5NTg4ZsDNM8bS1VeqLZnuUI/zx3vE3cy2iSeOSIHjQjlRKkUsNsgioIqnW7BYCHthz7U90DoVjUXZHEHO54fP1MKSgWxTO/pp3uKgQQz93XrNOS9F4+X0E5N/y5I7snrpk3YFZlWuRS50ZHdfjelO0902Do/FPLPVTLNvbhBqgyqkMywpVom9M6co6Jw7hlujHqOBaaXiekwDP7lkp5JfIpPBb51mLv132U6tvGtx0Asvanc5+MyA60NRhEJn9tOpiSu2NZr5zS24KBbvSiqHCCPO+dLQyuSN07Odg= 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)(136003)(346002)(366004)(376002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(36756003)(86362001)(4744005)(2906002)(6506007)(6512007)(6486002)(44832011)(478600001)(41300700001)(6666004)(8676002)(8936002)(26005)(107886003)(83380400001)(2616005)(4326008)(66476007)(66946007)(66556008)(6916009)(38100700002)(316002)(5660300002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?qVJTNVSd/ZIXUMkt1V2KKIxNRFjJkSq/nnD4OrOzCEji3b4IDjnetoriYVnp?= =?us-ascii?Q?ZinY9xcloJlAc9MIT/qKPmktItnvVkgluqlA67Am3GceiBJ194eig95nVv1X?= =?us-ascii?Q?4d50+lf1NQKSFLp9NBDL0Feqv151LAKrseVrQJp2/40A0XYgBnIP/9J1xSNf?= =?us-ascii?Q?hhvcPRMz747rPZzlC+ib8x2cVwi0ZaEcLoeUiHso6ZM37wzOYXfla5Ork7JR?= =?us-ascii?Q?c+qTBMS7SyuUE+q/NY0bfZ//NNFSs5afEhw9Sp+DH07n/HwGfL2UEF+qTAgk?= =?us-ascii?Q?Wpq7bXeK0KM+tSlj3+9ZhlyWdD0yMHOBaLMovHWtnxFIXI0SKTvvYt54BiQh?= =?us-ascii?Q?6uLy4DRDJNJhq0Ts2YcfUaFFt4hiamvpPXQ+zXYBxWFqvTJDY3BoXsfnobO7?= =?us-ascii?Q?j+2K+lg88smmzolak1Zrvm5nIxRrlxq5eY3gEDDf2exhsZm2baAiSlotMEKF?= =?us-ascii?Q?v+9thFlYZ0S5zr5Tv2IiTZZAYvLmMTWCBrHZxlWJEQ+06EAkE0BsveM+NtoJ?= =?us-ascii?Q?sDSLglNJrtfHINeuXJ8+XGGICcV1ayiUBh9nzhhceDBwY6XtNamvkYHArB6r?= =?us-ascii?Q?EMgUl1EP0OEqoNysbKvDwEdt7dxqg7uu4Yeau8Q9/dNrznGIbchsaBVuslDe?= =?us-ascii?Q?ICVcv4DKjG1gWDR5Hj2OCuX6C/L+SEIopfJ0pFknr4h2a9KkB3jrolkxxHWt?= =?us-ascii?Q?v8H+PV+WIkl+Ru+yVHh1/sh1lSkqcs3xkoz5BZ4rXE1DIvRKc5T480xiqX9B?= =?us-ascii?Q?zOUau1fYMUiSjzNBxjeh65TIDhGTXTvINTfH4yyzgajSKJ/SjvntMHN55RSv?= =?us-ascii?Q?0SMCAcLHPKBEwyPNIHs0JafikcbgJPd/YcC8CmZWfzF7sTk99q/eLIHYhlYP?= =?us-ascii?Q?jx5DlfgB6e+szLbz+HurpIFlPWaqvGfSHNIh20IN1fiBqFnzTu8jYtM2rW3X?= =?us-ascii?Q?lLawp5QBFhhFBJmHptPzH92Qt47CR5SqZ6uRSl1BREXLYkhSNWyj9l6eU6We?= =?us-ascii?Q?lM5KSRulv4gu3+UxdGJvoa+v5qJUVZWabLveuF+7tLCl2xiYoagE06bSx6PP?= =?us-ascii?Q?crF9lom/S2aed5Kxb9KnTfhEV92meHmju2AEJMDt2SXxx3nMwHbrAdt9vX2b?= =?us-ascii?Q?qYjbH4fSbxiPMqDQqrk/keH8nUOUcxyQAW9RPeHGylB2ookZRYn8YXVe5mIt?= =?us-ascii?Q?tGQ3wHai2yB31SSBbqeUMyOgDUiuAHN2vX3fSUk2p12tiX3qZdJ4EwvNrBsg?= =?us-ascii?Q?r7ZiKVDOJgNGlac0Gkvt/SnaJcQRHZszq4jFjlE2qEp9SWGZLwgVUZwVH0Qu?= =?us-ascii?Q?d/GEucn4BnNtoORSUAOUhMtKI3p++Cv6yRR1r69nks706sdLEBgvA7Lfdiz7?= =?us-ascii?Q?g16vG+J8ibQpLmguVj4Z5o9FskWsCdvClwgxBLZ8FKUkbetxWYBI6lifOPAF?= =?us-ascii?Q?i9k++xYutk287Q9+aONFlFMiZmFomIYCAzlWSCl2sJDU6PJC3eqmqzYxYhmj?= =?us-ascii?Q?E9gaTsIsEhU4UWXVwFit5n3zrcIruV/oXSYWuIYalVDyujLn7Wl0snn5/mGI?= =?us-ascii?Q?yd7lgt41SYV/QBZOhAVOdwHUnfkAC417c6FotePUmh7XLiZQ/xIwDue6JUXD?= =?us-ascii?Q?eQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 488abc89-f04d-4ff0-86ba-08dbdd113f98 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:37:15.5353 (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: P02KPPzJ72Xv+agXtpt5dxuHIqAUO71JHCkFBYX5wdwDGKaU8kMK3raBZcQvHvWjmAajzetO12bircDLMeDimw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7681 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 3f42323c30c6..919428b9edae 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -316,10 +316,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 Fri May 10 00:58:01 2024 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2081.outbound.protection.outlook.com [40.107.15.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 3AF127472 for ; Sat, 4 Nov 2023 08:37:23 +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="sdPOG0D7" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YlAVVb66UNzVbj027qxcWpZD14jmRY0FWpO6v37lw9nsOmfgZquel1jM3ljcQ0Vj0zKoeEPQ+sTuPv6imFSHXRYaQkyX4LGn5Eytg3GYHFDyKlxaDF/CihaclIrNGMIMExoSishFw+1A/d22O/Psg4yO2b8QjeNT9084aixSQ8aNB0d1nkNC0mdiVl18zjkGEx8AyPzarjHRbMSqCo45KBWj1EvaTua/+3+puGwNgI+9/7OpP+XhXFGoNg4o4iOT5azr4VkF8IUz3MQnEnjssQNZIa2/fsBdpHYrNupAVTEkC8GGDoV//IN45kdijW2K9EGNPa6pfTJrY79JQ4eIww== 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=oCf8Bms77J2C252cRZ+ws6cgUlsNHRdmQqK22yszJ48=; b=XAglF7qH0AoNeF+LiAA8hPmoRloLHNhrdaPu8e0idHR1iOCA4UVFg59oaDj3CJHKMGvqgNL5bfHYvel5IR2A5NbE8e3ed+aWn2YJR3tLpcjiO7z8Uk/1n94nN1dL6QvXcNgMrowR2FvsPCcfbe5LzDb562TiJpIw+ZT8EA6lqobKczRySFeZDhbiEntbLjl7azyhHZM7OG8CuyoNOSvgODnEqvOomUOQbC5qpu3mNRIc7Xe/LKporzEHcF3YiUQKoEsxmRt6u/PUoaiSEAoSm1d17lnjvO7lmBLEaL13Dxed2DsbATTtwEyVM5zbfLQ3dorUO2UxTbWfQCzmfbA/TQ== 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=oCf8Bms77J2C252cRZ+ws6cgUlsNHRdmQqK22yszJ48=; b=sdPOG0D7N3qI7nGB3fXmU2K+dJsWlm37yPfoQ+SJldXkoaso9Yp9ngYu7KnMjUHfpU7ZhWnPm03Qb6y5j/QjC4NvUQg/6neYMNbN68xv79cpPV+YZFzuHPCu+46jeYjTfr1mTNn99rG9d5EmKmL5rWvKCT5HBGA7hYjk1+nmr1JPNbrJHPMaDuQCwejuU1DsiLiGL4dkMT0i9hhPO016kEgEZaysLkDVxrGvLpJskRA92fORsvbrmKM59XPhB1GkGWHJV0vPnUlkdhk/fMQpY03uq2CU3mTwMgJYYYSyx4nWo3vggvVyFItzFp4O7YC26tB/b6ecBVj0F9te8MXltA== 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 AM9PR04MB7681.eurprd04.prod.outlook.com (2603:10a6:20b:286::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.17; Sat, 4 Nov 2023 08:37:20 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 08:37:20 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 03/12] mptcp: add userspace pm addr entry refcount Date: Sat, 4 Nov 2023 16:35:51 +0800 Message-Id: <9a466f843246d7e644105777b2d164759d04c4ca.1699086300.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0024.apcprd02.prod.outlook.com (2603:1096:4:1f4::12) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM9PR04MB7681:EE_ X-MS-Office365-Filtering-Correlation-Id: 26b00d64-5c82-4848-25b3-08dbdd1142a4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uGhBSZT+ZXpOiAi7MSiNWxO0AAy2YYAemeeC9meqUPM4oqR6DYrkETlCPPW1J91LFpGLiVGu8cYYbH7qK2EivYdmIg+G2LdcfcOVcOJ/vzVMoc4EP++sMpjnFSr8C8JAgz75nU1xN0XVQv0tc6UAmZQ6jUFSk5ggxOaVQq8PJHRKk7F7LvC5NcDRdMhjnWocANZPq3wJN2qjAk1U+pMWiI7Vl31ic4x5Cw4iaQtXYlnqpUrUSBX9MSPdfedDZ0xygXtINeu1Ew7oW2jR4w7wR/TWMuVOphLK87aRQwU0hoaRdja4jT98hjhH6MYTDcoyBgGNlePvVobvfXd3lhp3vXg8gRDNkVNzY9tQG+mRDp4k4X/nloTGc4bVDuewAthhCdQbrRS9cMST1zuckJShmGl8XaoIm7tCITdmwjW3JMfWTCB2SLMk/Df8Fa68pDIjxjLqP1ghenjQNzVDY97S66ueTrlPBj3ZJgMlxwM1VGxrF0xdf6UlV18GMswuURLh43AL38SwFrpssrmqFCO+Qjn9SgCBQSaArHuugCP6krcwMLokAF9QQaUJhrZCHMIVwq/tJVO+cuL8PgzyvFckEFZKWojj4XLdWDCkidFOolo= 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)(136003)(346002)(366004)(376002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(36756003)(86362001)(2906002)(966005)(6506007)(6512007)(6486002)(44832011)(478600001)(41300700001)(6666004)(8676002)(8936002)(26005)(107886003)(83380400001)(2616005)(4326008)(66476007)(66946007)(66556008)(6916009)(38100700002)(316002)(5660300002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ue4tlycfvoO4XPSYD6EvWGSndfGXIT6YNAolPx1rEZpUhkdJ+YoUVUibukZA?= =?us-ascii?Q?WchHIwcsj9di9tQDMiZNWijOyWm5xW3NA+j6yAvq7r0fVqVgJ/DGzWCxRmy1?= =?us-ascii?Q?VDJdRSivg3YS3bYhss8RP3w+ALQruCPZut8lxJlRXvXaOgzXr+0J0fcZKvOg?= =?us-ascii?Q?L8HDPOt/2BZzStY+Y4AfiV8yy97F68/nHpBLTfrvblNIhKXQtgUlAqKbQx06?= =?us-ascii?Q?mhWWj52nExEkiPNLbzznbE2QjPoKC8vuDtV5ja3M7Nva41dgWvNcyzKu5/4Z?= =?us-ascii?Q?eQqp4FFmAFe+lwyp048gpXEGLAZhbR0UgXhuQvuHfkYaaE5jKCtvbK37Z6Oi?= =?us-ascii?Q?WAXLVTLckShfnWJKlpOk2sqPRaNcCA6XGGYpUn8N/BKxCxs2uRj63/1SJO1y?= =?us-ascii?Q?uJph6tASUhfr2Ue5k1xQb9DC0z1JC29TgeZyoTw1VvWO7okBmnQG39zNKobZ?= =?us-ascii?Q?pXraH1zkcktf9OEQCH+v1oSjtud/C9LR9a+rjf7a/d9fx3Mtz8vD3JoY70/L?= =?us-ascii?Q?XGy2aahaFCbzLmSl5GPfGBv7bwAW+aAFk7ImcfLaS74umXhpOLTYvnWCAEiZ?= =?us-ascii?Q?zkfqGwRIiAPQHRDsstSI01NLiWMjc1EFQIqxvFzFwW5aZHM0tr4+SBe+HAR9?= =?us-ascii?Q?F4n9fY0LiHE8iCDdgbFBqzfM0r2/7O/HluVINldob+BCafYAGRuZJIRkqVZC?= =?us-ascii?Q?8KiZV7RyIH4JsPoyCuWoad7xzZn7BaGZQSvKHNpcBotpNEzYUybTOV4VtZUR?= =?us-ascii?Q?rudYw/iOtWmUqP060x0yBGw34Gu9v63HU3nVir1NwpUukwshbjtec7MTFICo?= =?us-ascii?Q?X/+XS2+4g5jv5pKwTwdIyjlA9RJF2FF7Xp9Y2Rgk+OWZiEz8EaY3pN6jc10c?= =?us-ascii?Q?bzhlQPN3TWN9O4zbroos+eHlEjY+ZDptEEwAQ4P0us5Z3Wfq+iVvIVYPE/nU?= =?us-ascii?Q?xN1PzGC5n0YgxEWWhp8Arbt6ziF0y3yCCikKcikC5gdWsEZAHTZDoMEa14c1?= =?us-ascii?Q?F0qnO6fGNrE+27QmmVMa63fs0HM+yCMp6sMFl0utQuUTkt+GXVNyJLtQoRaI?= =?us-ascii?Q?9pIUvgAZt+rbsy1IsfuKFCL3uFJNWU/I/3JCmgEQeAfQGw81L7uVrdi2Iygq?= =?us-ascii?Q?ZRwlqxi5kkotKy0zz+tKJpKMiwcmZmMw7whjqfMvX5dVcrWohRCHGTUKdti1?= =?us-ascii?Q?lU2Bj12D+7GxL+/+BSMAzO8ZAJEKYUn9ew6U+f65kBQoUdIZQ78JPgnkVWcK?= =?us-ascii?Q?DtmdRMtn42UOnXcsgFQNVSKxXSWHxVtAPVKAdlnLW+7e7geSLV8OHSruMDjn?= =?us-ascii?Q?nufhWf6xQZHL4s6CbsbCKpASh3SdcMBjcid6iYi/o74oUtl4Gush5jbcLfIn?= =?us-ascii?Q?O4rv7kssNbZ9OUMjoAHhCHMBGDRWBQIZIsb0hVpTVAxgGLV0AMjMHD2NoF/r?= =?us-ascii?Q?r/e5gzPJUt8vDA080+xgRb2Lxq14hYQzX3pAReR6Z6FrIXH+1wzfZvxj1UNX?= =?us-ascii?Q?u+rRwjipyv1ROWXb0aorKPhuuoqL7ocPiKloaBgdvdM6SPpQnLaywyGQOCVL?= =?us-ascii?Q?OkxXN397DPmPotMgSpuHcWlAkQwL1Kv0UFQ8ybOsJTLb2v454JiQ6rxZBfbw?= =?us-ascii?Q?Cg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 26b00d64-5c82-4848-25b3-08dbdd1142a4 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:37:20.6398 (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: cU7x37Mbaw4OoTQwjuohzFAbJTcf9wTUi1oL3dqoVgaxSJI0DhvVT3gu5S2NVLKFTVSGP/MqUmLOvwaGu+xwMg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7681 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 919428b9edae..3e8304fc1271 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -99,6 +99,7 @@ static int mptcp_userspace_pm_append_new_local_addr(struc= t mptcp_sock *msk, spin_unlock_bh(&pernet->lock); 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; } else if (match) { ret =3D entry->addr.id; @@ -121,12 +122,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); 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 @@ -220,6 +220,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); + if (entry && !refcount_inc_not_zero(&entry->refcnt)) + pr_debug("userspace refcount inc error"); msk->pm.add_addr_signaled++; mptcp_pm_announce_addr(msk, &addr_val.addr, false); mptcp_pm_nl_addr_send_ack(msk); @@ -325,8 +330,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 @@ -411,10 +418,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); + if (entry && !refcount_inc_not_zero(&entry->refcnt)) + pr_debug("userspace refcount inc error"); 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 5f2c52c82cf7..a7db86901e77 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 Fri May 10 00:58:01 2024 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2079.outbound.protection.outlook.com [40.107.15.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 40E107472 for ; Sat, 4 Nov 2023 08:37:28 +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="cA9sepce" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=En+jxVSyiFq+t+1gFFwvuolByQuOid3kBzLH5gWlmkQDOIDgVP0XRhWARvfc66fjJOHYyVNXmNgMywHwuOHmp2cTVBGgkOQq9PwO1V8DzLAmRa/5lnUK8GzbkMKnGEYhiq8sup70fuJmgejTPq9oCZ3YwlyHYsR0N1563tuwtcMHCknYqAevPDXzDNbyojGDVGfwIstF15cYochQ8njyPK1eeSchHvqC0ncy5A/pfORn4riNI9gZqpF5p/bnYdgI+nZPGqXNNyHSTI837rP2th0469atVa8PvMiUe0xHhz7+5XGlPuVDUZLwefSS4cd3AzBjowjGmZ8wmi1jf5+muw== 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=R2x5/vC68x3R7Wzp1Hw2MCxSVfKpwwTmhfJX+C/W1sw=; b=CZhM1MtRfsNvX651XhrH1yEdHuVtT7WzwWJxFicy9/hKk/xGxVFIHMtSZTJnRNs7kuA1NdSSJ0E4gP2XWc+P3BBIOntJAeqDnnfantHjXLQwjYneeOG0nEkxFcMTlcquyerVEnUdjSa2L0Hw9/9ON0Pk1BE1v/JNBILtt0F/EBY2UN53KovjrgpDVW55zcAdxRVAx7fNScbCWF5R7OjZAsNqHnDgfCYII2Qy3IOhXiyXsKqm3bbpocqvrgjmfBrDRSkvcElji6rQezEzGm8/1Mb38u+IcDH+PU24/1lwvHao0zrTABh3brNdcolOkMtii7xs2S2UohKr9fjTQpatlw== 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=R2x5/vC68x3R7Wzp1Hw2MCxSVfKpwwTmhfJX+C/W1sw=; b=cA9sepceZ/+8I5ZU+rZZieyr1XKZaoKl239y3kXEdE6Phidgm+xxLW8H+1uS/GwS/TSD7/O/wN0HsHergZHNbKLAmsXon2slZumv9Vmk7i2/0EtKUNhk4zW88/i/z54z66yyBC5z+kI3VazMLAr+HjSys8Rs48oZvExiylMHYNguN+iLA+Ou6xmOxk/MES1Q9a6X0b8E3IZ9XWRV4KrddTB9U7MKLYbPpd44OhnlYMMsOe48O9acHvLtAASexzzO/tnJS/zox2ikkjKkgsZ7xW3mimKAVr/7eTwO7fP+E5ufmrBmwT8HUqS9/PA6uq/F2lpQDsRv1gUX7JPhxwnODw== 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 AM9PR04MB7681.eurprd04.prod.outlook.com (2603:10a6:20b:286::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.17; Sat, 4 Nov 2023 08:37:26 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 08:37:26 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 04/12] selftests: mptcp: rm userspace addr with random order Date: Sat, 4 Nov 2023 16:35:52 +0800 Message-Id: <473d8295b03859398795c0c07e6979cec40b2a83.1699086300.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR06CA0017.apcprd06.prod.outlook.com (2603:1096:4:186::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_|AM9PR04MB7681:EE_ X-MS-Office365-Filtering-Correlation-Id: f4f93210-bdfd-46db-8961-08dbdd1145b4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: P78DEUwRy+JHVHjFgoCZUoM315OTe1e4MOQH3NIdbZOFVba9mKrYafiN0Ds6+7M1euPSMbI4DGNqMNJIHykxW7xAJqFM46DWssMz8Wo0ufqWHyw5iwOi7PKpqfYCEeQWTPNQsJ/vmUnWg/dc93NrT1ydIev5z6N32wrJPqGlppJP6CxZfrYxzsY6vDVwp+oRsaEnMvb35tBc/OJERJCpG9mETGt/PD2b6re7VJ4XiRK6+yq7QHnoZgGTXmpa7zY+c8hfFF+nBqsaaZGQZuZW2ikZDhrWEqOoc2TjHfyPVXbMEp0Cwya7q8V8tnNpm4/ZJ9q5G778Wzp1KsbNwsHsfg6eswBQKzJ98zwrUHA0+nurvK65ytvucLce+vaSjyXCNy8I78elibFlVtSLPrMRGUUvspAsXb9LA2hgJjliqma0O8wy1TIEooVOWyaJj+DIjqaYS3xtnZXbpV3titLB2n1XZJzuEh92kw5O++v7pDgpatBmonBVOHmMcEALPK5ppRPHc0jesMlT6NBepxeqacKuH8xDkBImuYtdWa6hHBRqJcEy+kJryUCI50RwEM/YLbezE5LxLZXaHQvfUMz11h5rpQKuZgqaYX2sh6kneSA= 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)(136003)(346002)(366004)(376002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(36756003)(86362001)(2906002)(6506007)(6512007)(6486002)(44832011)(478600001)(41300700001)(6666004)(8676002)(8936002)(26005)(107886003)(83380400001)(2616005)(4326008)(66476007)(66946007)(66556008)(6916009)(38100700002)(316002)(5660300002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?LW+pJYMUKLEYBzwGYqA0y5MV3xb10dQFTjm7bZVeKPcjNggFKw74Uet9HWCZ?= =?us-ascii?Q?p/olRoUQ+6Qc9Gey0TbUDjH9QAja/vJKiN5onASeNDDKtL+Aqas0EoM5Q3nW?= =?us-ascii?Q?cnqhXot/e5RCFRHcROrRTA8RH58G3DOFlH/EF+AQox+GOEg0oMJMpjVbRoR+?= =?us-ascii?Q?xS+gjfhLDOERuHmW5UNSxYRiGYUoZ0H4iLACpYq/N2WsMXpjWf444llGV02N?= =?us-ascii?Q?kThrCMzkEchuiFWN1grzPavlfnsG+4MVJrcQKBvOcLW2u7xB5kVEHL38ZC7+?= =?us-ascii?Q?U/KGZoRZp8BTsP419CzcvjUbGDpFlfvo9uUXEni5ptih/WK3jdR0Sv2hdk70?= =?us-ascii?Q?oiV5/gHJ/Ee3OR+shjQGopfc9+1S3H/z0ja1n8M+nbvihhgybkVecVi0j4QD?= =?us-ascii?Q?97CcQvuDFje32DAJtFXdSuOOY8ARzDcTxknrznrq20WQ3Wsgu5Qk8fwtsEne?= =?us-ascii?Q?pjZij9jmVEEOuFOk3eWdh0qTG23LntggLcYu9UIe6561cGbJVy0dzklSy0Fy?= =?us-ascii?Q?mofTHk8YGwTXZOvP3nnZgT3B6f6qjwLK8WBJTaNoplcx7HJ7arf4y1JmqT9X?= =?us-ascii?Q?A+yWUqxFYAYsEUppXlnBjAkXID62Z0yqm2seQj2+Y+0i6SULU17HbaIsFCZZ?= =?us-ascii?Q?+mIgKMUdorfr9wfySElFfB9NdTsCigPBP07pkq/l2RBZGlmxnwq6dUtunJtE?= =?us-ascii?Q?Zc2ccjdT62GSsw7uEIXniFeJlGc7o0d0qnqQ9Nlg++OOMRmM36dnizWxOjwY?= =?us-ascii?Q?5Gz8+5M1O18NNTm+ZhWDEhEKsyfIP+b8tr7/hhaXCaJwzCaVdrApa2o7trre?= =?us-ascii?Q?IJcM9ZRJWCGAxUYxaGbuEYdDYNIjCLUhK3bXJhGEHJCHdxzy8yxt22nKiLpl?= =?us-ascii?Q?64qUBU1KWtw3ejoDhV34saHl1SFPrYaUoMbuPh+ENVABZESdXUimO6PBzBUC?= =?us-ascii?Q?Lf1IYeHjEEpDmSIrqnzHwjEeAHgT8l4n87Eqk6Nc5kQ0dB2/yw7a1ypXkoj6?= =?us-ascii?Q?2pgllHeyoRnDTuGq7eF1GmHeSBZMCs2ekkG4D/WmRQ345FI+8JeQMP7uqYfR?= =?us-ascii?Q?HOBHIGL0Q4D3xBNE2sE6FVhw6bIYtzoj3Uwgv91EEOEh1YI/t2fqklhJeeiz?= =?us-ascii?Q?Ksde97JEGRghj7thVP+1vcFjgKJrU3TSlVQ8TsIq3XRLHAlNuc8lxej4QlKE?= =?us-ascii?Q?iJdKkzT+p2IGn5mwXYTDYTFueogNqPqOqZ2+rvCkxU9M+uRG+dkeAygn8Uc1?= =?us-ascii?Q?8CGqThbfihbT+Q6/OYh0XDYa/dzVG9JTsht9tbB9d9mOPncwmxBKD1hVPc4S?= =?us-ascii?Q?bgV4UouU2YtdaUUxVuCUv/NXqdrCfzQjCeMXdaYDEGqdzoRHQHA24DEUqaf4?= =?us-ascii?Q?RKY45t1mtE9+HHBtbO5APy1zJMhVudpOupu/F0rLltWrOmiXsu1iXWoB68dh?= =?us-ascii?Q?gbj+tSO4v44piGXkzp1flSXQxVaL30rZQNNfEVK6tMY9RmBgRPoPuo/YQrOu?= =?us-ascii?Q?97zgfnUXqkU9JbwEPH2oOnJ+mSeugeuynlWkdybYzGlPAmnO0XQd4xpqXCOB?= =?us-ascii?Q?6KJgq4CX/sofaNPrGzW1KZaJtTpz3OPBiSNnfEYtrI502XAKe7Dgk80VDF1k?= =?us-ascii?Q?BA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: f4f93210-bdfd-46db-8961-08dbdd1145b4 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:37:25.9682 (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: 5/1jq2XTpmiLudgJlCE3Z6G0FObTxMUNYxl1qLuLHrCqXYYEoUCpH8uTtCYiNqJp2y8fJWeZVjacucoYnlV6+Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7681 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 b56e141547db..148ff0f57481 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3411,8 +3411,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" $SUB_ESTABLISHED + if [ $((RANDOM%2)) -eq 0 ]; then + userspace_pm_rm_addr $ns1 10 + userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $SUB_ESTABLISHED + else + userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $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 From nobody Fri May 10 00:58:01 2024 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2050.outbound.protection.outlook.com [40.107.15.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 85E007472 for ; Sat, 4 Nov 2023 08:37: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="G0dqphDw" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NmnqnnN+7qyCVVZmGn+V3E2Vuk4vK/PI+MVeJcmD+moR6xGQIjwaz3hQz3hR1the7L/t8e7sdqyy3tIS4PiVfu4Jdm+W6qBSjAPlrK6ZLLbXj8drsthUiYeOKAN4oC285Wn1UZRvoWVn1L07NmFmliz0OmKqJlroa7BQukTZngiQO48dOVdCJK+y9CHxIl3IV+5W2PGipMZ+LBFsTVfB1aanY5qzCLO/Tr2RO1JyjZD+qJA6MfL6z9oOuVCmqgIRpGQAJgaTfsubaoYzg7s5UxQtXz2ET29IsC1qP1hH6fcnlFMiA5hz5R4b9Ngod6jmVdW/0wbFPAE6EXeILSWuuQ== 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=1WfKbNxPPcaxO38SeKwjn1TAWk147Y/8EqqNjKSgv0U=; b=faUSazmqHHl70XTP+60AzmxOCzB3RxZre2gBw3FeZ8t0KNKXoXwoFPfApudWBAZzVX2uAEY0Nw9c35V1hGTrP5FG+BPdZ+goIDLirKCzSe8vedDH3y9YqsFbrZdboDf44Ei7I9OYlM7rdDWkC45zPPpczYFR5lby9nLsNEyYjvEuu99QB0MxtsrOi75TBi/rxbOqpuvkiJg4f2olqHxB1HMncFtxt2c0ONK0zsagljsFAQbeVru99r6YDtzLXCPRrGPnheIBOv43LXRr2oEhRYI9XpGGIwzbkTSImqnXqy0QWiExikR6+DaJcOY3Q22djUKrLFVD5MHh1I8TkHPP4w== 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=1WfKbNxPPcaxO38SeKwjn1TAWk147Y/8EqqNjKSgv0U=; b=G0dqphDwUfvtvyVN9/j+Jynay2AtMqGxdX+8bBtPjeYaXIQdwIzRMndexNjQYlFfxslJyTSQk8MaRNaAXZbyg2gM5Bh41lFBRbi0TY1cxej52kZUsyjzTdLZZGRFWVvvOM1o1nAkDknoTzTuc1pDot42YNtYhO8w9E2BgwcBne9RwVHLgIpH9s6OupLnXf2iRL887SDWsqBE8DDdzazS6pSLXyaLfe+yCfr0P3H0asIgEzSDNPvAncHblFG8J6LtCotFrjAUSB6iZfk4LSzusUcR1fQPA6mhA0x83z6/Co6sLPVFeK2ROFyHRzySekXvEQeCLgDy0DtQgLVy0kTTXw== 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 AM9PR04MB7681.eurprd04.prod.outlook.com (2603:10a6:20b:286::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.17; Sat, 4 Nov 2023 08:37:31 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 08:37:31 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 05/12] mptcp: add netlink pm addr entry refcount Date: Sat, 4 Nov 2023 16:35:53 +0800 Message-Id: <284c033345aa0a9b315f337463f41cb28e67442e.1699086300.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR06CA0010.apcprd06.prod.outlook.com (2603:1096:4:186::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_|AM9PR04MB7681:EE_ X-MS-Office365-Filtering-Correlation-Id: 7e934d15-1ac1-4c4e-ffca-08dbdd1148d7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TW2ZyAfm2cJ4ocv6s2L47odY2T01qysseReJFje1118tfUq1ls8EsnKTTD8pfL5llIodSHK/QU/TrOP+yRL7gDQFneWLCK7Bl6ZPA3gcJ/vwqUH2kBJeIUrZv7PZuQ7naXpPnT097QCzRRhCY4febvrhOS3brZDFUT+OSg4oHHEq3t514TzcutdmOrqg0I+UqCYZ/18Qyuyw+pSIoqSEdwq6C+ZaOdym+mNw2eGik9gHXTpoxxcglxoMIv6HH7UksAlPFZARoXoshYLn+eoxdPkFSuuYJCzVNe0R8KsZHOCMuEvJ31lWuZKiKck2X4fYN3y+UoWcWBE090x74ZZwbU2tYgB/pz9dCV/6fAwi+5h9aC+BH1cLEk2WFlmclTC91b6p6qI9s2KGXphTFFdOmEuD5l+JpwBC02GU5YFBwwNBweMjBil5NdZFaWT1thhbfWBR1YTG44y2Kcn6w83I28VVWHNGf8Fd1Fjj0Tq4AVuFnGD0V0FxZ0XYEsw3JXHPBy8rSGmqJjvxz6jeb6oPmrclpq+86wII7RZaq4NOXJcoi8nCZMch8BA/BjQvDhjra2/hQZPQoJBMQhX7GOFobHVR6NPi6x2WhrsXjAfFQu8= 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)(136003)(346002)(366004)(376002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(36756003)(86362001)(2906002)(6506007)(6512007)(6486002)(44832011)(478600001)(41300700001)(6666004)(8676002)(8936002)(26005)(107886003)(83380400001)(2616005)(4326008)(66476007)(66946007)(66556008)(6916009)(38100700002)(316002)(5660300002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?IOOGPWvyUGrW89xEWePNx/xmy9hOuDwaXFnTDY4MNA3DK4Alm2Rq6dO4LrPQ?= =?us-ascii?Q?OepvcJ23/ftttY//qWnMIWlvhKb6NElL0BN4HBsND3WxfX57aSdSCgvxmRoA?= =?us-ascii?Q?I7sXcu41vCAiBsxRBcrn8J7Ud20sLlxfoFysiyw+0z86I2xW5VwkNshRzhUd?= =?us-ascii?Q?O20+4iBWhKwY/da0U6ZGwPUNapCkDvNrqMDOrLmWnXRvafFvozqJoCC31XJq?= =?us-ascii?Q?0dH4ykpBIOCKNgqW/NinTii2rR6V11ImLYT73KuHUU/CD5mTOB2mCpLJVSJP?= =?us-ascii?Q?VhCqy+qk7mggKMDrvpIpUnjKokKlA7EQra+z36w4ZO3en29yr4ND9kaalHM3?= =?us-ascii?Q?6jgKf+mlfbZa6MMKswb/kvPUg4PUCJGICcgREVzSk/ap7J6QF/h9xwPeJ6/w?= =?us-ascii?Q?XHIvjrXm/Ecac032sLtQ/i7hCQF9OWfTOSTJ8scpI5UgAnQlgBHy+AP3Y6E/?= =?us-ascii?Q?VAm4/iS+22k6Jf20oNs8Ev/Z/38xpWlszIwS7214Hs6weXHeWG88PONXM3GB?= =?us-ascii?Q?xzTYoN3zaAeMn68KzmkkGJVTIJ5p8UHKydQt1ihS65sVth2CsgayYaR/+Eep?= =?us-ascii?Q?gtjU5jmK3JFznx2sTOPi0QGg6ELU6DywFpmBgaRjc77QDfMVKyh47nIDfhdt?= =?us-ascii?Q?cF5G+cJznyLLXZ54yTq2D+ZZ5pqs4SiLcSLoI8msLEKtWvYRUQCey+CXLno2?= =?us-ascii?Q?jbua0QYRVK69UwDDcc5gjUENPBdHY35RbNVfLq2C7kCH9eIIZT0A34buMViM?= =?us-ascii?Q?DJAPaNQadxCqZW9cxSmaOLYmP9rvkDKiXQMHhL+GX7VwhL8+C6qGrkt9vgXt?= =?us-ascii?Q?3qGG0DgmR0YSX4sayVVnJy2p0QtYrciyrMJYXmi55bXKitB0w0CCeXW3I5DZ?= =?us-ascii?Q?SCRrCWSO/CVu+8lu+aK+eiC44QvzcNvVhBUL/8BEDJgdBjs4X/f83Od0EYxT?= =?us-ascii?Q?xCVfiouAnnivI/O/UuQHxOYHosh2h95buvxAH3j7aRtBNV4EJ0BQQmnlFt/U?= =?us-ascii?Q?f62sAoEpUpDcoMur7JOxi6K7slsYSGJlrG/GzYvisBwmF77RMi2Syo773tJC?= =?us-ascii?Q?uSGtKKBurFTlRpD4TnhLwfqw2J3qs0U3DBnVFf7v0dWoAhBHe/X/lHcSwUc0?= =?us-ascii?Q?9SQMhx/ScRdSkFmFIgmjHohC5f8luiXh3lt23XjtSbas9gmKQ4o0x0UaZu4i?= =?us-ascii?Q?D/t0Slx7eBoastoue1xEVc7flBazk8/Cdu0JSRsRCEfxHvr+6s772YtEWrIy?= =?us-ascii?Q?In8dcnCpVdnNPXLk4V8Bs4JAUnctRcT16AMzxq18yuSVqmBhuPS359WJD6pC?= =?us-ascii?Q?wwD7rMlGaqkzC7YKbBZr3L7wTzEGLYmk0afES1dxBnyV2Hn7JsQFAV2oeQYX?= =?us-ascii?Q?LbnfAaSp/5xJIijc2TMecromIs7UBuB4+8704yzOaOBKH7tMJGK26l/tOis9?= =?us-ascii?Q?Fgs6OSanR6RvHk1FW9K9vtitOSYBx4RhbPZ71DiQkeIeXwS5QYAN/+6elkxQ?= =?us-ascii?Q?JNWFHh0O+mC/dD8n4ffbYZUbxrZGDGnjM7PLu9t6o2B5mi18YE6UkeD84fZQ?= =?us-ascii?Q?PWBUnWqn94Z8WjPJI7tFRxBxz8iygzSw6SGiGjhI6RRRfZTGlyaDLiXkaCnG?= =?us-ascii?Q?wA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7e934d15-1ac1-4c4e-ffca-08dbdd1148d7 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:37:31.1020 (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: pBLNg97yYz+DNHZc/2LhtflsIbeUjCZNVBoM4FQMrSoCjTTmA/RXgAtWFAHyZrAS4beUmGS3JGThmFlUknmO2w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7681 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_release_addr_entry(). When the counter reaches 1, then free this entry. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index ea507ed7aad1..7aa4faa47f07 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -569,8 +569,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); @@ -610,7 +612,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; } @@ -862,9 +865,11 @@ static bool address_use_port(struct mptcp_pm_addr_entr= y *entry) /* caller must ensure the RCU grace period is already elapsed */ static void __mptcp_pm_release_addr_entry(struct mptcp_pm_addr_entry *entr= y) { - if (entry->lsk) - sock_release(entry->lsk); - kfree(entry); + if (!refcount_dec_not_one(&entry->refcnt)) { + if (entry->lsk) + sock_release(entry->lsk); + kfree(entry); + } } =20 static int mptcp_pm_nl_append_new_local_addr(struct pm_nl_pernet *pernet, @@ -1054,6 +1059,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); @@ -1281,6 +1287,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) { --=20 2.35.3 From nobody Fri May 10 00:58:01 2024 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2073.outbound.protection.outlook.com [40.107.15.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6C5A67472 for ; Sat, 4 Nov 2023 08:37:38 +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="GUa3pHs4" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BM9Q/CSbp9uXUBIsvba3t2pQPPiO4VMPG5bI5fy2pXsaEdTAhknxW1sI73CuekthRFZnyFQu361ZtA8nJQnBOeDq2DMIypnpa9gYJuehEvtab4G+6f+edX3UXRETXUwCN/oTWO9ik9a6LtXPPTLwS/JQ9CF6ho9hmvgnrOgNvJn12qGy1h38WUU2CwFaN4fIA/UJnu8yZ3Yo3yWctSesgWxbdQuYQYtYKsP74aStLU3ce/fChEVkopdESbiNkeIDCTuS1L8MnAVKZFq/pcApEwROhoFieexEXE3YcBbZjFbwZ+rH4AXtxnTurJthyHsuS4acZ7LnJcSxCVOTCseqdw== 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=75HHd5pxpV+TLStrT72VkkPukEjL38e3/JvEPFkzStI=; b=HZ7njnXHuHDK6OjF/3tC7v1YL4RxK3vf9DxEHPjxuAUi2TuaSgNmHTMx1ZWO8QjLWVzGBj4XlrWp/CFEqT/dqkEGZWFbd+nLznn3GjGsfCv2Q9t0/xA6iIQZhZIDrM2IWkJMoYQrWIDxSobq4ff9V85KevZ2y2+VBm6czFV4w61O6LRD/E2nd/+JAH/SO2xN5kyXXicVJ+kaf28sqveNhpbZ4nHqNsRwN6m96SuEPamIlihD4I19jW9iLiwlyzRjIgw4fsWfYtam6gzezy7huBxr86OeED4Ck4sWWyVINH8vGUEqcUvH+tVYCTcRiLsxLdfpMVs9zSw5VYaGZa4IAQ== 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=75HHd5pxpV+TLStrT72VkkPukEjL38e3/JvEPFkzStI=; b=GUa3pHs4DqTQmAnI4hvsZ4BWQgR0r0YofcWX5Vjz8FIvecwzmMKD9q5IecOEFTVyygF+oK7Zr7VgdHm4MCvx3Uk4VzW6THLVVFCUtLc449sCZ/UGM1uugVSR5ClHIyQ+9Mi39kjQwGBRA+hk61T2WfsW4KtTysCG9hfT2X5j1SebhpMajj93A+X7SmV2ozWT6PJg7c8wAiHzX5UX43xljZKepEVm3gMNdzq7U23CoXlxgAEaSQms/7D9h+N1ZIjicG7H7oZiX7OUCVus2tkIzUNZrPFcKY/IiMEfTKjvx6qaazghqyLi5roVKTwpLnl1ZcJwR0d6FyHZ4lLJJ37tGQ== 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 AM9PR04MB7681.eurprd04.prod.outlook.com (2603:10a6:20b:286::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.17; Sat, 4 Nov 2023 08:37:36 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 08:37:36 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 06/12] mptcp: drop addr_match and id_match Date: Sat, 4 Nov 2023 16:35:54 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR06CA0012.apcprd06.prod.outlook.com (2603:1096:4:186::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_|AM9PR04MB7681:EE_ X-MS-Office365-Filtering-Correlation-Id: d52a21c6-a94d-4598-77a8-08dbdd114bdc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ge5rzYtKmB0tgonLVUpQPRRFdlytKQTx5y7YS4e37/t/BLrfJiusEKIPYMnMAoU5zfK4kESpYJwJRs2uNjVchgh2FBkxvN3K+9WusV3odbh4n/6+Ht40eRNoaXZ5Vs2HmDnSj9FCCYzYMN6NmbUpQTz4vGac1AWmxvDXtbLuG8p9y1N5W4YH4DkZ13khjaQF6P0S/phCzjpPMOec1Z1QlodcIkl1z6ZC0SvGvrp7rOshwGOBnzH2MxrKiv5v6p0+MlqGqHwrow80B6ir0HbUTAjAJejT+W5CRrg3ZhHrn7kxXcriwFv8hAjlUVJNfDNPywa5bX8qSRjO6FrS/QZspUwwfalH6xKkFOI1UYfuCEN0unXVJXNFkC4mfjxjARVqAB3OMpHDT+5QlxokMUaGR/+gcMOfifoLyGHSPP2jMTcfMJJyou2c95QPj7eaZpAJNs+gTpKzIXV5RylAEbtqLVQ+BtX3jBWyJyeUeYTuZii9TqWqoj5t5+1oDXaiNjHPz2e9F0AiyOs05HgIsZAZceHO/t4B63gQTnjXBw6AXFgJK/0uM3KYBuOJV1KShVwB4XuIAwXRIrXnlzIPSGSa41kWPY5J09qBEfVZy5wpIEQ= 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)(136003)(346002)(366004)(376002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(36756003)(86362001)(2906002)(6506007)(6512007)(6486002)(44832011)(478600001)(41300700001)(6666004)(8676002)(8936002)(26005)(107886003)(83380400001)(2616005)(4326008)(66476007)(66946007)(66556008)(6916009)(38100700002)(316002)(5660300002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?DQFhmvQAW+0x0v3H0dkqtVczVKiQhbvznHt4SE1qVHY3ydLzE3eUxoYdegh9?= =?us-ascii?Q?z1KNOUg2RVImjgU7DxJCwoCvlvawfQ6mPmpe5z7yRsZDEjiTx2/Ok9kTMr79?= =?us-ascii?Q?bBL1Fw4Q8wnAwKFU3fb8A0uEC39Ix5T1kk4oZCUdhhG0EZCib0hd5hCM48o+?= =?us-ascii?Q?fjt4eTiSDf+BMaiw3W1BrvXbeEEhy6qGw5yablREiCiMF2HTDvpzeasBv6k6?= =?us-ascii?Q?5C0/06KCe6YVRUTivZbjkUinvmIJRj97QqN+xagAVixg1WRO+lKxWOtA1hYH?= =?us-ascii?Q?cF9bFfQnQSCV/FKAldEJs8yD/zO7wR35PBNijH3HKRJJbagzNMDy/Bh2470t?= =?us-ascii?Q?Y+itiNdGlyRSpkzzrgnjuUGQLRgNfgQA4z7KXrqtiU444ncYTqWZrShq0/9v?= =?us-ascii?Q?k8wPofFoqFHnTofPpPB0/TNkKRircachpn/UvCU3S6sDjkj3tato12hUTPkk?= =?us-ascii?Q?aiBX5NPwTROVssRQBMAanajh31Lxy8bIPq+GeJn/oMjG1r7xqqnJESjruMjR?= =?us-ascii?Q?PkMKkjK7MFywQEBkGBwgpbOO8EPe0Y3i9NV1/GINawE3NsPzwQPUmNZGNclA?= =?us-ascii?Q?oCPLyv399eQUGsx0g9hSHHseGMtd3i4nJQhibOB83MI3m8/byaI6f5vd6KY9?= =?us-ascii?Q?6sKkE4B8XOJwE8oiVHMYFbvqJQjqjClfOpo/WxoEIxl710OfvLsWQ0zQVYtJ?= =?us-ascii?Q?A48N8pYqGxKcjFElhwZn4GKZx8KAfc3g8vnECzk9LUsDZvvCEOEiKZFmZQwI?= =?us-ascii?Q?hm1wxUacsBsLTMQtvLe+HQmY+SO5i9pIkSO/ZiWVZJbah8ty9GoGgZMP4sm7?= =?us-ascii?Q?T7nSIMgw3yvRNOa6tR8bl6zuPddjF+J2IdOp0m6TAm+EAG7RDGXwePx54WN/?= =?us-ascii?Q?Sv+jUx3t+WwIdNN2AT9BAEUcnFUk2OflI+seBoSm68hVuSwa3o7reAwZZ6zt?= =?us-ascii?Q?dYnvMnEbl76nnJ85U2Oecy3P3tEIV8e66qPaWcl5e6ILNU8ACgKXzJPBJRlF?= =?us-ascii?Q?IP7dKzRnRI/JDu5qdsb6G58gIe1ERimCyO0pGztGBlJ0bmsIJp7nAkRoHp5h?= =?us-ascii?Q?Qhk6b9mrfDQCYfDtu8Eca18LQ9uJy/i5NmFNJWL+XORZKIPryCVn8oVuVRn9?= =?us-ascii?Q?hGpgP9VnhkDwhwAzYuRBv/9d1sNmbwLrmSr6i7O6J10IgAiUrRjTxe+obA1v?= =?us-ascii?Q?RLnwaGIQ6/CiHlDOHT62AV6JFT2RTSpeSrQY6cBen6CLU0kWqOxdBuveqF+P?= =?us-ascii?Q?yKezBqNmosDUnnjEII8H8taOcB0cvHtMLJLpCAZK3eJgQine806I5TGEWMLK?= =?us-ascii?Q?dAqXPf6pBbLsRIgUIxyQvYpxIWCtK7iShc7rmkkWTmAXoGHEZrU3GAm6rWHi?= =?us-ascii?Q?oL6eYi+nUjFaAsWrip6xCXv0tozDKFvmxC+nJvbBx8D57MQm36qTfdeXsEqp?= =?us-ascii?Q?pJKIysCW5Xgj8+Abri/J5zg66b7YLIR9aB6li7j1anA5Rt0IDq9SVKak87I5?= =?us-ascii?Q?mfpNjJn3yRg5Z20oHpai14w2/COKIfnblgK54V5ihDLKu2nxlDjTqKWfzf/5?= =?us-ascii?Q?/1/fm84KRDSYPhLgtyhxA0iZu1AXSA543WWynHhlLfrIbkqG6xH3SDqvbr4Y?= =?us-ascii?Q?3Q=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: d52a21c6-a94d-4598-77a8-08dbdd114bdc X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:37:36.3285 (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: vwrOpnpJHNALLV4R+tMsGRfenCcbniHxt1JFyasBbxZSD+fNt1doxs1QrI2q4vBNo+inJaq8pkJrwEXMc/w1OQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7681 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 | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 3e8304fc1271..a00c3d8854ff 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -60,26 +60,17 @@ static int mptcp_userspace_pm_append_new_local_addr(str= uct mptcp_sock *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); =20 - list_for_each_entry(e, &msk->pm.userspace_pm_local_addr_list, list) { - addr_match =3D mptcp_addresses_equal(&e->addr, &entry->addr, true); - if (addr_match && entry->addr.id =3D=3D 0) - 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; - } - } + e =3D mptcp_userspace_pm_get_entry(msk, &entry->addr, true); + if (e && entry->addr.id =3D=3D 0) + entry->addr.id =3D e->addr.id; + if (e && e->addr.id =3D=3D entry->addr.id) + match =3D e; =20 - if (!match && !addr_match && !id_match) { + if (!match) { /* Memory for the entry is allocated from the * sock option buffer. */ --=20 2.35.3 From nobody Fri May 10 00:58:01 2024 Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2085.outbound.protection.outlook.com [40.107.249.85]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 31F587472 for ; Sat, 4 Nov 2023 08:37: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="QoLn7oW9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NHgV0dN5gf+oB2KZNRS9iuvIsfMurr1mSpwy0HWVbJOUP85/zI84z0YxQBnDG9PI7GFQ3SvmRJERfAPZ/o9X4v2/EHabnfUVV2egAQNVKumIq3ATAwFBGQ1yNmSXG6zYICsJwHUHhS1psgOevncFUS3y18pIRT1pIjI4dT+UQxgOF4fwiN6g6opwVl1RKITUchClCxFKQOp+VGGQ1vi2gKBejN/IuvK+Qka2/wbwuaeRWiOoSF63nGGxYjQ7QOYzCzsnUtElBdsOMq0k6U/yQRvy4i9qTs1jMwqICmFbWOe1mJ7R8KGC89aKalol6vhtqnFbbxxwQVcnN9s+NloAUw== 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=LeoisLGFOZ4jhbyAe9JFYSZFWFy1oGybiovYkOrokgo=; b=dBT/RB+wz7tJoVgoQ/vwk2OORm+KQ3LI+cMDcwhhD6iZ1Fm5w2t+UvXaRKcG/wH+X5f1rPNde1cipqksc1CnyRy1DIqt+P/GesKzmgz3PuC27wy8eyaJ+n+S8vulNwPxewHaNpnwU6ZjKaA/L4AVc0muS36fyFB4O3dkXzD54oB8/dpoYdquQJItBoRefpdCEruHcFZikpyyB2oVqJatZCpTwAluR8G8c9GAFk1d5Ow/1xeIrcCN5jCCuFEoBsN9+82Qgu4JKSm3ohGzkcR5VkLvWSe+dcwiyBHvCZaG2ikCFp1mLgSkqqVZDD3uV1Trrj6WM4PdiGpl6JHP2y/TEQ== 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=LeoisLGFOZ4jhbyAe9JFYSZFWFy1oGybiovYkOrokgo=; b=QoLn7oW9/m/ZHHM7PMKEkdsJmj9BQzMV7kJHm3sPRGDDKa3y19lCkpPi5OTDXZ5N/XUj2AFxfxEl8umyxVphhRV1wCgtIRPsh4galOgZTNvZbwRMC5v8E8IwtOMpj2JGQ82Qs0zlu/8uxI2TVy6Atkjd8K51CEeaZMuPtqJK/JTXZ5xj0xkpzihJaCq1oY9G+1nagxuUEhewhfryTPyIIh18xqf9jSNvi9cub/N0refYbcf4EtlOBr6/LsWBveotiNr9nlNoN5qxouJxjhtbYLcZw1fynyspEtfT5Kk9Ajg2zuml4RsFlLl0mvjiiuAGwjhwz3sjcxCnWfaaBteSAQ== 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 AM9PR04MB7681.eurprd04.prod.outlook.com (2603:10a6:20b:286::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.17; Sat, 4 Nov 2023 08:37:41 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 08:37:41 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 07/12] selftests: mptcp: add mptcp_lib_evts_* Date: Sat, 4 Nov 2023 16:35:55 +0800 Message-Id: <16541235ccf25b4ab35ff4810417baf247eabb1d.1699086300.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR06CA0015.apcprd06.prod.outlook.com (2603:1096:4:186::7) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM9PR04MB7681:EE_ X-MS-Office365-Filtering-Correlation-Id: 943e8936-dd34-4f4a-2982-08dbdd114efb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gqlrgrZuVJinnigpPf9cPvSDTNw68MZSjncEilhYYDbWM8OYRWv0L20889kdsxvgZs3tuksIi6kqJYYlUVauc8naWK4BTBl0X3Sz5u1mLSNCywcVn6q5GbeS3Qto9232b0qDOVQTfr6WY4yzXMTXGM8B4BN6chsbSRJzQIMFnksIhDac8+oIkk+Xo6YnaEaie40ihH569RBPhJSRVDI6HwYSd4/IZrgOzYlebhSQ+bY6dYIKDTDfdDXjj45rZ7Q14sFfIRBeMsuSSZSnzaQ4jwzMYw9Hdb1XWAitszl0ohLDVWjLHvav8NpE3x3sJ2XKCUFgEpr3Oo4Xe5AlaCgxg8yaQx5yxEQTkZv0524zn1jfWn7zscmzB7s+yEuZiiivvakwi7cRxWHx3SDbPKYJnJtCWJqCIVA9o7scklzLK9861Oko1DpjPlwA/Vz8vSzoxmWsn3wWrxzVgZQ5Xd8KmtAZdJ7kqXlyd01VIIaEy1iRVxjEcF3cAbzBqxVJNOgbRZJ+aMhq2UiALLlNWa4b9ARybyG2989hHk21NsZWSth1L6jiTzAwm6jF9JAujdb7TMeVY8zZtpDCMo8qLhPtxaCgZ9GzDp9k4zk8247/n3s= 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)(136003)(346002)(366004)(376002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(36756003)(86362001)(2906002)(6506007)(6512007)(6486002)(44832011)(478600001)(41300700001)(6666004)(8676002)(8936002)(26005)(107886003)(83380400001)(2616005)(4326008)(66476007)(66946007)(66556008)(6916009)(38100700002)(316002)(5660300002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?8OOqDKV7DwtkstPqyzV5cF0+M3kTN1IwBe8Av5ViPLqwsed/GbkSHnq9Ch4p?= =?us-ascii?Q?e+K39nzIX3UVnhvVjH6yFk59wRYg2SaVHjyVN1xC/zu9NzEpsBQ2FxyMllJR?= =?us-ascii?Q?VgglvW0dbJRUT55u8gjwBKAYne7BlMPeF4tx18T08u/g6q4seWFoJeL2+di5?= =?us-ascii?Q?LzXx0X8z6nsZH62xvkmLsQ2jpp1xN5sIt1em952iEkXq5RDBYqXqq7LlN6K7?= =?us-ascii?Q?OKPfmbrvxhBEPo8V8NaPo10K48z0g6nCZ4GMxCNvGUBYtFNn2IPb5Zlui3gK?= =?us-ascii?Q?3c48Gb2TnetbHKRuenId5Z0GZssk/lCzk4rVfHE9Jmny62LbCdZVJ3nSEY5G?= =?us-ascii?Q?K9oli7te/UMuRKftzx6BlvUmulkcPOqasFPjTxCBhJWe7exdHJRbrLR+VH1F?= =?us-ascii?Q?Lvx66KjyNLl12y9GJmyh3pFJH3d7mygSpc8NU4iTBPnRnWz/w6xL7cfDcua2?= =?us-ascii?Q?MjT2Rq5RvmHH0t6AT67wucZwCGFbhVdYyczYRXEmgzFW/kyaKLbiUkKDY5kj?= =?us-ascii?Q?qMS06nYhsD1HcQhzxMHEecvCkWh/bwlBwes+gqZ0jhPcT6WiHvLNc7UP2pom?= =?us-ascii?Q?DFJ0tLAHy/6JVHr+aIFQtccZZEICEUBXxW6dA0ybdyY3bGUuCa4HNCW+9qVz?= =?us-ascii?Q?kK683Glr+Qwm9Jv3RmWzmlK2lXrQoYCPMJQH+nnnHKXOX2mu9u5IpxjH6ewF?= =?us-ascii?Q?qz+FOdxKNdmrW/WaoHiXUZjYhzkr6stWrzvXorfZJrfISyuqp9Dnc1+ita3A?= =?us-ascii?Q?NfiG204QmDpOPRtU56wwQ2dvIxGuvMoljgXV1yuioAnkv/rhm9+WYrT2FCT0?= =?us-ascii?Q?h8n6h/cOP9wyQmE+W+Q+HzoNdRxG5f5l62Nu5OrAbJ0S74VO9M2HpXxZc6CR?= =?us-ascii?Q?RPqEVkAGKtT0HZF+3Lka2w7BlA1yafLnN+y61jxKgs6D8LKfgZ6Zccujz0X3?= =?us-ascii?Q?xXZk+slfLXOMQ0omA2UQfllxTa9lGBLMRMzMy2QYtQSqGV7m/523NI7MJtiW?= =?us-ascii?Q?L7BDZvkNpMmkWMPeYoDEL6GHvUszcp/krDD+A2ZKhFEcF4L/52s978E7qaQZ?= =?us-ascii?Q?SvJkiKnS6at+M9+i6hv0jB2Cw1Esot98jzLV/BbrGLpeCYRvxig3hj/+A7x3?= =?us-ascii?Q?uEQqyp6PvCK2WgYh+MvJBf+mEdAuDYpNF+2YwfZf743h6XX7CK7ypUPoGIIl?= =?us-ascii?Q?avxgkLpCUbGX/BDNNlbF2K22d35cyos04TcKGu6SpHcKcSYssh8mBatx9MaA?= =?us-ascii?Q?o/KxZNW/QL+C2ftK3JHnLd8mk50S0PkqTBDcJ+MHxwsJcfVhmD41nIHm/kmI?= =?us-ascii?Q?f552jn9u6BNZXSV1eaY085T7mOh8kv6/uM4CpHH4ZleSZgxOswyTDDtV9jz8?= =?us-ascii?Q?lIv5plXSfW12XbF9JaANkOAHQ2NL+VyG0yHN0b3eZFKEQ0+bBS0cDmae43Uh?= =?us-ascii?Q?UDELxWcAcJn5xTsvlP23EtzwpVUfX7hdkSaXOOqJrWVINYhv/JiaZShpC1/u?= =?us-ascii?Q?OQGy2CTcFV2K7ei8r5JF28pVduPCmzWy1ZX6UMGhGXFvod/62S/JchYbkjZs?= =?us-ascii?Q?ITSACfJM1hpdYbHNGGz2TEYoCFhO+UGJMje8ggnblSkh5qwJEAD0YqQpuWAu?= =?us-ascii?Q?hg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 943e8936-dd34-4f4a-2982-08dbdd114efb X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:37:41.5208 (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: sMOye605DvNqO1vjgF5zvfqMoYHhtf9cLbM4IJeB9jeR6FcqSZP885UjwTsxRidvZhw3B1701CNYp0QavTWJ1A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7681 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 functions: _init, _start, _kill and _remove. Define them in mptcp_lib.sh and use these new helper 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 148ff0f57481..9b614a214ea9 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) @@ -3421,7 +3405,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 @@ -3444,7 +3428,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 @@ -3466,7 +3450,7 @@ userspace_tests() ip netns exec $ns2 ./pm_nl_ctl flush ip netns exec $ns2 ./pm_nl_ctl dump chk_rm_nr 0 1 - kill_events_pids + mptcp_lib_evts_kill wait $tests_pid fi =20 @@ -3490,7 +3474,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 @@ -3516,7 +3500,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 f9156f544ebf..bba42f165340 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 Fri May 10 00:58:01 2024 Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2070.outbound.protection.outlook.com [40.107.249.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 CB4867472 for ; Sat, 4 Nov 2023 08:37:48 +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="4BI8I2Tc" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hK5U7cq+yufx72i6R95/CXl7g9wVhJ2sNFEIeI+RDcYBQk40D5ggjpUyJUfavxYF3sNUU+u71ytA2HuHECMEXRtutZV7iGA1Iz++x/9w5mVF8/xlrsLE5wyJ6pbpabCtbmRxj1yNb/tv+Z9qMRPna2x59WN9A7PnJs4kNxnzlZD9WC5BqHHPRbj82hWaP7nTRT5/nXaCG81E0DZABqrcXQm4UJybQoNP+5yb0Mn40ZwtSFMgwNqgxoAIESw+J59T+RyX67zefefrHLCNZPj3uI8O9tpFanYIKK6tD1nFowcp2tuWTolB/utHBaNjMbm3v6mRWk71ieu3sPjYK72RsQ== 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=sWIUFNR1l7bMsjwD4+3xAQdhrTrMhLH+LZ6pTPHZX/0=; b=UeOGfO54wmCZPYirDMKYB6NqfvQ/wLv8BSt+Rki8nRJR/4vfFbA39eLDalKyiUcAvAcnRaz0ObrrkNAdFcw3oleTpEQX/bSm1NmGlq/G0tgP/FVaOCygSqr4/OgMpqzWgFXW69JffyPRpOPovjEewIjx2UyzHwISBRvNSWXTUsTVOjtAyJCzRGtjf32tzuZ7RNt5yliyobZLmUpxdHdafS5n7ePvl0og/6VdGa/0kjMQk6d08QD3SJSGoeFhXS5Nsiw3+eFsFfLKzMs9JWTdUO+oXM7ox6tvO8Z762KiV9+Fjivj6P1mMu/0lySNok3MYZWZWRcPu1hkboFehcmCSA== 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=sWIUFNR1l7bMsjwD4+3xAQdhrTrMhLH+LZ6pTPHZX/0=; b=4BI8I2TcAiiAuv4YjrISFU5efyu7rWEocUhwulR14AnXAHdsz6Wl5F9NKKeDILwVkbFvWixo2qD9tfjT9auHfw0+hGhC48W7KNqh92zcpopCaD88RfaMIqDKUBho9ISsGMnir95cENDFXbbgFFfMyAfUaleCOBZWq6B+bCGXCsLn3oE8EkZyjkpSSnyAcKAZCMW+eMhEpo69z/fSeQaoYmlL0HCVJLR95uHZpRZL+fu3tdJMH1QJytqgvzYV1s8rUxdeuyYSMv1s3T/vQwbndTWHsG+kUUUiA9PjNf8LtVjNU922oljLcYoL+BoH61oIXeJcKprajHor0o41Tti6gA== 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 AM9PR04MB7681.eurprd04.prod.outlook.com (2603:10a6:20b:286::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.17; Sat, 4 Nov 2023 08:37:46 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 08:37:46 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang , Matthieu Baerts Subject: [PATCH mptcp-next v4 08/12] selftests: mptcp: userspace: print colored results Date: Sat, 4 Nov 2023 16:35:56 +0800 Message-Id: <6eb7551dd938022e6a27fe2ffad00bece6823d9f.1699086300.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0001.apcprd02.prod.outlook.com (2603:1096:4:1f7::15) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM9PR04MB7681:EE_ X-MS-Office365-Filtering-Correlation-Id: c5276d45-a2a3-4666-775f-08dbdd115236 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: i7hotXT8eFQrCs7BYyKySJvLGMWv7ytuJmKDAVrFYXv3cN7HdIwbSrJbFnLF69dXXmD1/PSjMcLHLuWOYJ8Lwc2BddeifMoCbr8q/K3vIMd9LMs5icZsw7Wp5W58s9jg8eqc3whFJOilwr6laFPOrIOzs/O0WhJcqdoP/OBfWehvFEzQmwxl233hvWBfN4BZOmzDopWFRDTUIYyLL2wsM+Wh7wCI1n2cfD8RBUJ951vRh8R1y0R/uInOsJ9x4mCWmC6jLPPI9t2YSG87TWHmurAze+2K2i8YHOsu6BhCwtioutPOJM+BeBv5tGqyFS2EbB/kCcuil6YamyIExoZ5AkqEJt5syXGaOL1jva9Fg1SsRp1UxFjUz4n/wvoFc5kLwpFxiOIr0pzGRTOQnAZkNXpavJ3fgDp8F6fQaZwCXTLd/RzwmARwOkzeCIKLMkM1H6zMYnYhOdZtywjKJRuaSvJhuaWOONzgrvJHlbXWCabf3JwOxwmjTfni/KZl7pb6gw9TiA+QUgGR7rMVX8tb0nhk0efmf/5Gq3KBosJya3rwKCClM8lpaPRPnlBAVDPHQHs3GvaOW89LfSegOSOCyejXnClq3oS/jgbvNJg8VZk= 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)(136003)(346002)(366004)(376002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(36756003)(86362001)(2906002)(6506007)(6512007)(6486002)(44832011)(478600001)(41300700001)(6666004)(8676002)(8936002)(54906003)(26005)(83380400001)(2616005)(4326008)(66476007)(66946007)(66556008)(6916009)(38100700002)(316002)(5660300002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?4c+tWuLiKRmXOpZaawjGQROBJy3NVI4RYs2RFywDP/tTdA/Z5LfZaSYKCzRO?= =?us-ascii?Q?w91OZ9SvyudSRU3QHQ7lxak8yqgsKIsQ0ieSv5KDdXWlPn52u7+X32f5uypN?= =?us-ascii?Q?Qu1k/rtoxHHaF5T6R3T+kuvnQp8U3vlULRKCCYH7iO3CitQlbwIGH046NsGM?= =?us-ascii?Q?KKz0CF5EBwEUeHuVt0qgVSWsHVgvTssySwajILBr19Ct3F63G3wxgwMz82SL?= =?us-ascii?Q?J7/quwwm+oo/21KNarzoZ9HKL5h9sNvBD3u4JMow5nrbrnUzy3BdFvJihYIj?= =?us-ascii?Q?ocNm1PJPlBwtRHWrwFNh+e/ZXXkoG8RGul/HRPe+CqpCdlp19CrlSTLc1rkO?= =?us-ascii?Q?Oo9ZB4+7AJOjjH9wGsvx1Wisoa5o5BgYT33hgcqrWAuUCma/YOQGyce7a84E?= =?us-ascii?Q?UrZLy0adOeFn9JiNu1iJpHUL5Z+7WVqxYkkaOiGMxHnIa/r0Dq8v7SMd40wn?= =?us-ascii?Q?kV9zahYN/mAAJlYc3uT4oMzSr8/GFb+oF/MwIFOXylwz4ZRamEl+8DTWYfT7?= =?us-ascii?Q?6fG19m3DF975NEni2R7bVMjVXB3To4qumOfNNSdFQ9Vge0mUdAGPzzt7nrjD?= =?us-ascii?Q?JV7l+f1sFOZuLqxibgRn8mnN9YgI6i2SroN9ZPqZlzjs5ym/glY30PipIH4N?= =?us-ascii?Q?r2JmW8xWZ42wBMQQJAq+eeYzSKT14fh3hi/SgDH5eRlSmojzoEXcBuqeA0Ps?= =?us-ascii?Q?FFqOTG1icGCTLnPfnS6agPmwTR1psh5pLKOB1o0Y1QfN+M9taoaYb8wb/S+n?= =?us-ascii?Q?GOld4RUsAggtB+kM2Hj1BgF2eYm2jtLxhtrbxWR8ky1iH5Mu7jLdyczdbofG?= =?us-ascii?Q?oyai2D0kgl0trVMnxMd6DCMw/6AKztdCIKkqvd3D4AElegetQmGvnoFmGVEQ?= =?us-ascii?Q?ltUNGg7p6R8sZk5TN1FfavbF7Tyzv0NBZKvdefQ/19RJBWVEodUTuLX0vxsN?= =?us-ascii?Q?BAUlHWTmI0vHUT6r6yYldTe+KE1b2qBB/nWIkBKYusls/JT1KJrf/w3GHWbm?= =?us-ascii?Q?gvIhTPkS3jtTAE7F4eZj/+PcQvTyeT5VIg+Sp1jynqhyL9/vGCqHp86Dq0Tk?= =?us-ascii?Q?7/HBaEXzdE2n2b6yuUYs7QiHju5/eNU7xqG3SUp0zoXjMOLnkRtnpjdLrK+V?= =?us-ascii?Q?kcrzWTlAlAzQqBoRqGDn5CAB9bh0/HgPDQyABKJM2qK2STpDK7zxmlTn2oSo?= =?us-ascii?Q?24kX+VQBBAvg+3nTIQY/3eHE5FwLy1zG3exiD5j/w7g21bbucfWlul9AIKJR?= =?us-ascii?Q?2CpmGofSHjqYyQ0VxVEgdB42IbZp3neJKAJH9YhpjXX+NFrydWZ0woKi38ty?= =?us-ascii?Q?xyrLwr+h1xVD7vUqFtVeqzaPzS4iLIdo0eT8SCP7irYwGVGyTfewlfQ836vq?= =?us-ascii?Q?MMAseAXhW/eTjyCBfEftAFQHJXjd70xUa0pKxg+Hao1lpRiFtCxSd4FV70MS?= =?us-ascii?Q?QKXpTqF1PdMa+QV678oZFtIKAAIDe9vsHzsIAdhsE4UxAHn5RNSGpDe38Sjn?= =?us-ascii?Q?n5YfJ4eJ/fazgoHfao3WzOM3Dvwz3ClcNhWm4pLYWNEf2s59DIpi8Suj/P/2?= =?us-ascii?Q?zV71kyzBfrEvvWmBe3QcOr+5aIRgu2lQkrzNXUL+vSQukKqhvHI+Oc6Qs+xe?= =?us-ascii?Q?eA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c5276d45-a2a3-4666-775f-08dbdd115236 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:37:46.7720 (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: /Fbzu0KzPHlbk4v0kIJEQzPgf2Vd6dEnb/slr7Ao/r8I1XmQ+hly7ZW3uFlA8oOuWsA3bAw8A8Zg1mVShxfWGg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7681 Content-Type: text/plain; charset="utf-8" Use mptcp_lib_print_ok(), _warn() and _err() to instead print_results() in test_pass(), _skip() and _fail() in userspace_pm.sh to print test results with colors. Having colors helps to quickly identify issues when looking at a long list of output logs and results. Reviewed-by: Matthieu Baerts Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/userspace_pm.sh | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index bba42f165340..27ddbd8cf03f 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -74,27 +74,22 @@ print_test() _printf "%-63s" "${test_name}" } =20 -print_results() -{ - _printf "[%s]\n" "${1}" -} - test_pass() { - print_results " OK " + mptcp_lib_print_ok "[ ok ]${1:+ ${*}}" mptcp_lib_result_pass "${test_name}" } =20 test_skip() { - print_results "SKIP" + mptcp_lib_print_warn "[skip]${1:+ ${*}}" mptcp_lib_result_skip "${test_name}" } =20 # $1: msg test_fail() { - print_results "FAIL" + mptcp_lib_print_err "[fail]${1:+ ${*}}" ret=3D1 =20 if [ -n "${1}" ]; then --=20 2.35.3 From nobody Fri May 10 00:58:01 2024 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2059.outbound.protection.outlook.com [40.107.15.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C0D057472 for ; Sat, 4 Nov 2023 08:37:54 +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="bQveEUc9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oNW3I5og7xWJUjD8rupdm+YteCb7OcMY1g1s5knPOpieopXd8L6T+EDkNj3OmgE90Ep7PQ2xvH1diFBgXp9W2goRvJzoF3nfNNKK+wsphKJh4R0dXHwz581mnWh+bPYpb+M2YVGdc+rXR+JwgOJ261DSquaeeDdWYuGEq0hRLj3vHWCQhq7XymuLXraXWhfmia4d459ze06nTBu7Fpn/psjZRN4TuM9+tP+D4nkhwzrmoCAPvl81mWS/WoXWQrgqa1rQgUvk98HCfGsbChczyczuimSsLYlKMnCDukADMYv3oeCMiICoWmGAUysDWLr5lrWT6Y3YhBJu+bzqNCsg4A== 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=JkJ49a0iZp3LtQHXisLKCovFR2zwiUNVIlNH5LoAgDk=; b=KI/HNULbqlH080yEvmBMwxe3MJICACLbNoOPWoY7zWWXr7eCZYxx+DUWs0NQgAzZHjuFZMbZLgoqK53bbaEWfMnWHjJ8nGFrthHXehHp5Cw1pHJRsIYLO1Jr5oPH8U/rReHzia26tmTf1lOu93ZXvMFdK6u8DjzZafJbIkGKMTU5XhCVv1X92rf+KkXlcNrZQEVPbSyrdIX4KzH2YmWQfpTV89jztJiPCq0gVu8zGE95g7VarCITT8+7O/9K9pZ9n7XHICj7YsGdqtbOJL4DDjNwMvCT3QM2ZSQGonKkh2mOCJqEUGMkaGGckuZrxM4CdRtlxUnJoo0ykiJP2a2S2w== 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=JkJ49a0iZp3LtQHXisLKCovFR2zwiUNVIlNH5LoAgDk=; b=bQveEUc9uohb3mM8UJkVL0XIzJc9QQqO8x9cLYZI7D6taq6INOOThR7mReFTcsfhvWPw+Btx8QiwNJDr1seXkVR9NUURnwXnZ41w05eYZJCMaOid4To5Uf6+Pfur9hU0V0fvO5ivg4O2JAhhovC4ujAdaW04R/yr8Acu00wCBXUl958kCyPjUNWzmwLz5NQq5dU14rhdPxonUtcPfy8HUpWi8yYxt2jR+rbK1fdu7wZKa7c0sOUIXeO9AtcydiLEV4K4zIvdsrefrH/LATdcCWWTIl+tIZXMPbiMyrkGP99kYjDcUg7Epe60+A3SsWsOTnnQgtf5oDcXAttCg1MJPw== 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 AM9PR04MB7681.eurprd04.prod.outlook.com (2603:10a6:20b:286::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.17; Sat, 4 Nov 2023 08:37:52 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 08:37:52 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 09/12] selftests: mptcp: export event macros in mptcp_lib Date: Sat, 4 Nov 2023 16:35:57 +0800 Message-Id: <7de3c39e9ca47cd44009bdd1faba32d8e5de324a.1699086300.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0013.apcprd02.prod.outlook.com (2603:1096:4:1f7::7) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM9PR04MB7681:EE_ X-MS-Office365-Filtering-Correlation-Id: a1a0d1eb-f1d0-456b-2936-08dbdd115555 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TWRy5uV1xOD+t7mNGtYCVdcMdrp+Pc0uMJnYxibsGfto8c1wmrQ/POmPP8Y2lXpx6vKe7bA05zO7RjFE6hyzn8BW/a7g6PD1Bl5vDoORrgJEEBN9vZXnrzdqbxdB5zVnXnfMfhTuKXNquYTLfQXwPN6MQ2m72PRnVAevu90JEInGxUmy6dOE0I35Y4Q+Pj4/lvzLYc+vkYJnaXv9iyArCLseIydaT24mYR0IJRlXlOGxPvQGb9ISXELY2Tv7UKcTZ+e1XLjtgV+lvln3zeiKVrFEjibhOkZ9+IgNpUTCiB0XntheTMyL8qvzTPkvdWXQSsdjXoZpPBrUcKfwAVnO/CiVixE2FVzR8w1OyuRGdUh1UA3UEsSHcFd5TJ6hqml1lD9RoMPEXR4BKQj5VtKFDOyQTm6jEmLB2A52TUZYlpYBYvXEzyY6zKAriehG7iY1Lr4ImBFz2pG5sixMsSgTt17XZMJU4d+vG+veT0j9uBWkFgupxJP7lFJ+4GOdqKpknSh4PEXPzBgX0V4lUSmJvT/mpT0C5WI+rJdT1wm88ngeGu14e86QGyw0NoIfJSrwhA0qOPiDjta5lm2OiS8T5ee9QGtbz308HpRPYzvm9fI= 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)(136003)(346002)(366004)(376002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(36756003)(86362001)(2906002)(30864003)(6506007)(6512007)(6486002)(44832011)(478600001)(41300700001)(8676002)(8936002)(26005)(107886003)(83380400001)(2616005)(4326008)(66476007)(66946007)(66556008)(6916009)(38100700002)(316002)(5660300002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?aJIhM8E82xggB6bWt0aytc/dSqjSTesJW6EXXr3D44jVgFvfnptYgvqj3yeR?= =?us-ascii?Q?1DCt6GPmv/K/CBeenl7dCzQgM3lKhhjA4K2FYXkEtUP2qDVPj8yhDqpIOeLe?= =?us-ascii?Q?VaZib0CYh56TP9MZO/FtMh/qM7wJRa61/WPPW79M0uxcgZzHgsXKrDtH5UVP?= =?us-ascii?Q?zNnmsDXRHhlOQO5A9nmf89elKfG4zPoSPneuGIyCIMVfzS425SJSt0gqqBP3?= =?us-ascii?Q?sw9Ug1OZfq0x4MMVE2GevEiZ9J8Pun+iFjXLNR/PzrJWb2xiZiwmPSjELSxg?= =?us-ascii?Q?FYSGzAiDUkiACAtE+ogLuExpXvkWQEeT58CsSkneILNm7/A10hJ7OhKenALH?= =?us-ascii?Q?vFU9rUDtnuUMxQL9SDgIk7gYYSThqXr4FL6cFWgO0uJpnVD9uqB4RZjNQDbz?= =?us-ascii?Q?XNKv3mzntHlrnEY6x0pbYQ9+gQESP6btzeEzJsbaVF1pqMbweUT0pdVCdjBQ?= =?us-ascii?Q?IKyBmdFHB70m8+KKgWW7VlGU7OQPicFHbtt52dOOs+02xCKu0PdSOGANwdMU?= =?us-ascii?Q?UpGj9CkHP7qs9uGRYOLZuOLiBB14zGAjATTKzoT1HEfUADSemtsIX5KyH3iC?= =?us-ascii?Q?OzZtoKqr8Y7KrOxOevMttaQlm88ww5EJ3RgZ/Gy7qvAAAfJ+0vKwY5R6F6Ce?= =?us-ascii?Q?Q+8pscqynAWRxJu+SzQWw4FM+KDP4Zn/wyogAhJiLqnzx4W/RsYe5SnmuyLB?= =?us-ascii?Q?9qEBOGT1RXMT4sElO4hPP3CGahyNAToEDTBJ3jzTjpPGTbMbL14bPytisVGT?= =?us-ascii?Q?nJgcIP1/dG6yeHxDxFls99C+fnLvnUT7y3GymapbARmuBHKNjUTudJ5EGjsp?= =?us-ascii?Q?cyKmiSBBKyshQUt+RyEFuxlAy10htpyxZXKOlE5ZcycTGPRnRUKa2liKtQgW?= =?us-ascii?Q?i8FOtWyrBzLdUR+pbZyfl2hj5cOSLsk1I8Q16ZwIgJxCeDcOEyBkiSOVt9LJ?= =?us-ascii?Q?MbCaEgJbL+d0RrFYVRKFGzQGAfrNuDQnxjT/epnsUYMYB0ItJnTpJzO8tkVm?= =?us-ascii?Q?qmHxvGcbXuqFBzPcF9JQi1YBzShbjPF7Frx8jJbZ+arnH1ONCP/6+LxK49bA?= =?us-ascii?Q?/IkDtyKg0rhPkYcaB4fF0CsMYL0o0TZbBMAWOqmn+6Jq1Ob8FeFcd69KFchL?= =?us-ascii?Q?FIrmHTOQNoiymf7NXVF3w1aKTizZeJq+nTce61dKgFQ23DE4Pl2ccv63x4Ni?= =?us-ascii?Q?7rzZ29NrOBCYbX1Vov0ae6PDI6Ad+qAr/r+QnpoMAExjq1WCv85St3c+wJ89?= =?us-ascii?Q?rHLQ6KqD/WeqbI+kgVeFv/Ftx/WIF6jn0zLdmUexwu/UVEc9OmoIUpi6PTro?= =?us-ascii?Q?a24+TpCpcy7FUohNYSOhv8Ap5K39/+EbP6AbT1sUJi23LvoF+CoD1vnXtsXj?= =?us-ascii?Q?dWfjCUTfIgU2Vw1mgWlSM4ltGyY5rw2gyUqJx8RYSocHlPEYkHUzIcXu21dV?= =?us-ascii?Q?7FUeo8P+a7pmMkkzaY/DmXshXNIq/wiwRGWStzJ1dQvr1lfmrA1ZpwdBL8db?= =?us-ascii?Q?Kqhp1nqWHoQ9AH29Cg8GF8v/wT7e+9KzrKrWSxe8QPwiTQwElDdzB/F07axX?= =?us-ascii?Q?uZN8hwMFoaHBMNdCNynEZE/pr9h4DmhQ9YMNS7lIZ+qeEQ9VXSib2YDW1Nsm?= =?us-ascii?Q?Ew=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a1a0d1eb-f1d0-456b-2936-08dbdd115555 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:37:52.1647 (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: AMwwgx1W5aI2g6fN0AWrhz76JR6Duq/e0517Tt+lMkbBiriqneDsfUY5vSfKxk+ie+fhr/1kiM7W9jw3c31ofg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7681 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 | 23 +++---- .../testing/selftests/net/mptcp/mptcp_lib.sh | 7 +++ .../selftests/net/mptcp/userspace_pm.sh | 60 +++++++++---------- 3 files changed, 45 insertions(+), 45 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 9b614a214ea9..8f7112cb120e 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 @@ -3397,9 +3392,9 @@ userspace_tests() chk_mptcp_info add_addr_signal 1 add_addr_accepted 1 if [ $((RANDOM%2)) -eq 0 ]; then 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 else - 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 userspace_pm_rm_addr $ns1 10 fi chk_rm_nr 1 1 invert @@ -3424,7 +3419,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 27ddbd8cf03f..fb05d207fa44 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 @@ -520,7 +514,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 @@ -577,14 +571,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" @@ -615,14 +610,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" @@ -654,14 +649,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" @@ -693,13 +688,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" @@ -730,7 +725,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" @@ -738,7 +733,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" @@ -769,13 +764,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" @@ -814,14 +810,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" @@ -881,9 +877,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 @@ -918,7 +914,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\ @@ -934,7 +931,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 Fri May 10 00:58:01 2024 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2087.outbound.protection.outlook.com [40.107.15.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 3BE607472 for ; Sat, 4 Nov 2023 08:38: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="p8xOe404" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ScgpmvcdVQed2iwQyvYhkCjRoyusGcfTIvHy3qMDJ/1MaJ8se5E22PihZ3Zn9BBrPZySRPFjzRIzvEWLpCEdwu4a+x2Dz/iZgR2x57gftow9RNSftiKQJ/Z9Ck4A/jcmS3NOBrlP7v42wgx1vXNmf5TXIW3hPh7WX4/4EwOPc0ArFrsRK/uAdB8nqEShXcDTRDFmTivBSGSG0MbzUDeJSg5E+p4Jr0XZh5/Mq2GLDAwz9/BQ6H4W/EGQ0G0phlJDfpzUMFo06NK8smX4jJxhle8+u9uxDW4aKmO9ofh6eVWQdEi6Fjra7HxxovzlN/EDr3AGD1BZIe98dRMCp/ULEw== 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=EZaQm2NohJlVpeSBHV9Yj8zp/QYbK9JoDo6m9oRamo4=; b=czQ/GWNiXD/FnReYZ0k8bFCzd/yDtl2oThsDSLaLm+J5X0HsEivEtz5MJkitRgd04tjaJ7mzBH4G9bE8p9ZzFEC1tgM6ONtQYhLlg1+pVEb3j85j8GWBCOsj82M9V2+d5QWH1sOiEyzz5C73EchwKaQUS9Phm/MYpFlhRQ1wHMmtpifXiJBORRdt/xC2uxc/WMDaL5rBoL3VJkD60vng/5tHKFAVEGNFVSK+tIPS39wHYhgNpkpebWR75aW4Sk0TeuqPr3vDDSAamyjQTcEnHM9SaQWqhTnVLMFq8Irh6ICsxA1JnKrnP1IirxrBgC7MHrjEhh8sA3fOKKrGz6ZEXA== 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=EZaQm2NohJlVpeSBHV9Yj8zp/QYbK9JoDo6m9oRamo4=; b=p8xOe404upW6RTxjGqaD8zO8cEltQxP4lELE0fKCIJA7DItxnzurBDi3jDiGwxMkfeXVB3MkLLDzGlm0a+PCRMpjF7OmKQioUXjwZ8aQ4FWsWiZqGMBHXRIajykTYSsMfOsG2yZSEA0McM3hTMAxzAOpU5lMWc3CirV71q+W/kK2cetQXKTWFY8rtfhKoIcPb3HBmhaChJo5WICw+UTftiIOxn8QAh5v/gpZqsQT8k1Zg/RotURT1nGjkAObRGD0qyuBHKyLey3IMtE2XXZbvK7x8rMrZ5y5FbOjLVi1jmFdxZfd4UiSENunHMSyCOjoJ5QjyKyVgUrZzu5XpElleA== 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 AM9PR04MB7681.eurprd04.prod.outlook.com (2603:10a6:20b:286::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.17; Sat, 4 Nov 2023 08:38:00 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 08:38:00 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 10/12] selftests: mptcp: extract mptcp_lib_check_expected Date: Sat, 4 Nov 2023 16:35:58 +0800 Message-Id: <5d075a12fbf93693a5a39da0599a296be2a46ebd.1699086300.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCPR01CA0139.jpnprd01.prod.outlook.com (2603:1096:400:2b7::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_|AM9PR04MB7681:EE_ X-MS-Office365-Filtering-Correlation-Id: d04b33e8-3196-4e8c-afe9-08dbdd115a50 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gfwbzS+Qd/CVL7QR2K/c8yRU+r+i/32A256gDxWq3opnX/rcOobp1NMFtwjVHA8Lj5J4c2q+eqHUnALrjUZBGGC95jeDge4XT0FMpnMWcbt8U4DO1I8sc9k/Xfhvj97NM6BG0+VVhLVabVgj4renk8Q3BpqSgguGJ+G43t8MGWu9BF2RBO0/5XDvzE5LiYolwX48G2QwjwC+tlAWbyaS/jvx0nDN6va9G1lAbaZnPdlymwXgUXMOLTSG2fO+g9SI36xvbBJ0FLtgOpWeT5lwxcr5UkOVwt5VRmHXLOy7CBZOK7h5IA9b4LEM6kyoIJFrixl2KWC2FyOxeCSkb/zmW2WgS9wQjjcT6QYqVwLv38mAd+DxfrTa7+JTdrokf4RmWQ/Snk67ltbtURgcCfl2zO1NoUoEWQaq2PzgW0uJALQNqM4QBQk0q2hn5J0gghpTm9e6S5upqCeAB5bUVEwAeXh5nCopXjeqiJmdfdfwYFGWDcujEDYz1KaOrb2+wJQPJ702jmWGGnY1ZJg6RDYY3mNnex48/KjJVKNjJQgF3EX81gtv/WEFsAecThMJuRSME+iycCQP46PC7LX8noG9AqMtFyD3VBiRlvgKMYRGkDw= 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)(136003)(346002)(366004)(376002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(36756003)(86362001)(2906002)(6506007)(6512007)(6486002)(44832011)(478600001)(41300700001)(8676002)(8936002)(26005)(107886003)(83380400001)(2616005)(4326008)(66476007)(66946007)(66556008)(6916009)(38100700002)(316002)(5660300002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?/ghgEO6KTcT2LoaGAA2NRXZuHS+U/TJs3ZxuaSKEkSJBMQv040X9b8SgWKdT?= =?us-ascii?Q?VJ6jynoOeiIZT0dSMR7blPW/pMyDSOREAqNPPVF/DfXS/IROqOfO3NxNg7V2?= =?us-ascii?Q?bBZNe3mimRKAoBE+bWgCblHCnD3+q7cacdt6mo79bAV2S3kVeNhVi4ECBpSM?= =?us-ascii?Q?+SOlqroYemUnOzpp1euRosbgEwkOr52W26tnTF91SuxvoIfoVl9+j2tSmr0L?= =?us-ascii?Q?2AxDVVaqZBJIQ2bLOct8CH56P8jWL+DWidGKniEBAW7ffSLimjU6Mmj0QHXY?= =?us-ascii?Q?lwJ8oqD5N83y6Gw45WQt2ja/0RwY6/BxcVv7YOXf6utrKJaEXvnCCSF5KshS?= =?us-ascii?Q?1M/jf1AW26C+u0EoemPaQK9ys3nlgSVS8ralA+LEFNVR6eVfy0ZTNmoJuo8M?= =?us-ascii?Q?6ubcEYKqN48+lL3G9Cxjv267X5e2nLiCal5lj0SA0fym+X+Tvc/XuPRGLyrP?= =?us-ascii?Q?tW1Oj3FFz6ws2VL32uqJzKRiu0KkW1qblGcsL4GZb6e/iw6VqyKYjFnxIG5m?= =?us-ascii?Q?q2hq1+2ZQ3YiIxiDgpcF/LNbXkb0JIaMptcfYyZK6upKspHMRLXiZ040zlR2?= =?us-ascii?Q?MfMMgiCCcXfHPtQAce0wb9Ji7IWQlzY2z9GWn48lmgBediQTxjtcEF/T58BR?= =?us-ascii?Q?RvonFaJCFWKXFCh+ESso32MK2V9qD867gVt+UFmVBzROOZ6qMBAYPCX93Iyg?= =?us-ascii?Q?KviFWte9CHW3P2k6xXgzE/1JT6kXSkvVpPhwl+x8SiEW7nnqjpF8RUq96uyg?= =?us-ascii?Q?CNG2/uPktrxNzU2jVZ5m1s2BkHRAuhU12+Cvf73evw0w/SXI6dU14HHNCtYQ?= =?us-ascii?Q?FhkstvyOwIEHBaCaDQnIquQ0KrnRqlAqUDSYlm074Kjfd30PMI54nWVJYwPT?= =?us-ascii?Q?otGsXXuMcAri6kDDyLAq8T3DdqlAA8iLE/APKH29/lN+KrmqA3l3urYGqz7a?= =?us-ascii?Q?/zxyDeIkwPLSbkMV6bEwaE2EaiKNje0KrBtBrG/spzLdq/6LmTSnOI7zazum?= =?us-ascii?Q?BLv7tqKsse5+JU/kT8eD+DVyvXDXqH8jlk67AjWrnspuchOH5dbEkrFMxAs+?= =?us-ascii?Q?5eN5PFC2d2GJRMp5hOlCpLVK4eAnjtDjzRDvwk7cHyXw23BU1/j7Srdy9CYS?= =?us-ascii?Q?ouLVPDnfves2GudCuKOlVwjgLXhqkFYDdtEw95cn0Z6SQcCkX2ZiqN80Obet?= =?us-ascii?Q?vOAqHtqU+PwOyNWvkwG12caCFMzXOsBPJFs+M9q4Jl0+Z04aAGNoPiGlpNLp?= =?us-ascii?Q?peMqDD0zi1ulxnuYCc4j/Zyeb5UtCLS61cEYA+D1+Xc180vT9IPacDEGbSSO?= =?us-ascii?Q?EZGZ67GSCrI3lqfJU6G/3OFx/MOcimaPP2OriTreNE3pdgc6gE+i/ag6fWd2?= =?us-ascii?Q?HubUssBAZkDdNjc+OEQcjnsYxctAWZHOK8oA/Gp+9hYT6Sqc4riz/UEX8jk5?= =?us-ascii?Q?IFOqZ/0nM62w6nuTXCnFguunJi0SSdLPk2btMfhitEE04aAk07ZqEYxjzWfX?= =?us-ascii?Q?iPFrV95+C5sMUvMxIzPRpFY7BO7qGfFiWHybNOUId68L3YEswckyn9QOEsL5?= =?us-ascii?Q?/sE00WjyJT6Ll/JJk0WeHlumGoS0M3+86O53wQPnrC1BBWq4RaujTkjcHDBS?= =?us-ascii?Q?sg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: d04b33e8-3196-4e8c-afe9-08dbdd115a50 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:38:00.5942 (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: TUI7t0tz6gx2HxGOH94YYlHvA6jdUr/Ce4UHj3TfVjhl3nfGwjRn8fy79bfzBB/yoToXYfxr7dmpvaeAq080Hg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7681 Content-Type: text/plain; charset="utf-8" Extract the main part of check_expected() in userspace_pm.sh to a new function mptcp_lib_check_expected() in mptcp_lib.sh. It will be used in both mptcp_john.sh and userspace_pm.sh. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_lib.sh | 42 +++++++++++++++++++ .../selftests/net/mptcp/userspace_pm.sh | 39 +---------------- 2 files changed, 44 insertions(+), 37 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index ffd78187237b..68b07216e47a 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -369,3 +369,45 @@ mptcp_lib_evts_remove() { =20 rm -rf "${server_evts}" "${client_evts}" } + +# $1: var name ; $2: prev ret +mptcp_lib_check_expected_one() +{ + local var=3D"${1}" + local exp=3D"e_${var}" + local prev_ret=3D"${2}" + + if [ "${!var}" =3D "${!exp}" ] + then + return 0 + fi + + if [ "${prev_ret}" =3D "0" ] + then + mptcp_lib_result_fail + fi + + printf "\tExpected value for '%s': '%s', got '%s'.\n" \ + "${var}" "${!exp}" "${!var}" + return 1 +} + +# $@: all var names to check +mptcp_lib_check_expected() +{ + local rc=3D0 + local var + + for var in "${@}" + do + mptcp_lib_check_expected_one "${var}" "${rc}" || rc=3D1 + done + + if [ ${rc} -eq 0 ] + then + mptcp_lib_print_ok "[ ok ]" + return 0 + fi + + return 1 +} diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index fb05d207fa44..6a84e563b2ca 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -231,46 +231,11 @@ make_connection() fi } =20 -# $1: var name ; $2: prev ret -check_expected_one() -{ - local var=3D"${1}" - local exp=3D"e_${var}" - local prev_ret=3D"${2}" - - if [ "${!var}" =3D "${!exp}" ] - then - return 0 - fi - - if [ "${prev_ret}" =3D "0" ] - then - test_fail - fi - - _printf "\tExpected value for '%s': '%s', got '%s'.\n" \ - "${var}" "${!exp}" "${!var}" - return 1 -} - # $@: all var names to check check_expected() { - local rc=3D0 - local var - - for var in "${@}" - do - check_expected_one "${var}" "${rc}" || rc=3D1 - done - - if [ ${rc} -eq 0 ] - then - test_pass - return 0 - fi - - return 1 + mptcp_lib_check_expected ${*} + [ $? -eq 0 ] && mptcp_lib_result_pass "${TEST_NAME}" } =20 verify_announce_event() --=20 2.35.3 From nobody Fri May 10 00:58:01 2024 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2040.outbound.protection.outlook.com [40.107.15.40]) (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 D5F9F7472 for ; Sat, 4 Nov 2023 08:38:11 +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="YHl3It+v" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S+PeO9NDNBkQew2bXirGGYvusuJT5RwUZyNr+TRF3ydazbv56I5CPP0RvUmHDEYdQQIgt7H4kxrGfijkPuA1sx8pCu6blB3ZLdd9xyWyyOXq2NqZVLyYqNj8s2rd6YF32tCnphnh8jyAjsp0Mt0AwwElJ3kGDqoGehBWn64K0iQ4YoKVSCDVorhQsMqyEM641mrhDyHLygT1RTCzlGYKQGnCk+RoSp7U68B0ugm205rKZGBivnQyNwKxEsFotCkVNk3ZgDeZP8i5afSnJVRUw22fVGaTQWnZpbUhGFWzb9ZkHESa8fMDzGqi9KsP3B75ihzAozMr8VlEN3jqDTX1pw== 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=l5WuH9stv0qxt7AmRZl2GCRhJPyNI1HOIMLq2wImaaw=; b=KEbNzf9NrvAPWOUOkgonMKjZcKGNP6F18AiHskk8DXDuw6b4VLPlA3PzcSLv58Unuix7bqWM42dwsWsrhZnwiGSJ3OxFHFn3jdcwWUJqT/NCTuAPsNeG98c2BRx5Nlk8/HUoYSRBM2LA3+GfeLTGPf3tKPPCnSL+y7oZbsD3VXFPfAuO5Fz2SUV+YS2dCIysD7U8O2mCgqgGwZIbyDL3GidToVrIKzC6ZF6DVnT9FS3Sykaj3747wVgOQwKGm8CvR7ebpVfQQ94PBS1kGMtcvMm3svQYTCLKRGI7psfGeDF3f5bA9BpyrIkiI2e5ULmy8ZSsFqUfS55ZR3vCOnioPw== 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=l5WuH9stv0qxt7AmRZl2GCRhJPyNI1HOIMLq2wImaaw=; b=YHl3It+vcC5l9GuNs23rgNsvHX4BVFwIy3Ap4oT7cYcLhbNZ3kxjFpVLfi0dEnmz/WohlX/oQaHmaWCWevsCrxuxLh/gqALc4WXrnX4GPII3e9YItHC56+bYQnz3XwcvhOyblDjPCGcHCSNSCMmSrvxg7ixbyngg8S5sZc76cKZaLH0PZxCNDQDpUkPE7gFwN9MlgwsoU7vEUtTAMP4meMheSXnbzV9aJNYwckVfwxG4S67LH4EeIT7uYwyrarbEEsZupSAqr17O5VWmzKcVcaKJ6j1g1UwhNRjSVIlGS9mZchmbbHIHlCnnlIkWHhP5qEVkeUFnYiI+AbKw5+hWbg== 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 AM9PR04MB7681.eurprd04.prod.outlook.com (2603:10a6:20b:286::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.17; Sat, 4 Nov 2023 08:38:09 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 08:38:09 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 11/12] selftests: mptcp: add mptcp_lib_verify_listener_events Date: Sat, 4 Nov 2023 16:35:59 +0800 Message-Id: <3f7d5b075712f26e3df925d6d9aa07b059e94008.1699086300.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCPR01CA0150.jpnprd01.prod.outlook.com (2603:1096:400:2b7::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_|AM9PR04MB7681:EE_ X-MS-Office365-Filtering-Correlation-Id: 3b7641c3-078f-4423-f720-08dbdd115fad X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0JUFlA13WuU9KPaWmmBODWxkV73VNdwSXij/ft+LOIuQ8so3qx4OoUgrd00btdxrBEhGxZR8raRSNCzf6UYpdUKoDE9P4YPNYwrFk6eByFSJfNnm5LgN67RgoprwONUQzYmm0cQg6dd9sAVO3Iwiboa3ejiXtkGHFnAxzRfH49RvgtQ9psPCGPXuWv5tglkk2cBI2tuow/jInH/fTuoGLlFZxJNjSl+dcpgKnDq9RWRhoJOwnoVAlBoC+m5B29mXCOZq4M7a0HvJVnjSQ0WwaPt1ylqT8Fza1hDThitPr2Hr6aGdDSa5/bMhm5qJBK73NGILj2nEZtgLYYL82qvOxQoGkQPr+grALgDg9BND6wfxCA1x31a9S3fN9MoxyuXGESrYeZUlZ7ZUWTcwXo/m7Pl6z7Xvt5xLcdg+nX0wSsV7pSIbL1zNGxv3DvIOOJwM+FP6C/1u0KGY4Wo50z4in2bAstVhYTqKOklmy6aEtjxLvW3j4iSSP+qrN7WRo5jEACdn48ADPcTrMqC144iuO+UEGmKFs7s7WiT7uwSae2jeWGgqkmQZBoBJLv0tx0HfHjTWrqYGs9OiF1FVypvLlKYCeSaCRiMxsNdJEMHrsuvzdHhaaf8D5+WpmBIKP7J5DN1r7zU2gcdT4oltMvJJuA== 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)(136003)(346002)(366004)(376002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(36756003)(2013699003)(86362001)(2906002)(6506007)(6512007)(6486002)(44832011)(478600001)(41300700001)(6666004)(8676002)(8936002)(26005)(107886003)(83380400001)(2616005)(4326008)(66476007)(66946007)(66556008)(6916009)(38100700002)(316002)(5660300002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?uTpT2uSBVMJfG1/TYiZsE/uTUfqBNm/Dpg00NNh1cGsBnvyee1hSJsQGWunK?= =?us-ascii?Q?dtiWV/3/+eZQMuUmzSnjjV7HidQ4fJlUH/vKOnagnwbZIDaw57oGbEnrWlDN?= =?us-ascii?Q?npkjchLVwNl9+GcF06bfjs+ZEiCGY05ytxk1tCIVIo7LTHJL5IZ8trRj0wuJ?= =?us-ascii?Q?ezdFGbuEmVtlMLzQsE3V/hogfAuHAwnn/ceVL6vj/VHkx0Ji30FSdhBQD7To?= =?us-ascii?Q?0ikdlO+JrTPypiwq5zbwq1gHuwrVxQLZEWOkhnh1hsmvWoYhL6HysuojJXcg?= =?us-ascii?Q?7wkLsDJSy/5aObDVdJhnNS0tzybHYMAKfZz3umXxbzqYxlO5+IO4HFrNtYaM?= =?us-ascii?Q?WIpsTIG3HlUD9KxOUYPcAAlx5Fdcp3b8sef2ub45pNI+st0TpGrnuzTwUsFp?= =?us-ascii?Q?+4rXVDojNwzC2vioHB2zAOsBaoVW+8C7q7P+vqOVI4xjNpMSy4XFL6xu/Yti?= =?us-ascii?Q?rXoL5Xy3tkx7MbV6bzA15q6YwmFrh/C1n0JHv9XXMAFI6el77Em64n7EzFlf?= =?us-ascii?Q?H2UxOz0gIzxju0IysmhexB9HrAMzvtOtEhusNv3bmnVNVeIQtr/2mv4zHYbf?= =?us-ascii?Q?wTi3xsgwiv1CzfSnXWlyDxepK9nd8YOydyKqAGG4iFYPMV+xZa15lMsyzFhx?= =?us-ascii?Q?yO5bp1GTRx5WS9kuA5QDv3DyUWwST/J6OUFrto8/+xyrsVOQ2WEk4MJllYTy?= =?us-ascii?Q?plVBSFpgZ0RGK2W305DHJDEecoq1knHuANk0AY3t8HD3I+X/3Gzl6XR1883s?= =?us-ascii?Q?SBY7Mk1cLaB8dlfbR223tr5zOkIrsyy6K4qb3cVY4jERNenUVeOR5nHwEF5a?= =?us-ascii?Q?rBiHszG2/9uEzckCwwfuGpBoPMfvgcd6ijtkth/DKh5vmddc+rmiPdWtX8s7?= =?us-ascii?Q?QGXKsiJI+8aU2RiJPMs9JmCqlvFbGhXwRyDiMb1P5mSowq1mwGaGHImygljt?= =?us-ascii?Q?eXatwEB5BLvLMFn25zlAIzn9l5aADNT7VrCsDFnrk5TlgYZWrv+CRpMJLk+P?= =?us-ascii?Q?RZTlcz1m/u8LSPksE9XsmRAIJ0SML7ntABuAwiKy/Pi6k1uDcK5fHChGqYrm?= =?us-ascii?Q?1vcoNCNJUri3qMCIT+WLQUjb77kVejAPagyE7zFvxWWgjFMWL+oDZMn38vNR?= =?us-ascii?Q?3fGacwqmYzf/hxfQ4abjPZrNFlqBoluJUFQIFCahva2zhNS/yOTsTlvzHfa9?= =?us-ascii?Q?zCUCyCnNArapGWMuIqIb2XQr4TXHbe4STp8lY4k/gfn8YX1Y7PNV60y6Qqye?= =?us-ascii?Q?xLLQ2Hug/ER7i2Rdfhc2Ei8JTN4aiRmpXCdMzhcyZblRjiWzJedXlhKXVPUY?= =?us-ascii?Q?QOimNK5/u+RAVBLUi1VOmv2gX8/gVM2gNLbtDZRvnskMYv6UvriDpXubBL8y?= =?us-ascii?Q?dgInFXBrU0Ex65uAe4Jnw6Qa/yQuwDWqn+4YTXQF2PJzB6wIh858ptGJrTh+?= =?us-ascii?Q?JQk7c1m/LFHKgbscNY8AZAQJAxU69869uPcfCoPYs4POuWRDxH43BAQvxPel?= =?us-ascii?Q?5gtEujBn9QSksX5tDNaAGSmWjhfqs0sttfm3jmBFErKRPWOcvVU0nTQEtbCw?= =?us-ascii?Q?QAeCDwWpHDtPCPP9uZwWL7hECNovsGlj92RJL0GRXss3vCZ37pWeJikfquJa?= =?us-ascii?Q?tw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3b7641c3-078f-4423-f720-08dbdd115fad X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:38:09.5651 (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: aq6ZvyMsnLzBZcujh5FUlBFZSGSmsquE675xe0+WKR3SSfHuEHZY1EryVe9Q1hWz/JtV1FqCKjkBkIEWkOvC0w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7681 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. verify_listener_events() helper is defined both in mptcp_join.sh and userspace_pm.sh, export it into mptcp_lib.sh and rename it with mptcp_lib_ prefix. Use this new helper in both scripts. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 54 +++++-------------- .../testing/selftests/net/mptcp/mptcp_lib.sh | 32 +++++++++++ .../selftests/net/mptcp/userspace_pm.sh | 30 ++--------- 3 files changed, 49 insertions(+), 67 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 8f7112cb120e..ae58a38d941b 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2779,49 +2779,17 @@ backup_tests() =20 verify_listener_events() { - local evt=3D$1 - local e_type=3D$2 - local e_family=3D$3 - local e_saddr=3D$4 - local e_sport=3D$5 - local type - local family - local saddr - local sport local name =20 - if [ $e_type =3D $MPTCP_LIB_LISTENER_CREATED ]; then + if [ $2 =3D $MPTCP_LIB_LISTENER_CREATED ]; then name=3D"LISTENER_CREATED" - elif [ $e_type =3D $MPTCP_LIB_LISTENER_CLOSED ]; then + elif [ $2 =3D $MPTCP_LIB_LISTENER_CLOSED ]; then name=3D"LISTENER_CLOSED " - else - name=3D"$e_type" fi + printf "%-6s%-36s" " " "$name $4:$5" =20 - print_check "$name $e_saddr:$e_sport" - - if ! mptcp_lib_kallsyms_has "mptcp_event_pm_listener$"; then - print_skip "event not supported" - return - fi - - type=3D$(mptcp_lib_evts_get_info type "$evt" "$e_type") - family=3D$(mptcp_lib_evts_get_info family "$evt" "$e_type") - sport=3D$(mptcp_lib_evts_get_info sport "$evt" "$e_type") - if [ $family ] && [ $family =3D $AF_INET6 ]; then - saddr=3D$(mptcp_lib_evts_get_info saddr6 "$evt" "$e_type") - else - saddr=3D$(mptcp_lib_evts_get_info saddr4 "$evt" "$e_type") - fi - - if [ $type ] && [ $type =3D $e_type ] && - [ $family ] && [ $family =3D $e_family ] && - [ $saddr ] && [ $saddr =3D $e_saddr ] && - [ $sport ] && [ $sport =3D $e_sport ]; then - print_ok - return 0 - fi - fail_test "$e_type:$type $e_family:$family $e_saddr:$saddr $e_sport:$spor= t" + mptcp_lib_verify_listener_events ${*} + [ $? -eq 1 ] && fail_test "$name $4:$5" } =20 add_addr_ports_tests() @@ -2859,10 +2827,14 @@ add_addr_ports_tests() chk_add_nr 1 1 1 chk_rm_nr 1 1 invert =20 - 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 + if mptcp_lib_kallsyms_has "mptcp_event_pm_listener$"; then + 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 + else + mptcp_lib_print_warn "[skip] event not supported" + fi mptcp_lib_evts_kill fi =20 diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 68b07216e47a..0aea2c5175d5 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -411,3 +411,35 @@ mptcp_lib_check_expected() =20 return 1 } + +mptcp_lib_verify_listener_events() { + local evt=3D$1 + local e_type=3D$2 + local e_family=3D$3 + local e_saddr=3D$4 + local e_sport=3D$5 + local type + local family + local saddr + local sport + local name + + if [ $e_type =3D $MPTCP_LIB_LISTENER_CREATED ]; then + name=3D"LISTENER_CREATED" + elif [ $e_type =3D $MPTCP_LIB_LISTENER_CLOSED ]; then + name=3D"LISTENER_CLOSED " + else + name=3D"$e_type" + fi + + type=3D$(mptcp_lib_evts_get_info type "$evt" "$e_type") + family=3D$(mptcp_lib_evts_get_info family "$evt" "$e_type") + sport=3D$(mptcp_lib_evts_get_info sport "$evt" "$e_type") + if [ $family ] && [ $family =3D $AF_INET6 ]; then + saddr=3D$(mptcp_lib_evts_get_info saddr6 "$evt" "$e_type") + else + saddr=3D$(mptcp_lib_evts_get_info saddr4 "$evt" "$e_type") + fi + + mptcp_lib_check_expected "type" "family" "saddr" "sport" +} diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 6a84e563b2ca..f99edce8171f 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -832,32 +832,8 @@ test_prio() =20 verify_listener_events() { - local evt=3D$1 - local e_type=3D$2 - local e_family=3D$3 - local e_saddr=3D$4 - local e_sport=3D$5 - local type - local family - local saddr - local sport - - if [ $e_type =3D $MPTCP_LIB_LISTENER_CREATED ]; then - print_test "CREATE_LISTENER $e_saddr:$e_sport" - elif [ $e_type =3D $MPTCP_LIB_LISTENER_CLOSED ]; then - print_test "CLOSE_LISTENER $e_saddr:$e_sport" - fi - - type=3D$(mptcp_lib_evts_get_info type $evt $e_type) - family=3D$(mptcp_lib_evts_get_info family $evt $e_type) - sport=3D$(mptcp_lib_evts_get_info sport $evt $e_type) - if [ $family ] && [ $family =3D $AF_INET6 ]; then - saddr=3D$(mptcp_lib_evts_get_info saddr6 $evt $e_type) - else - saddr=3D$(mptcp_lib_evts_get_info saddr4 $evt $e_type) - fi - - check_expected "type" "family" "saddr" "sport" + mptcp_lib_verify_listener_events ${*} + [ $? -eq 0 ] && mptcp_lib_result_pass "${TEST_NAME}" } =20 test_listener() @@ -879,6 +855,7 @@ test_listener() local listener_pid=3D$! =20 sleep 0.5 + print_test "LISTENER_CREATED 10.0.2.2:$client4_port" verify_listener_events $client_evts $MPTCP_LIB_LISTENER_CREATED \ $AF_INET 10.0.2.2 $client4_port =20 @@ -896,6 +873,7 @@ test_listener() mptcp_lib_kill_wait $listener_pid =20 sleep 0.5 + print_test "LISTENER_CLOSED 10.0.2.2:$client4_port" verify_listener_events $client_evts $MPTCP_LIB_LISTENER_CLOSED \ $AF_INET 10.0.2.2 $client4_port } --=20 2.35.3 From nobody Fri May 10 00:58:01 2024 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2055.outbound.protection.outlook.com [40.107.15.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 552757472 for ; Sat, 4 Nov 2023 08:38: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="HYPO15w0" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GSL0NoqfUHqWghz6g2iTdWt7GF7RADy18Xt5jmiLLx5lqstyHc98qhPxGUI1Mnfg+kvMZIAzA3J3UsZHnpO6IRYJMPIkksWSzafHxgv6VNYHmnfDfH2AUrwQtKsWHLtlLoeilc98WYdXHsypBo5YyuMYVPZXcdQPIvDHfvyilbQMeOiBN7+5eqgMluJH9TY1uUWsT60ZEFmpA7BGfo0Hr7NrIg1anmUHT/m0TqStGDayVYP1IFW1f+iMyZzNE8QMOmAnXOd/izdmtTxakvsh5+Y596KTLI2KW0Uk1VACaLTmEH81/yrr383ukkWMWSVFQIgRVAaN0I3J2B4XcgeJng== 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=rkGZHG1mA9ZPVzCeXr6f+1mRVNC4uPp6KiA+4KD5HoA=; b=QgQhRS7bQPLL6ZAxj1UsSnHf30dasXkJqsBS5692CHqDGV24wyYY8ydL/VShTNm4iBEc5dSoQtBbaUGe2jpXnDZoFnx+LdysrLtNDPL8dAx85TYSjubSz0cJOtSo+1gVVG2Z3YlROyrDsV1ddARA7zmCaD6/XfPL4mDRzibFJNn7dLagc7t/K0w2YiI28Lc1jFtlKMoNBp8nXNReEgF2t1m0G79oKgMmZWFJvjYzumSqsqezWcM/eA0okWMuFOeysIbzVfQjcFld5NBhXjL43Uffx+ogBYRYTZt7niCk50P19U4wGv9It2UgeGVh/b+E6OZ7GCQPcrS5bC+VBb3ilA== 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=rkGZHG1mA9ZPVzCeXr6f+1mRVNC4uPp6KiA+4KD5HoA=; b=HYPO15w09oPFsrYjVGHyU9IJSCAnaaSAD962AEqfAwov3wvJqdSggqDDwt8lY8p8EGa5ThhwtZB4iCqup0/GLEzUNiHavsQCpv9PLpKdiJTcgxmk6Ri551egNLcinRIcmSlNKqz91x06TVUms4mI0+eXsj/o69va3vDzKfy5XoERMQnEqORpgjEeuq8Mu6U/A0rjRVmazfqXWnixQByaynv0ghylibrk9BQ5/N8x2Abr6HfEVwLAXa4m1+7nakc1KZX5PTsh/L2hbDhZ3V+WPnelY8ezVjuVFg6Vj2UhDKevgmQM0kbs8mv4xYJibMQUZzX1frQEzSTnmlBc/djtrg== 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 AM9PR04MB7681.eurprd04.prod.outlook.com (2603:10a6:20b:286::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.17; Sat, 4 Nov 2023 08:38:18 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%6]) with mapi id 15.20.6977.011; Sat, 4 Nov 2023 08:38:18 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 12/12] selftests: mptcp: add mptcp_lib_init_ns Date: Sat, 4 Nov 2023 16:36:00 +0800 Message-Id: <1fbdbfebd7caa8052b764e3d78fa9fb8f41f03b9.1699086300.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCP286CA0354.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:7c::17) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM9PR04MB7681:EE_ X-MS-Office365-Filtering-Correlation-Id: 28f00b9f-81da-483b-a502-08dbdd1164b0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eN+45bLfg5eFs29n72EiAyiTVvWbCCQ4+XsssEofnA3lRCeJ+diWU2JQSUED/QH7lvweVRwCqcpVgHJ4TrC7SWkTZdaDKh+8UqR7r3cOBBwt3Jm79N4hgHrGqWQ4uz84ffXMD/H/o+2izQpjw5PS+s6pR18FG88Um3BF+nsEVaxpMjujFi5J/Oon7SZAjOwJ43aWXEd0jCOqmo/5YvnUpdKaHNXEfx5u0HjgcDFwPjMmi2GIy85Iumcfegsa0MVztqjX0F9uyMIa7HA8jn7oHLyLO/9hYFaj8ptOXvPW6QxtazVl+l+hAdnZBPQzxdIC9fHDA3DqCRao9MMcyS+OBwSqNokJcWqRorJ2X7OQckfCFrt1XFvB7AfKm53mBCPSY0E+5NFRtiggTf5oN38ul6Fswd9OoosLhnYv4H3oL6QeZExYc/zg+lK7aqT+VeGrdvzRt+oArDXyk4peFzNrAdPRQQzbWycEOtymBvA+vXk4x35Pkk3XO+X0Txjz7Bta82ZLb4KeglBGEbA/Ulhr4ws9e+B0QPOCJIS4WtAuFvTA6oTSdYme8x5iFIxRYEuE6X0aysHIWLSOJbY5Qu0eHVWeX9pQSGAWWNNORDTz6d4= 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)(136003)(346002)(366004)(376002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(36756003)(86362001)(2906002)(6506007)(6512007)(6486002)(44832011)(478600001)(41300700001)(6666004)(8676002)(8936002)(26005)(107886003)(83380400001)(2616005)(4326008)(66476007)(66946007)(66556008)(6916009)(38100700002)(316002)(5660300002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?nDy09fzDp5fAr0RyTqmv86VXaPKpopjE5AXQAJzVE52SYQ5Vd7CG/DOqWxaS?= =?us-ascii?Q?w0yGgW0BrUq8J5FDHEZobL3avzPD2LQy0H7sf8PmGVBx43mCBYg1Dw7BUWhw?= =?us-ascii?Q?K8nPccdKes/CHcFtJ1+v7VcFumhp475TTpvOFKOIR3TzZJLNNFROeEJfr+V2?= =?us-ascii?Q?1pGpmLHoA6wAzvAdTfqP6OvNi6uZML2Vl0q5ecCsOZAHKLc1Cs64yNj64icZ?= =?us-ascii?Q?26puGResj8CXo8utW7aQkDDI1cj0+Jvw2ZhaKRtgwAxM5RIOMe3kgfMlFU8Q?= =?us-ascii?Q?lX3lre9ZXs0Lv78JJSpukJLexS1PtkngvVf56yF7DW1Lm6+d4M5WZtysSWgK?= =?us-ascii?Q?RfGcmHN8JRIHHORNDs8FMnZI1slqNbzAfQunMZAfy4M6ux1TFfHct1e3Xs7O?= =?us-ascii?Q?FBW09Y81xjJbeGp6gD+DczJeO2OlSBLeqEHC1FA20bCZNTZZb3qKUD84U7oS?= =?us-ascii?Q?FhTf37KSnr/1v93eSMEW5HK0II3LVmApnoYKKDF/qMFTRTqNU/VUItOUQmcj?= =?us-ascii?Q?lTAT7hwu0nX2okbIOzluKdlg1jTfofl2Jcv/aBMe/MvLl2rLgUsO5SDJ8BM7?= =?us-ascii?Q?sUJw+0s6wv58yYucpvv9ObP+d5i9USAy1O5HQRpA82B+oux4bjaG/1Qk/gwd?= =?us-ascii?Q?U1+7iPFm+6VziknlomHMkh2vU0UCLARVWnc7IJGefAOAsQf5ffrMR+90dMxE?= =?us-ascii?Q?sYRkfPus9nONd8u/JPTbIyeCQfeYzCIYMOB73uq3DE/dJE9tmKCUtJwknsvr?= =?us-ascii?Q?E2O9F3zdhWVIGbvZicMxmhmUU8GQeEtHX7+3KNGnozffkHYA0r3Q/PF0bMBu?= =?us-ascii?Q?u/M05O3e4nj0Jk97P2SFr0oibh9AJ8CAk6toGru32s+OPNZeA/Odisw7iYjw?= =?us-ascii?Q?k7dKpiWdLa5JuGU505DgwthhEADkGFJ85zL3r4evJNeCJfaD1d7+uUs54Ltu?= =?us-ascii?Q?FyQWj82iepTFhLjBGdKgKDIqnVXRAB2BltuUMjV93iovFCTTlltPUdm0Uv+S?= =?us-ascii?Q?+3sWWOk+1xcCOG8lTvPLkb04lgKqzgweahTEfdKrqQbVmPSXtsB7GAiu+Jys?= =?us-ascii?Q?lqap8eUdBMstuMVgv3YeN6UhG+NhP7bmWIJ+E22ZdrV8MbapF3oFYUemQqvA?= =?us-ascii?Q?rcjdL4e25TCHL/9WaJ7mJgNdASmmTGjxHJl5KhzAMf16J0shTjhDgu47to+U?= =?us-ascii?Q?/m+Ji+RIvq+l9JlqrCxFkEPpPvY+hRSlZv3QKHTdThpdR0Ahfwpv836W4ZxI?= =?us-ascii?Q?MTqwHHzDAKDVM01i4zGFukvqd6PKhmWOaY5CLcPY92ELduezGRSLc5PxK0ks?= =?us-ascii?Q?2MssrDJ0oL7PU1cypJA6INJPfkJ5eqczdI+nmk/adk59uYUc937qIe+7gee8?= =?us-ascii?Q?UTxoo7MFt48T7vax+6sQTrZJHmie2dL/HV7X5kNEYrnnEFVG9Ft1P7DBdBAU?= =?us-ascii?Q?TXmfPQXng8lIl2ShexStzCe09SKit+dw09fLkVhQ1KoMKfvf2AGfYMb+b7yv?= =?us-ascii?Q?UeoBJ5fkAahw/NIvLskwq1c2aCyQMWZ7zECEDW704TXvP87HH7iOZcDf/yEx?= =?us-ascii?Q?cRaNiBzzTNeATh6gx8sjHj1/beJQuRUOMQMLLp/WhU/LPhVHIwskyN8DlHfZ?= =?us-ascii?Q?Lg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 28f00b9f-81da-483b-a502-08dbdd1164b0 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 08:38:17.9486 (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: WKzr3XyVMK3VaqIi4fgZIbhbfwwrfezQGWj8fNl7T7n4+HWJ7FRGZDRhN3L9TBPPxIcOM9rdA6BY8AAj/xMM8Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7681 Content-Type: text/plain; charset="utf-8" To unify the namespace name, rename 'ns' in diag.sh to 'ns1', and rename 'ns_sbox' in mptcp_sockopt.sh to 'ns3'. Add a new helper mptcp_lib_init_ns in mptcp_lib.sh to init all namespaces ns1, ns2, ns3 and ns4. Then every test script can invoke mptcp_lib_init_ns and use all namespaces. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/diag.sh | 48 +++++++++---------- .../selftests/net/mptcp/mptcp_connect.sh | 7 +-- .../testing/selftests/net/mptcp/mptcp_join.sh | 9 +--- .../testing/selftests/net/mptcp/mptcp_lib.sh | 18 +++++++ .../selftests/net/mptcp/mptcp_sockopt.sh | 16 +++---- .../testing/selftests/net/mptcp/pm_netlink.sh | 4 +- .../selftests/net/mptcp/simult_flows.sh | 6 +-- .../selftests/net/mptcp/userspace_pm.sh | 5 +- 8 files changed, 52 insertions(+), 61 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index 95b498efacd1..13c677cc2999 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -3,9 +3,7 @@ =20 . "$(dirname "${0}")/mptcp_lib.sh" =20 -sec=3D$(date +%s) -rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) -ns=3D"ns1-$rndh" +mptcp_lib_init_ns ksft_skip=3D4 test_cnt=3D1 timeout_poll=3D100 @@ -18,19 +16,19 @@ flush_pids() # give it some time sleep 1.1 =20 - ip netns pids "${ns}" | xargs --no-run-if-empty kill -SIGUSR1 &>/dev/null + ip netns pids "${ns1}" | xargs --no-run-if-empty kill -SIGUSR1 &>/dev/null =20 for _ in $(seq 10); do - [ -z "$(ip netns pids "${ns}")" ] && break + [ -z "$(ip netns pids "${ns1}")" ] && break sleep 0.1 done } =20 cleanup() { - ip netns pids "${ns}" | xargs --no-run-if-empty kill -SIGKILL &>/dev/null + ip netns pids "${ns1}" | xargs --no-run-if-empty kill -SIGKILL &>/dev/null =20 - ip netns del $ns + ip netns del $ns1 } =20 mptcp_lib_check_mptcp @@ -48,7 +46,7 @@ fi =20 get_msk_inuse() { - ip netns exec $ns cat /proc/net/protocols | awk '$1~/^MPTCP$/{print $3}' + ip netns exec $ns1 cat /proc/net/protocols | awk '$1~/^MPTCP$/{print $3}' } =20 __chk_nr() @@ -83,7 +81,7 @@ __chk_msk_nr() local condition=3D$1 shift 1 =20 - __chk_nr "ss -inmHMN $ns | $condition" "$@" + __chk_nr "ss -inmHMN $ns1 | $condition" "$@" } =20 chk_msk_nr() @@ -104,7 +102,7 @@ wait_msk_nr() msg=3D$* =20 while [ $i -lt $timeout ]; do - nr=3D$(ss -inmHMN $ns | $condition) + nr=3D$(ss -inmHMN $ns1 | $condition) [ $nr =3D=3D $expected ] && break; [ $nr -gt $max ] && max=3D$nr i=3D$((i + 1)) @@ -143,7 +141,7 @@ __chk_listen() local expected=3D$2 local msg=3D"$3" =20 - __chk_nr "ss -N $ns -Ml '$filter' | grep -c LISTEN" "$expected" "$msg" 0 + __chk_nr "ss -N $ns1 -Ml '$filter' | grep -c LISTEN" "$expected" "$msg" 0 } =20 chk_msk_listen() @@ -169,7 +167,7 @@ chk_msk_inuse() local msg=3D"$2" local listen_nr =20 - listen_nr=3D$(ss -N "${ns}" -Ml | grep -c LISTEN) + listen_nr=3D$(ss -N "${ns1}" -Ml | grep -c LISTEN) expected=3D$((expected + listen_nr)) =20 for _ in $(seq 10); do @@ -197,24 +195,24 @@ wait_connected() } =20 trap cleanup EXIT -ip netns add $ns -ip -n $ns link set dev lo up +ip netns add $ns1 +ip -n $ns1 link set dev lo up =20 echo "a" | \ timeout ${timeout_test} \ - ip netns exec $ns \ + ip netns exec $ns1 \ ./mptcp_connect -p 10000 -l -t ${timeout_poll} -w 20 \ 0.0.0.0 >/dev/null & -mptcp_lib_wait_local_port_listen $ns 10000 +mptcp_lib_wait_local_port_listen $ns1 10000 chk_msk_nr 0 "no msk on netns creation" chk_msk_listen 10000 =20 echo "b" | \ timeout ${timeout_test} \ - ip netns exec $ns \ + ip netns exec $ns1 \ ./mptcp_connect -p 10000 -r 0 -t ${timeout_poll} -w 20 \ 127.0.0.1 >/dev/null & -wait_connected $ns 10000 +wait_connected $ns1 10000 chk_msk_nr 2 "after MPC handshake " chk_msk_remote_key_nr 2 "....chk remote_key" chk_msk_fallback_nr 0 "....chk no fallback" @@ -225,16 +223,16 @@ chk_msk_inuse 0 "....chk 0 msk in use after flush" =20 echo "a" | \ timeout ${timeout_test} \ - ip netns exec $ns \ + ip netns exec $ns1 \ ./mptcp_connect -p 10001 -l -s TCP -t ${timeout_poll} -w 20 \ 0.0.0.0 >/dev/null & -mptcp_lib_wait_local_port_listen $ns 10001 +mptcp_lib_wait_local_port_listen $ns1 10001 echo "b" | \ timeout ${timeout_test} \ - ip netns exec $ns \ + ip netns exec $ns1 \ ./mptcp_connect -p 10001 -r 0 -t ${timeout_poll} -w 20 \ 127.0.0.1 >/dev/null & -wait_connected $ns 10001 +wait_connected $ns1 10001 chk_msk_fallback_nr 1 "check fallback" chk_msk_inuse 1 "....chk 1 msk in use" flush_pids @@ -245,16 +243,16 @@ NR_CLIENTS=3D100 for I in `seq 1 $NR_CLIENTS`; do echo "a" | \ timeout ${timeout_test} \ - ip netns exec $ns \ + ip netns exec $ns1 \ ./mptcp_connect -p $((I+10001)) -l -w 20 \ -t ${timeout_poll} 0.0.0.0 >/dev/null & done -mptcp_lib_wait_local_port_listen $ns $((NR_CLIENTS + 10001)) +mptcp_lib_wait_local_port_listen $ns1 $((NR_CLIENTS + 10001)) =20 for I in `seq 1 $NR_CLIENTS`; do echo "b" | \ timeout ${timeout_test} \ - ip netns exec $ns \ + ip netns exec $ns1 \ ./mptcp_connect -p $((I+10001)) -w 20 \ -t ${timeout_poll} 127.0.0.1 >/dev/null & done diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 7898d62fce0b..8a0ce9ed1e9e 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -121,12 +121,7 @@ while getopts "$optstring" option;do esac done =20 -sec=3D$(date +%s) -rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) -ns1=3D"ns1-$rndh" -ns2=3D"ns2-$rndh" -ns3=3D"ns3-$rndh" -ns4=3D"ns4-$rndh" +mptcp_lib_init_ns =20 TEST_COUNT=3D0 TEST_GROUP=3D"" diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index ae58a38d941b..8109f92e56a0 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -22,8 +22,6 @@ cinsent=3D"" tmpfile=3D"" cout=3D"" capout=3D"" -ns1=3D"" -ns2=3D"" ksft_skip=3D4 iptables=3D"iptables" ip6tables=3D"ip6tables" @@ -79,12 +77,7 @@ init_partial() { capout=3D$(mktemp) =20 - local sec rndh - sec=3D$(date +%s) - rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) - - ns1=3D"ns1-$rndh" - ns2=3D"ns2-$rndh" + mptcp_lib_init_ns =20 local netns for netns in "$ns1" "$ns2"; do diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 0aea2c5175d5..ee5a5b9adc47 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -15,6 +15,12 @@ MPTCP_LIB_LISTENER_CLOSED=3D16 #MPTCP_EVENT_LISTENER_CL= OSED readonly AF_INET=3D2 readonly AF_INET6=3D10 =20 +rndh=3D"" +ns1=3D"" +ns2=3D"" +ns3=3D"" +ns4=3D"" + MPTCP_LIB_SUBTESTS=3D() =20 # only if supported (or forced) and not disabled, see no-color.org @@ -443,3 +449,15 @@ mptcp_lib_verify_listener_events() { =20 mptcp_lib_check_expected "type" "family" "saddr" "sport" } + +mptcp_lib_init_ns() { + local sec + + sec=3D$(date +%s) + rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) + + ns1=3D"ns1-$rndh" + ns2=3D"ns2-$rndh" + ns3=3D"ns3-$rndh" + ns4=3D"ns4-$rndh" +} diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index c643872ddf47..f4dfeaf52c73 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -14,11 +14,7 @@ timeout_test=3D$((timeout_poll * 2 + 1)) iptables=3D"iptables" ip6tables=3D"ip6tables" =20 -sec=3D$(date +%s) -rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) -ns1=3D"ns1-$rndh" -ns2=3D"ns2-$rndh" -ns_sbox=3D"ns_sbox-$rndh" +mptcp_lib_init_ns =20 add_mark_rules() { @@ -41,7 +37,7 @@ add_mark_rules() init() { local netns - for netns in "$ns1" "$ns2" "$ns_sbox";do + for netns in "$ns1" "$ns2" "$ns3";do ip netns add $netns || exit $ksft_skip ip -net $netns link set lo up ip netns exec $netns sysctl -q net.mptcp.enabled=3D1 @@ -80,7 +76,7 @@ init() cleanup() { local netns - for netns in "$ns1" "$ns2" "$ns_sbox"; do + for netns in "$ns1" "$ns2" "$ns3"; do ip netns del $netns done rm -f "$cin" "$cout" @@ -240,7 +236,7 @@ do_mptcp_sockopt_tests() return fi =20 - ip netns exec "$ns_sbox" ./mptcp_sockopt + ip netns exec "$ns3" ./mptcp_sockopt lret=3D$? =20 if [ $lret -ne 0 ]; then @@ -251,7 +247,7 @@ do_mptcp_sockopt_tests() fi mptcp_lib_result_pass "sockopt v4" =20 - ip netns exec "$ns_sbox" ./mptcp_sockopt -6 + ip netns exec "$ns3" ./mptcp_sockopt -6 lret=3D$? =20 if [ $lret -ne 0 ]; then @@ -282,7 +278,7 @@ run_tests() =20 do_tcpinq_test() { - ip netns exec "$ns_sbox" ./mptcp_inq "$@" + ip netns exec "$ns3" ./mptcp_inq "$@" local lret=3D$? if [ $lret -ne 0 ];then ret=3D$lret diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 8f4ff123a7eb..1208cba4797f 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -24,9 +24,7 @@ while getopts "$optstring" option;do esac done =20 -sec=3D$(date +%s) -rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) -ns1=3D"ns1-$rndh" +mptcp_lib_init_ns err=3D$(mktemp) ret=3D0 =20 diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index ae8ad5d6fb9d..8f8bad051b1f 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -3,11 +3,7 @@ =20 . "$(dirname "${0}")/mptcp_lib.sh" =20 -sec=3D$(date +%s) -rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) -ns1=3D"ns1-$rndh" -ns2=3D"ns2-$rndh" -ns3=3D"ns3-$rndh" +mptcp_lib_init_ns capture=3Dfalse ksft_skip=3D4 timeout_poll=3D30 diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index f99edce8171f..03b9353d93f3 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -44,10 +44,7 @@ app6_port=3D50004 client_addr_id=3D${RANDOM:0:2} server_addr_id=3D${RANDOM:0:2} =20 -sec=3D$(date +%s) -rndh=3D$(printf %x "$sec")-$(mktemp -u XXXXXX) -ns1=3D"ns1-$rndh" -ns2=3D"ns2-$rndh" +mptcp_lib_init_ns ret=3D0 test_name=3D"" =20 --=20 2.35.3