From patchwork Mon Nov 7 13:16:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Kozyrev X-Patchwork-Id: 119528 X-Patchwork-Delegate: andrew.rybchenko@oktetlabs.ru Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 51AFEA0093; Mon, 7 Nov 2022 14:16:49 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3658B40156; Mon, 7 Nov 2022 14:16:49 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2040.outbound.protection.outlook.com [40.107.237.40]) by mails.dpdk.org (Postfix) with ESMTP id 9F2C840151 for ; Mon, 7 Nov 2022 14:16:47 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BmTvaiyF+joFp/Ge6BlnN/66hgyn9fNBAnj5vXSruBiqRR/LqwL53GmM/ynELybrfsfGcpV1+rLqIjl1DumZxd/8dWKEIIFReKSvv4uLspphtxw0bu/D/bfUo7skog1QeDS/u6lhZiB1hP/C/GfjaDjlyYIcgx+DteogAdPu9jyY93IXA4ZKmfcK0x+aJjH4+13R1k/BSs5vrY9tHyIbUuzEKORPjaPtOrBJKPx4xN8bP496T1KwPQO60eQyfvPyQu4PWBifukbvcFuhLs6tHLE+1EGWN0vV5F1AEKiZrIqd5CK3nt4HLrdBh/pa7ttwpYVQFUQ031EpczX1eOfMVg== 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=0FktZovvTjq/r0i7f6LrqhYaC87MaDH8csKw74NaoU8=; b=D4++MQB/XB5z4Do8JePOkzJONvx0kyXyC2x2AuCX8u3isCeNfC7q4argZ6skhB0wYn+9RTr7aO9pLoGd/vCgT1LAUQvaGFKKF1Ms8ws/oL1Cd23VQoaAdvY0rpxpIXjCZALvFGVGk7/f4Z8+b83TybGee9gwP9+zcKl2uR8/uegedTww8GiKm5BfuwcEVbEgPsWrp1y73f3ozjU/DLfLYs/7m1D2SurXUKh+od9B433p/iMlcJclQ4Kp2Hi1ehRHs6I4nEFWGBg1MWqbW6kVnCZqbwQRjAedZlQMBb7oTCHVrqqD42M/TaMNzCFkMoyCq696pCYZLZun+9b2JQuXyw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=dpdk.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 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=0FktZovvTjq/r0i7f6LrqhYaC87MaDH8csKw74NaoU8=; b=kzI7FDjNNkpavqv72sGUTgdgASRSv/uKHFIYRB4dfWXlHnBPFfPwSmwP23N6IT1AMD18GEUQL6Iu8sc+bWXpgm86CyCxGEzPPQFvgKKM0TfOkZndSx16K5VaaiNltSE0vZRbU6bQMuKDtVrw4zh/AmhBdWGvwdCCuA7o+0Y1kre/mugReZ+0ME/rs2myzCgmUta++y63v6ID0O1TVlzioGNHzqfp1HKbVBWhPx0kHOj0jZqA4392tErPbhVC3AEBuprI71+xWbLKU4azYIG+ash2lXAA/XmVSOceY5YoQJgWfxwMRjq7GA6Bx9Ef1Jrvt9FaPo3MA1UWaxpgc74MNw== Received: from DS7P222CA0022.NAMP222.PROD.OUTLOOK.COM (2603:10b6:8:2e::25) by SN7PR12MB7323.namprd12.prod.outlook.com (2603:10b6:806:29a::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.26; Mon, 7 Nov 2022 13:16:45 +0000 Received: from DM6NAM11FT034.eop-nam11.prod.protection.outlook.com (2603:10b6:8:2e:cafe::43) by DS7P222CA0022.outlook.office365.com (2603:10b6:8:2e::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.26 via Frontend Transport; Mon, 7 Nov 2022 13:16:45 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) 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.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by DM6NAM11FT034.mail.protection.outlook.com (10.13.173.47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.20 via Frontend Transport; Mon, 7 Nov 2022 13:16:45 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.26; Mon, 7 Nov 2022 05:16:33 -0800 Received: from pegasus01.mtr.labs.mlnx (10.126.230.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.29; Mon, 7 Nov 2022 05:16:31 -0800 From: Alexander Kozyrev To: CC: , , , Subject: [PATCH] app/testpmd: fix flow list for async flows Date: Mon, 7 Nov 2022 15:16:16 +0200 Message-ID: <20221107131616.2578401-1-akozyrev@nvidia.com> X-Mailer: git-send-email 2.18.2 MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT034:EE_|SN7PR12MB7323:EE_ X-MS-Office365-Filtering-Correlation-Id: b5a79fc7-fc0f-4445-1cbe-08dac0c251b4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PLTTpWpYb0T09ePYlfGpQF0+eH0IkuzxrEuS2uMTzkmWLH13Tr3X6UkS53J0SSRmacLK3i4VeM/netzK5QAM5UWHHKcRxgZXC9DZ9xMe+UT6Cbvrc5E/qDZNFFdDQdyWvunrHV9SqFHty4x6ciUnk8shfXfkcHr7YFrPmxcOzI21mwRaQtNREp1qQzM1jKNXPrxxaEwoI52Jo1tpK4CRDeD0abkKlFrKi0n6zC4QJbQlUoNX3A/QE+tPwWxENZcEa3LYJrOaSGxYe6FyoctlvoN51EbLMELOfG7BR2WOtgqC3YnRHGcBaSC6om7nG5bSJzU/wRkS53QYf/cJ+wvkGWP0c0AWpz1YWbIYavtU/atCTyh9rh55jyswovV6h1sx0fpBFSPmRSjTiECW/Wb093KAmTmmFEl/idJbcPayNPW7UQw4uYnMmGcVp+ObmxxQpVSBOQLhC4iy3B5O1vtHzccn30oms+ydj9ZNDPO9U65mwQej2H6HtqxV+y8Z8hg8tNAssO+aWTqnLoA+KtS563wc3aKYREoXAdpuInaZf/HeuFw6ZFKZTz3c4wJaUtpr7HwX0ud3HgWEdCZagmcEF66gwSXwVXP4Y3pkphW/brhbmR+8Tujz2+4aUDWGGYw2QYdDFL/Q6cr2SbYhBkUcPjScNXJz65ywHiiZRLkXxXK86OWdic/nSVEJQZl+kevQp2wJWfUfuCeDAQmW/lytAVNzlQSXntWN2v8y5JJ+12sFaAnW1UXuhcAes9iZKjmQcwm42+L3wV+4+vIm3RwDLA== X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230022)(4636009)(346002)(376002)(136003)(396003)(39860400002)(451199015)(46966006)(36840700001)(40470700004)(36756003)(86362001)(7636003)(356005)(82740400003)(40460700003)(40480700001)(2906002)(6666004)(336012)(186003)(16526019)(1076003)(26005)(426003)(47076005)(83380400001)(2616005)(36860700001)(4326008)(8676002)(54906003)(478600001)(6916009)(82310400005)(8936002)(70206006)(316002)(70586007)(5660300002)(41300700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2022 13:16:45.1730 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b5a79fc7-fc0f-4445-1cbe-08dac0c251b4 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.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT034.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7323 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Flows created with the new asynchronous Flow API lack attributes (direction, priority, group number). These attributes are part of a template table for flows created via rte_flow_async_create(). When testpmd tries to list all the flows it accesses flow attributes via pointer and crashes. Save flow attributes during the template table creation and use them in the "flow list" output. Fixes: ecdc927b99 ("app/testpmd: add async flow create/destroy operations") Signed-off-by: Alexander Kozyrev Reviewed-by: Andrew Rybchenko --- app/test-pmd/config.c | 5 +++-- app/test-pmd/testpmd.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index e8a1b77c2a..cc86d9af5f 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -2448,6 +2448,8 @@ port_flow_template_table_create(portid_t port_id, uint32_t id, } pt->nb_pattern_templates = nb_pattern_templates; pt->nb_actions_templates = nb_actions_templates; + rte_memcpy(&pt->flow_attr, &table_attr->flow_attr, + sizeof(struct rte_flow_attr)); printf("Template table #%u created\n", pt->id); return 0; } @@ -2510,7 +2512,6 @@ port_queue_flow_create(portid_t port_id, queueid_t queue_id, const struct rte_flow_action *actions) { struct rte_flow_op_attr op_attr = { .postpone = postpone }; - struct rte_flow_attr flow_attr = { 0 }; struct rte_flow *flow; struct rte_port *port; struct port_flow *pf; @@ -2570,7 +2571,7 @@ port_queue_flow_create(portid_t port_id, queueid_t queue_id, } job->type = QUEUE_JOB_TYPE_FLOW_CREATE; - pf = port_flow_new(&flow_attr, pattern, actions, &error); + pf = port_flow_new(&pt->flow_attr, pattern, actions, &error); if (!pf) { free(job); return port_flow_complain(&error); diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h index 93fdb9d331..248da710a3 100644 --- a/app/test-pmd/testpmd.h +++ b/app/test-pmd/testpmd.h @@ -204,6 +204,7 @@ struct port_table { uint32_t id; /**< Table ID. */ uint32_t nb_pattern_templates; /**< Number of pattern templates. */ uint32_t nb_actions_templates; /**< Number of actions templates. */ + struct rte_flow_attr flow_attr; /**< Flow attributes. */ struct rte_flow_template_table *table; /**< PMD opaque template object */ };