From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6C3A0433D8 for ; Mon, 11 Dec 2023 11:22:26 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6645440ED2; Mon, 11 Dec 2023 11:22:26 +0100 (CET) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2048.outbound.protection.outlook.com [40.107.93.48]) by mails.dpdk.org (Postfix) with ESMTP id 8890040E0F for ; Mon, 11 Dec 2023 11:22:23 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YIebYe8uRcD0HWYD+MSMmY8Ku9nHhmmmfDQCDob4+dz6+dFkRJCkukCl3XdI4dKr6lAbVEDP6wWgOqCF8yCjGLeYyCeWkqPPn20kLj4uYCfZssBzylAg8RdBvgSO8dS43kc0D7xj8SzYeliJV6jTJtMwJxfGsarDZ/m5J8/HHGMO5qAPqeCxeV5YV4ose6UgrG/dKCuTdwZImYWC8mbneaXSZm+NFQq4/dyRc5iDEBuWzvaJlSm2+7MbDUYwNdzQ7pA9DwLEiVKjwAnw9dzJESDq7uwFyzEQy8zjsblFFNKBNEyJCGfvF74NogQ6MvLY79XVI8Ln2TW6FdS16BL4kg== 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=pRTjjAUyHwNN/C2+auaOm0MuLPuVNtgt0WzYT0j9omA=; b=jvSTan3dQp7hWwsEiS+FYHytrxqx5EaBCLVHwhnnRPHvpiQmQtUHsAi9o9f1JHxwXpfL3+EBFEGiAsVH3cnE+FU4AvYtvUwFHBKkzQJKA4vXn1QQg71hrFgKa1eIiHlCxmxIq9OzM43+ZqUZtahLpsPTCvJMQNQpzYjxpkdjTjueonAeV7s2jpmVTMAl3vEhQt5xMupAmWrbOBAFFfLXfd2XR/WA3Ve+86ekP0AVPCyb8T+FUBbGULpK7MpS8U898B4wh8pNmd3tbUtXS7kaXjZB9KAK00b06ja5LsWL9Pzm4tSyKdy/GCsSR6YOb6y97iufbZsRyt8YG2+6IN8OHg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=networkplumber.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pRTjjAUyHwNN/C2+auaOm0MuLPuVNtgt0WzYT0j9omA=; b=s56dkY5bY0+MvrdLAgO5lOYv7gmfAUiorYfLJjVtVF90KJ8nOndA62nSEEODBqxLF4o6eNq9EZehv6viDLSuCVF8hVrCiAS6N3al/Wy+nhT9WBrLdiu0XVxSQueZ28L8M9ZqsbPUs9GwEJJSzJkbbHqW0egxRd1q7rf99jRYDzobx7ohWinmM3ievsJ3S7CFz3zCO/RNYFDxWJ/Y8PRZaJ0YkxfbSc10VLg2uikg/dkjyCoIz6ngaBpo5fJ6nLf/g7Y49xKbuByUh8umz0nw1BuNrodjE1oIWExxT+E9uxAEfpr/ECKVaKZLOiDjC9eTfhh2+qxpLWqGa/2e4InDaw== Received: from SA9PR13CA0081.namprd13.prod.outlook.com (2603:10b6:806:23::26) by SJ0PR12MB6832.namprd12.prod.outlook.com (2603:10b6:a03:47e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.32; Mon, 11 Dec 2023 10:22:20 +0000 Received: from SN1PEPF0002529E.namprd05.prod.outlook.com (2603:10b6:806:23:cafe::8) by SA9PR13CA0081.outlook.office365.com (2603:10b6:806:23::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7091.21 via Frontend Transport; Mon, 11 Dec 2023 10:22:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SN1PEPF0002529E.mail.protection.outlook.com (10.167.242.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7091.18 via Frontend Transport; Mon, 11 Dec 2023 10:22:20 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 11 Dec 2023 02:22:10 -0800 Received: from nvidia.com (10.126.231.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 11 Dec 2023 02:22:08 -0800 From: Xueming Li To: Stephen Hemminger CC: Isaac Boukris , dpdk stable Subject: patch 'app/dumpcap: allow multiple invocations' has been queued to stable release 22.11.4 Date: Mon, 11 Dec 2023 18:12:12 +0800 Message-ID: <20231211101226.2122-108-xuemingl@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231211101226.2122-1-xuemingl@nvidia.com> References: <20231022142250.10324-1-xuemingl@nvidia.com> <20231211101226.2122-1-xuemingl@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002529E:EE_|SJ0PR12MB6832:EE_ X-MS-Office365-Filtering-Correlation-Id: ad53b7a5-298f-4c7b-9874-08dbfa330efb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: N3WUgIc/aYCivIOkXsIwqRiFlunIW0EWBQfpZVR3q4rZ0soMTb+tpV7npnOL0ukLKcyErWbUR7RaoqcMwcX7weyXPp5d2OcPRelgwE89suwdiIcuxGoq3b6VgtgFDVNsXldX+vqbIA6pJcRi1MARFtPEnJOA9Y2JaIphUgnsVy9NU4MMUNX+127DF2jXcg43AXsrY7zWVxu+dXwADwFyEFunfm8PqYr84ufB+byW0LYoZyTKluXcg4Pm5lvWf5LJKpulG9VN2JIY2G9Ki3X7l7/GiQNwHaDB5fbVGnLcN+umnKHY6iZvCNgwMUlH67/XUh6yrqfvwKIjzFKKOfACe0ZcwAFbSlwyOTo7FRxWkDSPrjBZ0S5j4GrmfavdQbmA+MMt1xvLkgYzVespWw0vWpAT55j5/opYR7Vn5uRisJNH6Q3zKPnjOnL2sTTXTutLpN40LjCQmAazfS6kTrvmP3stZNtcTyckDg916FnWVVZu+bSrNmchHOMjhbcY39R6XNt6FsNGh4i4eCtY3YK7ryvTAbsNZISphTXekRDzNrD/N2wzBUfLLA7yNPSUR+PzkggsAKWNeNxjT9nbSJxnRTkctVvXjhmL0+AIAm72/bxsBOE89APJbJzPLZGrvBNu82u6AnpAJ8WhdLoPXxbyA/vP+lUTo+pZI1yFjPpbXMxHsbhyeiRvDkPFWq6NVp9WQaXaTgxkqZSxUr5YSqak0BWaodHuff1nQ7f3hGfxGjHemP0/zV3N+yg4R5TqfVL5CtYy0wgYQqJG+Powia9ixECqPdaoa2PyTxJKn7+Hvkw= X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230031)(4636009)(346002)(396003)(136003)(39860400002)(376002)(230922051799003)(186009)(1800799012)(451199024)(82310400011)(64100799003)(46966006)(40470700004)(36840700001)(55016003)(40480700001)(40460700003)(478600001)(2616005)(1076003)(53546011)(16526019)(26005)(6666004)(966005)(7696005)(36860700001)(356005)(82740400003)(7636003)(86362001)(36756003)(41300700001)(5660300002)(70206006)(6916009)(54906003)(70586007)(2906002)(336012)(47076005)(426003)(6286002)(4001150100001)(83380400001)(4326008)(316002)(8676002)(8936002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2023 10:22:20.3296 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ad53b7a5-298f-4c7b-9874-08dbfa330efb X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002529E.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6832 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 22.11.4 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 12/13/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://git.dpdk.org/dpdk-stable/log/?h=22.11-staging This queued commit can be viewed at: https://git.dpdk.org/dpdk-stable/commit/?h=22.11-staging&id=3ca387345f4a14e7cc51f3a3458581760a87361e Thanks. Xueming Li --- >From 3ca387345f4a14e7cc51f3a3458581760a87361e Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Fri, 17 Nov 2023 08:35:56 -0800 Subject: [PATCH] app/dumpcap: allow multiple invocations Cc: Xueming Li [ upstream commit e0235c0e4d40a6d93dfef8b1316e03c32f2f8b43 ] If dumpcap is run twice with each instance pointing a different interface, it would fail because of overlap in ring a pool names. Fix by putting process id in the name. It is still not allowed to do multiple invocations on the same interface because only one callback is allowed and only one copy of mbuf is done. Dumpcap will fail with error in this case: pdump_prepare_client_request(): client request for pdump enable/disable failed EAL: Error - exiting with code: 1 Cause: Packet dump enable on 0:net_null0 failed File exists Fixes: cbb44143be74 ("app/dumpcap: add new packet capture application") Reported-by: Isaac Boukris Signed-off-by: Stephen Hemminger --- app/dumpcap/main.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/app/dumpcap/main.c b/app/dumpcap/main.c index fbe47c476a..0c8e647598 100644 --- a/app/dumpcap/main.c +++ b/app/dumpcap/main.c @@ -44,7 +44,6 @@ #include #include -#define RING_NAME "capture-ring" #define MONITOR_INTERVAL (500 * 1000) #define MBUF_POOL_CACHE_SIZE 32 #define BURST_SIZE 32 @@ -555,6 +554,7 @@ static void dpdk_init(void) static struct rte_ring *create_ring(void) { struct rte_ring *ring; + char ring_name[RTE_RING_NAMESIZE]; size_t size, log2; /* Find next power of 2 >= size. */ @@ -568,26 +568,26 @@ static struct rte_ring *create_ring(void) ring_size = size; } - ring = rte_ring_lookup(RING_NAME); - if (ring == NULL) { - ring = rte_ring_create(RING_NAME, ring_size, - rte_socket_id(), 0); - if (ring == NULL) - rte_exit(EXIT_FAILURE, "Could not create ring :%s\n", - rte_strerror(rte_errno)); - } + /* Want one ring per invocation of program */ + snprintf(ring_name, sizeof(ring_name), + "dumpcap-%d", getpid()); + + ring = rte_ring_create(ring_name, ring_size, + rte_socket_id(), 0); + if (ring == NULL) + rte_exit(EXIT_FAILURE, "Could not create ring :%s\n", + rte_strerror(rte_errno)); + return ring; } static struct rte_mempool *create_mempool(void) { - static const char pool_name[] = "capture_mbufs"; + char pool_name[RTE_MEMPOOL_NAMESIZE]; size_t num_mbufs = 2 * ring_size; struct rte_mempool *mp; - mp = rte_mempool_lookup(pool_name); - if (mp) - return mp; + snprintf(pool_name, sizeof(pool_name), "capture_%d", getpid()); mp = rte_pktmbuf_pool_create_by_ops(pool_name, num_mbufs, MBUF_POOL_CACHE_SIZE, 0, -- 2.25.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-12-11 17:56:26.557008900 +0800 +++ 0107-app-dumpcap-allow-multiple-invocations.patch 2023-12-11 17:56:23.217652300 +0800 @@ -1 +1 @@ -From e0235c0e4d40a6d93dfef8b1316e03c32f2f8b43 Mon Sep 17 00:00:00 2001 +From 3ca387345f4a14e7cc51f3a3458581760a87361e Mon Sep 17 00:00:00 2001 @@ -4,0 +5,3 @@ +Cc: Xueming Li + +[ upstream commit e0235c0e4d40a6d93dfef8b1316e03c32f2f8b43 ] @@ -19 +21,0 @@ -Cc: stable@dpdk.org @@ -24,2 +26,2 @@ - app/dumpcap/main.c | 28 ++++++++++++++-------------- - 1 file changed, 14 insertions(+), 14 deletions(-) + app/dumpcap/main.c | 26 +++++++++++++------------- + 1 file changed, 13 insertions(+), 13 deletions(-) @@ -28 +30 @@ -index 4f581bd341..d05dddac00 100644 +index fbe47c476a..0c8e647598 100644 @@ -39 +41 @@ -@@ -647,6 +646,7 @@ static void dpdk_init(void) +@@ -555,6 +554,7 @@ static void dpdk_init(void) @@ -47 +49 @@ -@@ -660,28 +660,28 @@ static struct rte_ring *create_ring(void) +@@ -568,26 +568,26 @@ static struct rte_ring *create_ring(void) @@ -74 +75,0 @@ - const struct interface *intf; @@ -79 +79,0 @@ - uint32_t data_size = 128; @@ -86,11 +86,2 @@ - /* Common pool so size mbuf for biggest snap length */ - TAILQ_FOREACH(intf, &interfaces, next) { -@@ -826,7 +826,7 @@ static void enable_pdump(struct rte_ring *r, struct rte_mempool *mp) - rte_exit(EXIT_FAILURE, - "Packet dump enable on %u:%s failed %s\n", - intf->port, intf->name, -- rte_strerror(-ret)); -+ rte_strerror(rte_errno)); - } - - if (intf->opts.promisc_mode) { + mp = rte_pktmbuf_pool_create_by_ops(pool_name, num_mbufs, + MBUF_POOL_CACHE_SIZE, 0,