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 C58AEA0548; Sun, 25 Apr 2021 17:57:51 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E41C941171; Sun, 25 Apr 2021 17:57:48 +0200 (CEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2076.outbound.protection.outlook.com [40.107.237.76]) by mails.dpdk.org (Postfix) with ESMTP id 7656F41160; Sun, 25 Apr 2021 17:57:45 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N6df0m1bqwJbw1T/KxqbhhQHYPzKLlSLR/VcwaQTr4qf4WydMTBENwnW78w4Q3BO7aqrTxMagXqmxG5B5EL8r8UMY/4ystQru8MrBMbw2Sw8L6IGtr4umZGRju9ikttAER36Nw/Hk4QtqSXzDnGzftHTLi14TjQGn0EQ35ECiMg+WTTd3ZTs63PZpznpZiZnYQppuTsYoP/NW+ciUVzx3gNPcOXgATDz2+n038OgEgx05VHlWcJlFlc2ctt1XkYKXnrnu4wWZpecybVYPy987lVarVPQGtIDyKEuBWl5LGCcvzGitDw4eNltLUxG2BI+c/buPigQ3vL9+zoMb1/b6Q== 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-SenderADCheck; bh=v0P136JGVoi6cFQ1c89hr1E7e/OAooFKrFNP44vH/Fw=; b=V/wbR6ROtJRxcv1jDvlDIAnyzRFdNMwreYsG/Ef/vbS5WZpvftQ6N/ushnbB6AZygJgo2stSCDZrFmaPavIVlNgBQMckP4OcY7Vk9jszOgSDz017e38viRF82TLabbMQzFmll2pqLBeWluq44C91SdCbOoTpzAv6++0pTQBiv1iA9+p9H7a8YKjDCV1mXRCL27FbUj8LYDqLpbwstdflefFkI86Se8Ohk4MoVHZSIJq++92bkSKQMVWcKncFrk/QrZymkt0N6pJH3z7LYP4ZYZTnIsPUpLHvrqxrGkS0baG20MVxBeabbLxNKGzFxA29iJaD8g/ZXDOqhHp65KnYpA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=none sp=none 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=v0P136JGVoi6cFQ1c89hr1E7e/OAooFKrFNP44vH/Fw=; b=KXOblr0FTfpzOGxhpFgIktaldZzWQZnTsT88SGwryu25JtYzeAz7ytmRLkXcLxc+qM6uCK+irnAMbEQ1jdaJc8NOUZ7ZMjz9iTZnbiU+33K1TL7p2Lvkc6+gD/Mywr3S0/aqKnu6Dzv1qiVvB6v10+7bmvEoPw9/DyOJhF423AueCKEOK1hYX73EDW3J4W6qO63ZJVVzV11PalGADEtyfN4tSr88ehR7nwf8pD9wV+zWmeul7U8SsW7F7fDso7VUC87drtRf0DDTKeSO/mo0xIzZpLDHywWRJJwAuYHfikBFZVug96VZ4ia4OECwwrgWMOTlJf+jnNS7EVBeBw25Qg== Received: from DM5PR11CA0005.namprd11.prod.outlook.com (2603:10b6:3:115::15) by BL1PR12MB5333.namprd12.prod.outlook.com (2603:10b6:208:31f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.23; Sun, 25 Apr 2021 15:57:44 +0000 Received: from DM6NAM11FT053.eop-nam11.prod.protection.outlook.com (2603:10b6:3:115:cafe::c8) by DM5PR11CA0005.outlook.office365.com (2603:10b6:3:115::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.20 via Frontend Transport; Sun, 25 Apr 2021 15:57:44 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by DM6NAM11FT053.mail.protection.outlook.com (10.13.173.74) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4065.21 via Frontend Transport; Sun, 25 Apr 2021 15:57:44 +0000 Received: from nvidia.com (172.20.145.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 25 Apr 2021 15:57:41 +0000 From: Gregory Etelson To: CC: , , , , , Viacheslav Ovsiienko , Xiaoyun Li Date: Sun, 25 Apr 2021 18:57:22 +0300 Message-ID: <20210425155722.32477-2-getelson@nvidia.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210425155722.32477-1-getelson@nvidia.com> References: <20210419130204.24348-1-getelson@nvidia.com> <20210425155722.32477-1-getelson@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [172.20.145.6] X-ClientProxiedBy: HQMAIL105.nvidia.com (172.20.187.12) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b513d6a1-b352-4110-c2b2-08d90802dd15 X-MS-TrafficTypeDiagnostic: BL1PR12MB5333: X-Microsoft-Antispam-PRVS: X-MS-Exchange-Transport-Forked: True X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jHnRORB8NjSRbHLCSzcK1fggdM3tVdmEV4bb/UuZTH3GjeIEnyiXwBjBnd18F/TTRmArWw2t9kzp6VLSbfUYjEBcGghe/AgCIauNxPhzZ430Qc0+dyriGgcxqm+nSInX4/MzA+eKDzrxUDTJNEfITdeMCo1rLLIeLUR+7w6qwbHy0CD8H34oRNmuaJIzVTly+vIX/mgup6uYvlLDSqQGk5MHJiQSWeX0TwfqOQkjxx3acCxOxiiUuCwc121UWW7jMh31yt86pkjwIk5ub1z9xwuICQzNLzHHxfZdJM7GvNPy31/YPrS7/hH700BKNO9BgT/8XFtCgTE9Ds2BVwX941cfHGLlzNiYK3AYj22Z6E+0sZ1n6xYu5y8CVfd6R2irI50vzbd4iIjRIrvCEBYMJB8CiEQrN+UXRhBgg9uYzX7ydIKQMrFl0cKtPivbl1198zTA3ZkeJdR3HHAj6pHQ8Yuln5id0vUB+EPb9/9RGmGIH9fRprZKCN/JlpLoqwRFFerxgp52DdRAiLEZ/t0ytVaom973TOt3sy+qNYqSveG1iviWst3Dm94oHldZCxdqPLuJyTfleaZNqSya+NiwwcD672To9GxQ2juqkcpxlgKEDCa7aPN6XaI9ylkJw1QujeLCVVU2LHehn2gr2lQREA== X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(376002)(136003)(346002)(396003)(39860400002)(36840700001)(46966006)(2906002)(8936002)(356005)(7636003)(6916009)(70206006)(36756003)(8676002)(82740400003)(55016002)(36860700001)(36906005)(6666004)(82310400003)(186003)(4326008)(1076003)(16526019)(336012)(54906003)(2616005)(26005)(7696005)(5660300002)(83380400001)(426003)(6286002)(86362001)(478600001)(47076005)(316002)(70586007); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2021 15:57:44.0614 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b513d6a1-b352-4110-c2b2-08d90802dd15 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT053.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5333 Subject: [dpdk-dev] [PATCH v2 2/2] app/testpmd: fix tunnel offload private items location 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 Sender: "dev" Tunnel offload API requires application to query PMD for specific flow items and actions. Application uses these PMD specific elements to build flow rules according to the tunnel offload model. The model does not restrict private elements location in a flow rule, but the current MLX5 PMD implementation expected that tunnel offload rule will begin with PMD specific elements. The patch places tunnel offload private PMD flow elements between general RTE flow elements in a rule. Cc: stable@dpdk.org Fixes: 1b9f274623b8 ("app/testpmd: add commands for tunnel offload") Signed-off-by: Gregory Etelson Acked-by: Viacheslav Ovsiienko --- app/test-pmd/config.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index 40b2b29725..1520b8193f 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -1664,7 +1664,7 @@ port_flow_tunnel_offload_cmd_prep(portid_t port_id, aptr->type != RTE_FLOW_ACTION_TYPE_END; aptr++, num_actions++); pft->actions = malloc( - (num_actions + pft->num_pmd_actions) * + (num_actions + pft->num_pmd_actions + 1) * sizeof(actions[0])); if (!pft->actions) { rte_flow_tunnel_action_decap_release( @@ -1672,9 +1672,10 @@ port_flow_tunnel_offload_cmd_prep(portid_t port_id, pft->num_pmd_actions, &error); return NULL; } - rte_memcpy(pft->actions, pft->pmd_actions, + pft->actions[0].type = RTE_FLOW_ACTION_TYPE_VOID; + rte_memcpy(pft->actions + 1, pft->pmd_actions, pft->num_pmd_actions * sizeof(actions[0])); - rte_memcpy(pft->actions + pft->num_pmd_actions, actions, + rte_memcpy(pft->actions + pft->num_pmd_actions + 1, actions, num_actions * sizeof(actions[0])); } if (tunnel_ops->items) { @@ -1692,7 +1693,7 @@ port_flow_tunnel_offload_cmd_prep(portid_t port_id, for (iptr = pattern, num_items = 1; iptr->type != RTE_FLOW_ITEM_TYPE_END; iptr++, num_items++); - pft->items = malloc((num_items + pft->num_pmd_items) * + pft->items = malloc((num_items + pft->num_pmd_items + 1) * sizeof(pattern[0])); if (!pft->items) { rte_flow_tunnel_item_release( @@ -1700,9 +1701,10 @@ port_flow_tunnel_offload_cmd_prep(portid_t port_id, pft->num_pmd_items, &error); return NULL; } - rte_memcpy(pft->items, pft->pmd_items, + pft->items[0].type = RTE_FLOW_ITEM_TYPE_VOID; + rte_memcpy(pft->items + 1, pft->pmd_items, pft->num_pmd_items * sizeof(pattern[0])); - rte_memcpy(pft->items + pft->num_pmd_items, pattern, + rte_memcpy(pft->items + pft->num_pmd_items + 1, pattern, num_items * sizeof(pattern[0])); } -- 2.31.1