From patchwork Sun Feb 5 15:39:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maayan Kashani X-Patchwork-Id: 123060 X-Patchwork-Delegate: rasland@nvidia.com 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 D2B5341BDC; Sun, 5 Feb 2023 16:40:20 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BC5EE40A89; Sun, 5 Feb 2023 16:40:20 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2045.outbound.protection.outlook.com [40.107.220.45]) by mails.dpdk.org (Postfix) with ESMTP id EA9D740A7D; Sun, 5 Feb 2023 16:40:18 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LcDEUdDnUZIPEF+/otuVGjyyGFQuwwmSc2xEv3kK/wOsIiXk9CdNz9EmXCH7x2eS31ik4m4smlbmKqqW2ZvKTjmv3z3SvkWegK/t4cprPS3UrdLsdjuAedGG0PtfmGgK/NPiYUVtTyEe+aHA6/8zPX5YQSWfJeiiEq9di7+9RnzKYdH3zEqGuqnssJqL4gWP61lPDeSczsOaXO96lSYq6VxbrmF96kBVXRoVusQ3WTWsK6oDDvprgzfLziAEJes2x2Z3IlGMdE8WwzCwun/p7WQrkLaIJKtn6xpSj8vOOZCxJXnQLbGglWLqFJc8WV7N53W0iLsgntWwNwQ4rTNrfQ== 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=yhD2VgTB9aRKT02+5qfdyOD1vGuqHpiCDoI4cqzE3iI=; b=WEmbupNv8NWHpRmwI2YLNAyxv7f/WAcvu0sNaSbEdyKJy5Mzpz+oEZ+cHTM1sbDf7ev0JnItDUBHPPoJ3NVWSDwU8W7wTrhSUP7FUfAw1XLcBpvS28ekD8b/5Pg5I6vGR2Exv5m3YzHdU5dy1kcY7Gs2bWL1EPHLk9Qw/LDrptjeCV4beYFUL/TLopYWqQQCQEKt5n1OoZ8rPo6bqa1Qtv3sVE7/QLsUtTUknROnXrtDFf3xRic69DT+vaHoZ3SW1Yli+waJ3jmBQVtXj9QxZLsViAHEjMLetnRdb2qJUGMJ5nKNV7g2Bm99FbCysAuSyFHxaGAUWDiDw9RsSCnYdw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.233) 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=yhD2VgTB9aRKT02+5qfdyOD1vGuqHpiCDoI4cqzE3iI=; b=MSqVhQeKeKg8PxAIBfgQRLP6K8JY5cFJ6L+GS8pLMwC2YRbjQyjDYueVY6Mm393RXcKoslVHuTvNDy3A9kHUOg1ksQpsMx2fnFYQ9t/eys6mKj5pzGWBqGe/tTaQbo5Mg2hbnBJ4X5GDim75g2Wk230OKhQ8k46+NSy2LMiMKT34C7KKYKIvnQZpNtY+BmEhLwI1iG6w5Z1pH4pRHj4xOJu9iHoG/boxENykZxcEzsGVENGxmvtbdM5Pgg8l7S1uwwhyvYULUm84CVROsuCQD+DGX5aZDkuvXYukiv7ztBpPTdaxkbgMpfN8hDdh50zb1x4Lu6xoQcK571EawAuejw== Received: from DS7PR03CA0012.namprd03.prod.outlook.com (2603:10b6:5:3b8::17) by SN7PR12MB7909.namprd12.prod.outlook.com (2603:10b6:806:340::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.32; Sun, 5 Feb 2023 15:40:14 +0000 Received: from DM6NAM11FT018.eop-nam11.prod.protection.outlook.com (2603:10b6:5:3b8:cafe::ee) by DS7PR03CA0012.outlook.office365.com (2603:10b6:5:3b8::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.32 via Frontend Transport; Sun, 5 Feb 2023 15:40:14 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.233) 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.118.233 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.233; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.233) by DM6NAM11FT018.mail.protection.outlook.com (10.13.172.110) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.32 via Frontend Transport; Sun, 5 Feb 2023 15:40:14 +0000 Received: from drhqmail203.nvidia.com (10.126.190.182) by mail.nvidia.com (10.127.129.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Sun, 5 Feb 2023 07:40:08 -0800 Received: from drhqmail201.nvidia.com (10.126.190.180) by drhqmail203.nvidia.com (10.126.190.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Sun, 5 Feb 2023 07:40:08 -0800 Received: from nvidia.com (10.127.8.10) by mail.nvidia.com (10.126.190.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36 via Frontend Transport; Sun, 5 Feb 2023 07:40:06 -0800 From: Maayan Kashani To: CC: , , , , Viacheslav Ovsiienko Subject: [PATCH] net/mlx5: fix ESP item validation in Verbs interface Date: Sun, 5 Feb 2023 17:39:52 +0200 Message-ID: <20230205153955.1372-1-mkashani@nvidia.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT018:EE_|SN7PR12MB7909:EE_ X-MS-Office365-Filtering-Correlation-Id: c5420f72-667f-4616-af74-08db078f464b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kkXMc8Onb9wO4Nkak8VxVQFfFAmLsxXRGXJ19zmQgJ0hi0tn8Iq3NREuePCVMi1HbcIxK+4U8HxdjQgSd7zbpuGX79rQOK+QsVFlyp581eyUS2jesY9PnaiBhAPD4GD1lKWlmOlMEMZSprHtia1xRA3O8v2n5wwjV6x9tLU7Ia+Y+Ud8Z2WT1ARvE2CRYePNqjD2g6LK18NEgLrFC/Uk7SpQln7tJMOt5p3Xvkqnj/Pu1cWtKcIviNDICncgJ5/79S4W9DpX7NuKYzOj+ND2pYcov56BIfWbqT8onk7Ke4fWOM50Xt5mv0DgocfhAxuayZ6W+4ZsKdvRble+n1Q6rD3zAIEs4OWTo3PCahrDYreOf1yE6S7K/Es9fSBR98uGrvdblBR093qIwAVn2mjJACYXCjzU/RrFFrAI/Cj4SZb/L0eXETQrBDe0vdr2PqbBSHbpgiTKDAk86wbF1qwziWViI/G9/ZLhufGaC0WO2DBErxwLC/VrU26J8YDs+K9RcGxCFFbYSRQr1sH71mpESCUfkvydC2m33LAdKnnDCyYWtmsucNOG73iK4grUDx+FU8mgVT14hHh7i9QrgyviBoPzD9H7O4yyuysIPTZ0pg4qz1cEF/ZPXo3eifR7CfFBoX4HRrfbRrQR257xBbE24bEUuv+vtmyI5fHek1W4155NsVqniOFaUvOAd3jA/Wwyp1rTlbUTNtTmgdylTPspJw== X-Forefront-Antispam-Report: CIP:216.228.118.233; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc7edge2.nvidia.com; CAT:NONE; SFS:(13230025)(4636009)(39860400002)(136003)(396003)(346002)(376002)(451199018)(40470700004)(36840700001)(46966006)(478600001)(70206006)(2906002)(7696005)(186003)(26005)(8936002)(8676002)(6666004)(107886003)(1076003)(41300700001)(6916009)(4326008)(450100002)(70586007)(6286002)(316002)(5660300002)(54906003)(82310400005)(82740400003)(40480700001)(40460700003)(36756003)(86362001)(356005)(55016003)(426003)(47076005)(83380400001)(7636003)(36860700001)(336012)(2616005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2023 15:40:14.2734 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c5420f72-667f-4616-af74-08db078f464b X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.118.233]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT018.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7909 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 while added ESP item support in Verbs interface, mlx5_flow_os_validate_item_esp routine in windows/mlx5_flow_os.c was changed. all changes should be in mlx5_flow_verbs.c only. If ESP is not supported in verbs, return default "Item not supported error" during item validation stage. Also, updated mlx5.rst file regarding ESP SPI match support following further debug. Fixes: c1d039e ("net/mlx5: support ESP item in Verbs interface") Cc: stable@dpdk.org Signed-off-by: Maayan Kashani Acked-by: Matan Azrad --- doc/guides/nics/mlx5.rst | 4 ++-- drivers/net/mlx5/mlx5_flow_verbs.c | 2 ++ drivers/net/mlx5/windows/mlx5_flow_os.c | 9 ++------- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index f137f156f9..772dfa58ef 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -599,8 +599,8 @@ Limitations - The NIC egress flow rules on representor port are not supported. -- When using DV/verbs flow engine (``dv_flow_en`` = 1/0 respectively), Match on SPI field - in ESP header for group 0 needs MLNX_OFED 5.6+. +- When using DV/verbs flow engine (``dv_flow_en`` = 1/0 respectively), + Match on SPI field in ESP header for group 0 is supported from connectX-7. Statistics diff --git a/drivers/net/mlx5/mlx5_flow_verbs.c b/drivers/net/mlx5/mlx5_flow_verbs.c index 46a6c8e16f..99c60c2096 100644 --- a/drivers/net/mlx5/mlx5_flow_verbs.c +++ b/drivers/net/mlx5/mlx5_flow_verbs.c @@ -1330,6 +1330,7 @@ flow_verbs_validate(struct rte_eth_dev *dev, int ret = 0; switch (items->type) { +#ifdef HAVE_IBV_FLOW_SPEC_ESP case RTE_FLOW_ITEM_TYPE_ESP: ret = mlx5_flow_os_validate_item_esp(items, item_flags, next_protocol, @@ -1338,6 +1339,7 @@ flow_verbs_validate(struct rte_eth_dev *dev, return ret; last_item = MLX5_FLOW_ITEM_ESP; break; +#endif case RTE_FLOW_ITEM_TYPE_VOID: break; case RTE_FLOW_ITEM_TYPE_ETH: diff --git a/drivers/net/mlx5/windows/mlx5_flow_os.c b/drivers/net/mlx5/windows/mlx5_flow_os.c index b9c767ee14..5013e9f012 100644 --- a/drivers/net/mlx5/windows/mlx5_flow_os.c +++ b/drivers/net/mlx5/windows/mlx5_flow_os.c @@ -419,8 +419,8 @@ mlx5_flow_os_set_specific_workspace(struct mlx5_flow_workspace *data) int mlx5_flow_os_validate_item_esp(const struct rte_flow_item *item, - uint64_t item_flags __rte_unused, - uint8_t target_protocol __rte_unused, + uint64_t item_flags, + uint8_t target_protocol, struct rte_flow_error *error) { const struct rte_flow_item_esp *mask = item->mask; @@ -432,11 +432,6 @@ mlx5_flow_os_validate_item_esp(const struct rte_flow_item *item, MLX5_FLOW_LAYER_OUTER_L4; int ret; -#ifndef HAVE_IBV_FLOW_SPEC_ESP - return rte_flow_error_set(error, ENOTSUP, - RTE_FLOW_ERROR_TYPE_ITEM, item, - "ESP item not supported"); -#endif if (!(item_flags & l3m)) return rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ITEM, item,