From patchwork Mon Sep 27 08:32:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xueming Li X-Patchwork-Id: 99752 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 DC09FA0547; Mon, 27 Sep 2021 10:34:17 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 804E4410E2; Mon, 27 Sep 2021 10:34:08 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2084.outbound.protection.outlook.com [40.107.220.84]) by mails.dpdk.org (Postfix) with ESMTP id 46AB541136 for ; Mon, 27 Sep 2021 10:34:07 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=grM7AW3XWgNNpsuqZ1KXinyHk2M5Vp5SC7gvrKb6aBIr5J/6redizsL9VuEkJ/Jwrpmt5JYcGEzdhcikwFgex+vwWL/i+hzn9kbJa2hiiDTrRdu+TnPWMrmsft2/MXr2u+C4DOJ1TFsFL6566COoMUbi6pwwsf/raNX2oS1PW6T1mvt0FZSstsbzJHwG06XzTwV9rT+gYMNWhENrDPbQcqdl6opEH8eWOH8sp3OX0xCFVoTseKo5j37kbpPqZCVCBI9XFaEOInbgsmD8kbQesKFnAb651CX0L8B5K5ab2Lzn8oSq5f7LtkFB7/DqneyF7C54IMy3d5ue0jUWVdWenQ== 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; bh=2Uk5mmvVm3HqrqzsE/Jytj2KRkzukolTMT/anaMrogA=; b=Twa7sBKa3sUMNpESaoIM/Ys8kPp3asyXsdgt6ORQ7XBlgC8kT/nwiEDyu6ksHExgV2Rp7oUZ/CvQjtHoNtGngujGd4cM9TXAVPH12aWTsFc/3kiOMD/rmCT0EQ3Xmq4jfr944XukqxtGRxakZ81na8LKaSuaIzNtkiyOZxAp2cLLbOk+WTxVc4L4z2knUzwAlMrY5LC2vxNiCli5pygrt33apt86wcxrI6m1c3yZJYKq10HY4TZ7lK7i1Ol4GsaL+Ej1HeUVBH4vNq8RG0cbwjiWWS4MzeUVbVw/L7NFEc13SOd/6PKRsab8F9bykl9OfzYxpF5d4XuNpnlYpoNS8w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.35) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=quarantine 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=2Uk5mmvVm3HqrqzsE/Jytj2KRkzukolTMT/anaMrogA=; b=N+HaR1DDe1ZG0TYHyIwV6050yA7w4c5XSImVMZGldpK1UWexUeMUYPUtiPZ7R1Mbphhsn14fX9ncxfV+cEgx+Q2MzYe9xwsXqiFkd8CoKolZXRG/3hI76zTrueCEonnhThlhKyae0DJNJTWs2pNnyo1hBtTzssHblpBctv0JO8DXdJ+xasntupw8s4xKCOLp1kU15mek3fhQ0uiOFHDJvpOU6QkM3nfqbZR5rZfpFBdv/QXaoHJ1Sb9hJLtIkPvw47HTQG7QAsK8hoRPz9NWAbgPrRqDlsW4BfU4q5Ca3FhvDCaQJAd8jXR/JFMyH9NytZLJFZ+LSUhTLFj8qYonrg== Received: from BN6PR12CA0025.namprd12.prod.outlook.com (2603:10b6:405:70::11) by CY4PR12MB1526.namprd12.prod.outlook.com (2603:10b6:910:4::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.18; Mon, 27 Sep 2021 08:34:05 +0000 Received: from BN8NAM11FT024.eop-nam11.prod.protection.outlook.com (2603:10b6:405:70:cafe::74) by BN6PR12CA0025.outlook.office365.com (2603:10b6:405:70::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.13 via Frontend Transport; Mon, 27 Sep 2021 08:34:05 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.35) 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.35 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.35; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.35) by BN8NAM11FT024.mail.protection.outlook.com (10.13.177.38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4544.13 via Frontend Transport; Mon, 27 Sep 2021 08:34:05 +0000 Received: from DRHQMAIL107.nvidia.com (10.27.9.16) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Mon, 27 Sep 2021 08:34:03 +0000 Received: from nvidia.com (172.20.187.5) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Mon, 27 Sep 2021 08:34:02 +0000 From: Xueming Li To: CC: , Matan Azrad , "Viacheslav Ovsiienko" , Dong Zhou Date: Mon, 27 Sep 2021 16:32:55 +0800 Message-ID: <20210927083256.337450-8-xuemingl@nvidia.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210927083256.337450-1-xuemingl@nvidia.com> References: <20210927083256.337450-1-xuemingl@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.187.5] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To DRHQMAIL107.nvidia.com (10.27.9.16) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0eddf403-9242-44b6-acc6-08d981919145 X-MS-TrafficTypeDiagnostic: CY4PR12MB1526: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uSNNx2vmnlcM1mPR+1185GN/aBzh0sDY20pU4ySzrbgy4nRe7hg1WgAubQScXq0i2HAiH5x1ltFeuR64xoFA/OxuPOMHBSoaDlIJR1mrN2trsXIvZzW7UhPD9wktChSeHUnTESmfQWcLcmqkkW8fjQZqEUXBLJya9fQIjyrRzar79EWfmxhI6xTT0uJpmyrGIyLsjqboXgboFR96w2QUiTVIr+Cr9YTwqvETGIe+KwkZzDAiYFz9Rve7OZ1Z9eaQVKJ2KMK90lhfd9eon68sxTmc/8h9ybheXEJtQo8vy/nJxmFawYwbehHkxYx6AbESixuhGqZmKkIZHhft3kadK+Ul/Z47Wx5ef/NuANubJVIo0SlP6L3BIZ7P64KvWrSjCpoB0AkEyxPoQB08Y93seOZ20MNxVN0as4jcaCmPHJ8UlA5vjsQeIN1suaSLJ7OeMCPvAgwoWT9kKq/WarB5/RijxVzw3bK5xiQlTdmuwD7MlZ+jDmf/qpL1hlKIk1UTOU3PMMPJcis3DmpNvk1s+VVV4NvTC1ngis4jFjrR3euji2ARjZAAVbOftigMdtZc1a3cV1PtO6yAILlbQGO2V+nivR9DKSIrmZrOCeZckC6gB0SA3ACSnXMkb4+GvLDEKVXSYzDamHvA7K7BxF2WpvYNRUNKt45XSuoGfcl8QjOD/9LnVoQmfU2p/1lW273kJhUiJhRqYSk97FKFaT/Kig== X-Forefront-Antispam-Report: CIP:216.228.112.35; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid02.nvidia.com; CAT:NONE; SFS:(4636009)(46966006)(36840700001)(2616005)(70206006)(6286002)(7696005)(70586007)(1076003)(7636003)(26005)(2906002)(54906003)(8676002)(36756003)(6916009)(82310400003)(316002)(107886003)(47076005)(36860700001)(356005)(186003)(508600001)(16526019)(83380400001)(4326008)(86362001)(426003)(5660300002)(55016002)(336012)(6666004)(36906005)(8936002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Sep 2021 08:34:05.5640 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0eddf403-9242-44b6-acc6-08d981919145 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.35]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT024.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1526 Subject: [dpdk-dev] [PATCH 7/8] net/mlx5: fix internal root table flow priroity 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" When creating internal transfer flow on root table with lowerest priority, the flow was created with u32 priority. It was wrong since the flow is created in kernel and max priority supported is 16. This patch fixes this by adding internal flow check. Fixes: 5f8ae44dd454 ("net/mlx5: enlarge maximal flow priority") Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c | 7 +++++-- drivers/net/mlx5/mlx5_flow.h | 4 ++-- drivers/net/mlx5/mlx5_flow_dv.c | 3 ++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index c914a7120cc..8dc79340f2d 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -980,13 +980,15 @@ mlx5_get_lowest_priority(struct rte_eth_dev *dev, * Pointer to device flow rule attributes. * @param[in] subpriority * The priority based on the items. + * @param[in] external + * Flow is user flow. * @return * The matcher priority of the flow. */ uint16_t mlx5_get_matcher_priority(struct rte_eth_dev *dev, const struct rte_flow_attr *attr, - uint32_t subpriority) + uint32_t subpriority, bool external) { uint16_t priority = (uint16_t)attr->priority; struct mlx5_priv *priv = dev->data->dev_private; @@ -997,7 +999,8 @@ mlx5_get_matcher_priority(struct rte_eth_dev *dev, return mlx5_os_flow_adjust_priority(dev, priority, subpriority); } if (attr->priority == MLX5_FLOW_LOWEST_PRIO_INDICATOR) - priority = MLX5_NON_ROOT_FLOW_MAX_PRIO; + priority = external ? + MLX5_NON_ROOT_FLOW_MAX_PRIO : priv->config.flow_prio; return priority * 3 + subpriority; } diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5/mlx5_flow.h index 861e18fb3b1..1e31d25f319 100644 --- a/drivers/net/mlx5/mlx5_flow.h +++ b/drivers/net/mlx5/mlx5_flow.h @@ -1434,8 +1434,8 @@ uint32_t mlx5_flow_adjust_priority(struct rte_eth_dev *dev, int32_t priority, uint32_t mlx5_get_lowest_priority(struct rte_eth_dev *dev, const struct rte_flow_attr *attr); uint16_t mlx5_get_matcher_priority(struct rte_eth_dev *dev, - const struct rte_flow_attr *attr, - uint32_t subpriority); + const struct rte_flow_attr *attr, + uint32_t subpriority, bool external); int mlx5_flow_get_reg_id(struct rte_eth_dev *dev, enum mlx5_feature_name feature, uint32_t id, diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index e388e2d5e10..3744f3e5917 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -13633,7 +13633,8 @@ flow_dv_translate(struct rte_eth_dev *dev, matcher.crc = rte_raw_cksum((const void *)matcher.mask.buf, matcher.mask.size); matcher.priority = mlx5_get_matcher_priority(dev, attr, - matcher.priority); + matcher.priority, + dev_flow->external); /** * When creating meter drop flow in drop table, using original * 5-tuple match, the matcher priority should be lower than