Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/126952/?format=api
https://patches.dpdk.org/api/patches/126952/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20230517203614.538262-1-dsosnowski@nvidia.com/", "project": { "id": 1, "url": "https://patches.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": "<20230517203614.538262-1-dsosnowski@nvidia.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20230517203614.538262-1-dsosnowski@nvidia.com", "date": "2023-05-17T20:36:14", "name": "net/mlx5: fix drop action attribute validation", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "679280743bcbc44f0812ab9e810fde31f0ace0e1", "submitter": { "id": 2386, "url": "https://patches.dpdk.org/api/people/2386/?format=api", "name": "Dariusz Sosnowski", "email": "dsosnowski@nvidia.com" }, "delegate": { "id": 3268, "url": "https://patches.dpdk.org/api/users/3268/?format=api", "username": "rasland", "first_name": "Raslan", "last_name": "Darawsheh", "email": "rasland@nvidia.com" }, "mbox": "https://patches.dpdk.org/project/dpdk/patch/20230517203614.538262-1-dsosnowski@nvidia.com/mbox/", "series": [ { "id": 28040, "url": "https://patches.dpdk.org/api/series/28040/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=28040", "date": "2023-05-17T20:36:14", "name": "net/mlx5: fix drop action attribute validation", "version": 1, "mbox": "https://patches.dpdk.org/series/28040/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/126952/comments/", "check": "success", "checks": "https://patches.dpdk.org/api/patches/126952/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 5CDD342B2F;\n\tWed, 17 May 2023 22:36:54 +0200 (CEST)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id DFFA640EE1;\n\tWed, 17 May 2023 22:36:53 +0200 (CEST)", "from NAM04-DM6-obe.outbound.protection.outlook.com\n (mail-dm6nam04on2059.outbound.protection.outlook.com [40.107.102.59])\n by mails.dpdk.org (Postfix) with ESMTP id 08E56406B7;\n Wed, 17 May 2023 22:36:51 +0200 (CEST)", "from BN9PR03CA0152.namprd03.prod.outlook.com (2603:10b6:408:f4::7)\n by SJ2PR12MB8009.namprd12.prod.outlook.com (2603:10b6:a03:4c7::10) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.17; Wed, 17 May\n 2023 20:36:49 +0000", "from BN8NAM11FT052.eop-nam11.prod.protection.outlook.com\n (2603:10b6:408:f4:cafe::2) by BN9PR03CA0152.outlook.office365.com\n (2603:10b6:408:f4::7) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.18 via Frontend\n Transport; Wed, 17 May 2023 20:36:49 +0000", "from mail.nvidia.com (216.228.117.160) by\n BN8NAM11FT052.mail.protection.outlook.com (10.13.177.210) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.6411.17 via Frontend Transport; Wed, 17 May 2023 20:36:49 +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.986.5; Wed, 17 May 2023\n 13:36:33 -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.986.37; Wed, 17 May\n 2023 13:36:30 -0700" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=l5O6Ke7F9ILhESRfUbbh0bwy1epI9j3qDXvvoB1v7z9ZFxoZP5bh5RTKjLydfsZc1zDSYoxVxy/0zrON1vJ5iS5G0i0E81Gz+SeJgdvplQ/IXUEtudkFR++A8bicuUqrPWn1kGkCzkldRMmA0s/W791yz9M3Wb44c95q9iQXBfkrlV2oIedEQEFhoMBHzvocUTsWNSZPCVwO8ZZ3Of4EGJlxz83OYuuruhq18vhPz/mmMReFOj0Ci99sqTdtajzE1DJOO/NnPQEKm6HmKsA6jRyjnCyvIqRa2kd4wocf2TAesXLwaNXoh79wY2D6zomh1XEVc/JwosaQ9F0fA6XfDw==", "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=rO9C+0jE2nTnj+iiVLaEEkgwsmWIDkuqkQ1T1ZLAWC8=;\n b=ln51jb4eKdttPDg88mrdKbJLO1bBMn9M7IurSKy9Toz5Opp6X7FLNUqISUjMLLnu0ydH1rC87WM0S8gQehas57yPMqPlhPm3ePaymmkCq0iJTDX/llhIoRSNlQiRKbkhgFE8SwcF+a9/WUbM6cm7iylieDpFhh5h0kE5c5bDvmWjWd00+sVekjZNch4tad9wx1G++QbEWxxEKkV1uLcAVE/31qIyyUASu3TNO1+kYfmQiljwAbYys3Z6wd5byA+VEfjHz3kWlYD/f5/jhFlyJTaHeTgmpvAbt47i9QBQCbxgLELV//KjaCAzIRmMGVjCZZk8I5D0NoUhdKxglpvhSw==", "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", "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=rO9C+0jE2nTnj+iiVLaEEkgwsmWIDkuqkQ1T1ZLAWC8=;\n b=lsYtLfHMUjimpjZr5XYfTjlsuW2OL7dzR4AQ8Tj2fHTv3820UyfYYK1zOX3wV6ssj/D5itaiTtuCFMP2iXBs/+ko9l9PRoDZEwv1ZR1KFl6UqWFfMdZDc+BHuaiIEizmgJ0w6vVuzi9D5ptgcf94dcSjo2VH/FeodXA0gvDAE+uvHw0klQrw8FAMoYkgDrGnPhwKvtknVlLPAxaZEpRSFSX7qqxblrv6ylZ1kSVD/ikwdywxyx+q2Vo+2O5nTWV7mNpgNNEoVGw7pLfCXQMpLBYTQOpN6Wk4+YxA2G13DS+4cx10blCXMlw7oUpVccSQpjUOywvPpc4IGAr69t7b7A==", "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": "Dariusz Sosnowski <dsosnowski@nvidia.com>", "To": "Ori Kam <orika@nvidia.com>, Suanming Mou <suanmingm@nvidia.com>, \"Matan\n Azrad\" <matan@nvidia.com>, Viacheslav Ovsiienko <viacheslavo@nvidia.com>,\n Jiawei Wang <jiaweiw@nvidia.com>", "CC": "<dev@dpdk.org>, <stable@dpdk.org>", "Subject": "[PATCH] net/mlx5: fix drop action attribute validation", "Date": "Wed, 17 May 2023 20:36:14 +0000", "Message-ID": "<20230517203614.538262-1-dsosnowski@nvidia.com>", "X-Mailer": "git-send-email 2.25.1", "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": "BN8NAM11FT052:EE_|SJ2PR12MB8009:EE_", "X-MS-Office365-Filtering-Correlation-Id": "67647bb0-80e1-4223-2a3d-08db57167088", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;", "X-Microsoft-Antispam-Message-Info": "\n Pu7usFWxhdBy4saXPnGBDl9V3GJAekBIF5BAeC+w5M4qhyKWjPEUPWZRKq8Lm+JQA+tSkKuizP6mvHb5mPJNnNx+sPjL5hy7i+/VLSeMO78fgytpZrZ6rhIEiQLDpIBG0sX5NBkovY2HCNzBcbnc6kHYGyXMOU1nqrFzWy9ta4WPVGcUqlwnrAOU1KqaWEXUbc9Ccq0ZaHLizAAteHdzOxPcRdTfYQYRpC/ojtSonzJyGu4Upp3lavwMgNfZMK7f4xM24OOsyC2b2hzEF1Yk6r8lQf9mhpTptzrVCN+yEBIl8S3zlW/gfUXdcD9KnSI4TlUAQoy8KRlsWZzRilgLdWNvqwBPRW28QGZAzyauRET88T/TDQmWC7j0Fy5JYKpcdp+t5KqQCJJoa2R0Vs+Z2nwyTzc6RF3ENhfPY4OP+wWYYHOJ7eLFbnkSso1lQSmH3kvJAF1JTe7bcEWRb9YVdkhD8c+TyIMXIaDvoTPKZbm9N0IdBaDk1O4pVwfpqNHBIdD/kpFNupSODrPxe8Hpran68Hf2LX5UNfUtU9LFDHB/O5E7CgSsKEdojHPUra1wNw54NaXE3nlMxwbqvXuhQRUZeP4XADeLTs/S7r3nZVS414pPLwOVSsgqM+bknttRsiG9RgArECXYIBjJoiK8e/pfXmbZV6vex9gCgoBYOLLOcsdMC/DIL5PCaM+3zHr0KTrVEzaMypm2lFPA4U/LXpYN7+ohTWUNkof8qGtRbvsf3ae3SINT+giay1mQanGM", "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:(13230028)(4636009)(39860400002)(376002)(396003)(346002)(136003)(451199021)(46966006)(36840700001)(40470700004)(2906002)(8936002)(5660300002)(41300700001)(8676002)(82310400005)(70206006)(70586007)(6636002)(4326008)(450100002)(54906003)(110136005)(478600001)(6666004)(7696005)(83380400001)(336012)(36756003)(47076005)(426003)(316002)(2616005)(186003)(40460700003)(26005)(16526019)(36860700001)(6286002)(1076003)(7636003)(356005)(82740400003)(55016003)(86362001)(40480700001);\n DIR:OUT; SFP:1101;", "X-OriginatorOrg": "Nvidia.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "17 May 2023 20:36:49.0051 (UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 67647bb0-80e1-4223-2a3d-08db57167088", "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 BN8NAM11FT052.eop-nam11.prod.protection.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous", "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "SJ2PR12MB8009", "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": "Before this patch, DROP flow action was rejected for all egress\nflow rules, which was not correct for all cases.\n\nWhen Verbs flow engine is used (dv_flow_en=0) DROP flow action\nis implemented using IBV_FLOW_SPEC_ACTION_DROP IBV action.\nThis action is supported on ingress only.\nThis patch amends the DROP flow action validation to allow it only on\ningress.\n\nWhen DV flow engine is used (dv_flow_en=1) there are 2 implementation\noptions for DROP flow action:\n\n- DR drop action (allocated through mlx5dv_dr_action_create_drop() API),\n- dedicated drop queue.\n\nWhen flow rules are created on non-root flow tables DR drop action can\nbe used on all steering domains. On root flow table however, this action\nca be used if and only if it is supported by rdma-core and kernel\ndrivers. mlx5 PMD dynamically checks if DR drop action is supported\non root tables during device probing\n(it is checked in mlx5_flow_discover_dr_action_support()).\nIf DR drop action is not supported on root table, then dedicated\ndrop queue must be used and as a result, DROP flow action on root\nis supported only for ingress flow rules.\nThis patch amends the DROP flow action validation with this logic\nfor DV flow engine.\n\nThis patch also renames the dr_drop_action_en field in device's private\ndata to dr_root_drop_action_en to align the name with field's meaning.\n\nFixes: 3c4338a42134 (\"net/mlx5: optimize device spawn time with representors\")\nFixes: 45633c460c22 (\"net/mlx5: workaround drop action with old kernel\")\nFixes: da845ae9d7c1 (\"net/mlx5: fix drop action for Direct Rules/Verbs\")\nCc: suanmingm@nvidia.com\nCc: viacheslavo@nvidia.com\nCc: jiaweiw@nvidia.com\nCc: stable@dpdk.org\n\nSigned-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com>\nAcked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>\n---\n drivers/net/mlx5/linux/mlx5_os.c | 4 ++--\n drivers/net/mlx5/mlx5.h | 2 +-\n drivers/net/mlx5/mlx5_flow.c | 20 ++++++++++++++++----\n drivers/net/mlx5/mlx5_flow.h | 3 ++-\n drivers/net/mlx5/mlx5_flow_dv.c | 4 ++--\n drivers/net/mlx5/mlx5_flow_verbs.c | 7 ++++---\n 6 files changed, 27 insertions(+), 13 deletions(-)", "diff": "diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c\nindex 980234e2ac..d8f1adfe3d 100644\n--- a/drivers/net/mlx5/linux/mlx5_os.c\n+++ b/drivers/net/mlx5/linux/mlx5_os.c\n@@ -876,10 +876,10 @@ mlx5_flow_drop_action_config(struct rte_eth_dev *dev __rte_unused)\n \t */\n \tif (!priv->sh->drop_action_check_flag) {\n \t\tif (!mlx5_flow_discover_dr_action_support(dev))\n-\t\t\tpriv->sh->dr_drop_action_en = 1;\n+\t\t\tpriv->sh->dr_root_drop_action_en = 1;\n \t\tpriv->sh->drop_action_check_flag = 1;\n \t}\n-\tif (priv->sh->dr_drop_action_en)\n+\tif (priv->sh->dr_root_drop_action_en)\n \t\tpriv->root_drop_action = priv->sh->dr_drop_action;\n \telse\n \t\tpriv->root_drop_action = priv->drop_queue.hrxq->action;\ndiff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h\nindex 9eae692037..785ca96a8a 100644\n--- a/drivers/net/mlx5/mlx5.h\n+++ b/drivers/net/mlx5/mlx5.h\n@@ -1377,7 +1377,7 @@ struct mlx5_dev_ctx_shared {\n \tuint32_t tunnel_header_0_1:1; /* tunnel_header_0_1 is supported. */\n \tuint32_t tunnel_header_2_3:1; /* tunnel_header_2_3 is supported. */\n \tuint32_t misc5_cap:1; /* misc5 matcher parameter is supported. */\n-\tuint32_t dr_drop_action_en:1; /* Use DR drop action. */\n+\tuint32_t dr_root_drop_action_en:1; /* DR drop action is usable on root tables. */\n \tuint32_t drop_action_check_flag:1; /* Check Flag for drop action. */\n \tuint32_t flow_priority_check_flag:1; /* Check Flag for flow priority. */\n \tuint32_t metadata_regc_check_flag:1; /* Check Flag for metadata REGC. */\ndiff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c\nindex 19f7f92717..5f88eb5c06 100644\n--- a/drivers/net/mlx5/mlx5_flow.c\n+++ b/drivers/net/mlx5/mlx5_flow.c\n@@ -1924,8 +1924,10 @@ mlx5_flow_validate_action_mark(const struct rte_flow_action *action,\n /*\n * Validate the drop action.\n *\n- * @param[in] action_flags\n- * Bit-fields that holds the actions detected until now.\n+ * @param[in] dev\n+ * Pointer to the Ethernet device structure.\n+ * @param[in] is_root\n+ * True if flow is validated for root table. False otherwise.\n * @param[in] attr\n * Attributes of flow that includes this action.\n * @param[out] error\n@@ -1935,15 +1937,25 @@ mlx5_flow_validate_action_mark(const struct rte_flow_action *action,\n * 0 on success, a negative errno value otherwise and rte_errno is set.\n */\n int\n-mlx5_flow_validate_action_drop(uint64_t action_flags __rte_unused,\n+mlx5_flow_validate_action_drop(struct rte_eth_dev *dev,\n+\t\t\t bool is_root,\n \t\t\t const struct rte_flow_attr *attr,\n \t\t\t struct rte_flow_error *error)\n {\n-\tif (attr->egress)\n+\tstruct mlx5_priv *priv = dev->data->dev_private;\n+\n+\tif (priv->sh->config.dv_flow_en == 0 && attr->egress)\n \t\treturn rte_flow_error_set(error, ENOTSUP,\n \t\t\t\t\t RTE_FLOW_ERROR_TYPE_ATTR_EGRESS, NULL,\n \t\t\t\t\t \"drop action not supported for \"\n \t\t\t\t\t \"egress\");\n+\tif (priv->sh->config.dv_flow_en == 1 && is_root && (attr->egress || attr->transfer) &&\n+\t !priv->sh->dr_root_drop_action_en) {\n+\t\treturn rte_flow_error_set(error, ENOTSUP,\n+\t\t\t\t\t RTE_FLOW_ERROR_TYPE_ATTR, NULL,\n+\t\t\t\t\t \"drop action not supported for \"\n+\t\t\t\t\t \"egress and transfer on group 0\");\n+\t}\n \treturn 0;\n }\n \ndiff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5/mlx5_flow.h\nindex 1d116ea0f6..65bfc2f2d0 100644\n--- a/drivers/net/mlx5/mlx5_flow.h\n+++ b/drivers/net/mlx5/mlx5_flow.h\n@@ -2252,7 +2252,8 @@ int mlx5_validate_action_rss(struct rte_eth_dev *dev,\n int mlx5_flow_validate_action_count(struct rte_eth_dev *dev,\n \t\t\t\t const struct rte_flow_attr *attr,\n \t\t\t\t struct rte_flow_error *error);\n-int mlx5_flow_validate_action_drop(uint64_t action_flags,\n+int mlx5_flow_validate_action_drop(struct rte_eth_dev *dev,\n+\t\t\t\t bool is_root,\n \t\t\t\t const struct rte_flow_attr *attr,\n \t\t\t\t struct rte_flow_error *error);\n int mlx5_flow_validate_action_flag(uint64_t action_flags,\ndiff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c\nindex f136f43b0a..679bd3b405 100644\n--- a/drivers/net/mlx5/mlx5_flow_dv.c\n+++ b/drivers/net/mlx5/mlx5_flow_dv.c\n@@ -7819,7 +7819,7 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr,\n \t\t\trw_act_num += MLX5_ACT_NUM_SET_TAG;\n \t\t\tbreak;\n \t\tcase RTE_FLOW_ACTION_TYPE_DROP:\n-\t\t\tret = mlx5_flow_validate_action_drop(action_flags,\n+\t\t\tret = mlx5_flow_validate_action_drop(dev, is_root,\n \t\t\t\t\t\t\t attr, error);\n \t\t\tif (ret < 0)\n \t\t\t\treturn ret;\n@@ -19256,7 +19256,7 @@ flow_dv_validate_mtr_policy_acts(struct rte_eth_dev *dev,\n \t\t\t\tbreak;\n \t\t\tcase RTE_FLOW_ACTION_TYPE_DROP:\n \t\t\t\tret = mlx5_flow_validate_action_drop\n-\t\t\t\t\t(action_flags[i], attr, &flow_err);\n+\t\t\t\t\t(dev, false, attr, &flow_err);\n \t\t\t\tif (ret < 0)\n \t\t\t\t\treturn -rte_mtr_error_set(error,\n \t\t\t\t\tENOTSUP,\ndiff --git a/drivers/net/mlx5/mlx5_flow_verbs.c b/drivers/net/mlx5/mlx5_flow_verbs.c\nindex b363fb4ad3..fe9c818abc 100644\n--- a/drivers/net/mlx5/mlx5_flow_verbs.c\n+++ b/drivers/net/mlx5/mlx5_flow_verbs.c\n@@ -1317,14 +1317,14 @@ flow_verbs_validate(struct rte_eth_dev *dev,\n \tuint16_t ether_type = 0;\n \tbool is_empty_vlan = false;\n \tuint16_t udp_dport = 0;\n-\tbool is_root;\n+\t/* Verbs interface does not support groups higher than 0. */\n+\tbool is_root = true;\n \n \tif (items == NULL)\n \t\treturn -1;\n \tret = flow_verbs_validate_attributes(dev, attr, error);\n \tif (ret < 0)\n \t\treturn ret;\n-\tis_root = ret;\n \tfor (; items->type != RTE_FLOW_ITEM_TYPE_END; items++) {\n \t\tint tunnel = !!(item_flags & MLX5_FLOW_LAYER_TUNNEL);\n \t\tint ret = 0;\n@@ -1531,7 +1531,8 @@ flow_verbs_validate(struct rte_eth_dev *dev,\n \t\t\taction_flags |= MLX5_FLOW_ACTION_MARK;\n \t\t\tbreak;\n \t\tcase RTE_FLOW_ACTION_TYPE_DROP:\n-\t\t\tret = mlx5_flow_validate_action_drop(action_flags,\n+\t\t\tret = mlx5_flow_validate_action_drop(dev,\n+\t\t\t\t\t\t\t is_root,\n \t\t\t\t\t\t\t attr,\n \t\t\t\t\t\t\t error);\n \t\t\tif (ret < 0)\n", "prefixes": [] }{ "id": 126952, "url": "