get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/140184/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 140184,
    "url": "http://patchwork.dpdk.org/api/patches/140184/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20240520062524.2401676-1-dongzhou@nvidia.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20240520062524.2401676-1-dongzhou@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20240520062524.2401676-1-dongzhou@nvidia.com",
    "date": "2024-05-20T06:25:24",
    "name": "net/mlx5/hws: add support for NVGRE matching",
    "commit_ref": null,
    "pull_url": null,
    "state": "awaiting-upstream",
    "archived": false,
    "hash": "111e8a5cbc2f279ba278703fedd602533a3f8538",
    "submitter": {
        "id": 2011,
        "url": "http://patchwork.dpdk.org/api/people/2011/?format=api",
        "name": "Dong Zhou",
        "email": "dongzhou@nvidia.com"
    },
    "delegate": {
        "id": 3268,
        "url": "http://patchwork.dpdk.org/api/users/3268/?format=api",
        "username": "rasland",
        "first_name": "Raslan",
        "last_name": "Darawsheh",
        "email": "rasland@nvidia.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20240520062524.2401676-1-dongzhou@nvidia.com/mbox/",
    "series": [
        {
            "id": 31949,
            "url": "http://patchwork.dpdk.org/api/series/31949/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=31949",
            "date": "2024-05-20T06:25:24",
            "name": "net/mlx5/hws: add support for NVGRE matching",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/31949/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/140184/comments/",
    "check": "fail",
    "checks": "http://patchwork.dpdk.org/api/patches/140184/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "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])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 4205D44074;\n\tMon, 20 May 2024 08:26:01 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id F1593402BA;\n\tMon, 20 May 2024 08:26:00 +0200 (CEST)",
            "from NAM11-BN8-obe.outbound.protection.outlook.com\n (mail-bn8nam11on2088.outbound.protection.outlook.com [40.107.236.88])\n by mails.dpdk.org (Postfix) with ESMTP id 6049940263\n for <dev@dpdk.org>; Mon, 20 May 2024 08:25:59 +0200 (CEST)",
            "from PH7PR03CA0004.namprd03.prod.outlook.com (2603:10b6:510:339::30)\n by CYYPR12MB8749.namprd12.prod.outlook.com (2603:10b6:930:c6::12)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.27; Mon, 20 May\n 2024 06:25:55 +0000",
            "from MWH0EPF000A6730.namprd04.prod.outlook.com\n (2603:10b6:510:339:cafe::da) by PH7PR03CA0004.outlook.office365.com\n (2603:10b6:510:339::30) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.36 via Frontend\n Transport; Mon, 20 May 2024 06:25:55 +0000",
            "from mail.nvidia.com (216.228.117.160) by\n MWH0EPF000A6730.mail.protection.outlook.com (10.167.249.22) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.7611.14 via Frontend Transport; Mon, 20 May 2024 06:25:55 +0000",
            "from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com\n (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Sun, 19 May\n 2024 23:25:37 -0700",
            "from nvidia.com (10.126.231.35) by rnnvmail201.nvidia.com\n (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Sun, 19 May\n 2024 23:25:34 -0700"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=JkEIa7OavICPbtO8lEygDc4BGdtEQylZeqYZ03ypgTFxFaIxSoiD6mpHEImarfx/grrWIJ2DZFxeJktQR43/PDmcyY4jqueZvdVjJdXqdSllVfrr+1uC3W6vslFyssWymCo+IBMG1yJBT5oDXXYG4G4ClL+85arhJyXJ7+CABVsBwLQp02T3YtA8vy5DNedWXYkNXO3CWcWoXeFE8BChFM22S2/tHagSh7LSrehRlPqUOGGH4jMe5IWpqVeW8k12GNbHJyqcUFtkMXU+Mjnhy8XWCV/uScMPCT3wmWJEMjJhgU2lfY6DsUHqavdRgNFQJifhVjxx5RICbW7/Sa7TJw==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n 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;\n bh=6+bWJRmQKkbDuIFsbR5ZZqcZ0Cf4/02yjnLlbmwPX4c=;\n b=bntiN6I+ccsgkU+Fk6Q98Yn65zOqNt9lvM1k5gVcJ6mltMOqPWMvrWdaX6b11GlYKJy9pEnPgQmaBJ0uUM6fHnZ3KpBClr/TASv6qU+e0oswnJks5pXX2mbKuvKFozgb55NNSudltiSgLGKTafGSqdMpJsRVT/kEieT41fwgPMAOX9fp5fTQsthRbU7NcH5LF4O3kN7Tk6pif5c5stpeSe2DOL+Y0MB5yVuJfokuRbTyKQA1jsOdOq3E6y1Jo08pRgzEKrfa0ge7MpoxTrkljPVhJP4xJEAmXpM1m4FZVyjH5DohAuYkU8roajuB+TfNWy3WEAEqrkOjnMBUcg1QRw==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.117.160) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com;\n dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;\n dkim=none (message not signed); arc=none (0)",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=6+bWJRmQKkbDuIFsbR5ZZqcZ0Cf4/02yjnLlbmwPX4c=;\n b=DR53AnCKwD2XeOeVFGZdIMB5jnxQR/benACLt1LEhQs/wDx4FQpc9cKq4GCjgybyrbifgFtkDOq/K5MlmV5L5FLfjnj6UKHt0Oip3u2Ou9n+knXwr/PrDMAPDdRGIe3njGTnXsId0ElqQuow9Oa9Ipz5GDWK3A5C8hfrAS+KC6af+rVg6hXx/GzMzwBWZh449WnZFCeA99Igdk9CaVZTvq7QA1c6HP2p9NJj+bV0behRUWBMadP7Yp6WzBGEsWlDNDYQ/9zihZz4I3uTc+DhoIw+2WGVwDBTNi80uJHLlQN1RIGW8gOjBcebu/y3OGxr365e7Ein2+CvVv5sROX+OA==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.117.160)\n smtp.mailfrom=nvidia.com;\n dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=nvidia.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.117.160 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C",
        "From": "Dong Zhou <dongzhou@nvidia.com>",
        "To": "<valex@nvidia.com>, Dariusz Sosnowski <dsosnowski@nvidia.com>, \"Viacheslav\n Ovsiienko\" <viacheslavo@nvidia.com>, Ori Kam <orika@nvidia.com>,\n Suanming Mou <suanmingm@nvidia.com>, Matan Azrad <matan@nvidia.com>",
        "CC": "<dev@dpdk.org>, <thomas@monjalon.net>, <rasland@nvidia.com>",
        "Subject": "[PATCH] net/mlx5/hws: add support for NVGRE matching",
        "Date": "Mon, 20 May 2024 09:25:24 +0300",
        "Message-ID": "<20240520062524.2401676-1-dongzhou@nvidia.com>",
        "X-Mailer": "git-send-email 2.27.0",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[10.126.231.35]",
        "X-ClientProxiedBy": "rnnvmail203.nvidia.com (10.129.68.9) To\n rnnvmail201.nvidia.com (10.129.68.8)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "MWH0EPF000A6730:EE_|CYYPR12MB8749:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "73838085-8594-44de-8bd6-08dc7895b462",
        "X-LD-Processed": "43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;\n ARA:13230031|82310400017|36860700004|376005|1800799015;",
        "X-Microsoft-Antispam-Message-Info": "\n i1XrwiTExqSC4eO26+6q3hVRb7cZ3qGF8hMLetZPWJlN2y8R3nirjqUsJImJiaXiqn24hKN6RtnZvPRur6EIzrGIwo0oBCu3SxZGm2n1VaMHATh0YfWBFrFq/rIUSEDgzsNawnVtT4Oolyt080HX2iOs9bvew4MysJ1iAOILo/7h/BL8JHbikp6TClQwumYAZbWjNM3t3gHUglosaHzq1FIgjWAQw3Jkf2BotzozomTSljqh7Sw/xyTdkIoD5zOD3zjHfXHw3/pI1SePfIOGUleuzj4i+BBtBTYqckHyFjSS3IEuLykgg047ImL0ChSlNYFWYAHhFpuxLXEpbGK94NwM7uywPv0wJLEIjwBzxEDAWGBZQhLfBM/qtmYSxN8WIbI1huf5Fpx8AQ00a823MJdl+LIKgDFr2P3kB5viEfhe5nuhJICZIuSlpCcHaZAm4ExbCcThls2eFDvPlLwuWIA8J0miQ7lenTUNFDZd/97bRn/Gz7TQc3j2at/a2Cxwi6Z5WdBLPRkS5GjeA3yjwRnGyKlXoGV3YQUaho7rWpQcsKEo33wkqUeZnlZtvucV7Y4bxhCYgRzpUIYOtHRNmn7VtoZC1jDvTKnvIHmrUyVaD7atTy/LfXwfkGSGIbFtAseHQ9beBwTaZ0G93Fj3x0NSHQ2V3VO083AYxcnpbRsGe5rkULsJcK1BHHMlBQyrt/5Bplcn4+ZH6j6sg7a6OAeMqMwApyysp/Q2EnYLwYkkv5hquUk0IddO0Xp7H7il9w/KQn6hZYIrQVxLh/zt9y5H1k3+qL3crZPnJCGtHztDfGXki0p8hMN4YFnIByJEnVbrdhroTr8e6/Q38CSj8isJCmYeoP1lS8/pUBR6XSnR/Jsd3PbWKcOLuDB0bBuOrRsxjIEjgSXbLa3acKNOLZzq32rFzNclHC1n1Btpftuwyd2EEcwvJdnfMVUPK+ylJAVMTn6K1AlBgm7pOCmI7MKrSWKVyfx/TIBnfiTABmoVKMKMDAttsBhUyLCRovHiFT0o/XQdJ6c1oMGD5+VAVHjEnllLiZmlb0l4F65YNqkEusTLk4MZ01bOL5I7ALTBcnvFdDtVqv93bBGyXvouJfQDucGFaJy0/UiHWm5c/aOE6iD9kgTNqKDRXG6tr6AFTe+41m9uaxhP6nsdmdvPJxd0ymmT6l05We42BOu3ohZYReKbG1acoMzMlAevepJzaTvhxDbgypg+8nNNW6NAFNcC/NLSTNr59XVJ82Z7gpc1qs6FvsQi7zOuYUrYyfZytvMvfmL9igr/fDbTpz1d3BE12X6zY5NpM0PkMdXqVlfUeb+/F3mr3MibqzZS6olDUB46Z5sPpZ6Wm3HzUHCXFgeXRDfgFzdsGl8T7Qu/0cI=",
        "X-Forefront-Antispam-Report": "CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE;\n SFS:(13230031)(82310400017)(36860700004)(376005)(1800799015); DIR:OUT;\n SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "20 May 2024 06:25:55.0491 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 73838085-8594-44de-8bd6-08dc7895b462",
        "X-MS-Exchange-CrossTenant-Id": "43083d15-7273-40c1-b7db-39efd9ccc17a",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.160];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n MWH0EPF000A6730.namprd04.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "CYYPR12MB8749",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "Add HWS support for RTE_FLOW_ITEM_TYPE_NVGRE item\nall fields.\n\nSigned-off-by: Dong Zhou <dongzhou@nvidia.com>\nAcked-by: Alex Vesker <valex@nvidia.com>\n---\n doc/guides/nics/mlx5.rst              | 10 +++\n drivers/net/mlx5/hws/mlx5dr_definer.c | 87 +++++++++++++++++++++++++++\n drivers/net/mlx5/hws/mlx5dr_definer.h |  3 +\n drivers/net/mlx5/mlx5_flow_hw.c       |  1 +\n 4 files changed, 101 insertions(+)",
    "diff": "diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst\nindex 9b2fe07fd3..06f5cb6454 100644\n--- a/doc/guides/nics/mlx5.rst\n+++ b/doc/guides/nics/mlx5.rst\n@@ -875,6 +875,16 @@ Limitations\n \n   Matching on checksum and sequence needs MLNX_OFED 5.6+.\n \n+- Matching on NVGRE header:\n+\n+  - c_rc_k_s_rsvd0_ver\n+  - protocol\n+  - tni\n+  - flow_id\n+\n+  In SW steering (``dv_flow_en`` = 1), only tni is supported.\n+  In HW steering (``dv_flow_en`` = 2), all fields are supported.\n+\n - The NIC egress flow rules on representor port are not supported.\n \n - A driver limitation for ``RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR`` action\ndiff --git a/drivers/net/mlx5/hws/mlx5dr_definer.c b/drivers/net/mlx5/hws/mlx5dr_definer.c\nindex 35a2ed2048..42fb4c32c6 100644\n--- a/drivers/net/mlx5/hws/mlx5dr_definer.c\n+++ b/drivers/net/mlx5/hws/mlx5dr_definer.c\n@@ -15,6 +15,9 @@\n #define UDP_GENEVE_PORT 6081\n #define UDP_ROCEV2_PORT\t4791\n #define DR_FLOW_LAYER_TUNNEL_NO_MPLS (MLX5_FLOW_LAYER_TUNNEL & ~MLX5_FLOW_LAYER_MPLS)\n+#define NVGRE_PORT 0x6558\n+#define NVGRE_C_RSVD0_VER 0x2000\n+#define NVGRE_C_RSVD0_VER_MASK 0xB000\n \n #define STE_NO_VLAN\t0x0\n #define STE_SVLAN\t0x1\n@@ -220,6 +223,12 @@ struct mlx5dr_definer_conv_data {\n \tX(SET_BE32,\tgre_opt_key,\t\tv->key.key,\t\trte_flow_item_gre_opt) \\\n \tX(SET_BE32,\tgre_opt_seq,\t\tv->sequence.sequence,\trte_flow_item_gre_opt) \\\n \tX(SET_BE16,\tgre_opt_checksum,\tv->checksum_rsvd.checksum,\trte_flow_item_gre_opt) \\\n+\tX(SET,\t\tnvgre_def_c_rsvd0_ver,\tNVGRE_C_RSVD0_VER,\trte_flow_item_nvgre) \\\n+\tX(SET,\t\tnvgre_def_c_rsvd0_ver_mask,\tNVGRE_C_RSVD0_VER_MASK,\trte_flow_item_nvgre) \\\n+\tX(SET,\t\tnvgre_def_protocol,\tNVGRE_PORT,\t\trte_flow_item_nvgre) \\\n+\tX(SET_BE16,\tnvgre_c_rsvd0_ver,\tv->c_k_s_rsvd0_ver,\trte_flow_item_nvgre) \\\n+\tX(SET_BE16,\tnvgre_protocol,\t\tv->protocol,\t\trte_flow_item_nvgre) \\\n+\tX(SET_BE32P,\tnvgre_dw1,\t\t&v->tni[0],\t\trte_flow_item_nvgre) \\\n \tX(SET,\t\tmeter_color,\t\trte_col_2_mlx5_col(v->color),\trte_flow_item_meter_color) \\\n \tX(SET_BE32,     ipsec_spi,              v->hdr.spi,             rte_flow_item_esp) \\\n \tX(SET_BE32,     ipsec_sequence_number,  v->hdr.seq,             rte_flow_item_esp) \\\n@@ -2012,6 +2021,80 @@ mlx5dr_definer_conv_item_gre_key(struct mlx5dr_definer_conv_data *cd,\n \treturn 0;\n }\n \n+static int\n+mlx5dr_definer_conv_item_nvgre(struct mlx5dr_definer_conv_data *cd,\n+\t\t\t\tstruct rte_flow_item *item,\n+\t\t\t\tint item_idx)\n+{\n+\tconst struct rte_flow_item_nvgre *m = item->mask;\n+\tstruct mlx5dr_definer_fc *fc;\n+\tbool inner = cd->tunnel;\n+\n+\tif (inner) {\n+\t\tDR_LOG(ERR, \"Inner gre item not supported\");\n+\t\trte_errno = ENOTSUP;\n+\t\treturn rte_errno;\n+\t}\n+\n+\tif (!cd->relaxed) {\n+\t\tfc = &cd->fc[DR_CALC_FNAME(IP_PROTOCOL, inner)];\n+\t\tif (!fc->tag_set) {\n+\t\t\tfc = &cd->fc[DR_CALC_FNAME(IP_PROTOCOL, inner)];\n+\t\t\tfc->item_idx = item_idx;\n+\t\t\tfc->tag_mask_set = &mlx5dr_definer_ones_set;\n+\t\t\tfc->tag_set = &mlx5dr_definer_ipv4_protocol_gre_set;\n+\t\t\tDR_CALC_SET(fc, eth_l3, protocol_next_header, inner);\n+\t\t}\n+\n+\t\tfc = &cd->fc[MLX5DR_DEFINER_FNAME_NVGRE_C_K_S];\n+\t\tfc->item_idx = item_idx;\n+\t\tfc->tag_set = &mlx5dr_definer_nvgre_def_c_rsvd0_ver_set;\n+\t\tfc->tag_mask_set = &mlx5dr_definer_nvgre_def_c_rsvd0_ver_mask_set;\n+\t\tDR_CALC_SET_HDR(fc, tunnel_header, tunnel_header_0);\n+\t\tfc->bit_mask = __mlx5_mask(header_gre, c_rsvd0_ver);\n+\t\tfc->bit_off = __mlx5_dw_bit_off(header_gre, c_rsvd0_ver);\n+\n+\t\tfc = &cd->fc[MLX5DR_DEFINER_FNAME_NVGRE_PROTOCOL];\n+\t\tfc->item_idx = item_idx;\n+\t\tfc->tag_set = &mlx5dr_definer_nvgre_def_protocol_set;\n+\t\tfc->tag_mask_set = &mlx5dr_definer_ones_set;\n+\t\tDR_CALC_SET_HDR(fc, tunnel_header, tunnel_header_0);\n+\t\tfc->byte_off += MLX5_BYTE_OFF(header_gre, gre_protocol);\n+\t\tfc->bit_mask = __mlx5_mask(header_gre, gre_protocol);\n+\t\tfc->bit_off = __mlx5_dw_bit_off(header_gre, gre_protocol);\n+\t}\n+\n+\tif (!m)\n+\t\treturn 0;\n+\n+\tif (m->c_k_s_rsvd0_ver) {\n+\t\tfc = &cd->fc[MLX5DR_DEFINER_FNAME_NVGRE_C_K_S];\n+\t\tfc->item_idx = item_idx;\n+\t\tfc->tag_set = &mlx5dr_definer_nvgre_c_rsvd0_ver_set;\n+\t\tDR_CALC_SET_HDR(fc, tunnel_header, tunnel_header_0);\n+\t\tfc->bit_mask = __mlx5_mask(header_gre, c_rsvd0_ver);\n+\t\tfc->bit_off = __mlx5_dw_bit_off(header_gre, c_rsvd0_ver);\n+\t}\n+\n+\tif (m->protocol) {\n+\t\tfc = &cd->fc[MLX5DR_DEFINER_FNAME_NVGRE_PROTOCOL];\n+\t\tfc->item_idx = item_idx;\n+\t\tfc->tag_set = &mlx5dr_definer_nvgre_protocol_set;\n+\t\tDR_CALC_SET_HDR(fc, tunnel_header, tunnel_header_0);\n+\t\tfc->byte_off += MLX5_BYTE_OFF(header_gre, gre_protocol);\n+\t\tfc->bit_mask = __mlx5_mask(header_gre, gre_protocol);\n+\t\tfc->bit_off = __mlx5_dw_bit_off(header_gre, gre_protocol);\n+\t}\n+\n+\tif (!is_mem_zero(m->tni, 4)) {\n+\t\tfc = &cd->fc[MLX5DR_DEFINER_FNAME_NVGRE_DW1];\n+\t\tfc->item_idx = item_idx;\n+\t\tfc->tag_set = &mlx5dr_definer_nvgre_dw1_set;\n+\t\tDR_CALC_SET_HDR(fc, tunnel_header, tunnel_header_2);\n+\t}\n+\treturn 0;\n+}\n+\n static int\n mlx5dr_definer_conv_item_ptype(struct mlx5dr_definer_conv_data *cd,\n \t\t\t       struct rte_flow_item *item,\n@@ -3195,6 +3278,10 @@ mlx5dr_definer_conv_items_to_hl(struct mlx5dr_context *ctx,\n \t\t\tbreak;\n \t\tcase RTE_FLOW_ITEM_TYPE_VOID:\n \t\t\tbreak;\n+\t\tcase RTE_FLOW_ITEM_TYPE_NVGRE:\n+\t\t\tret = mlx5dr_definer_conv_item_nvgre(&cd, items, i);\n+\t\t\titem_flags |= MLX5_FLOW_LAYER_NVGRE;\n+\t\t\tbreak;\n \t\tdefault:\n \t\t\tDR_LOG(ERR, \"Unsupported item type %d\", items->type);\n \t\t\tgoto not_supp;\ndiff --git a/drivers/net/mlx5/hws/mlx5dr_definer.h b/drivers/net/mlx5/hws/mlx5dr_definer.h\nindex ca530ebf30..3204bb825f 100644\n--- a/drivers/net/mlx5/hws/mlx5dr_definer.h\n+++ b/drivers/net/mlx5/hws/mlx5dr_definer.h\n@@ -151,6 +151,9 @@ enum mlx5dr_definer_fname {\n \tMLX5DR_DEFINER_FNAME_GRE_OPT_KEY,\n \tMLX5DR_DEFINER_FNAME_GRE_OPT_SEQ,\n \tMLX5DR_DEFINER_FNAME_GRE_OPT_CHECKSUM,\n+\tMLX5DR_DEFINER_FNAME_NVGRE_C_K_S,\n+\tMLX5DR_DEFINER_FNAME_NVGRE_PROTOCOL,\n+\tMLX5DR_DEFINER_FNAME_NVGRE_DW1,\n \tMLX5DR_DEFINER_FNAME_INTEGRITY_O,\n \tMLX5DR_DEFINER_FNAME_INTEGRITY_I,\n \tMLX5DR_DEFINER_FNAME_ICMP_DW1,\ndiff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c\nindex 825f258065..b864808820 100644\n--- a/drivers/net/mlx5/mlx5_flow_hw.c\n+++ b/drivers/net/mlx5/mlx5_flow_hw.c\n@@ -7652,6 +7652,7 @@ flow_hw_pattern_validate(struct rte_eth_dev *dev,\n \t\tcase RTE_FLOW_ITEM_TYPE_GRE:\n \t\tcase RTE_FLOW_ITEM_TYPE_GRE_KEY:\n \t\tcase RTE_FLOW_ITEM_TYPE_GRE_OPTION:\n+\t\tcase RTE_FLOW_ITEM_TYPE_NVGRE:\n \t\tcase RTE_FLOW_ITEM_TYPE_ICMP:\n \t\tcase RTE_FLOW_ITEM_TYPE_ICMP6:\n \t\tcase RTE_FLOW_ITEM_TYPE_ICMP6_ECHO_REQUEST:\n",
    "prefixes": []
}