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 6A1F044132; Sun, 2 Jun 2024 12:50:41 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E1F3140150; Sun, 2 Jun 2024 12:50:40 +0200 (CEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2088.outbound.protection.outlook.com [40.107.92.88]) by mails.dpdk.org (Postfix) with ESMTP id 11DEF40042 for ; Sun, 2 Jun 2024 12:50:39 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F+sggY88e+IpVQULr+upGSE8CF9FCdQIswitKSPViKNrgXLKv6NFHix3jCkeox3cKb9bBd3x1qBa7tG5OYRRkZMNh+EFg4Tv0TECRqR0SVRdwro+Sh23Swhz9r2kNpA2QMclwcNYu09tymBi2MSfLFnmCDrOi+ZZswdtQLSA1mryInfGTnDfP8PYXkpgWoyF/IR5eB+WyQMMSVsWAXKF+7ips2ygFTJuvdNFSXQZOaVBxWKiO9Wb1aryJiGOEs1tLmn5s7TQaThtNSVM/Dbq4OrfpU0LxD9fCRNakRv4pDHmMaxPSlA1s2dXT3JU39MVd0WKYnrreHJ9DuSFw8hjqg== 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=jgzL0oev373o9YJHdfo8sozmorBY6JETXzmdjNqhhAE=; b=UY1rgqkpSNw6upAruSkFZuM6xdtHD85+Ek1tPDLprQKQ358vK2o1gtuxe+jmxnb+UVZjBrub7MHN6al5M19gQx+HVZQq42fn9ZuQt59nNhZgK0eqcTsaXNQgB52A+sxUY5jF1ckndJLcWolXLSWbAdeZ7RikYzwp0HIjSIFV1Y6IVi18lvXGm7vYgAN8XG/hid9YxouBMxaBf6L75v+Y7Diht1JiU3jL3hb+RwRLBUJf6zZ9x+cSCtGkwQCqtXQkh99B73g8kuhCZdJEckIjlON3RhSZZ+vX1DIVrXwJhi+5AyI+acTZpAqxksHfkiPh1uNzEOCVtklqt6u4X8R0Xw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) 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 (0) 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=jgzL0oev373o9YJHdfo8sozmorBY6JETXzmdjNqhhAE=; b=mmFKqNkd4bJH7eHy+IH9quQZVH9m121PHS3wWe36igjmDWZrTtf1gn9/FyOzNGpRMcnGMeYIkcyX6mrvfRbj+TDBfoLGJCh+Hg8dOL/PTOATFiCGh8Cj7E3Qv5SQvxaKaYCrcHQE/LzprD3qbq98q8AG7sVguvih8JGjEiv58LUFXNGA9thGqwno2XJNedhuZvkrxmDnawchvEDrmUrfYbI6LTax2iVOvwkWhwu1MpmjOBk2iQJVRQ5mhCokj1xIvBwW9b7m/Q+R6dKp0VrRgCQD5ZTnVbi4+3HsTtiJeqeQF/JwSsl6m+RUsktWZ7ZXHJsubep2e4EiBPvotJObpA== Received: from PH7PR03CA0003.namprd03.prod.outlook.com (2603:10b6:510:339::8) by CY8PR12MB9033.namprd12.prod.outlook.com (2603:10b6:930:71::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.21; Sun, 2 Jun 2024 10:50:36 +0000 Received: from CY4PEPF0000EE37.namprd05.prod.outlook.com (2603:10b6:510:339:cafe::ee) by PH7PR03CA0003.outlook.office365.com (2603:10b6:510:339::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.28 via Frontend Transport; Sun, 2 Jun 2024 10:50:36 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) 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.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CY4PEPF0000EE37.mail.protection.outlook.com (10.167.242.43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Sun, 2 Jun 2024 10:50:36 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Sun, 2 Jun 2024 03:50:25 -0700 Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail202.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.1544.4; Sun, 2 Jun 2024 03:50:24 -0700 Received: from nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4 via Frontend Transport; Sun, 2 Jun 2024 03:50:22 -0700 From: Maayan Kashani To: CC: , , , Gregory Etelson , Viacheslav Ovsiienko , Ori Kam , Suanming Mou , Matan Azrad Subject: [PATCH] net/mlx5: fix non-template HWS RSS action configuration Date: Sun, 2 Jun 2024 13:50:17 +0300 Message-ID: <20240602105018.197980-1-mkashani@nvidia.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE37:EE_|CY8PR12MB9033:EE_ X-MS-Office365-Filtering-Correlation-Id: 90320915-9dc2-4ec8-0990-08dc82f1d5a4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|36860700004|376005|1800799015|82310400017; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?254vFHwKm7xxJnmhGZqC30klT26/kOoQ0Ot8FjU+zXFpjjVil/GlAde1Qs6a?= =?us-ascii?Q?EsCuMHgqqEY2OMUv1GL9P6tcT2aIk2Ar83MQ3XJDrH9VxN9PEFIKuI+xSQO0?= =?us-ascii?Q?hwTriyGWNmP4+IYcYsFo0mEB3d0SoxzNYLp03bCCXbXyPYwB4bPwjQVW6cGG?= =?us-ascii?Q?k9KrSBNgfvczCrJ7kOgw80DvmxLq3qHSKpF4jryJWS/qVkvNb5Hv5PDIYbID?= =?us-ascii?Q?14DJkAJlx3DPEOjL4OQJ6n0pu4sUz9eG8je7ZpWuo9xzXMjJUK6/iOzlIN5e?= =?us-ascii?Q?jFn7B3g2AS4jugoltpjdynfff9RTgDn439EwV1Wh8fWwcph8ld9sXg5Yqq/0?= =?us-ascii?Q?pyZZE7qced74KN651kbUH30q8Z77cWlhH2E5v2S0l36BnLb3+vTYk29JY8nb?= =?us-ascii?Q?iiMi4zfjelxPVTrgbVY1aN9DGZLeaJsj0fN1hWPa3ByWHZmphoVqjo9Ev5EQ?= =?us-ascii?Q?mBXdtNg/Tgd/wkU/UuBXgLKJquBCmS8D7WzS3HSBrVmwigzEBgmnkf3+Aa/H?= =?us-ascii?Q?4hntXsSa6/b4jzMEZumssbTFZ53YU7t8B5rhGzCfMfQj+fE/KudPqCX48vhO?= =?us-ascii?Q?HXCyd7iCvSZaq9OPteJAh7NGehrtCnkvnNNomoTcjMuMSWUr/phylW/szGrm?= =?us-ascii?Q?tH20VrxzRgBWJCxLt5aju0L0cSYDL6sw2RWoPxW5yvDvTgGCwwiDSg3ek6Jh?= =?us-ascii?Q?gSpwrb+1zpLzYmg93kijF+/Vo6LX8yNOm37Va0l6x4Z/oV1kyxKG6qTpYjR/?= =?us-ascii?Q?I1i5p3tkd8seNkHQTZkSOqlxNQuyDFZKPIB08EdbGiWuXO0GaBYWM49XTwDX?= =?us-ascii?Q?FNKdrElW+eD7v9QElVKc5TfjzizAlZJrJkDjFD31b5+8qmjgvSA25vWAoSGT?= =?us-ascii?Q?37xmA1BiO9Nb31lOb9ubmQKPy/K4+DvhYOHPDLAN7MqiLpvrrMeoK/6jjTB+?= =?us-ascii?Q?4ISr1mLK7SY0cx6VQWKnaowHA+XCl8d66UpWoEiJLlPLxFdyZRy2LRygTIcz?= =?us-ascii?Q?kJHPHVil+5t9i3/dZOj49iuygODaapfv/VMWIpX1tYjuGmJdXHD4/Y4yU44b?= =?us-ascii?Q?5ZFoRte3MMRJTOgGh4CjTsHH3VnK5iQk6z/Zi/ungvh1zeRLVz05aKycqr2F?= =?us-ascii?Q?OR/Q9SIMaP16wHW7ULz5c2vxXKl/lQoMSlryEOlEoYo7z5sWT3y3vEvo8Uux?= =?us-ascii?Q?JOpIIrGW2JSxZjcxvtbtvwxhVpeJGBlNZhRQOqowuGBs/pukFTiXqRm6egj8?= =?us-ascii?Q?t8EMcnOGno+Zwd0auCpXmy+Y2WtDokIETbnY+41o76/oQEzUxrFqRZYlvGVl?= =?us-ascii?Q?fvflA/eSy0MRo6t11+gCIVhSMGC28WTgJMp8rqfygYBDWzzJxK5OkPC3SQgF?= =?us-ascii?Q?ppXscwDOgD9ggt3iOH0ukHdVd3MV?= X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230031)(36860700004)(376005)(1800799015)(82310400017); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2024 10:50:36.1700 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 90320915-9dc2-4ec8-0990-08dc82f1d5a4 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE37.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB9033 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 From: Gregory Etelson SWS mode checks flow items to adjust RSS action configuration. HWS mode relies on the application to provide the correct RSS configuration. The patch allows PMD in the non-template HWS mode to reconfigure RSS action according to items. Fixes: b73a84345231 ("net/mlx5: initial design of non template to hws") Signed-off-by: Gregory Etelson --- Depends-on: series-196920 ("net/mlx5: initial design of non template to hws") --- drivers/net/mlx5/mlx5_nta_rss.c | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/drivers/net/mlx5/mlx5_nta_rss.c b/drivers/net/mlx5/mlx5_nta_rss.c index 1f0085ff06..56368f5efa 100644 --- a/drivers/net/mlx5/mlx5_nta_rss.c +++ b/drivers/net/mlx5/mlx5_nta_rss.c @@ -436,7 +436,7 @@ flow_nta_handle_rss(struct rte_eth_dev *dev, struct rte_flow_error *error) { struct rte_flow_hw *rss_base = NULL, *rss_next = NULL, *rss_miss = NULL; - struct rte_flow_action_rss ptype_rss_conf; + struct rte_flow_action_rss ptype_rss_conf = *rss_conf; struct mlx5_nta_rss_ctx rss_ctx; uint64_t rss_types = rte_eth_rss_hf_refine(rss_conf->types); bool inner_rss = rss_conf->level > 1; @@ -478,6 +478,7 @@ flow_nta_handle_rss(struct rte_eth_dev *dev, [MLX5_RSS_PTYPE_ACTION_INDEX + 1] = { .type = RTE_FLOW_ACTION_TYPE_END } }; + ptype_rss_conf.types = rss_types; if (l4_item) { /* * Original flow pattern extended up to L4 level. @@ -500,10 +501,27 @@ flow_nta_handle_rss(struct rte_eth_dev *dev, /* * Original flow pattern extended up to L3 level. * RSS action was not set for L4 hash. - * Original pattern does not need expansion. */ - rte_flow_error_set(error, 0, RTE_FLOW_ERROR_TYPE_NONE, NULL, NULL); - return NULL; + bool ip6_item = + (outer_rss && (item_flags & MLX5_FLOW_LAYER_OUTER_L3_IPV6)) || + (inner_rss && (item_flags & MLX5_FLOW_LAYER_INNER_L3_IPV6)); + bool ip6_hash = rss_types & RTE_ETH_RSS_IPV6; + + if (ip6_item && ip6_hash) { + /* + * MLX5 HW will not activate TIR IPv6 hash + * if that TIR has also IPv4 hash + */ + ptype_rss_conf.types &= ~MLX5_IPV4_LAYER_TYPES; + } else { + /* + * The original pattern does not need expansion. + */ + rte_flow_error_set(error, 0, + RTE_FLOW_ERROR_TYPE_NONE, + NULL, NULL); + return NULL; + } } } /* Create RSS expansions in dedicated PTYPE flow group */ @@ -513,11 +531,10 @@ flow_nta_handle_rss(struct rte_eth_dev *dev, NULL, "cannot get RSS PTYPE group"); return NULL; } - ptype_rss_conf = *rss_conf; mlx5_nta_rss_init_ptype_ctx(&rss_ctx, dev, &ptype_attr, ptype_pattern, - ptype_actions, rss_conf, &expansion_head, + ptype_actions, &ptype_rss_conf, &expansion_head, error, item_flags, flow_type, external); - rss_miss = mlx5_hw_rss_ptype_create_miss_flow(dev, rss_conf, ptype_attr.group, + rss_miss = mlx5_hw_rss_ptype_create_miss_flow(dev, &ptype_rss_conf, ptype_attr.group, external, error); if (!rss_miss) goto error; -- 2.25.1