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 57177A04FF for ; Sun, 3 Apr 2022 18:08:56 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 281B640041; Sun, 3 Apr 2022 18:08:56 +0200 (CEST) Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam08on2086.outbound.protection.outlook.com [40.107.102.86]) by mails.dpdk.org (Postfix) with ESMTP id 0EC1140041 for ; Sun, 3 Apr 2022 18:08:55 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JkRP3Jpv+EJh0D69w86S6BaXf7XG3gg1xM7pBiYnMKBmci1rkfQ1ZI42TpxcBOPfiUFCieenQZQvqAgJL/7+0baAUQh8I3KuY10Eq0Q+KNxYiFbOEY3Ei8uRypRLZS8TJc5coIcrjwyeKb6hu236gOR8o3i6EdITSmyDNNErmVeHANh6YBK9KJfL8z9IadybEeYLJIt3PE6TGtHcAXsd1WwQGSUk+RQWmedmGtbIjVjVApbpgIL1TsZ1WgmWImKy2uXw+QQ1JT3iLVVQ9xNawVav4V1iRo66FFjbuB52YDt9M1erCwBiOeFOD8WdmnsusVY7HS8XCtjDDuGiGAeVxA== 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=CDny+hNii41v2OoqxaI0MxFkjTox5wUwpJEMd3zspFc=; b=lxK6QyP3iYr9P0/msY7Z5yeZHmtG7EhWI0+3ew5TzNHSSd/s8zr8yYVmLidG4lO+fTXAtcHafTTqtODP+jZUkd75dJCmebLwAmIhX9omRUxZ0TaxBwE6VHi7ejfp+MCs0eeuYA6tgWXLSC2bZlvegpRXIMoalL3uB9NUTLlDBFvKjadX5rFF7x6JXNu7oAOu/8zvfPTFf/0v34nSoVMO2m2uIEmkC17EbNXW8yVL6ZnZPX5n+Dk8Dx206vB8huI42FJKu7FAGTGY2rBbh214zfXfMshQCXIud9G1dBX3b/7dzIQ5eXF+uqx3E80lIkWxSSSq0rSUcJx0kKuSBo7NOQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.238) smtp.rcpttodomain=redhat.com 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=CDny+hNii41v2OoqxaI0MxFkjTox5wUwpJEMd3zspFc=; b=VC0rXwqA1GV0ud2znxvmlEd9QX88X7EQt7w+hA90zTXoUdp8dpsGRuBq6ForB5gM8WNiazmyk5JPe/bu/ZN0OB8aIVDVcVTJOQIcdE8vobrgzMN4dhhF221UZ+KqUv7zNKeFL2h+Jexztcp5PQhnHmRxmMwQYpZ4XeR3aaRGUY1GjE/u6jjNF3IPrcTENrxAkB1/begGakucGh3L3RvOCbZYEHHVno3u6Y8FEgjAP8sBUVc2OKcscZA1HKhxVCwGu84da/GcAc9ggmDGUwLZGBY9iPUjcQERtipAZJRbzwwOQ2MuwSnV+jo9qcHOWv66sXeqv80YMgwbaOBTBvwTQw== Received: from DM6PR08CA0059.namprd08.prod.outlook.com (2603:10b6:5:1e0::33) by DM6PR12MB3275.namprd12.prod.outlook.com (2603:10b6:5:185::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.31; Sun, 3 Apr 2022 16:08:52 +0000 Received: from DM6NAM11FT020.eop-nam11.prod.protection.outlook.com (2603:10b6:5:1e0:cafe::57) by DM6PR08CA0059.outlook.office365.com (2603:10b6:5:1e0::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.24 via Frontend Transport; Sun, 3 Apr 2022 16:08:52 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.238) 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 12.22.5.238 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.238; helo=mail.nvidia.com; Received: from mail.nvidia.com (12.22.5.238) by DM6NAM11FT020.mail.protection.outlook.com (10.13.172.224) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.5123.19 via Frontend Transport; Sun, 3 Apr 2022 16:08:52 +0000 Received: from rnnvmail204.nvidia.com (10.129.68.6) by DRHQMAIL105.nvidia.com (10.27.9.14) with Microsoft SMTP Server (TLS) id 15.0.1497.32; Sun, 3 Apr 2022 16:08:51 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) by rnnvmail204.nvidia.com (10.129.68.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Sun, 3 Apr 2022 09:08:50 -0700 Received: from nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22 via Frontend Transport; Sun, 3 Apr 2022 09:08:49 -0700 From: Michael Baum To: CC: Matan Azrad , Viacheslav Ovsiienko , Gregory Etelson , "Kevin Traynor" Subject: [PATCH 21.11] net/mlx5: fix flex item availability Date: Sun, 3 Apr 2022 19:08:40 +0300 Message-ID: <20220403160840.42320-1-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5636e177-abec-43e6-6bd3-08da158c3f1f X-MS-TrafficTypeDiagnostic: DM6PR12MB3275:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BERrhWAeY6N+SslL4UgD54Ct4EeTlANS4rLo4z69fHcmc+rkzpJmQmdApzzkXFWPh1XHaOGD3xFfWdkp6lb9NY5ULO7424Sj4qJlQd8VKjOIVofiiOBclVxx5kejkJn+t+r9EMlA3NHB0HgdSuiowy9FOlBBUirqQX2TgL+qhsGJk4eilwbizMdT46JeFYG5No0a795J/mRufrmKSAIioLYq+RPNfif8/lrm6Kx6us6+KFy0bNPi0ltD7Yc7Otjku2Mf3WZx9II9n4A9kNgT0QrL2JXQHmD1ZY2uZeUU7d9+IGGSyh17hNexEg/AdnaRLsPfNy5qv+M4iFJYKMxIXhCpRPs4+SgRRH0jIk6LMKGdWB+1GKgt0x7Y9LKYreph66IETtvtKtUzYfikIW9KWsDE90dU4g7N4QeJzDamnWa2yw/qTmOHM6tCbtoqKczKO3pPF3aubf5hXpj+4q27nEowsUndPkGWjvypsunjZ1n2yMy2LxsxPWAHVjodcSlNkHOun6EPfN/G5/Mr9jTxS3sRW0cO7jaUDaab/GqEsQqnHHBmqz/mhwQVsyRIchZLX7ZO0XyS7bBOxG9Zuqa+jDIGNdDn9WcRONcc0l1DKmwt9F3fAZ+FKYqaO0MD2QGSMtZZmYMlrRFkJslU/SSt+qDaGYMtb0d6anXAbc4FODwmKz7ZGsaEVI5Q3iY+bBuERcM7PCRHr8S7SxPjbvhITA== X-Forefront-Antispam-Report: CIP:12.22.5.238; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230001)(4636009)(46966006)(40470700004)(36840700001)(8936002)(426003)(508600001)(5660300002)(86362001)(7696005)(6286002)(336012)(36860700001)(2616005)(40460700003)(1076003)(47076005)(36756003)(6916009)(8676002)(186003)(2906002)(54906003)(82310400004)(316002)(26005)(356005)(81166007)(83380400001)(6666004)(70206006)(55016003)(70586007)(4326008)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2022 16:08:52.3725 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5636e177-abec-43e6-6bd3-08da158c3f1f X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[12.22.5.238]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT020.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3275 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org From: Gregory Etelson [ upstream commit 71adf25dbfb3a60731bd922342cc0f171714db81 ] Flex item availability is restricted to BlueField-2 and BlueField-3 PF ports. The patch validates port type compliance before proceeding to flex item creation. Fixes: db25cadc0887 ("net/mlx5: add flex item operations") Signed-off-by: Gregory Etelson Acked-by: Viacheslav Ovsiienko --- It was checked on Windows, it is successfully compiled. drivers/common/mlx5/linux/mlx5_common_os.h | 1 + drivers/net/mlx5/mlx5_flow.c | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/drivers/common/mlx5/linux/mlx5_common_os.h b/drivers/common/mlx5/linux/mlx5_common_os.h index edf356a30a..a6190a34e6 100644 --- a/drivers/common/mlx5/linux/mlx5_common_os.h +++ b/drivers/common/mlx5/linux/mlx5_common_os.h @@ -9,6 +9,7 @@ #include #include +#include #include #include #include diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index e603e39447..1ea6d030f3 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -9925,10 +9926,27 @@ mlx5_flow_flex_item_create(struct rte_eth_dev *dev, struct rte_flow_error *error) { static const char err_msg[] = "flex item creation unsupported"; + struct mlx5_priv *priv = dev->data->dev_private; struct rte_flow_attr attr = { .transfer = 0 }; const struct mlx5_flow_driver_ops *fops = flow_get_drv_ops(flow_get_drv_type(dev, &attr)); + if (!priv->pci_dev) { + rte_flow_error_set(error, ENOTSUP, + RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL, + "create flex item on PF only"); + return NULL; + } + switch (priv->pci_dev->id.device_id) { + case PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF: + case PCI_DEVICE_ID_MELLANOX_CONNECTX7BF: + break; + default: + rte_flow_error_set(error, ENOTSUP, + RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL, + "flex item available on BlueField ports only"); + return NULL; + } if (!fops->item_create) { DRV_LOG(ERR, "port %u %s.", dev->data->port_id, err_msg); rte_flow_error_set(error, ENOTSUP, RTE_FLOW_ERROR_TYPE_ACTION, -- 2.25.1