From nobody Thu Sep 24 12:53:01 2026 Received: from BN8PR05CU002.outbound.protection.outlook.com (mail-eastus2azon11011051.outbound.protection.outlook.com [52.101.57.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F03CC49BD79; Wed, 23 Sep 2026 10:40:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.57.51 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160036; cv=fail; b=f3snUiZjIcpW0cnX8J05zIyuSmufUCJ1aLqqvtKSMJVesRAEjqODoJU7trj5WIFXfaLtpkwBIMynYa+O/bAT9cZpGjlr+kfvDIGRPHx4eIpJKqlewAk6Li4W1roktKxEaqUrD3bDY0F2g35gX6BNPQeDz4ymcxRJIGFydreS2z4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160036; c=relaxed/simple; bh=RTmosO/ZIsOFYZq/kbGxxK7Vo+cwoLf15luQg619Drk=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ELkbWdHs9t6K4FX5UVpzIMFm29KWeMRLV8j9TGbVUcekfDkPxcOFBvFXXxSGe0oXHgAJ4KpEdXmy8JeH/+VPkFqphv4nI8logzDR3vYiJKLLPuqFJy8DvsCM9Hh8VTv/tlw2cD4cdor4f/3raKVnig31SIXdPdiOaRGN3pEpBmI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=KDw25Dn9; arc=fail smtp.client-ip=52.101.57.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="KDw25Dn9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=e49nt1+xsM6MfXVOkrMDZ08/M83tn7clqGuqg76bLLltinAVtF+5kJew9ooIYcmV8MLcdf5WhAsh1kk/v+bO7ISUvGf1HwxBOFU3wvOxZ/1EMYFIfktMKnxcfXl1OurPLXmqrugtug3SXPgsywQkl6D3DqR/HjXWSNK3rct5iYLQc49UXw8xKrTtKonqD+ddwTwh+jc5p/841vuV/WsZD6NxnoaClZyxLzKqwXMwMo3MtIkcKyOzAGnKKUxqmlKJJGXTYfxhrx1gKdufHLAof0IsBDp07OELBzkpGpCsHQ1CyqgvNGE1AVeVT7GNJ46s9JcN7IZG8xPlzzt0cCt+6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=EFCEI3rIp76JJSUxHFB359by67sTKrPGbglg9QXRBgs=; b=bisEOqRD/JwYXT2Nom/GE36HUR+QeD/wb6ZtCywZghkUzSB63FXA5Pa2/KDPe0k6JXb5+RgDm4UnZyneY+JSpH3GevEqWNd8CPmiI82/CSovG71hPv85EbydeOhKvkyEIfNPec3X2ZrW0+WO9raD/qy+sn7+VKlGl4Rh0k8MCudMhIXXFpn0w5O+4E97vT7t+d/RQIkfKsC7vKQVoCgIqWSQGW0y2mbItk9Za3sKe65JMEfyQbDzejgyGKjZPbjgSk7bVY4hYaIsj+paexbU5Z4uIxNMr3oAExfxsSxDALGSCyW//VBG5gXWfdWLaX/xtBp2kmhEDeJLeJww98REAA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=lunn.ch 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=EFCEI3rIp76JJSUxHFB359by67sTKrPGbglg9QXRBgs=; b=KDw25Dn9N8fcs4LrpdDq3vqPKStGeyymYY+ekEd28txn9rYEJUD/ZDlJMzguPvhKJxm1VLYdn6D5ax8/VKqO52qyc3yNQ/qKoKC5AwoNrY555/WmOI5EgCyF4Co8IClHRu3k0joYnY01FsfmjPMESYLpX1Rds2i9JnA0EEIgJmynheKaIO6IFtzMrEkIFNGzZ8DH6zsyL9s72Wpw931x9TFV1yvJUckS8kwZsr6njaeIu0BJsHdzT4+J+bcvMUPOZoF7G5x/KVeALiAg+2HkuQvPfgibAlUc6/PmMEQ/Km/+ZT5Zqu3M18xEPKdWKeHRKDha7Q8xgETr6Pb4OZfStA== Received: from BN9PR03CA0650.namprd03.prod.outlook.com (2603:10b6:408:13b::25) by MW6PR12MB7087.namprd12.prod.outlook.com (2603:10b6:303:238::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.16; Wed, 23 Sep 2026 10:40:14 +0000 Received: from BN3PEPF00022BC2.namprd05.prod.outlook.com (2603:10b6:408:13b:cafe::5b) by BN9PR03CA0650.outlook.office365.com (2603:10b6:408:13b::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.451.16 via Frontend Transport; Wed, 23 Sep 2026 10:40:14 +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 BN3PEPF00022BC2.mail.protection.outlook.com (10.167.248.213) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.8 via Frontend Transport; Wed, 23 Sep 2026 10:40:13 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) 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.2562.49; Wed, 23 Sep 2026 03:39:59 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Wed, 23 Sep 2026 03:39:58 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.2562.49 via Frontend Transport; Wed, 23 Sep 2026 03:39:54 -0700 From: Tariq Toukan To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , , Paolo Abeni CC: Akiva Goldberger , Cosmin Ratiu , Gal Pressman , Leon Romanovsky , open list , , Mark Bloch , Moshe Shemesh , Or Har-Toov , Saeed Mahameed , Shay Drory , Tariq Toukan Subject: [PATCH net-next 01/13] net/mlx5e: Assign a random MAC to any netdev with a zero MAC address Date: Wed, 23 Sep 2026 13:38:18 +0300 Message-ID: <20260923103830.1183-2-tariqt@nvidia.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20260923103830.1183-1-tariqt@nvidia.com> References: <20260923103830.1183-1-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BC2:EE_|MW6PR12MB7087:EE_ X-MS-Office365-Filtering-Correlation-Id: ae139a5e-609d-4785-e4e0-08df195f0cf6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|376014|1800799024|36860700016|82310400026|10067099003|11063799006|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: sff8cgDICMhGD1JBJ0ULIgWjsDlZhPIi84g5Djj7therGNikeeWsEP6BURmvwLRgsQdnPQEJKWrut0MJI2dw5SCViqpJOM1z7ZHFl+Fx/9AqqKVKCp+2jBKzZtKhtRGSHT7JOlOEimmV32Z2LS5iRwzOAhCGJEp8Z8hzjlVSx8k48pKAu2FqIYZkTwDoay0Btc3qctlCoStD5jsf0SDw/Q3hCkmThCaenZ++GhGwi6hmxAzoM62e/3t7aWIekXbNMpu8xZlKrEAodjfWkCcjLpYxc/rkq7OVxhoCYc9JqC6YGUtkHNPnRSvSj/fC0Uic6fHGVJE4Vx5lNXxtn5SPGskCpTFZy+RyLkiLgpBl6FdAcVlV9vaJQ+RLE4gnGycWdklYPMfVVsrBrmTPCLzlr10Ug3TPIgFQUIe+85vZtxru99NFA9mfbkQsjqt7yWn6O6Ez+Bw3JUkfqQROi5sCVrMVbDnZzhioU4aDKh9W+iAeJAa+uI84TN0kxvq9w39pkhsY4Cu3tBmaBqckmEAHxmMieyMZIMUke/uu/jzEuulYm0tSwFAGXJq0rEjM1P17Zf/oGO+Gz5s50jZRXCNNbawd93TWEhiH4AOqjPlW83k7ikWVCdkGNV1w+StVwNF4GN7E3FE2FuH8QtzPsoiR4WVIgfFCliHk8N1w/0gpngMA1ZCbkJET9kQurfKgaEND50mFj2daQE1XnCCm5/XPHw== 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:(13230040)(23010399003)(376014)(1800799024)(36860700016)(82310400026)(10067099003)(11063799006)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: rrPTzzEaBPZclIIAB40YNzLYefliXhUhjYIf2P7fUZOnwv3TSThKy88piwtg9QEYjImUHlAwfV5ITBeTl2bHYaI2b8NR3dXtfxQGEsCQnddq6+Rjuyf2H6Esfa0REUeEWme1tZCBpkz9qkfsqu6RnZExBOprwMQL89o4otcR1K3RK76/6h4EULt+RRRwWADxSgEbHsK19Erapi2fIeToOHQzF3eUmPT8q89f+YGSZcsKAZgpf51Wk2rKpKXaQS+klcroIDhhMI38prcnDMJz/l4Ael108xjjLCM6oMvxlR2j+LiRJxQ9QPN1McKsvsTDQ+VoP724F6nA/0wYpPMLxy/KqgV2pG5zpPNVIC+j/kTnu1tv0P4XbblLSsWy63pYhWz3FeNxo/3TVOdJZF53gJfP/N6wC0fHgyUOR/wBUYy2Dci/DJwf8Mjbd5y/PmiS X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2026 10:40:13.8211 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ae139a5e-609d-4785-e4e0-08df195f0cf6 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: BN3PEPF00022BC2.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB7087 Content-Type: text/plain; charset="utf-8" From: Shay Drory mlx5e_set_netdev_dev_addr() falls back to a random MAC only when the queried address is all-zeros AND the device is not a vport group manager. A vport group manager that comes up with a zero MAC is therefore left with an invalid all-zero address. The vport_group_manager exception is unnecessary: a zero MAC is always invalid, regardless of device type. Drop the condition and assign a random MAC whenever the queried address is zero, so every netdev comes up with a valid address. Signed-off-by: Shay Drory Reviewed-by: Moshe Shemesh Reviewed-by: Akiva Goldberger Signed-off-by: Tariq Toukan --- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/ne= t/ethernet/mellanox/mlx5/core/en_main.c index fc110a7d16e8..b0765f07cc3a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -5430,8 +5430,7 @@ static void mlx5e_set_netdev_dev_addr(struct net_devi= ce *netdev) u8 addr[ETH_ALEN]; =20 mlx5_query_mac_address(priv->mdev, addr); - if (is_zero_ether_addr(addr) && - !MLX5_CAP_GEN(priv->mdev, vport_group_manager)) { + if (is_zero_ether_addr(addr)) { eth_hw_addr_random(netdev); mlx5_core_info(priv->mdev, "Assigned random MAC address %pM\n", netdev->= dev_addr); return; --=20 2.44.0 From nobody Thu Sep 24 12:53:01 2026 Received: from BL0PR03CU003.outbound.protection.outlook.com (mail-eastusazon11012000.outbound.protection.outlook.com [52.101.53.0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 47C51499F24; Wed, 23 Sep 2026 10:40:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.53.0 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160033; cv=fail; b=cO4Jw1iKRc4Q88Yf1mn/NBGb4U0LY2GBESHxrJ0dpuFF3JRx5DNtq6Uj2IZb0PQgoGintS4cWWnV6OLz5NUJohdLbrw+ZRYR7y3ot2qtapxlKRQtudbWL4Ibpkt3qF6vqw0fTixGE0jAT3o9CY1uYfOqQH+Qgh59pYIhCL/FE/Q= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160033; c=relaxed/simple; bh=ETrqY/y5St1mcCWKtXGT/9Ww+8m0Wcc5BCTNBEwGxwA=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=jAzbBXDgiIukftlCBJlM+8Rh/wppRF30dhs+cf44s0+8/cOEfvbHeNbLYhVvTThM+htKeDhjBulS/tGZ+QJcanIoUhMzW7YJGQafQsNmOpPrNWek4bXkZREfQ2e99eT/Z51KEilyDyrD2Zl+L60AM2cXlVtTmWhQi9xbjjnfoNU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=MUDaKiew; arc=fail smtp.client-ip=52.101.53.0 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="MUDaKiew" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dw+SF90MIXzvWqrHEVJEicOAVHsq+InYhMMSVRcNaVBYb085nSLVDHMvbXZo4Gxl3sVsz5c/9SSd+M0MHXpaD8lzkIt5PXAlf+l8PkEcBzGEhLtv8557A3nMVqGxKCwoK1mKmM36cqlBh7SM63sEF6bHLESPgiJv2ltoppWsGiTjg31g/1ifBEOzmoTn8W1t6dXJgcNeF7kTQEJdXwC5G5CYL4yau8iJWYf0Cat5v10QhKJDbE4QVmLqivhSlKpq6Zin+7yYLfuFEpvMTzp9saDvM9B44FaqMQ5vG06PFzCPg6HVC/uHBXQMKEVZZOJWpvplayvcJ1umHUf+XLwWfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=+/GHMz7jFaGNrVzMwdWIFM/WwXJgsE8na0dszsJieOY=; b=DDjsQJTiMi9Y/GgvGQKmNZh521ES1NiyNNvo93pFKr2UMU21SHDmxhNqiKNaN/FurJ8Y7lra6B4Dt4Y22fdEMU1EE/kx6+ZSzya723vVYTd8nO4s3c9f4hP3RX1OJp1j9LDnWrwFO2PGrYsR93NWbUWBpg8R5cx8c9vAGZj2yOeXR8LNI3lj/RdQCgi5Dph115+tVTWNoKiqCcilqSynqifbdX+Thh3P1fD3A0+ZQIVoSH7HHnYmWWAlxn/SPKKosOyKDuljwSkIxcK4dIHKbT7j0JtmZ17yf/jVF6NvIq7qFyQ5zJVbPoQoOIEsnPdSBa5j4DWzTujMe7mSeVMsEA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=lunn.ch 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=+/GHMz7jFaGNrVzMwdWIFM/WwXJgsE8na0dszsJieOY=; b=MUDaKiewRfWlPSc2J3y+vWjQL5qO5vIh1p+KwgL2MRBvPL9+m0qYuPLuvxsb29Y6/QKMTH7uZWjxwXL+2ZTWlGhMdQhRrDkxjNG383svwhboNc4Z9O9PvViX37QfURzNqOvc3eMM902TvIi/k0AH2eHILlLA9LDQhYGCX2lfvweQ5hz1gdjBdoYEm+rMDU+fBrPoDyVi+ehyLjZJfjQZ88YQl7gsD3BrJ44+OKNH1cUHfb3C35PciLGFtwq0ckYG4lyBNC5bFvV2oq08m0zD90QsX70XDIUMz6X0f98V9mPnq9KRAKZiMOeaoUh9oyxzbbroAVaLp3IxqlpbwFo54Q== Received: from BN9PR03CA0489.namprd03.prod.outlook.com (2603:10b6:408:130::14) by DS0PR12MB8295.namprd12.prod.outlook.com (2603:10b6:8:f6::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.14; Wed, 23 Sep 2026 10:40:19 +0000 Received: from BN3PEPF00022BC9.namprd05.prod.outlook.com (2603:10b6:408:130:cafe::6b) by BN9PR03CA0489.outlook.office365.com (2603:10b6:408:130::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.451.16 via Frontend Transport; Wed, 23 Sep 2026 10:40:19 +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 BN3PEPF00022BC9.mail.protection.outlook.com (10.167.248.218) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.8 via Frontend Transport; Wed, 23 Sep 2026 10:40:19 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) 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.2562.49; Wed, 23 Sep 2026 03:40:05 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Wed, 23 Sep 2026 03:40:03 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.2562.49 via Frontend Transport; Wed, 23 Sep 2026 03:39:59 -0700 From: Tariq Toukan To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , , Paolo Abeni CC: Akiva Goldberger , Cosmin Ratiu , Gal Pressman , Leon Romanovsky , open list , , Mark Bloch , Moshe Shemesh , Or Har-Toov , Saeed Mahameed , Shay Drory , Tariq Toukan Subject: [PATCH net-next 02/13] net/mlx5: E-switch, do not leave an unpaired devcom registered Date: Wed, 23 Sep 2026 13:38:19 +0300 Message-ID: <20260923103830.1183-3-tariqt@nvidia.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20260923103830.1183-1-tariqt@nvidia.com> References: <20260923103830.1183-1-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BC9:EE_|DS0PR12MB8295:EE_ X-MS-Office365-Filtering-Correlation-Id: 29e121ba-576a-4a72-c132-08df195f102a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700016|1800799024|23010399003|376014|11063799006|10067099003|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: sf4aWRx+/nRx/+LzFdyPDHg1w0B3VGHNWHQA4EadSz9po0g45YVpF2QDFYZM7lVhFZOXe2mbdnimSQsb8lsmiIV990rah/k6YnYz0ZeZZRDsvXZ4U6Q5WsxtkTdNteQ4edURsXDrzw19tmCmACxTRvt9fGWzxQFNkwybanAlvQD/YWOetg0wSyUcsVwuWxjSyr5gJ7zqQhZpSJsBlL+u2Pek8alU2X2mrjL4/ZuWtrLjjiZlAk6MFXkfYvSx5k71Aft+UUSCxtcJhHaBdzn7giOT1tvthwdJb1sRpEVzT7TQkkome6A6zNt7Yq76UON2v9qyXcIqodGy7BXcbULvZryIVB6kezhtzN5E4kJgnEb78H0/60ATv8fvgTaMfPJfm2lmnwbqidmwKnqLCWbXe0Bm/EV1yp06/lby9GJjVVLl2WG1r8I9OhArPMzOIDFWw3LyGXuuvqU0G29p/4IyDt0sUOAe5OkEk7vWqpMa0fc07Qm83TQjB6t1hp+IYXw0dL8f4evj0Ky4wV/Nujzd0SFu+mmOZ8CLozzu8sm7pSFHNpTfliqY87BpZpVN8B+TERxBixs6BE/kjwa5AYNgrpb5402dj+/M46U3UhNET3heB1gBL2Rc2kA6BRneSHw2k8ZjrOOShcaU3vZ6kXSQ8oXEBJ7kjEECZMJDgLvqKWLX0vgy54zhoHGzxtQyAKF23kWzD7NhosCR++qov3LrVQ== 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:(13230040)(82310400026)(36860700016)(1800799024)(23010399003)(376014)(11063799006)(10067099003)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: SkLgEzThGk0D8ywPvW+t+4Cg44fPrX0sNX2T9SywmnNinuAGco4ZU2vXm9SAES3HbEsH6fIHdRqgKfs9kjqvUBw9fndAKiNrEKLSsGhsGoSlsUGeE1LjtKeTOfMEnOKSaxukrPpoVkUDMuD32bmWdcryrjvbaVp0aSKoS0PdKkddj2ixk1rC5bCPrNzsHqUU1xKwvIIbt9RcDAVfAhpSe5lImq40lLf0aVvE0haAWFzB4ryX/rwb3pC4B4McKvC443oOKYiWrY59u6nYaVoM9bhtr/Pr262hDhsmdmM1yFUrZCQd32IE4LanIJJh2EBzM2jEItvYTz9veTW3tSqays2WLXBRI7ikeXNQkpydt3FaqPKmWy9NTiPGSfVXbO9TShvkkTEoLZLCrgFqET6LaOiT2gmykwXL1MZGWpI4m1UXvViVzumanIdokjzPzevd X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2026 10:40:19.1863 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 29e121ba-576a-4a72-c132-08df195f102a 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: BN3PEPF00022BC9.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8295 Content-Type: text/plain; charset="utf-8" From: Shay Drory If the initial PAIR event fails, the eswitch offloads devcom component stays registered until eswitch teardown even though no peer was ever paired. devcom is optional, so this is not a functional bug - but a registered component that reflects no actual pairing is incorrect state to keep around. Release it when the initial pairing fails. Signed-off-by: Shay Drory Reviewed-by: Moshe Shemesh Reviewed-by: Akiva Goldberger Signed-off-by: Tariq Toukan --- .../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/d= rivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index eb74b6260168..e7d92d9bde16 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -3548,6 +3548,7 @@ static int mlx5_esw_offloads_devcom_event(int event, void mlx5_esw_offloads_devcom_init(struct mlx5_eswitch *esw, const struct mlx5_devcom_match_attr *attr) { + int err; int i; =20 for (i =3D 0; i < MLX5_MAX_PORTS; i++) @@ -3572,10 +3573,12 @@ void mlx5_esw_offloads_devcom_init(struct mlx5_eswi= tch *esw, if (!esw->devcom) return; =20 - mlx5_devcom_send_event(esw->devcom, - ESW_OFFLOADS_DEVCOM_PAIR, - ESW_OFFLOADS_DEVCOM_UNPAIR, - esw); + err =3D mlx5_devcom_send_event(esw->devcom, + ESW_OFFLOADS_DEVCOM_PAIR, + ESW_OFFLOADS_DEVCOM_UNPAIR, + esw); + if (err) + mlx5_esw_offloads_devcom_cleanup(esw); } =20 void mlx5_esw_offloads_devcom_cleanup(struct mlx5_eswitch *esw) --=20 2.44.0 From nobody Thu Sep 24 12:53:01 2026 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011036.outbound.protection.outlook.com [52.101.52.36]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B1296495030; Wed, 23 Sep 2026 10:40:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.36 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160047; cv=fail; b=lK4uqUTYQq/cCZ6u9B0sooaJrV9V8x2tVrBMCTvlLjstv0cRQE5lVwry/FsjM4m34WvsgLZxQP4DcXWWAtRy9QpHH3i27Ifm7Uc55ReyQVr1hIkNQmvqM8HcVympobr8z6UQeCQu7sQGi2413zeFx2FgYNiWcqwGJ3bSu09s9zc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160047; c=relaxed/simple; bh=Ns/Vr4jq6m5cgyHixrzNZQb8uFpV/vrcspEzlIbvIqo=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=s29jqNXMfu41UznAip5cAEE4iclRmKOXhnv9D1PVTktrqoRWmvwvEO/DKE9ZslXE2oBMBG7u0nfP774WOdJNNyo2A5H3kB3PHSUa6n3NdfyjS7XblQuJMCPEgMPVCu88+wf7j5SrsB/O+JvL73NOc1DhJReuAxSmNjqMs51zfYM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=N2dCxAL+; arc=fail smtp.client-ip=52.101.52.36 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="N2dCxAL+" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=N/Us5Sd7gbGErG+S/NFKJFlszmzYXOzLvU68pP+YFrdPN1PRPfHK6kom3Ao9cYxzpiEJGX+hR36LhQN+pw8iXoSEcZJ4YCgFJqlm2tFrH4Krt6EmT2fymDYO7ExqRLveOPa1tmeOisoxijolwLoPjy6ehC0bdOIGGiTdFKXmp+nnH2xfjT4OTYxosWg69htBQyV0MTr/ptbc25UQJkIG3Q8PBGqlGuBIs8w3NR5rmRCsYxnKy5CP8x7xQgTkvmT7RyTv/NlE7eMHJKFcE02OCyhfeiF6R/Qi7iPstn+ZXtA8VXoPAErhe0Mi3MMeZC2fBF7pmRU9S2r28FEOHorTzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=zB0MRrxSJBnHzBAOmQmC4oPHKO0rFjPjd6fxQsYAf6A=; b=eLLzexhWEHqR2YsOaZxj6zdTOUnMrNZsrMC2R148HKG3Alsxt1Dk3WJNTsG6ZJHI8NM5AmjI7YeGb1I0hHX2WaCc2QjzkFNPZFhQF+Ee4wNhVfj3OzpVEig7qCULpLfaBhV9DcORF6kgNTGJc9u4i1VkI912wCztZR7CLITrw0boyhfft35ovC3oiYFeqhwtbHcX0l5oXCA1TWySusA2Bf0hfWTEsucFuhYVdTblRhqH3/uLFME5z4wwp4VZXEHS6ZgEc5fA4Dkh7Q4SEPGCb/eevgDsaUXe+SZ0d0o3ZrH1tGOVA1zxq+qC/TEhiLR3L54aiw80jJOS3q+Aalk+Jg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=lunn.ch 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=zB0MRrxSJBnHzBAOmQmC4oPHKO0rFjPjd6fxQsYAf6A=; b=N2dCxAL+curgNj5CjjKd59GEh2IL+05BR5he4rUcwGGmgzZ61mbVq3IFl7OUmr6DYIEDhBp/hbWyhJpntP4n2kXM4hD4QyBdOwd3eEltL3i+nYSMwccuY6VfTQMf6dX4Y0D4Ng3qTorI6cqWSfK1XQzEupqmWs1sf0kiT+PqJPJH4GFEq8i1p8O1auV1smyl3mGqNZFdLvYBDpgFHJ7F3K/XMCS+n6CYaNtvvMvKKtgmc7iWC4ANPTVYTv2BSwEzlFrD4g93Pjr+tnx4v67/bpUbCCqBS8T/rHlLHXNIOS6Pw+FTN+UXmGSjUitAMTgox7Hdfp6km3GHQMhkSCwdPA== Received: from DS7P221CA0026.NAMP221.PROD.OUTLOOK.COM (2603:10b6:8:25c::13) by LV8PR12MB9111.namprd12.prod.outlook.com (2603:10b6:408:189::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.14; Wed, 23 Sep 2026 10:40:29 +0000 Received: from DS2PEPF000061C5.namprd02.prod.outlook.com (2603:10b6:8:25c:cafe::7a) by DS7P221CA0026.outlook.office365.com (2603:10b6:8:25c::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.451.16 via Frontend Transport; Wed, 23 Sep 2026 10:40:29 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) 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.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by DS2PEPF000061C5.mail.protection.outlook.com (10.167.23.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.8 via Frontend Transport; Wed, 23 Sep 2026 10:40:28 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Wed, 23 Sep 2026 03:40:09 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Wed, 23 Sep 2026 03:40:09 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.2562.49 via Frontend Transport; Wed, 23 Sep 2026 03:40:04 -0700 From: Tariq Toukan To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , , Paolo Abeni CC: Akiva Goldberger , Cosmin Ratiu , Gal Pressman , Leon Romanovsky , open list , , Mark Bloch , Moshe Shemesh , Or Har-Toov , Saeed Mahameed , Shay Drory , Tariq Toukan Subject: [PATCH net-next 03/13] net/mlx5: LAG, allocate v2p_map dynamically Date: Wed, 23 Sep 2026 13:38:20 +0300 Message-ID: <20260923103830.1183-4-tariqt@nvidia.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20260923103830.1183-1-tariqt@nvidia.com> References: <20260923103830.1183-1-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS2PEPF000061C5:EE_|LV8PR12MB9111:EE_ X-MS-Office365-Filtering-Correlation-Id: b66c7632-e660-446b-592a-08df195f1584 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700016|1800799024|23010399003|376014|11063799006|10067099003|56012099006|6133799003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: j/iSMDQNqcJqKwg5585GNGbq3pFeWSfvVspeaim5EjhZct/CcS7QJN5zSIbCyTUVXxSNHYyElFjcQBOFsgqhbW2ntMyCxh+/YBpMD3CS5xtBRCKLRYx+1bQdGR/ER3uUdLZk7caFg1BMv91vIvx/ngFlYvc0PVN1Oxwu8IWKJxqE+ELTktIBXo7dSO286VZxktvMjNCLh8ongc9IUtCo5/ZCmIjGKyccZuUcWIPn3/nn5CL1G9u6gJ8+qY89WVt541/N08AZQ7Fzo7CxFdCX/P1xiQ0tn7iOi1SW/X0qGtlP0IpAT+7nUz0qUXcrlsHylk8quPW/OD7lnxFKfzoZU+Q4/Og1jK6wIBiICrRt4wZimfwMqeLXHt59BzEoIjHQFKtlFLWzVz3kLlvqf8xc78lujhI/QuHI3ybOzwh4J0tZtj9tVA63mOsifMkguhVKWsc7yD8Lqr9CWhJWO5df/qfsLw7E6+/CRwhqCqWwZOsww8AIVwXqL1AyIoeCAmZGabjLEhjz1aaigeMyyPUvw95/s1Habjq6FcvwnQTsvxUUmndemmaIiz3dfF1dzWPydBOX9xiTQyOERb9aXdb9N/Ncz6ujOIx7OijOTYnDuUyOmDGtJjaJWXzsSjQhbXGSjcRjbtkE+4mlIrNFY9lNEYrMdbRExBjpxx+K6k5wY7zh25X4wxCLkReK6vCMOWRxmDqLUWumYlXw7vBsYxCyxw== X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(36860700016)(1800799024)(23010399003)(376014)(11063799006)(10067099003)(56012099006)(6133799003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Llj4Hjnw85zK7u9ywW92lWiXhFIarB1sxt3Gd88Nx8bRhuPF2PSH3MUSt0F+JnBfrTV0sWCmI0Jw789qisqhisJRqTDEerSk9OIqH4zNswMoSXWU16sLLq9K7mI+700xgrQ6W1ifoD4AIdlr2qdI5JHIe1oC2knTym4g0Ee7MbehxqZUutbGCQRwvP0RwiqShdPcxAAUwg0sStJE8mIXT0gULtzs2hbhLSOFZf18d1jWvXozQn+msxvncWcuPQgmudxsoX1xwC+nHyKvhIO6i+5KWyMlL+cOVNben5YyDG5QxZeTkb+oWG3hnZfbCKzd0vT1jjMetUv9tbTaWXOYoAOD7mCBm1GQgN4psr2esTw9D4sarmx0FOdAs7X7oZ+C3rF0QWOrXogdxW0AKUNJRIY5TSuwhPjrOIrELIQjQqeywJdsC94T1PjiWbc4C1z4 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2026 10:40:28.1996 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b66c7632-e660-446b-592a-08df195f1584 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.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DS2PEPF000061C5.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9111 Content-Type: text/plain; charset="utf-8" From: Shay Drory v2p_map was a fixed array sized MLX5_MAX_PORTS * MLX5_LAG_MAX_HASH_BUCKETS embedded in struct mlx5_lag. Turn it into a pointer allocated in mlx5_lag_dev_alloc() once ldev->ports is known, sized by the actual port count, and free it in mlx5_ldev_free(). The ldev->ports / ldev->buckets initialization is moved up so the allocation can use it. The matching scratch buffer in mlx5_modify_lag() is converted from a MLX5_MAX_PORTS-sized stack array to a kcalloc() of the same extent, with the trailing teardown reworked through a goto so the buffer is freed on every path. The memcpy() that previously relied on sizeof() of the stack array now uses the explicit ldev->ports * MLX5_LAG_MAX_HASH_BUCKETS span. No functional change; this removes v2p_map's dependency on MLX5_MAX_PORTS. Signed-off-by: Shay Drory Reviewed-by: Moshe Shemesh Reviewed-by: Akiva Goldberger Signed-off-by: Tariq Toukan --- .../net/ethernet/mellanox/mlx5/core/lag/lag.c | 38 ++++++++++++++----- .../net/ethernet/mellanox/mlx5/core/lag/lag.h | 2 +- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c b/drivers/ne= t/ethernet/mellanox/mlx5/core/lag/lag.c index c655f6e32e9b..00b0159cb422 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c @@ -308,6 +308,7 @@ static void mlx5_ldev_free(struct kref *ref) cancel_work_sync(&ldev->speed_update_work); destroy_workqueue(ldev->wq); mutex_destroy(&ldev->lock); + kfree(ldev->v2p_map); kfree(ldev); } =20 @@ -330,11 +331,16 @@ static struct mlx5_lag *mlx5_lag_dev_alloc(struct mlx= 5_core_dev *dev) if (!ldev) return NULL; =20 + ldev->ports =3D MLX5_CAP_GEN(dev, num_lag_ports); + ldev->buckets =3D 1; + ldev->v2p_map =3D kcalloc(ldev->ports * MLX5_LAG_MAX_HASH_BUCKETS, + sizeof(*ldev->v2p_map), GFP_KERNEL); + if (!ldev->v2p_map) + goto err_v2p_map; + ldev->wq =3D create_singlethread_workqueue("mlx5_lag"); - if (!ldev->wq) { - kfree(ldev); - return NULL; - } + if (!ldev->wq) + goto err_wq; =20 kref_init(&ldev->ref); mutex_init(&ldev->lock); @@ -358,10 +364,13 @@ static struct mlx5_lag *mlx5_lag_dev_alloc(struct mlx= 5_core_dev *dev) mlx5_core_err(dev, "Failed to init multipath lag err=3D%d\n", err); =20 - ldev->ports =3D MLX5_CAP_GEN(dev, num_lag_ports); - ldev->buckets =3D 1; - return ldev; + +err_wq: + kfree(ldev->v2p_map); +err_v2p_map: + kfree(ldev); + return NULL; } =20 int mlx5_lag_dev_get_netdev_idx(struct mlx5_lag *ldev, @@ -853,8 +862,8 @@ void mlx5_modify_lag(struct mlx5_lag *ldev, struct lag_tracker *tracker) { int first_idx =3D mlx5_lag_get_dev_index_by_seq(ldev, MLX5_LAG_P1); - u8 ports[MLX5_MAX_PORTS * MLX5_LAG_MAX_HASH_BUCKETS] =3D {}; struct mlx5_core_dev *dev0; + u8 *ports; int idx; int err; int i; @@ -864,6 +873,12 @@ void mlx5_modify_lag(struct mlx5_lag *ldev, return; =20 dev0 =3D mlx5_lag_pf(ldev, first_idx)->dev; + + ports =3D kcalloc(ldev->ports * MLX5_LAG_MAX_HASH_BUCKETS, + sizeof(*ports), GFP_KERNEL); + if (!ports) + return; + mlx5_infer_tx_affinity_mapping(tracker, ldev, ldev->buckets, ports); =20 mlx5_ldev_for_each(i, 0, ldev) { @@ -876,9 +891,10 @@ void mlx5_modify_lag(struct mlx5_lag *ldev, mlx5_core_err(dev0, "Failed to modify LAG (%d)\n", err); - return; + goto out; } - memcpy(ldev->v2p_map, ports, sizeof(ports)); + memcpy(ldev->v2p_map, ports, + ldev->ports * MLX5_LAG_MAX_HASH_BUCKETS); =20 mlx5_lag_print_mapping(dev0, ldev, tracker, ldev->mode_flags); @@ -899,6 +915,8 @@ void mlx5_modify_lag(struct mlx5_lag *ldev, ndev); dev_put(ndev); } +out: + kfree(ports); } =20 static int mlx5_lag_set_port_sel_mode(struct mlx5_lag *ldev, diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h b/drivers/ne= t/ethernet/mellanox/mlx5/core/lag/lag.h index e9f0ef83ce1d..8552792b9035 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h @@ -85,7 +85,7 @@ struct mlx5_lag { u8 ports; u8 buckets; int mode_changes_in_progress; - u8 v2p_map[MLX5_MAX_PORTS * MLX5_LAG_MAX_HASH_BUCKETS]; + u8 *v2p_map; struct kref ref; struct xarray pfs; struct lag_tracker tracker; --=20 2.44.0 From nobody Thu Sep 24 12:53:01 2026 Received: from CO1PR03CU002.outbound.protection.outlook.com (mail-westus2azon11010070.outbound.protection.outlook.com [52.101.46.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5A12849D5A5; Wed, 23 Sep 2026 10:40:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.46.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160049; cv=fail; b=T185cz+0VotPjuFZBLud0kO0VWJOGHci9OnYtRXVZCmfNLe6Xua3WBknryY3u+GuokgVupstTkp+QuIgqT8Dj+1vwEIYMOoVPLtNTI7PTjZuSgd0+owx0UPZR8Yi/XTKA12OGu1DSe4A9yWY5BAaC8ncF/NxPB18Dmc3B2hwBVs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160049; c=relaxed/simple; bh=B7/tu4T3AA5PV/MsuadurcoDlbSAIusGwTzcYZT3nHE=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=MnPw/Jd1DN2n/gHVOt3BhjF4BLP6Za68fUj4qcFb90oWnkk+lHQmmf7ErG7O6fR2xwsb4IvHepaSykiEAETi4SWskBp1Y7+prDfTXDLlltYp7UTaLc3up3wjJFuJRatPWYy0pq+jgubdKxnTVIebkV4KTJiUGyEx9233T41ewNg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=rQtFt/J6; arc=fail smtp.client-ip=52.101.46.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="rQtFt/J6" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JueIfrsnuQJAMAjq/EYZ7LW7WAxwBxzsx1kZpSQkIHQ1fgAXWtdThdyGhDAY1yk3U4ER1V343hKiIaKtguU/NsKOxifu6E00621r1r0gyQ4YM3rtUr6w4BMFB18oeUYOt2gjtXfgULkJRuGVJbMd0blPHxSinMYconbiDyodSoxsR/PC8DRRqW1dUtOI0tRKyFNilZKshtP42aw9jgjO1WqLcxqcpBGfRE6LOxsPRhV0P5UqKRsAJ37CWPxkIDkIdwQlyusqzha0I7RAq5EwD69CayAGpAwZeog6BfjNinasDVDp6W1zh2j++14g29Q6i1zextZRPJv+Eqg17tfJkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=fXV/9du/SBcaVlurvBqZaQIR63UG7b2pSvm2BwueF6o=; b=A6FqfgyA7xyyHDQRnwXbdDVwaSqrvkj5h8Pp8XhLyNGJmcG/X5ya41MCAgsCr+WCsRjtEeJHRF1A37zCp3vwISg32A0MxVKafJUgPxG2owlRgpPDSwSabHNhOeEJQDizRkZUVU/WcZHgSmFD9iu+xkWe1axwV4h703y9+zIrJOU6ocSI7oFHFLZKFEKPbP26doV64Me2V+MoE9A8yG32+2fWLgucpTC9fJF6dgvCu2AS7POpAWW7kSfFb6I0R+2sWtcKCloLAd349toEriIj+ZYdbFLo9sBjTrdus9ZR28SGfYAkmczeScUxhr8WCStUHLZvr35jKaTGz+96k7ggow== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=lunn.ch 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=fXV/9du/SBcaVlurvBqZaQIR63UG7b2pSvm2BwueF6o=; b=rQtFt/J6iIm1A2pbkvbupe0sBqeBDDoXPCrwt0m3Gz+HRHDztiboHjTOsjpmoP4JC2vH32pc43uiyenkBcjus/bArqoNv4ZWdOpDclaZHk7jSrTPxXUijzXuCzu/HcHWw6EkjYDvoz9KEv8xyhOLOpyXbJFVxC2mzSbAbSkOg8YeyGWKazDqrhCkOaJ5MvxS/L2nGHDQnq4b9RGIaj/IqJtdRdA7iaZvc3w+nrgEEw6XaqewbWqpia7SD5Ilh9ekiFTQnaFsvBpLIMubwpF5x0B5Mb5XE4d/KDOPUM0+dt+8NpvRSWwJD/gVmDO2tReT4Ac8jfDCte57G0Q0aFLSKA== Received: from DS1PR06CA0010.namprd06.prod.outlook.com (2603:10b6:8:458::17) by CH2PR12MB9541.namprd12.prod.outlook.com (2603:10b6:610:27e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.14; Wed, 23 Sep 2026 10:40:34 +0000 Received: from DS2PEPF000061C1.namprd02.prod.outlook.com (2603:10b6:8:458::4) by DS1PR06CA0010.outlook.office365.com (2603:10b6:8:458::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.451.16 via Frontend Transport; Wed, 23 Sep 2026 10:40:34 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) 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.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by DS2PEPF000061C1.mail.protection.outlook.com (10.167.23.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.8 via Frontend Transport; Wed, 23 Sep 2026 10:40:33 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Wed, 23 Sep 2026 03:40:14 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Wed, 23 Sep 2026 03:40:14 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.2562.49 via Frontend Transport; Wed, 23 Sep 2026 03:40:09 -0700 From: Tariq Toukan To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , , Paolo Abeni CC: Akiva Goldberger , Cosmin Ratiu , Gal Pressman , Leon Romanovsky , open list , , Mark Bloch , Moshe Shemesh , Or Har-Toov , Saeed Mahameed , Shay Drory , Tariq Toukan Subject: [PATCH net-next 04/13] net/mlx5: LAG, allocate port-indexed scratch buffers dynamically Date: Wed, 23 Sep 2026 13:38:21 +0300 Message-ID: <20260923103830.1183-5-tariqt@nvidia.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20260923103830.1183-1-tariqt@nvidia.com> References: <20260923103830.1183-1-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS2PEPF000061C1:EE_|CH2PR12MB9541:EE_ X-MS-Office365-Filtering-Correlation-Id: 862f5814-072c-436b-1bc9-08df195f18db X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|376014|1800799024|82310400026|36860700016|10067099003|56012099006|11063799006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: MipqEfzH90Csjg3xizunSNxVcQ8BMWphR/A3avmzEsmDFGIKdeiJDS5G++6d0x1Ysx00Y61NHFEJfnoQdSXkq6TCcKZsafhkKt8iD2IPH3rjxpjdBshbKLPzlgsjFna2e2sIfiw4q0+Nw3MvslVuKRRcPqnnKqH0b/eSO2chQsSM7SAAoFrVazc3GiO1cTtFT27iUAmuB96gzTRyoyIt9J4h2c9LgUJaLH9LyZBJWo2SYre0S72v9G4dYNweaxGUvSS+DDjTygRLFHYbPUReYJdegwJshH3ka+QGXgb8vjKkGL6d+wvw2682ekjm0yEdnYwXnFlwtSmWSqCgUpKZ28C/0KBdCwbIgGfayAgFqaPue/rokZB2o0v/49hHtgXlW6dondfYL6+D5hHTqC1NcL5p7MGua0TWerH7HuVyXJrnDGYntY/wKUpwHbOEvvjAKfGb/A0nXDJsG++Qr19io3Ii4IUhNvtkD0hpmm0Da7piWcxUXpKZkL5jabHuB9J7Vyl4tH23AJwhwSP5My7yJqR5b+uhtzoY0Pqnee6aK2L6UxiEPykhBxVA6spKG5fLxaN3J60yC44rOqQ628CRzOWfSWga5OI5np15GkhtI96Hl5mS0VXmL/NMvWMVl5jmEuEY4sgj9uUTCC9WBMjl40rq7xv6F+bo6GQ6zNU+ZvqDwNyxBCLe7VV/8h29j1ogOnSIo8Yj6LexCZUhje/hvw== X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(23010399003)(376014)(1800799024)(82310400026)(36860700016)(10067099003)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: QWuY6RBaTxTrwXEE123C7pTWPJNPYehp6o38jdGuFHCcOEW/q7Z+nolnJ03r8udMYRLBNK1lHR2ADXiMs8+Ds26/qyg6Pi+D9D8cYkEigoA/70TjBBVKvYnXaVczso9DLYj8DLE6s/43OhtS0YRL7VhD2dy5PO3l7K+fsOgv3YcsXdTSw1g6RZmuTGwkT2yJtZg6RTlPhP6gHmAd3e/Lg+wGQYvn/FlCtrwq8tHHlccceTWNKA2dBXkbrv7WPB6D7flY02l5Yug2U9Rl+2dlwsOBgJZYr4wJoJgZ42G2RgifLfqvnw5zBS+nfBWsdo2A384vgg1pBcMcbIy3X8u5ynIfKRZzdMZvfYyZjkJOKhA1t/jNQmqqiDiYv01Zfws7J87AZmp/wm/wUlwHs2nyinNyMu4v3/u7/XV2mliisET8zT/piH9IZ2nSLvLltaGC X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2026 10:40:33.8137 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 862f5814-072c-436b-1bc9-08df195f18db 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.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DS2PEPF000061C1.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB9541 Content-Type: text/plain; charset="utf-8" From: Shay Drory mlx5_lag_print_mapping(), mlx5_infer_tx_affinity_mapping() and lag_active_port_bits() each used a MLX5_MAX_PORTS-sized stack buffer to hold per-port working state. Allocate these buffers with kcalloc(ldev->ports, ...) instead so they track the actual port count and no longer depend on MLX5_MAX_PORTS. lag_active_port_bits() can now fail on allocation, so it returns int and propagates -ENOMEM; a non-negative return is the active-port bitmask as before. Its two callers, mlx5_cmd_create_lag() and _mlx5_modify_lag(), check for a negative return and bail out, then narrow the value back into the u8 they hand to the device. This removes these buffers' dependency on MLX5_MAX_PORTS. Signed-off-by: Shay Drory Reviewed-by: Moshe Shemesh Reviewed-by: Akiva Goldberger Signed-off-by: Tariq Toukan --- .../net/ethernet/mellanox/mlx5/core/lag/lag.c | 100 ++++++++++++++---- 1 file changed, 80 insertions(+), 20 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c b/drivers/ne= t/ethernet/mellanox/mlx5/core/lag/lag.c index 00b0159cb422..93ead5664152 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c @@ -63,19 +63,25 @@ static int get_port_sel_mode(enum mlx5_lag_mode mode, u= nsigned long flags) return MLX5_LAG_PORT_SELECT_MODE_QUEUE_AFFINITY; } =20 -static u8 lag_active_port_bits(struct mlx5_lag *ldev, - struct lag_tracker *tracker) +static int lag_active_port_bits(struct mlx5_lag *ldev, + struct lag_tracker *tracker) { - u8 enabled_ports[MLX5_MAX_PORTS] =3D {}; u8 active_port =3D 0; + u8 *enabled_ports; int num_enabled; int idx; =20 + enabled_ports =3D kcalloc(ldev->ports, sizeof(*enabled_ports), + GFP_KERNEL); + if (!enabled_ports) + return -ENOMEM; + mlx5_infer_tx_enabled(tracker, ldev, enabled_ports, &num_enabled); for (idx =3D 0; idx < num_enabled; idx++) active_port |=3D BIT_MASK(enabled_ports[idx]); =20 + kfree(enabled_ports); return active_port; } =20 @@ -105,13 +111,21 @@ static int mlx5_cmd_create_lag(struct mlx5_core_dev *= dev, struct mlx5_lag *ldev, MLX5_SET(lagc, lag_ctx, tx_remap_affinity_1, ports[idx0]); MLX5_SET(lagc, lag_ctx, tx_remap_affinity_2, ports[idx1]); break; - case MLX5_LAG_PORT_SELECT_MODE_PORT_SELECT_FT: + case MLX5_LAG_PORT_SELECT_MODE_PORT_SELECT_FT: { + u8 active_port; + int ret; + if (!MLX5_CAP_PORT_SELECTION(dev, port_select_flow_table_bypass)) break; =20 - MLX5_SET(lagc, lag_ctx, active_port, - lag_active_port_bits(ldev, tracker)); + ret =3D lag_active_port_bits(ldev, tracker); + if (ret < 0) + return ret; + + active_port =3D ret; + MLX5_SET(lagc, lag_ctx, active_port, active_port); break; + } default: break; } @@ -240,22 +254,31 @@ static void mlx5_lag_print_mapping(struct mlx5_core_d= ev *dev, struct lag_tracker *tracker, unsigned long flags) { - char buf[MLX5_MAX_PORTS * 10 + 1] =3D {}; - u8 enabled_ports[MLX5_MAX_PORTS] =3D {}; + u8 *enabled_ports =3D NULL; int written =3D 0; int num_enabled; + char *buf; int idx; int err; int i; int j; =20 + buf =3D kcalloc(ldev->ports * 10 + 1, sizeof(*buf), GFP_KERNEL); + if (!buf) + return; + if (test_bit(MLX5_LAG_MODE_FLAG_HASH_BASED, &flags)) { + enabled_ports =3D kcalloc(ldev->ports, sizeof(*enabled_ports), + GFP_KERNEL); + if (!enabled_ports) + goto free_buf; + mlx5_infer_tx_enabled(tracker, ldev, enabled_ports, &num_enabled); for (i =3D 0; i < num_enabled; i++) { err =3D scnprintf(buf + written, 4, "%d, ", enabled_ports[i] + 1); if (err !=3D 3) - return; + goto free_enabled; written +=3D err; } buf[written - 2] =3D 0; @@ -267,12 +290,17 @@ static void mlx5_lag_print_mapping(struct mlx5_core_d= ev *dev, err =3D scnprintf(buf + written, 10, " port %d:%d", i + 1, ldev->v2p_map[idx]); if (err !=3D 9) - return; + goto free_enabled; written +=3D err; } } mlx5_core_info(dev, "lag map:%s\n", buf); } + +free_enabled: + kfree(enabled_ports); +free_buf: + kfree(buf); } =20 static int mlx5_lag_netdev_event(struct notifier_block *this, @@ -668,20 +696,28 @@ static bool __mlx5_lag_is_sd_active(struct mlx5_lag *= ldev, * If there are ports that are disabled fill the relevant slots * with mapping that points to active ports. */ -static void mlx5_infer_tx_affinity_mapping(struct lag_tracker *tracker, - struct mlx5_lag *ldev, - u8 buckets, - u8 *ports) +static int mlx5_infer_tx_affinity_mapping(struct lag_tracker *tracker, + struct mlx5_lag *ldev, + u8 buckets, + u8 *ports) { - int disabled[MLX5_MAX_PORTS] =3D {}; - int enabled[MLX5_MAX_PORTS] =3D {}; int disabled_ports_num =3D 0; int enabled_ports_num =3D 0; + int *disabled; + int *enabled; + int err =3D 0; int idx; u32 rand; int i; int j; =20 + enabled =3D kcalloc(ldev->ports, sizeof(*enabled), GFP_KERNEL); + disabled =3D kcalloc(ldev->ports, sizeof(*disabled), GFP_KERNEL); + if (!enabled || !disabled) { + err =3D -ENOMEM; + goto out; + } + mlx5_ldev_for_each(i, 0, ldev) { if (tracker->netdev_state[i].tx_enabled && tracker->netdev_state[i].link_up) @@ -704,7 +740,7 @@ static void mlx5_infer_tx_affinity_mapping(struct lag_t= racker *tracker, /* If all ports are disabled/enabled keep native mapping */ if (enabled_ports_num =3D=3D ldev->ports || disabled_ports_num =3D=3D ldev->ports) - return; + goto out; =20 /* Go over the disabled ports and for each assign a random active port */ for (i =3D 0; i < disabled_ports_num; i++) { @@ -717,6 +753,11 @@ static void mlx5_infer_tx_affinity_mapping(struct lag_= tracker *tracker, mlx5_lag_xa_to_dev_idx(ldev, rand_xa_idx) + 1; } } + +out: + kfree(enabled); + kfree(disabled); + return err; } =20 static bool mlx5_lag_has_drop_rule(struct mlx5_lag *ldev) @@ -816,7 +857,10 @@ static int _mlx5_modify_lag(struct mlx5_lag *ldev, !MLX5_CAP_PORT_SELECTION(dev0, port_select_flow_table_bypass)) return ret; =20 - active_ports =3D lag_active_port_bits(ldev, tracker); + ret =3D lag_active_port_bits(ldev, tracker); + if (ret < 0) + return ret; + active_ports =3D ret; =20 return mlx5_cmd_modify_active_port(dev0, active_ports); } @@ -879,7 +923,14 @@ void mlx5_modify_lag(struct mlx5_lag *ldev, if (!ports) return; =20 - mlx5_infer_tx_affinity_mapping(tracker, ldev, ldev->buckets, ports); + err =3D mlx5_infer_tx_affinity_mapping(tracker, ldev, ldev->buckets, + ports); + if (err) { + mlx5_core_err(dev0, + "mlx5_infer_tx_affinity_mapping failed, err =3D %d\n", + err); + goto out; + } =20 mlx5_ldev_for_each(i, 0, ldev) { for (j =3D 0; j < ldev->buckets; j++) { @@ -1045,7 +1096,16 @@ int mlx5_activate_lag(struct mlx5_lag *ldev, return err; =20 if (mode !=3D MLX5_LAG_MODE_MPESW) { - mlx5_infer_tx_affinity_mapping(tracker, ldev, ldev->buckets, ldev->v2p_m= ap); + err =3D mlx5_infer_tx_affinity_mapping(tracker, ldev, + ldev->buckets, + ldev->v2p_map); + if (err) { + mlx5_core_err(dev0, + "mlx5_infer_tx_affinity_mapping failed, err =3D %d\n", + err); + return err; + } + if (test_bit(MLX5_LAG_MODE_FLAG_HASH_BASED, &flags)) { err =3D mlx5_lag_port_sel_create(ldev, tracker->hash_type, ldev->v2p_map); --=20 2.44.0 From nobody Thu Sep 24 12:53:01 2026 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010009.outbound.protection.outlook.com [52.101.56.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CEA0549480C; Wed, 23 Sep 2026 10:40:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.9 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160062; cv=fail; b=H1sVBA3UZwmrn/3M1XOdjs7A0WOeSlQ7Q1Mne0OmiyUCh0KIlb0MURTm27B88S+w78G2tWiKP5XVIn7ofw/sV7mN/KmZ+as45cGZ7QijK/bHmkUG67WMGPfhEs4SZk7E2rg5qBNslTbNNZpfwVooaMWOv13w31m4Sbdo8SS7Cz4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160062; c=relaxed/simple; bh=Sr8ZDzLwmad7B7GvVB4TktczhwdI2emZtCg4s97mEuM=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=uqxUi+Oiie/W+1v/G+7g50WaqMIWndArw0A1Xy8/ZF6l8/sdFFqDVm2+IIEnJlSh3Yjmtxdg1CfbshBaE5kIcYNczCMZA3UgkavQUSJrqS9lh+SaOcsTLWYc+AU3jqYefQ4Scj1w7qKSPL7ojSaJfXJ6Ae5wJKwCWjicp3TjR8s= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=Xrn+hebt; arc=fail smtp.client-ip=52.101.56.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="Xrn+hebt" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NnJU7UcvXkQ+6b+ltUEP2oSE/P/SMk3V4HWsuisLF1KLuEHrxaufx6kyF6JBrqxPYkv/xeUbD6JTrhRierto6TtumcU5luMayD8FGJ7IeTYrOORWkjloFEt1tpgIzO8CCaAj3BGwP7iM7NW1UZkMtUyxVleAM3fbj0avHytBUjf5spiIh7a+cjGhADr3SS8oDkIM8UeRreRl16BocLSabsg0jTScZN9S8cuUrRvX/8mMZQW4NtO9/YsSQw/nKuLlo9l4TMw6dPYTs1HjekwtWvN73Hgxgq2EwmrDQkCje5Vl1fsVHjbD887koaNuZofBAl7OQ5HsFjAz0sWRIZQa2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=N1BimsmJH4jr3bhHB3HTTV8B5tL8oXU4RIb2AFpCiIA=; b=Ydl3JzCSFioEy8Bq7gWs6Ra+xIvPZC4NLBBes4jX9uoPAYDIw34C5st2IkPioK0ENV1IFTdDwYxUL4wGikmNFi/MCSumZ5iVb1FFlCMJYphWm5+bWflzDOXnhq3PiFIibcZxVpr3Df5kSDDl6ZWLIQCSifR0dcN3ay/H3tIpCbxDaF3GvWzzE3A/5ddnYoxlSj1k54D1rVBxWbG+IMz3qFlM/neAMvKx0CwIbpGwPD27/BWdEbWTjFbPdywLvsEpdsFkXFcnc0lXOihYJ7gI7O5/nM7f4ASeeJJPoryR+jvgBaRQ9AkfJfDedCQRuKuDwSXUjEeHNCo3iQ0wf0JXQQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=lunn.ch 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=N1BimsmJH4jr3bhHB3HTTV8B5tL8oXU4RIb2AFpCiIA=; b=Xrn+hebtSDcU/Ma+K/Jv1SpIbXZgzxSiYQDj7Ha/YEwzZm7WW+6bGcBxqrZHVJFPPI5ePVzTLyS8SczUOBSV5xOsHZAG++PSA+Fqnkv+7gRT2bf1OmoYf2EeWK92yt++FYTCCXHGS6uJ5VOrzdDitknsN/ultb2YY2erXznivK/ARyGbZLWwwDoGzHi8z/tA/OWXn74gg4lzq4oH3uWDSFavbFU0o9BSTPROLLvVp+t8JOx7lWRkOPDPsL69MMeFb2ChwYdER5uM4xO8YO8XNxqxDM/F8gl+vwhQrZNTBXQ+iZG8H3hX90NXlhRkUsxmF18lfpgJ9kkQwVo5jztkvQ== Received: from BN9PR03CA0225.namprd03.prod.outlook.com (2603:10b6:408:f8::20) by DS0PR12MB8765.namprd12.prod.outlook.com (2603:10b6:8:14e::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.16; Wed, 23 Sep 2026 10:40:37 +0000 Received: from BN3PEPF00022BC6.namprd05.prod.outlook.com (2603:10b6:408:f8:cafe::90) by BN9PR03CA0225.outlook.office365.com (2603:10b6:408:f8::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.451.13 via Frontend Transport; Wed, 23 Sep 2026 10:40:37 +0000 X-MS-Exchange-Authentication-Results: mx.microsoft.com 1; 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 BN3PEPF00022BC6.mail.protection.outlook.com (10.167.248.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.8 via Frontend Transport; Wed, 23 Sep 2026 10:40:36 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) 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.2562.49; Wed, 23 Sep 2026 03:40:19 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Wed, 23 Sep 2026 03:40:19 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.2562.49 via Frontend Transport; Wed, 23 Sep 2026 03:40:14 -0700 From: Tariq Toukan To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , , Paolo Abeni CC: Akiva Goldberger , Cosmin Ratiu , Gal Pressman , Leon Romanovsky , open list , , Mark Bloch , Moshe Shemesh , Or Har-Toov , Saeed Mahameed , Shay Drory , Tariq Toukan Subject: [PATCH net-next 05/13] net/mlx5: LAG, drop per-port scratch array in drop-rule setup Date: Wed, 23 Sep 2026 13:38:22 +0300 Message-ID: <20260923103830.1183-6-tariqt@nvidia.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20260923103830.1183-1-tariqt@nvidia.com> References: <20260923103830.1183-1-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BC6:EE_|DS0PR12MB8765:EE_ X-MS-Office365-Filtering-Correlation-Id: 4aac6db5-27ae-470c-9aed-08df195f1a73 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|1800799024|376014|36860700016|82310400026|10067099003|56012099006|11063799006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: lyht68z7NbTwawQ6Qs96POoAsX6m62Za384Q0LDPKPR4HSt8elxPKKt1zpJdSwbxEPP7sTKW13SBB9y4GN4RtkTBwsEA53cwV0OcxZfMU+o6dsiqtc2aGobchS37hTovLPfx0NVEV+kmeNfYlfqrX1BEjUHtXdvV6bu26ttqi7DqYxph85DId9x7R1QKbhFARz1YWN8ASVfZG/eVEmXRiFcSQolhCydYjrv6J07Prbxw2v/yJ+jFyw8X6cN2bcCHN3Xyu8hc7YHqFaZA7ACQsmbdUaI8X98aal7n8jy0CoMm4M09BMDooildo842TgCwGkNjJ1JO7noz4eDgTJXKKsE6yWBVfHQVDCvDU4FAYawtR7IvX/CAArLetn/k+8dSGyIvtR/Bwii0X73WqpUg2KjgXhgCIqPm8UI1D21WDgKMB1R9LTnfVIE6BQt72rI3Bv+LwQpw4tkEGMe6ulAA8TsCQX9JyA04E/xbsLeGtZ//YNVjTRazJOnpA2k+XJuYIeFargCNyR3GuVrq0zGd9kip1+DWyiuPRJlfmSvBo3fOhZhN/vQlSFNz/NnG1JzQ1YZWSlSD2qLUZdrirzFz++gUVtHYdW4Dm6y5VOn0EeRC6B9Lq/32IfGuVwXSIJ9pHVu+O27c1ievBpuTqLwvQJkJrAojhcyifRvwDnEqik/wjtEVhZJRVijhvtqEaQa8tVrMJMZznnbtXTkF7zp2Dg== 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:(13230040)(23010399003)(1800799024)(376014)(36860700016)(82310400026)(10067099003)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: IsB6ly8vd37qAWLWOE4iV7/Y1oCIPLifvks7hxY50V4lJWHkjT+W3Ba5PpZvcks43XEDLT8cPwXAVKwsVphgd5t0iW+jCR9i8aQ7Z008Mhk1x2w5fFyxH968kde/gS+xVkPM2yqvOvBUug4MoFr31tY3gYcTGwAJ+S9sTrXXm5oicmS6iGnAAMBQIV9eLYA9oBCe3aHqbiqFognnn2y9LeJnhR1QFR6BOBFJibVfWeRhQKVEykkMAXLywO6l4Ph8quiyQq4uLOgsogfJ3oSfUwGSavdsANoh+pc72aIXH28jVwNfGytfPiojoRdczidCzmw1TEkqhmYgeuPrrdbIgE/MpsqqhBInGyrzJFtZNPktAtX2CFDRLU0lkNkIjrFhTPq/orE1A3g2DO21GVu397rSAp1OHie0PGd5DBy2SjdVBLOknb3S5lq1ZpwTXNQF X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2026 10:40:36.4438 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4aac6db5-27ae-470c-9aed-08df195f1a73 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: BN3PEPF00022BC6.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8765 Content-Type: text/plain; charset="utf-8" From: Shay Drory mlx5_lag_drop_rule_setup() walks the per-port tracker state, but does so through a per-port scratch array, mlx5_lag_drop_rule_setup() collects the disabled ports to create a per-port drop rule. Walk the tracker state inline removing its MLX5_MAX_PORTS dependency. Signed-off-by: Shay Drory Reviewed-by: Moshe Shemesh Reviewed-by: Akiva Goldberger Signed-off-by: Tariq Toukan --- .../net/ethernet/mellanox/mlx5/core/lag/lag.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c b/drivers/ne= t/ethernet/mellanox/mlx5/core/lag/lag.c index 93ead5664152..4648371f9914 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c @@ -792,11 +792,8 @@ static void mlx5_lag_drop_rule_cleanup(struct mlx5_lag= *ldev) static void mlx5_lag_drop_rule_setup(struct mlx5_lag *ldev, struct lag_tracker *tracker) { - u8 disabled_ports[MLX5_MAX_PORTS] =3D {}; struct mlx5_core_dev *dev; struct lag_func *pf; - int disabled_index; - int num_disabled; int err; int i; =20 @@ -808,11 +805,11 @@ static void mlx5_lag_drop_rule_setup(struct mlx5_lag = *ldev, if (!ldev->tracker.has_inactive) return; =20 - mlx5_infer_tx_disabled(tracker, ldev, disabled_ports, &num_disabled); - - for (i =3D 0; i < num_disabled; i++) { - disabled_index =3D disabled_ports[i]; - pf =3D mlx5_lag_pf(ldev, disabled_index); + mlx5_ldev_for_each(i, 0, ldev) { + if (tracker->netdev_state[i].tx_enabled && + tracker->netdev_state[i].link_up) + continue; + pf =3D mlx5_lag_pf(ldev, i); dev =3D pf->dev; err =3D mlx5_esw_acl_ingress_vport_drop_rule_create(dev->priv.eswitch, MLX5_VPORT_UPLINK); @@ -820,7 +817,8 @@ static void mlx5_lag_drop_rule_setup(struct mlx5_lag *l= dev, pf->has_drop =3D true; else mlx5_core_err(dev, - "Failed to create lag drop rule, error: %d", err); + "Failed to create lag drop rule, error: %d", + err); } } =20 --=20 2.44.0 From nobody Thu Sep 24 12:53:01 2026 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012069.outbound.protection.outlook.com [40.107.200.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6EC35488202; Wed, 23 Sep 2026 10:40:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.69 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160070; cv=fail; b=SUDYMMJ8Q30RKnrsE2OPWaX8qdnkBf+gqPOeHRkS7wSjDygMoxC2nRFuqNxhbSlsaMptR8lUumRnfTa9FyKMnQj/rMhsaFyTJnPU4q6qpzOuaPSq9WMpPv9KBj7i73gFz0q320Duwjym0IZHI+7BJ1Lo3qd9pljJEf51kra7MK8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160070; c=relaxed/simple; bh=ROKgm3k3Iy0J635iWx5C4mKFcqlMH0C1fNTwIeiY0cg=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=OvFs5mQZyTZRvNr/fOtPMT8YhBZasmSY+hLiMa4ESugJfBNYN7EY7qtUPPXMMrQjo/ng19Iyqs1LAjGQgQWwmkXXtchDwvlVV4jX5pjdnOHKeKbuXigyChokceig+GW4TXmbgNgwHesYQJzqqkK5EsMyc/ocpJE09NQ3u/zGfDI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=bqJfM/jH; arc=fail smtp.client-ip=40.107.200.69 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="bqJfM/jH" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oh5vimFRdxbUOTZH3wsiGJXxNzDB52NugdUZS7gVOKI6aMYlZ2KL84uCNX7ofah7pyS8N5ddH/ubtKepi+yLVpH8GZnw+51xX1VDjnNcG0RK5LlnXRA9IIrV5Cm7JBpHWm89Twy8tLoXVt8Vy01b9vVp0hIkJjx5a3BLWnFx3FUD/wMkC5xA1lrSK5QTiphYnrdPDhlHJgztbTk8g8mGzRvT2C5bOQpSUcCqXSaC8f4zAJuHFLUzbczBuQ+PLmN5kk1Jszk3tVA8Avhq7WAWyFlZlxDLh+Kw1F1dcUqXVYrCYMK/yn306nmujtMWlN5n3n4URKowgVM1SLdywS7+Eg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=s4KEVFXn3ODdBhVXLg7WdxzRFCEEm/MKugK/QN5Rymo=; b=MPojqH5DjuF8EIT5/1TvgmrPs+1ugtAJJ/szChi0VBvtXymnhlKqFE4W8fSQlvPShznRrc2NFarj31LdMihjbHQcGRN2nm8cCXHO2VcaiPgbPHMahrCSPEOuwCxJDptMplS4YrARu3xmQVyiHkVb7JxsqFBS3o0A/ddL/K7HIy+tHkTTzZOoIJoQ3aURyKtJvdIVcZrx/o+7Rn1oi6SY9dqn6bjNX74grhG5NImHijeasoPgu3jSrgxms0tNriL+PWywcSj2JIER/HS2PhaAnzF3dthZCPMOroSBzH2a9DNbvYw67kdilNWnu3jBIsZsuanstoFjpI6rlbuwNcl0AQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=lunn.ch 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=s4KEVFXn3ODdBhVXLg7WdxzRFCEEm/MKugK/QN5Rymo=; b=bqJfM/jHkLniIjaSN+Laug52ECuwxVwDfB7G+5oQ9Tk5ESYatUFx8gknN0a7+niHC1E66qOrAKdAJPff4lxVWj48UX2G0eCxi1AhvM5Z2NeotBomrSKSOQqYWRIysNQQGCWx3++pHtZ7dGchoZCORN5NeAgl3qN/loj22vJ9WfwZHuE0FK517ShDFDOdWBeV+wh/+RYILjhW43uOyL6RFeKFrK9XXJIPGuEsVAf50gBaLpIGNMnmO3Cz7s8E5VUBh4/g2TTke+oyMQ6zx27zPfFbw/Dt6m0iqGfPfCrKFaYsl1YgKGmHxuCwdYo9HfimUKJ/nmC3HYqPacvzECtl+w== Received: from BN9PR03CA0531.namprd03.prod.outlook.com (2603:10b6:408:131::26) by DS7PR12MB5982.namprd12.prod.outlook.com (2603:10b6:8:7d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.13; Wed, 23 Sep 2026 10:40:42 +0000 Received: from BN3PEPF00022BC5.namprd05.prod.outlook.com (2603:10b6:408:131:cafe::93) by BN9PR03CA0531.outlook.office365.com (2603:10b6:408:131::26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.451.14 via Frontend Transport; Wed, 23 Sep 2026 10:40:41 +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 BN3PEPF00022BC5.mail.protection.outlook.com (10.167.248.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.8 via Frontend Transport; Wed, 23 Sep 2026 10:40:40 +0000 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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.2562.49; Wed, 23 Sep 2026 03:40:24 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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.2562.49; Wed, 23 Sep 2026 03:40:24 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.2562.49 via Frontend Transport; Wed, 23 Sep 2026 03:40:19 -0700 From: Tariq Toukan To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , , Paolo Abeni CC: Akiva Goldberger , Cosmin Ratiu , Gal Pressman , Leon Romanovsky , open list , , Mark Bloch , Moshe Shemesh , Or Har-Toov , Saeed Mahameed , Shay Drory , Tariq Toukan Subject: [PATCH net-next 06/13] net/mlx5: LAG, size debugfs buffers by port count Date: Wed, 23 Sep 2026 13:38:23 +0300 Message-ID: <20260923103830.1183-7-tariqt@nvidia.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20260923103830.1183-1-tariqt@nvidia.com> References: <20260923103830.1183-1-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BC5:EE_|DS7PR12MB5982:EE_ X-MS-Office365-Filtering-Correlation-Id: 26538e26-3af2-4592-3756-08df195f1d0b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|23010399003|36860700016|82310400026|10067099003|56012099006|11063799006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: Lh6Oupe5ScRja4LtNfz7qPythvgb26Ymvi1Y3cYaKjV7YB7sHMprUHXqMk4FQokHEtTB5a1auWYLn2SyRNG+WQQeSjLuyxyxZNW6opmaJIrVSdmc/aQhp/n1HsS/TjktGCxqabcRNCrPnjwIoYw8IxZLt+qzksvQrwpN6zsqh2N7Ji5bYy+yrNPwOXUQ8SG79ZQQxGvNifCFUSHr1qZU1MqoTCTe9uIZehrN91mP5FNMu8zrgJvnqwwG+YELaZBVtVywY52+bFB3JYqr9vlolC7aAdpzD1j3czAv/leMOIeFVcULuwv+tq/vmbimAd6D2lnpxek/97j3nH+AhsUWs/lhghdffJduGQowwkhfnrB0LKTRm9EAOQyGE6AqV98IiqYbye+zsrqVvz53bn5J3FIKI4fqPGkdxgXVFHRD0z+Vhf31sym9JMed/dwC4BAAAXeredmp+oOKIyyuzfLJTgLNecxHIhTlfvl8pXHiXLEvmU9zg76EhL2BRnHuODBhG71BM5JEO92kLuxnz5WS8hK/pnULrHq4bAG/2bub0DEkgz00cqxjvhiZB5iNfLytjdk/E/doXKSidxm3fUiGk8fSXMWr6/RF6w5HiUiZaCxil8GQgTIEdOuTvOr49kSCps/3HK2FqE6iIh3J2lb6NKRI8AbvQyKlWJLTka3XqjvN04iZrLqG1RTWxyD8f08SL+MJ+ve4baREx1b/fMkEwQ== 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:(13230040)(1800799024)(376014)(23010399003)(36860700016)(82310400026)(10067099003)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: e+zS5O1GvwedCHBA7AdohmEy0eXQy2I8Hby8tn6qqffFYQWJ9W+fw7kMySymKnSb4tiLww461I9R9GJiExBOQSXbgWgv8mRXUfkXG2smBIyYyWENbzOR3Q5RCMoDAY/WtBfTAA/va9WBwkX/8ULctHvHluuLa7UWtlL8dp01hgiucc78fPrbkVVsRJShish6yFG7jEugqM1pFkYAJTnfg+E8unVjyC1CuMCLg50/q/d6VUYuNpYvxqRp9wJtBqg+8HYGPO9wiUiqeDjaj4zEzDGuIuskwKiMrepkBTLJotH9SCW9OyOWkAfuGKyC3zrVVsEPhOq3y/llVKwUjnM690iMUgQkKD84eea4yDxDXCKdjaneuTIG0f7JyyDkTGwsvAho33xmkLiUt3HIabvNXu4cg3c1Q7M1YqFqgj2RVUdyN5rbL9HCInZiPiST077Y X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2026 10:40:40.7691 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 26538e26-3af2-4592-3756-08df195f1d0b 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: BN3PEPF00022BC5.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5982 Content-Type: text/plain; charset="utf-8" From: Shay Drory debugfs mapping_show() uses constant MLX5_MAX_PORTS to size ports array. Instead, allocate dynamically using actual number of ports. Signed-off-by: Shay Drory Reviewed-by: Moshe Shemesh Reviewed-by: Akiva Goldberger Signed-off-by: Tariq Toukan --- drivers/net/ethernet/mellanox/mlx5/core/lag/debugfs.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/debugfs.c b/driver= s/net/ethernet/mellanox/mlx5/core/lag/debugfs.c index e9b8d79d2d21..44296789d656 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag/debugfs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/debugfs.c @@ -101,14 +101,18 @@ static int flags_show(struct seq_file *file, void *pr= iv) static int mapping_show(struct seq_file *file, void *priv) { struct mlx5_core_dev *dev =3D file->private; - u8 ports[MLX5_MAX_PORTS] =3D {}; struct mlx5_lag *ldev; bool hash =3D false; bool lag_active; int i, idx =3D 0; int num_ports; + u8 *ports; =20 ldev =3D mlx5_lag_dev(dev); + ports =3D kcalloc(ldev->ports, sizeof(*ports), GFP_KERNEL); + if (!ports) + return -ENOMEM; + mutex_lock(&ldev->lock); lag_active =3D __mlx5_lag_is_active(ldev); if (lag_active) { @@ -123,8 +127,10 @@ static int mapping_show(struct seq_file *file, void *p= riv) } } mutex_unlock(&ldev->lock); - if (!lag_active) + if (!lag_active) { + kfree(ports); return -EINVAL; + } =20 for (i =3D 0; i < num_ports; i++) { if (hash) @@ -133,6 +139,7 @@ static int mapping_show(struct seq_file *file, void *pr= iv) seq_printf(file, "%d:%d\n", i + 1, ports[i]); } =20 + kfree(ports); return 0; } =20 --=20 2.44.0 From nobody Thu Sep 24 12:53:01 2026 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012019.outbound.protection.outlook.com [40.93.195.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3223A49E5E0; Wed, 23 Sep 2026 10:40:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.19 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160086; cv=fail; b=mdKFGFx76tc+9rVg1GI7+C8L6R179MDmEHieslJDQz2vZYDqnRSvVvfuDec2YD/XNlCVWRNBglo2+uLyABF5X+qi1GR7k4DDLtxdi1jn1l9seBYJwpze+VB1xO25xDAd4S2bfLNJK8md6Bk7/Q8Hhpinn6A4ssTc5tiqmsKF9vM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160086; c=relaxed/simple; bh=mRWQ7XwTOX3oeSiURMCdPOFcAl185E1YJquGxUw97vI=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Q48So6RsvuObNPCkq29JOaxyOf/TFwwl63unXw4jYSj+akqaNLG1DedATVH9ck5wWBA7QQPZsgyvEWAO34PKxTk1H3A4xMQxcW7XdqDES0G5jlURj6uFda+bi+xAMa3EViAz8n6vd3Gf9qSXHGVdD6ZyTyVojcIR3SathVi2lYk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=C5m+DOPB; arc=fail smtp.client-ip=40.93.195.19 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="C5m+DOPB" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=j/n+E3n1l9NxvuKgOv4j8VlwYzDegumU1f39Vswp5g88NKJqYsBebPcUXKDtqeJkbkM9QvO9DKJnO/vVrGCMp8OJhovKVbnqAd8/vS/zYr2MoObhnRr35ELzvl6WJl0aL2+CkLtEcRTK0G+hEhuYOSwxrz09CljrQS8u3AgzrJRg8kHTPdp4iFmm8TbCxIZ/vXQzw2p8Qs4BHBYtNq/jbHtt9qkDdgpkvlv8/MDbLQ6a9f02vxFbHIqxLDBs4eHk9Xoyj5D1I+bH3HDbRqpN4QWSHSWiBG+8+oem2ovkr0TjbO0IxpY0suz0Y1aAD0fdYNXkviJ0K3HzrO3f6KI7hQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=cXNrUYqZmq0ST+9278A4L7YU8vZCo27DZUwgY4QxpY4=; b=WqvuxwYHB1jmU0o4Jyh2kHyaS+GG5UHz6PhTeF2W3tp9FtGw+fOKo5aEq4YXQ8A2F7DXR8yyjpxo8LpNEXBclbSLIjtP3w/wmv9mL96O4PUFUscPHG4fMI/+cNTLYxUF32vKnwFZXt4upreIqM7H/7wLAR1YcIzMuLBPskvT07sN5xINQR/t4IxakPiIbZ0Bmg4mrlcpbP+Uoq8ZNGUNrJHTACbTqb+x9NJqXXCYqU9WWfEBvtmCyswdKQ+iC8vH8celF6qi6K1ycYEH5UPGfXKfKDU4e8DGtXUGyMCVqYANTaJ7JcP8nZGDesa9SnK5fu0r8VeLjCcQWUDzbKu6tw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=lunn.ch 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=cXNrUYqZmq0ST+9278A4L7YU8vZCo27DZUwgY4QxpY4=; b=C5m+DOPBEsTRnpMhyBRGWQJ+stvmDct/uX8v5Pn/vqbxJW4JMk/nTEB8jSrpDejlsvAhzEmKSZ66EwWsHlo7R4Y8FU0jqAC9IM7uAvHakpyRydz+9hB8nLUPdWOJXIFVoDSANgFYkix5Ka9OJ6nQc+FsM15oKdlpl0GWmJ2aAGaTY1XgXIoAU4vwXF28o4kRg9HKlDtP2X8D/G2eXxFqZVjCn/rw0bIlIhFVsqyC2ms6b+fvK+qXE5fmPVr3IN1jmIRyyyOHjW16I56U4H9qTiqMK00owZyReDMMOM9Zyx6ZwfSVWdyC8Cm/im1M59p4u0s+n+iR7pLonChvuwq7+w== Received: from BN9PR03CA0505.namprd03.prod.outlook.com (2603:10b6:408:130::30) by IA1PR12MB7638.namprd12.prod.outlook.com (2603:10b6:208:426::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.14; Wed, 23 Sep 2026 10:40:49 +0000 Received: from BN3PEPF00022BC9.namprd05.prod.outlook.com (2603:10b6:408:130:cafe::27) by BN9PR03CA0505.outlook.office365.com (2603:10b6:408:130::30) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.451.14 via Frontend Transport; Wed, 23 Sep 2026 10:40:49 +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 BN3PEPF00022BC9.mail.protection.outlook.com (10.167.248.218) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.8 via Frontend Transport; Wed, 23 Sep 2026 10:40:49 +0000 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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.2562.49; Wed, 23 Sep 2026 03:40:29 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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.2562.49; Wed, 23 Sep 2026 03:40:29 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.2562.49 via Frontend Transport; Wed, 23 Sep 2026 03:40:24 -0700 From: Tariq Toukan To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , , Paolo Abeni CC: Akiva Goldberger , Cosmin Ratiu , Gal Pressman , Leon Romanovsky , open list , , Mark Bloch , Moshe Shemesh , Or Har-Toov , Saeed Mahameed , Shay Drory , Tariq Toukan Subject: [PATCH net-next 07/13] net/mlx5e: TC, anchor peer-flow reverse index on the duplicated flow Date: Wed, 23 Sep 2026 13:38:24 +0300 Message-ID: <20260923103830.1183-8-tariqt@nvidia.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20260923103830.1183-1-tariqt@nvidia.com> References: <20260923103830.1183-1-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BC9:EE_|IA1PR12MB7638:EE_ X-MS-Office365-Filtering-Correlation-Id: 4ddc0f5e-1089-4126-5d15-08df195f21f2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|376014|1800799024|82310400026|36860700016|10067099003|56012099006|11063799006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: OyEX+V8gW17kXQCGuQQfANVgdyJgbZIlHABPZqY6Epv5+Lf+KM4vPkjJ57bQfszXh+t0+dEKnOkfEH+Ql9Kfw9/UNRtWZAPCA4G7JgNCa0kqcyW+pjxq7ZVGohncEuZUXG/bLYN1AzMUZ8Xri3mALFX0k/CTIJKQKoNrblKC/Pcg1RcARk5Gg4xh7R9wt9Wyr2hRudzT9TeDdB87Mso0VxU+aKZ4YR3t6aJjWWM7UjQF/I3/KJFmTF8iYJkkOM12cvs2XEVYmFUvGFdMhoP6OYaO9qsaLv2jyh45hq7CWyktnsjnzxRb9GxZ376E/fEs0ShT0TRFeoIOvlnDhEE4u5iS6DzRN0o17OMao018aXeZ/VGeHvS9AQxwaMTxqLrl4DqwtzFo67J8KE3SRbGcAN1ePNZ/qgB3uYoa3h10mOoLhoerw8+OP1OlOHKY9kiqekwAUBDDgsthS+b7/Ie1quei5iXQIKhIXO2w8CorOULOUtTYRH+30i74PrcKj2SqTl4dGkuirxeViYasNawh0uKoICkK8MznWPyVyaFBNAs1J3g6DR3jqzCXfY7wHfO/CFTeq8fdxc6uL1kfwCeh9O06+e5pikSco+OWQ6w4I/g2T8gJhDI7tuvzbes7bLsyYCIi01HV7Tg8wNXg4WrNbkhnP8PFBP4sDTPIQjXamL7TQhzJRiUQ3GsTQfOkRrKMDip2fApCO+JO/Sx09gIarw== 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:(13230040)(23010399003)(376014)(1800799024)(82310400026)(36860700016)(10067099003)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: v0dL5KulHoyW64Mkain+n4WSb+xw1m0DPrYUS/rDLb76nYcLETpr9jO2CWcUzMBQHFPCCmBdMIAYvZUSVl198XGZ5qtOy7YPBT+WHWnNo7z7MjL18dyJ6R0B2l+gC8PsBfjeOVdRXmYtbOEdvVVqn6hprU3SDFxJgcSMF68cqNiPmiaeynQosp2+nsGw/HVXJ+t0YqgnoiH/SUx+mBELU6t2cT12PEmOhPTP5OAX+x8jU8tSfswN6dG8gijHZATwkqMGv6UUh+SUVCZ/xJ7kGXN0CtcsQ4oz2G6ul96seVuLF0//on0HwlfHC/UxL4yna0nssySdG0bpwCg9TqhXhevTjjFtlA36kcIkHFLBUQ+vxjo5MhdC2hxAfyTb3X0Yr+w0NStgi+98Pk4PD+JhWNbv/rzq5nM8A8X/9f+31o89PGb1RYAzYQIDMcS8nGzN X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2026 10:40:49.0146 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4ddc0f5e-1089-4126-5d15-08df195f21f2 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: BN3PEPF00022BC9.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7638 Content-Type: text/plain; charset="utf-8" From: Shay Drory A TC eswitch flow offloaded to a shared FDB is duplicated onto every peer eswitch. Besides the forward list of duplicates on the origin flow (mlx5e_tc_flow.peer_flows), the eswitch keeps a reverse index, esw->offloads.peer_flows[], an array of per-peer list heads keyed by the peer's LAG sequence number, used to tear down a peer's duplicates when it is removed. That reverse index was anchored on the origin: since one origin can have a duplicate on every peer, the origin carried per-peer storage sized to the max port count - a peer[MLX5_MAX_PORTS] array of list nodes plus a peer_used bitmap - and each duplicate stored its peer_index. Anchor it on the duplicate instead, which belongs to a single peer. Give each flow one list node, mlx5e_tc_flow.peer, and place the duplicate - not the origin - on its peer's list through it; add a peer_orig back-ref so del can reach the origin from the duplicate. One node then replaces the origin's per-peer array, and del unlinks the duplicate directly, so peer[], peer_used and peer_index are dropped. The per-peer list heads remain the fixed esw->offloads.peer_flows[] array keyed by the LAG sequence number - that array is replaced in the next patch. No functional change. Signed-off-by: Shay Drory Reviewed-by: Moshe Shemesh Reviewed-by: Akiva Goldberger Signed-off-by: Tariq Toukan --- .../ethernet/mellanox/mlx5/core/en/tc_priv.h | 14 ++--- .../net/ethernet/mellanox/mlx5/core/en_tc.c | 59 ++++++++----------- 2 files changed, 29 insertions(+), 44 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_priv.h b/drivers= /net/ethernet/mellanox/mlx5/core/en/tc_priv.h index 7bfe7cdc5770..1ceebab4ce08 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_priv.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_priv.h @@ -97,18 +97,14 @@ struct mlx5e_tc_flow { struct encap_flow_item encaps[MLX5_MAX_FLOW_FWD_VPORTS]; struct mlx5e_hairpin_entry *hpe; /* attached hairpin instance */ struct list_head hairpin; /* flows sharing the same hairpin */ - struct list_head peer[MLX5_MAX_PORTS]; /* flows with peer flow */ - DECLARE_BITMAP(peer_used, MLX5_MAX_PORTS); /* tracks populated peer - * slots - */ + struct list_head peer; /* dup: node in origin esw's peer_flows */ struct list_head unready; /* flows not ready to be offloaded (e.g * due to missing route) */ - struct list_head peer_flows; /* flows on peer */ - int peer_index; /* peer-flow index pinned at add time, used at del - * time so removal is independent of LAG state - * changes between add and del. - */ + + /* origin: its dups; dup: node on that list */ + struct list_head peer_flows; + struct mlx5e_tc_flow *peer_orig; /* dup: back-ref to origin flow */ struct net_device *orig_dev; /* netdev adding flow first */ int tmp_entry_index; struct list_head tmp_list; /* temporary flow list used by neigh update */ diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/= ethernet/mellanox/mlx5/core/en_tc.c index b290beb4369a..fae4f8625da4 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -2116,43 +2116,35 @@ void mlx5e_put_flow_list(struct mlx5e_priv *priv, s= truct list_head *flow_list) mlx5e_flow_put(priv, flow); } =20 -static void mlx5e_tc_del_fdb_peer_flow(struct mlx5e_tc_flow *flow, - int peer_index) +static void mlx5e_tc_del_fdb_peer_flow(struct mlx5e_tc_flow *peer_flow) { - struct mlx5_eswitch *esw =3D flow->priv->mdev->priv.eswitch; - struct mlx5e_tc_flow *peer_flow; - struct mlx5e_tc_flow *tmp; - - if (!flow_flag_test(flow, ESWITCH) || - !flow_flag_test(flow, DUP)) - return; + struct mlx5e_tc_flow *flow =3D peer_flow->peer_orig; + struct mlx5_eswitch *esw; =20 + esw =3D flow->priv->mdev->priv.eswitch; mutex_lock(&esw->offloads.peer_mutex); - list_del(&flow->peer[peer_index]); - clear_bit(peer_index, flow->peer_used); + list_del(&peer_flow->peer); mutex_unlock(&esw->offloads.peer_mutex); =20 - list_for_each_entry_safe(peer_flow, tmp, &flow->peer_flows, peer_flows) { - if (peer_index !=3D peer_flow->peer_index) - continue; - - list_del(&peer_flow->peer_flows); - if (refcount_dec_and_test(&peer_flow->refcnt)) { - mlx5e_tc_del_fdb_flow(peer_flow->priv, peer_flow); - kfree(peer_flow); - } - } - + list_del(&peer_flow->peer_flows); if (list_empty(&flow->peer_flows)) flow_flag_clear(flow, DUP); + + if (refcount_dec_and_test(&peer_flow->refcnt)) { + mlx5e_tc_del_fdb_flow(peer_flow->priv, peer_flow); + kfree(peer_flow); + } } =20 static void mlx5e_tc_del_fdb_peers_flow(struct mlx5e_tc_flow *flow) { - int i; + struct mlx5e_tc_flow *peer_flow, *tmp; =20 - for_each_set_bit(i, flow->peer_used, MLX5_MAX_PORTS) - mlx5e_tc_del_fdb_peer_flow(flow, i); + if (!flow_flag_test(flow, ESWITCH) || !flow_flag_test(flow, DUP)) + return; + + list_for_each_entry_safe(peer_flow, tmp, &flow->peer_flows, peer_flows) + mlx5e_tc_del_fdb_peer_flow(peer_flow); } =20 static void mlx5e_tc_del_flow(struct mlx5e_priv *priv, @@ -4639,12 +4631,11 @@ static int mlx5e_tc_add_fdb_peer_flow(struct flow_c= ls_offload *f, goto out; } =20 - peer_flow->peer_index =3D i; + peer_flow->peer_orig =3D flow; list_add_tail(&peer_flow->peer_flows, &flow->peer_flows); flow_flag_set(flow, DUP); mutex_lock(&esw->offloads.peer_mutex); - list_add_tail(&flow->peer[i], &esw->offloads.peer_flows[i]); - set_bit(i, flow->peer_used); + list_add_tail(&peer_flow->peer, &esw->offloads.peer_flows[i]); mutex_unlock(&esw->offloads.peer_mutex); =20 out: @@ -5539,21 +5530,19 @@ int mlx5e_tc_num_filters(struct mlx5e_priv *priv, u= nsigned long flags) =20 void mlx5e_tc_clean_fdb_peer_flows(struct mlx5_eswitch *esw) { - struct mlx5_devcom_comp_dev *devcom; - struct mlx5_devcom_comp_dev *pos; - struct mlx5e_tc_flow *flow, *tmp; + struct mlx5_devcom_comp_dev *devcom =3D esw->devcom, *pos; + struct mlx5e_tc_flow *peer_flow, *tmp_peer_flow; struct mlx5_eswitch *peer_esw; int i; =20 - devcom =3D esw->devcom; - mlx5_devcom_for_each_peer_entry(devcom, peer_esw, pos) { i =3D mlx5_lag_get_dev_seq(peer_esw->dev); if (i < 0) continue; =20 - list_for_each_entry_safe(flow, tmp, &esw->offloads.peer_flows[i], peer[i= ]) - mlx5e_tc_del_fdb_peers_flow(flow); + list_for_each_entry_safe(peer_flow, tmp_peer_flow, + &esw->offloads.peer_flows[i], peer) + mlx5e_tc_del_fdb_peer_flow(peer_flow); } } =20 --=20 2.44.0 From nobody Thu Sep 24 12:53:01 2026 Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011061.outbound.protection.outlook.com [52.101.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E22284A093D; Wed, 23 Sep 2026 10:41:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.62.61 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160092; cv=fail; b=eopVXw9xniAL+6+kvz7YqijlUWyZez8jrq1cAYqBM3z3lMVX9H10lPGv4JFLFyg2246yqbEJ0Y4GhJIIoLHHAQCIe/YSn3wjPAzbwhRD99g6H824BdWlor+cWq3ycH+HdjgyKoH8TFZ+6M9hdi8/MrgUWiU6nDgavUFlmhfkdIc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160092; c=relaxed/simple; bh=Ti5cNctTUYwX6QWQdeZrDrLxafslmYTaErRnRozxn64=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ObtdgSGKbDdpZvmOMmt12nvS599LVEjI4/77Y/TLDRmJL92cpOpgfr3SNzs8vo37LtofpObebH4nVu6cL/zsAyDWkR4Bi9cK0BToXF68HcI1sEeuyHaQvJIELn/eCdYqeFzGVyaqzEOPLnTw/4PR5yrN2iwD1nMidyb0rJMblUE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=BSFceCWd; arc=fail smtp.client-ip=52.101.62.61 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="BSFceCWd" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BZRqRxKZ3o1UPwB7VxmOXORjYxTGsZ/zaENQTcaJRhnByz9XXpQyIPc34ekvHA90shE1VjDbLJLjJVu2/g6OTq3QRECUz6deUXIoKcIFjStzC4EfTLCPvlSGH1/UhlO6DI7cXZxhdMrmOJPz58xA7D4FPVJJmG75YufAL4W5uI1FUJmpMZayM117nyyGNS/tWcqWYoZ4T/04snx/F7QKN3PUsfMXdXqUsCyZYxYd2Hh4LH0kpryWYJlvUZoGfONeft2mE2KdWm3GfAZJ/UFmGQKNPa3lrjg+HeKY0dRArR8WBPNyg7A1PAsNhE+PmneGntWweJZcIzawcvdZm2MYlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=n6a+hkVaRteaJfvQSavsNbKSNFA/vY23RfLYdPUV2fs=; b=dYU6kGCDAgaNIQ571yRTgW3ViE5iTeVb4GbiEjKOtmKvYUKW1q7XH841MA2sGteg0IVtvOTJB0KwU0yFaiZje55JEAK7ctBzb2m8Rev8Z5C0WVCr2y19rwAS/uK6qlvb7C60DE2yO1oSwW/Iek/uZrsg4DmRoBGfIMIkn4i9NqKnJyB2JJNntYhiRQZFxc8TvDbSiMnTmCi8qzw/WhtxEv40iHkkYrAxl/az9ye0hPkWfSCAwwwOCBJiuJBY/WlWD6WSJb2VZDfKOroL7ZbI51gUp2T1Dk3+y3H/oyPYz8e76YLQJfHgLvmYW7CSsXBwXtNSzo5HJBp201IKaHD7yg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=lunn.ch 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=n6a+hkVaRteaJfvQSavsNbKSNFA/vY23RfLYdPUV2fs=; b=BSFceCWdKgyuuFuPAUhHChc24vf++5EKhxZDbRa6W10ZlOVD0OXj4V8CO1E1anYn0dW27JegZ0Cz/IeNAtj6ZuL2x+PAkjxJiPspdqjc1M5BJFNTB5poYZhjzltzvguIZZr6OqroB7pVj/JvF6U8uU6rqv5Pv5tQq9thG58mXbEN8ZDjdaTO5OnDl83+TESs8sU7jMIwXy6bz/aLsh0G11P0nWRQgUsb7uEYvBmF2ncaFmQB1dy7CN8QHXmiTCcMKkE792Dw5GNMMpEJmvaUHAKgMAwDYKgjEMBF/3Nz9BoLuppW3SWbwn/oeBnFGm1THKXVR1cjFr8LYPvQSKVo8w== Received: from BN0PR07CA0030.namprd07.prod.outlook.com (2603:10b6:408:141::13) by BL3PR12MB6594.namprd12.prod.outlook.com (2603:10b6:208:38d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.14; Wed, 23 Sep 2026 10:40:54 +0000 Received: from BN3PEPF00022BC7.namprd05.prod.outlook.com (2603:10b6:408:141:cafe::1) by BN0PR07CA0030.outlook.office365.com (2603:10b6:408:141::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.451.14 via Frontend Transport; Wed, 23 Sep 2026 10:40:54 +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 BN3PEPF00022BC7.mail.protection.outlook.com (10.167.248.212) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.8 via Frontend Transport; Wed, 23 Sep 2026 10:40:53 +0000 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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.2562.49; Wed, 23 Sep 2026 03:40:34 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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.2562.49; Wed, 23 Sep 2026 03:40:34 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.2562.49 via Frontend Transport; Wed, 23 Sep 2026 03:40:29 -0700 From: Tariq Toukan To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , , Paolo Abeni CC: Akiva Goldberger , Cosmin Ratiu , Gal Pressman , Leon Romanovsky , open list , , Mark Bloch , Moshe Shemesh , Or Har-Toov , Saeed Mahameed , Shay Drory , Tariq Toukan Subject: [PATCH net-next 08/13] net/mlx5e: TC, track peer flows in a vhca_id xarray Date: Wed, 23 Sep 2026 13:38:25 +0300 Message-ID: <20260923103830.1183-9-tariqt@nvidia.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20260923103830.1183-1-tariqt@nvidia.com> References: <20260923103830.1183-1-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BC7:EE_|BL3PR12MB6594:EE_ X-MS-Office365-Filtering-Correlation-Id: 8b763d84-78bb-4fdc-4efe-08df195f24c8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|376014|1800799024|82310400026|36860700016|10067099003|56012099006|11063799006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: Fpr4EeaS1MCMxGYa2DCQQuhYIbBz8qv/T5NhHdIC5HoENA/kg7msol1ZOpsuigS3aQYb9AuS2zWX7NVh4yOcK84bJoyCYTV/7VpeWIOZ03+mc48UjKdDUGLWp6LczC03uFt8NdHMB4eaEDUDXY/2SFByE5ZiXo/A15zcyo4jpb/Rbs8tfvB7EkRqGrdxn/sxMqOT6SSPhEnsbfuIXeWdcgU573wA8eXtJxWfC+HFwdGSGWVdMV/E45q/HIMJudMbmBy5cmoVPfqdEgeCipItajIvdTyBARUQxj06sP6AjsGXu1QAlXL+9cRGwMUQOQvm3A+TV8ce5arnh53NiazOfFaArEAwXAAPS5OdLlDjl2qTeFZ6J+qOB4h2aZ1KuVGFzDiMTHQI1uDj5s01BwH/L0h9xZdSf5QZypBjux/MhzI0pP4SVHa5fy+p/uuXaBUBMUJHskKthLOcjNIu7X5fIXCwbnwMqnRgltv3WQmoHU+elbWJP30Ne1DIQMvphcUDL3YghpbYDdcJtN2/RIQm5Sm5dqtmPkWvin6XvnVEv4IvA42fQpuZzj9ZxVclJiivYBmgCCPH1uaGYQ+2uIUV7ufnZFhH28okessahFAtEFPSvnjIaexw1oyXJbE5YohOheTORDMc9+h/+5yVhxOlbfuml4eu7v1RTCwjWcpayjqrmXLVFnu17JqK9bitFAFnHpAcvMBMRJ/0am0hTh08Fw== 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:(13230040)(23010399003)(376014)(1800799024)(82310400026)(36860700016)(10067099003)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ouapHfzDcSfAjzre65hn3t+cnnWl5G9JBNqS+hugF5B/LXzLKzWhu6F7TNjuo9jSgF7hPJ6PsJjBastTccGtxYHTAyhSn16LtrubMTPa+BFTMJs6TGcxzytJvK2FnXFkSzVzEOzVu6P6c0U36m8pC6d4V4R2eRaShbxJkGmwjGazInpUxs8qN8/qH/9HwAhpoi2myZYx6hRi+iuuh+8zH3zWZTh3BhhJhPClizYgmT47kTmY5eRc54IlFyWRPPJhQ4qV/RiTQzOSxcPdxHd7meqeYqL8pusGyjni5rYcuKbDFY8FRPXx4cnPeUNT1NuJNAfdqmVJTSo6He/JIdY0xJ9zbTK/8QwJXopfNdn9XFqYm4/tU4gq0hLjAdAHthtBN2dX2F123UapHDXXrWk04khK8eAe4GUJ+ijmJcBqqXaN4TjAFLVXVIs5E43LIV0m X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2026 10:40:53.7764 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8b763d84-78bb-4fdc-4efe-08df195f24c8 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: BN3PEPF00022BC7.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6594 Content-Type: text/plain; charset="utf-8" From: Shay Drory The per-peer reverse index lived in a fixed esw->offloads.peer_flows[] array of list heads indexed by the peer's LAG sequence number, capping a shared FDB at MLX5_MAX_PORTS members. Replace the array with an xarray keyed by the peer vhca_id. Each entry is a heap-allocated list head that chains the flows duplicated to that peer via their peer node. This lifts the MLX5_MAX_PORTS cap: the number of peers is bounded only by the number of distinct vhca_ids. The lifetime of the duplicated peer flows list_head follows the devcom pairing of the two eswitches: - pair (mlx5_esw_offloads_pair): kzalloc_obj + INIT_LIST_HEAD + xa_store the dup_peer_flows under the peer's vhca_id. - add (mlx5e_tc_add_fdb_peer_flow): xa_load the dup_peer_flows and list_add the duplicated flow's peer node. - del (mlx5e_tc_del_fdb_peer_flow): list_del that node. - flush (mlx5e_tc_clean_fdb_peer_flows): xa_for_each dup_peer_flows, drop every duplicated flow on it; called from unpair. - unpair (mlx5_esw_offloads_unpair): xa_erase + kfree the dup_peer_flows. So a dup_peer_flows is created when the local eswitch pairs with a peer over devcom and freed when they unpair. No functional change. Signed-off-by: Shay Drory Reviewed-by: Moshe Shemesh Reviewed-by: Akiva Goldberger Signed-off-by: Tariq Toukan --- .../net/ethernet/mellanox/mlx5/core/en_tc.c | 22 +++++++--------- .../net/ethernet/mellanox/mlx5/core/eswitch.h | 2 +- .../mellanox/mlx5/core/eswitch_offloads.c | 26 ++++++++++++++++--- 3 files changed, 34 insertions(+), 16 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/= ethernet/mellanox/mlx5/core/en_tc.c index fae4f8625da4..c99e824b4c6d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -4596,12 +4596,13 @@ static int mlx5e_tc_add_fdb_peer_flow(struct flow_c= ls_offload *f, unsigned long flow_flags, struct mlx5_eswitch *peer_esw) { + u16 peer_vhca_id =3D MLX5_CAP_GEN(peer_esw->dev, vhca_id); struct mlx5e_priv *priv =3D flow->priv, *peer_priv; struct mlx5_eswitch *esw =3D priv->mdev->priv.eswitch; struct mlx5_esw_flow_attr *attr =3D flow->attr->esw_attr; struct mlx5e_tc_flow_parse_attr *parse_attr; - int i =3D mlx5_lag_get_dev_seq(peer_esw->dev); struct mlx5e_rep_priv *peer_urpriv; + struct list_head *dup_peer_flows; struct mlx5e_tc_flow *peer_flow; struct mlx5_core_dev *in_mdev; int err =3D 0; @@ -4634,8 +4635,11 @@ static int mlx5e_tc_add_fdb_peer_flow(struct flow_cl= s_offload *f, peer_flow->peer_orig =3D flow; list_add_tail(&peer_flow->peer_flows, &flow->peer_flows); flow_flag_set(flow, DUP); + dup_peer_flows =3D xa_load(&esw->offloads.peer_flows, peer_vhca_id); + if (!dup_peer_flows) + return -ENODEV; mutex_lock(&esw->offloads.peer_mutex); - list_add_tail(&peer_flow->peer, &esw->offloads.peer_flows[i]); + list_add_tail(&peer_flow->peer, dup_peer_flows); mutex_unlock(&esw->offloads.peer_mutex); =20 out: @@ -5530,20 +5534,14 @@ int mlx5e_tc_num_filters(struct mlx5e_priv *priv, u= nsigned long flags) =20 void mlx5e_tc_clean_fdb_peer_flows(struct mlx5_eswitch *esw) { - struct mlx5_devcom_comp_dev *devcom =3D esw->devcom, *pos; struct mlx5e_tc_flow *peer_flow, *tmp_peer_flow; - struct mlx5_eswitch *peer_esw; - int i; - - mlx5_devcom_for_each_peer_entry(devcom, peer_esw, pos) { - i =3D mlx5_lag_get_dev_seq(peer_esw->dev); - if (i < 0) - continue; + struct list_head *dup_peer_flows; + unsigned long index; =20 + xa_for_each(&esw->offloads.peer_flows, index, dup_peer_flows) list_for_each_entry_safe(peer_flow, tmp_peer_flow, - &esw->offloads.peer_flows[i], peer) + dup_peer_flows, peer) mlx5e_tc_del_fdb_peer_flow(peer_flow); - } } =20 void mlx5e_tc_reoffload_flows_work(struct work_struct *work) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h b/drivers/ne= t/ethernet/mellanox/mlx5/core/eswitch.h index 8b1f93b13ea9..e9cbcd73b23f 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h @@ -319,7 +319,7 @@ struct mlx5_esw_offload { struct mlx5_flow_handle *vport_rx_drop_rule; struct mlx5_flow_table *ft_ipsec_tx_pol; struct xarray vport_reps; - struct list_head peer_flows[MLX5_MAX_PORTS]; + struct xarray peer_flows; struct mutex peer_mutex; struct mutex encap_tbl_lock; /* protects encap_tbl */ DECLARE_HASHTABLE(encap_tbl, 8); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/d= rivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index e7d92d9bde16..c712848b202d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -3383,10 +3383,15 @@ static void mlx5_esw_offloads_rep_event_unpair(stru= ct mlx5_eswitch *esw, static void mlx5_esw_offloads_unpair(struct mlx5_eswitch *esw, struct mlx5_eswitch *peer_esw) { + struct list_head *dup_peer_flows; + #if IS_ENABLED(CONFIG_MLX5_CLS_ACT) mlx5e_tc_clean_fdb_peer_flows(esw); #endif mlx5_esw_offloads_rep_event_unpair(esw, peer_esw); + dup_peer_flows =3D xa_erase(&esw->offloads.peer_flows, + MLX5_CAP_GEN(peer_esw->dev, vhca_id)); + kfree(dup_peer_flows); esw_del_fdb_peer_miss_rules(esw, peer_esw->dev); } =20 @@ -3394,6 +3399,7 @@ static int mlx5_esw_offloads_pair(struct mlx5_eswitch= *esw, struct mlx5_eswitch *peer_esw) { const struct mlx5_eswitch_rep_ops *ops; + struct list_head *dup_peer_flows; struct mlx5_eswitch_rep *rep; unsigned long i; u8 rep_type; @@ -3403,6 +3409,20 @@ static int mlx5_esw_offloads_pair(struct mlx5_eswitc= h *esw, if (err) return err; =20 + dup_peer_flows =3D kzalloc_obj(*dup_peer_flows); + if (!dup_peer_flows) { + err =3D -ENOMEM; + goto err_out; + } + INIT_LIST_HEAD(dup_peer_flows); + err =3D xa_err(xa_store(&esw->offloads.peer_flows, + MLX5_CAP_GEN(peer_esw->dev, vhca_id), + dup_peer_flows, GFP_KERNEL)); + if (err) { + kfree(dup_peer_flows); + goto err_out; + } + mlx5_esw_for_each_rep(esw, i, rep) { for (rep_type =3D 0; rep_type < NUM_REP_TYPES; rep_type++) { ops =3D esw->offloads.rep_ops[rep_type]; @@ -3549,10 +3569,8 @@ void mlx5_esw_offloads_devcom_init(struct mlx5_eswit= ch *esw, const struct mlx5_devcom_match_attr *attr) { int err; - int i; =20 - for (i =3D 0; i < MLX5_MAX_PORTS; i++) - INIT_LIST_HEAD(&esw->offloads.peer_flows[i]); + xa_init(&esw->offloads.peer_flows); mutex_init(&esw->offloads.peer_mutex); =20 if (!MLX5_CAP_ESW(esw->dev, merged_eswitch)) @@ -3595,6 +3613,8 @@ void mlx5_esw_offloads_devcom_cleanup(struct mlx5_esw= itch *esw) xa_destroy(&esw->paired); xa_destroy(&esw->fdb_table.offloads.peer_miss_rules); esw->devcom =3D NULL; + WARN_ON_ONCE(!xa_empty(&esw->offloads.peer_flows)); + xa_destroy(&esw->offloads.peer_flows); } =20 bool mlx5_esw_offloads_devcom_is_ready(struct mlx5_eswitch *esw) --=20 2.44.0 From nobody Thu Sep 24 12:53:01 2026 Received: from SA9PR02CU001.outbound.protection.outlook.com (mail-southcentralusazon11013004.outbound.protection.outlook.com [40.93.196.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 97E4D4A0127; Wed, 23 Sep 2026 10:41:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.196.4 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160074; cv=fail; b=WEAnq2DQQFEcpURMyetcZALmXhE1/I4dIPVCVAXuOl8NXxeOCB1Sk81ClebRqg7+tklvEHN4pd+ZII7GJNNPI5PmVMFNjA9fxiEY4WAsN2C6dKEo2902W3R2aNsFqhJxys/40LZhdSIFiDIQn+Yn8nG2yKvJr99mFj+6RSo5a+I= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160074; c=relaxed/simple; bh=9Yl5sijg3see7UdELRttZXAgRJg3eG+Fup19QBtcFhU=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=S69LSw7E0VvCVyF1zwOHRnzDeGLEcYmSB60xhZwYzYl6QxZ7zfnJ6TpGkXsWqSV4BRwUWD1jKM0j2h4oqRThC+NfK4VAuwMVRw99k9IDfecccQfkGRKtaoOh1yurRWON8bkAkY+iVqXQ0kIVcmuk+apAQ4/K6rb3u1bXdTD7AJg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=IgVTbkma; arc=fail smtp.client-ip=40.93.196.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="IgVTbkma" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=T+igexlwI4YIRPfDWpOY+YiAZ7l/CGH2VvpEjrps4oEa3dT5Abi36/BMt7f2Dhh3ky++T2eebSJlGh9Zs59qTl9wVTwMOS5BB2VCVNgiKATsVKieTztvkX97rEBayyOOyxKKyJipq8CxNx9+HaISM2/BiA2MwZJfVpXMrkBOj9GowGRPrfvwSz04XG+W0wRmYxvJ6VytoXaeXo6kgqjDkCjpOMV1H0BFK6rxvP9dxVjhmbMmqjXIol3gNFfVb0wwuNVLEcXwTdY7yJWLYHJifFiyOGb9W6C16cVAj7l9rGXAzm7Pm4OqBSajBgQepVaHTi4FPiLlD13Qh/j0OclRBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=YmDhGFPuUIAzPFXBk9Nn9YO1zRIgdQgAjGpHbJUfYsY=; b=PIlgRywlHp+EimFkyZoQZi+8YsGSXetXO5wkiimbhq8dbkSVJ2Pm6QQ4blCxn66/CM9gHew7tzpYJ1PZYpNY/WACOmW/kOjQmKIV7CHwmK32gI+xTRcJPOGYGN6y4K8T8s2ECYIxgVGzlkLNEeX+BzyldfE+BC65SGCU+Zs/fXr8YuirZ2UZ4eqdJIhKHeJLRhhb8oAULKA9lJQyrY5PCl3Fikura96d+EsX3ijtbBPeGy/SAME9KzepTT8lop4VHvKbgBgF2JsPMkKc039YNCLfsfcJk4G12/jhw83hTKLUPIsBUMPC64gDzjw0f5VihJqFUSqQstJ437E6v5sGiw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=lunn.ch 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=YmDhGFPuUIAzPFXBk9Nn9YO1zRIgdQgAjGpHbJUfYsY=; b=IgVTbkmaopJtDAdAt4j4KUCN38dWsjGEZVkt9oezKwr5ZsmOY0ICL4oZhyGhjCcDloRYG8aCi72W4KokvgYSU4S0vLMDeziLHhTjuJe27+3ji33SQ2CIy2p0nyEOElk7J9xOGg8wxyU5VUKjEOnoz2eZk1Ve9J7d/VCKYKrNH1+eOTpV03fwxKoZ7dOtjsNN7GLgnxX16wjkNCo1lotXkz4/DmUfTCEEOLd4Kv6CtvVazZHrTY5yyzGFMwK6Rz/ggftBI1kTtNOQqI1Im5G0dbRVFyncjVyAMqbXTRjZPdSfXTKf1f3nJaFrhJvpQGkxUatGopWyvJOgJ6z1OoquXA== Received: from SJ0PR05CA0086.namprd05.prod.outlook.com (2603:10b6:a03:332::31) by MN2PR12MB4127.namprd12.prod.outlook.com (2603:10b6:208:1d1::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.15; Wed, 23 Sep 2026 10:41:00 +0000 Received: from SJ1PEPF000023D2.namprd02.prod.outlook.com (2603:10b6:a03:332:cafe::20) by SJ0PR05CA0086.outlook.office365.com (2603:10b6:a03:332::31) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.428.6 via Frontend Transport; Wed, 23 Sep 2026 10:41:00 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) 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.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SJ1PEPF000023D2.mail.protection.outlook.com (10.167.244.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.8 via Frontend Transport; Wed, 23 Sep 2026 10:41:00 +0000 Received: from rnnvmail205.nvidia.com (10.129.68.10) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Wed, 23 Sep 2026 03:40:39 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) by rnnvmail205.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.2562.49; Wed, 23 Sep 2026 03:40:39 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.2562.49 via Frontend Transport; Wed, 23 Sep 2026 03:40:34 -0700 From: Tariq Toukan To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , , Paolo Abeni CC: Akiva Goldberger , Cosmin Ratiu , Gal Pressman , Leon Romanovsky , open list , , Mark Bloch , Moshe Shemesh , Or Har-Toov , Saeed Mahameed , Shay Drory , Tariq Toukan Subject: [PATCH net-next 09/13] net/mlx5: E-switch, derive manager vport from device capability Date: Wed, 23 Sep 2026 13:38:26 +0300 Message-ID: <20260923103830.1183-10-tariqt@nvidia.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20260923103830.1183-1-tariqt@nvidia.com> References: <20260923103830.1183-1-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF000023D2:EE_|MN2PR12MB4127:EE_ X-MS-Office365-Filtering-Correlation-Id: 42687e3d-f101-4292-59e0-08df195f288d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700016|376014|23010399003|82310400026|10067099003|56012099006|11063799006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: UMqJ8IQUlJzq0JHcvs4qWwSC+4DqIqWxdHiXj+WjedjkZ8aS77GHud4ga0083i3dYo4eP/unHXnahKQjOWTj8LlU3SEhUSH9f/Pophyf7taTLb3Nqzqy8mxyaNqrl+KPDMRaDTWoCH3H6J8L0k6eKzQ+KwfB1553hMrlwSINRa/oR+2kepxOG3JlVr98RQd1FyVYhdzZk2XvztLDswOtY+msBCKd9bseO9OY8774xbvKQ0HtBThC75wIt5zC0w/hu6WWZR3EaKoeHLsRMdKSrC/Z0VqGbx81eT7yFBp5osMAuTgFeMv24tSWvc2IHyuC6Tf+oKzfp0FL5wqh7QG5S5gXyw3aTxTo1jELDIYmhhOonHbhwJLoT7FcFcAengNcbzEJD0zIvodq0PxH8tXmvk/tBEboMhqYNhU0kcXg7JZ70DYmMqXFhrIVxnIba66FawaZlIAX4xcfaiU1E+LwvdLK7QQz0MlZ4L1wBOIzIsZmGUZqAXpwxiNR0A/jeEcq+ABT3ckCsYVYhd7RpuJotwLK5zomz8JIxHi+0QPVAXmuZyUmOqzMI3ZrQqW8+DofNWrnrNz+Yj6JZ7bdGvjyXJl/DXn2dy3YMkTXP4wy6W2BXDVnphZdsu7xnps2lf1nICAdCzki9y4yWrcdTb8vLhLufExYVcyGz3xrvGQe/Jz3jzxE2HgluWi2Ikrp7tt1AA1nxZlBeMFBLGQvdzSYsQ== X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(376014)(23010399003)(82310400026)(10067099003)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: dZdp2UpWB/9OCJGXFh4J3jLipSCX3Y4TamU13l6NncVYyPTeDqG8WUA7w3UP0XiWDjr+YP/+Fx+9lzFXpc6Pfn6jmDQXYKvDYrz5AQr3gM2a7QmpSQ6D0zRS09yEfrWiNgOIkSyPQ+F/6fXhiC1FXKt0jsQCggK64coyhwNA2/n8hC0jpJyQTVGeqOeYJZyyGcsH8g7CyaT/I7MH8hNPGWM9Y0cgxsU/nVVSnyp6RfbwbUEoQicvqXeJ6mRL8E5Xc8bluzZfUByV5olqCVucmIlIbKv+Tg7xWVNj+ac5vCD0qPZZHX1buasYoV8Z8OIGgou20zyIodC9Y2RBRcUuLrLDrar2TQg0qk1vEi3V/L94s1ha6w2t1XhKvB+ItUV3t/QQ+ZxqL4TTYPXgsqtMmStu9s96OkBMm9GpF2WC5T31ojnWVjpVTtIHEqmy8z5i X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2026 10:41:00.1487 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 42687e3d-f101-4292-59e0-08df195f288d 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.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF000023D2.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4127 Content-Type: text/plain; charset="utf-8" From: Shay Drory mlx5_eswitch_manager_vport() hardcoded the e-switch manager vport as either the ECPF or the host PF. Read esw_manager_vport_number from the e-switch capability when esw_manager_vport_number_valid is set, so the manager vport can be a VF - a prerequisite for VFs acting as e-switch managers. Keep the previous mapping as fallback when the capability does not report a number. Signed-off-by: Shay Drory Reviewed-by: Moshe Shemesh Reviewed-by: Akiva Goldberger Signed-off-by: Tariq Toukan --- drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 11 +++++++++-- include/linux/mlx5/eswitch.h | 3 +++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/ne= t/ethernet/mellanox/mlx5/core/eswitch.c index fc197d1dc9df..e7561f0f89b0 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -2460,13 +2460,20 @@ static int mlx5_esw_vports_init(struct mlx5_eswitch= *esw) } } =20 - if (mlx5_ecpf_vport_exists(dev) || - mlx5_core_is_ecpf_esw_manager(dev)) { + if (mlx5_ecpf_vport_exists(dev)) { err =3D mlx5_esw_vport_alloc(esw, idx, MLX5_VPORT_ECPF); if (err) goto err; idx++; } + + if (!xa_load(&esw->vports, esw->manager_vport)) { + err =3D mlx5_esw_vport_alloc(esw, idx, esw->manager_vport); + if (err) + goto err; + idx++; + } + err =3D mlx5_esw_vport_alloc(esw, idx, MLX5_VPORT_UPLINK); if (err) goto err; diff --git a/include/linux/mlx5/eswitch.h b/include/linux/mlx5/eswitch.h index a0dd162baa78..03d3620141c8 100644 --- a/include/linux/mlx5/eswitch.h +++ b/include/linux/mlx5/eswitch.h @@ -222,6 +222,9 @@ static inline bool is_mdev_switchdev_mode(struct mlx5_c= ore_dev *dev) /* The returned number is valid only when the dev is eswitch manager. */ static inline u16 mlx5_eswitch_manager_vport(struct mlx5_core_dev *dev) { + if (MLX5_CAP_ESW(dev, esw_manager_vport_number_valid)) + return MLX5_CAP_ESW(dev, esw_manager_vport_number); + return mlx5_core_is_ecpf_esw_manager(dev) ? MLX5_VPORT_ECPF : MLX5_VPORT_HOST_PF; } --=20 2.44.0 From nobody Thu Sep 24 12:53:01 2026 Received: from PH0PR06CU001.outbound.protection.outlook.com (mail-westus3azon11011031.outbound.protection.outlook.com [40.107.208.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1C7FD4A0928; Wed, 23 Sep 2026 10:41:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.208.31 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160088; cv=fail; b=QDHn2WWQKUlqpaQfn8ydL8uNYXp4hrFd/moUPmWxJddxsKbdhixZkQz/p93AUGzMWVUk9oWXxBO8rzlap2+SDZpfI+Xga5iZ9QYfl1F7NSwnUwryIHGwZR73OPW/M5g+ScVdpsIDa3zhoDvGxOmwn/epz+n/cv3NhCVRwXH7D8Q= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160088; c=relaxed/simple; bh=B2BnXf+qP4CG2gWNsfOwgVwInv7s1R6UjVh+eivDI2E=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ToJL1UU8rBVdSHfhC21dExGG5wHhDugDq5jFbJUaq2v//T0ULzPuQlnGBvFDBEbpsGx0trTB8wdvzFKOSK7r9GYBCAderv39z0PGXUQUU+69ile1kLhaqnBVLmn9L8pK1yI4siRqCE+A46gPV6/thMZGIPwntvZ5sPvH0MP15M8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=Ctlz9zQ6; arc=fail smtp.client-ip=40.107.208.31 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="Ctlz9zQ6" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KVp3gKtFfmITLHcy5eJygnIhPPKXi0veqJjQyDl0arzrIWJCceBOJ/EOIpgZFJmBEFl47IyddvbLl6vuJgI81R0iF3qegm6PnVgxL2KaGLV8JGySv1BcAGoP8dJ2RWSTb6NH/pwNhJ5VpN7wV535ZbcooLRM6wG0uC3jUPY/x2nyodIA6nXp4NIZ8wIjZ0bqnJqOuNJ3TXPXnaKuF7c889ShTMVRM5soETTHmK2nPKZrPJzZ2OctIDhavPGUgwPv2h/NDn8/KWMgR9s23j19XUAp2J0nGcYMEvgjB/yg8o6H/hx0pWj7U9U1Foqu1hYvcgX1xc4354tGSpEFDvVNsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=3Kd0x2X3J90V8sMI2IoJjjAPDqoJLalWrFWUiYr0gtU=; b=MVbrFYZdXhoceZI5KPHYkppi57Iyqq+N5Opp43Z7LIWBAN7fco6q433kRoo+jwFk3XluXrnMHTx1d2h1kfU49no6ifH+1QgWCeZr1PkVCFQ0PGUer6VhNfbpOImMF8096Ppee8B26u29T1NW1BbIOrmV+WrdEK0KTRnhpCaMSFtAhTeGG8Vc+I9a3IxJcEQd9IFcI2ZdtstCf9vi0OvrEnPP4IdIZXmiLc7W9f8CGLtDCcbQWTkpqu1aDlz2DmCDNDYIZo2n85Xwe8JiAVKxvcmqgrqSkaffbkA8wq/XyOCaaoTQ5YV7c64BIBV6plC6zI+OM/imtNSNvD7bxnEwQg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=lunn.ch 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=3Kd0x2X3J90V8sMI2IoJjjAPDqoJLalWrFWUiYr0gtU=; b=Ctlz9zQ6hh329QqPAN6tmQqz7QWVp1Nt7l3vSOkGEG9zK4yhzyLpKBGCJRUiRvJc3UxS9h4Iqz+43So4MI72IXxHD2bLkmQn/Sb1v4cJRoS+eA9u4nmZ6hSrvLJ1Hqmhfr0v22baZXW8nUYnT1mWVBu4wbemZLXxHmDTicRtkGhYp+0oCCoyucZpUqOWa4QfU/stkujSbpm+LDnqguLdIMWwSfyhM87hzvC4i3k59qg6oFT+QOjMB+0tzrp1wq4u0FCxhc1x8uDnwZ1eWc1QtBMhybAfob+s82MbGIBQeii0ChsB5iXnmJKJz7Y1ejNiUJKb5G5ltBkYc9C8bxmpfw== Received: from SJ0PR03CA0026.namprd03.prod.outlook.com (2603:10b6:a03:33a::31) by DM4PR12MB6565.namprd12.prod.outlook.com (2603:10b6:8:8c::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.14; Wed, 23 Sep 2026 10:41:04 +0000 Received: from SJ1PEPF000023CE.namprd02.prod.outlook.com (2603:10b6:a03:33a:cafe::c) by SJ0PR03CA0026.outlook.office365.com (2603:10b6:a03:33a::31) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.451.14 via Frontend Transport; Wed, 23 Sep 2026 10:41:04 +0000 X-MS-Exchange-Authentication-Results: mx.microsoft.com 1; spf=pass (sender IP is 216.228.117.161) 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.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SJ1PEPF000023CE.mail.protection.outlook.com (10.167.244.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.8 via Frontend Transport; Wed, 23 Sep 2026 10:41:03 +0000 Received: from rnnvmail205.nvidia.com (10.129.68.10) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Wed, 23 Sep 2026 03:40:44 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) by rnnvmail205.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.2562.49; Wed, 23 Sep 2026 03:40:44 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.2562.49 via Frontend Transport; Wed, 23 Sep 2026 03:40:39 -0700 From: Tariq Toukan To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , , Paolo Abeni CC: Akiva Goldberger , Cosmin Ratiu , Gal Pressman , Leon Romanovsky , open list , , Mark Bloch , Moshe Shemesh , Or Har-Toov , Saeed Mahameed , Shay Drory , Tariq Toukan Subject: [PATCH net-next 10/13] net/mlx5: LAG, don't print port mapping to debugfs in MPESW mode Date: Wed, 23 Sep 2026 13:38:27 +0300 Message-ID: <20260923103830.1183-11-tariqt@nvidia.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20260923103830.1183-1-tariqt@nvidia.com> References: <20260923103830.1183-1-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF000023CE:EE_|DM4PR12MB6565:EE_ X-MS-Office365-Filtering-Correlation-Id: 51b1ab29-d60d-4158-9380-08df195f2a95 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700016|1800799024|23010399003|376014|11063799006|10067099003|56012099006|6133799003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: YFkqNxqBuF67U8WJOPGB6PcU0kZGzqKZDq08KHLRrgo8FP+L+GAdhTpkVmqim0R/cV+TOCbP3TNby9rY9qxOjdd+1KvJHumZmxGy3Tx14KtTvwQjkTmrSoB3b0wiXiVW3ak2rJykHYj9E/Ww2IVmJqWk58Tw9ohFUYL30WVpDnYrFIzvDym+lgVcYCsXYzzGl6JKZjVMPfrCCH915yvZSUeOfa5FM0vQ8W5oGraytzUMpdRD6TwxWdBuyKjGzmG0Y+lojaT70haICzhXp0bGATkhwnD/kasayoxaRWnZm64cQdeBFVkJZH8XID9eX0aDMtcsNpQVokgk/HEdOtrh2eSKxT7FqxmIBfP/huqSMOJ5yjR+cae4quftFP0bpDqim4Q9QU/u5I/iTAgY63tdoleTHvL1Bhvj2tUyDxqfGw3B+3Cl3xyVt/OPlaKMZFSu6hT14+36TSILrshP0NH6PNJ+RH1/XLxDvkvQWBkMWq/TiH7+9py0QP59Z2h90bBx6Yvxj/MZVeWaQMCj4n6IW9khgm2Z7SeC7Bzb54FOxd7pNDVoGU3AActn5gtwvDXY1xClzlb3+JlLUKcZXh8kFJ2ilcW+veGvrZRpD74duAnwQ9iCdMShURfCj1TztfAytz2K8k0rkDPEiG+x1b93XPDrlTndYh3ENP6mCjHKpSOeOENvwaWg104eEecSox346TOQr6n34Z36SgtTtQFrQQ== X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(36860700016)(1800799024)(23010399003)(376014)(11063799006)(10067099003)(56012099006)(6133799003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: I0H6Tdl8SvrpE5QhWBKWUfAHA2ySoCctWi20wlxGX3AZ7HuTgj/zA6r6jx4nmApoKtREyMJ3Kxohn95rE9P6rNdiPoIiLxCGhVt0jCxmnW1DbQWnS4z3ybWCDqOP8Mqdq8WhIaBXDU/Okb1dmNrZBogQ15krBPXNLGoXHkiwzT0SBYOjLZMOUOlxhKNvWeA52ZaM2TXudE85ckKBPstd8Sde37Gh7Tf2ON1npOEnPzYd5vDBeaICTUnYoEqe6oIiCPr9c+TjhEKWWWKClV0mIXPNPgSeMr7wU34ZSn/Pl+ZO6D2kmwCMAvYu9wxTYhvHep0QFknZ0IdBIruWW8psl3XXGpYSDDOnsYROxNe3NFe4Hjx/lr3AcaqzxfodhVjGAsPqPlMqBSwb/mzdZv+26py88frJmnQ4p+aUlOKhCtNV3QWMWrcIsXXnTDUX9JGL X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2026 10:41:03.5651 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 51b1ab29-d60d-4158-9380-08df195f2a95 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.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF000023CE.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6565 Content-Type: text/plain; charset="utf-8" From: Shay Drory The mapping debugfs file dumps the LAG virtual-to-physical port mapping. In MPESW mode the LAG does not own that mapping - port selection is driven by user steering rules, not by the LAG - so the dumped values are meaningless. Treat MPESW as if LAG is inactive and don't print anything to the user. Signed-off-by: Shay Drory Reviewed-by: Moshe Shemesh Reviewed-by: Akiva Goldberger Signed-off-by: Tariq Toukan --- drivers/net/ethernet/mellanox/mlx5/core/lag/debugfs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/debugfs.c b/driver= s/net/ethernet/mellanox/mlx5/core/lag/debugfs.c index 44296789d656..b6125c7bd91b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag/debugfs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/debugfs.c @@ -114,7 +114,8 @@ static int mapping_show(struct seq_file *file, void *pr= iv) return -ENOMEM; =20 mutex_lock(&ldev->lock); - lag_active =3D __mlx5_lag_is_active(ldev); + lag_active =3D __mlx5_lag_is_active(ldev) && + ldev->mode !=3D MLX5_LAG_MODE_MPESW; if (lag_active) { if (test_bit(MLX5_LAG_MODE_FLAG_HASH_BASED, &ldev->mode_flags)) { mlx5_infer_tx_enabled(&ldev->tracker, ldev, ports, --=20 2.44.0 From nobody Thu Sep 24 12:53:01 2026 Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010029.outbound.protection.outlook.com [40.93.198.29]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 25E48497B83; Wed, 23 Sep 2026 10:41:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.198.29 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160085; cv=fail; b=cWCU1kWvcz7NlagncrsIsMnRbALP6DuY3I4+QmchDxtq2koztLjzgnkUEgnL3Ft3VgnPVb6IXoVghi6mp4NiGKI2h/JrolaAEjb6QGgCjXfkIjiy67IVCc3ve1XUMx6USYfXtdxvo/tTSu81VCM0pms5QaWwjoFY303924kelCg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160085; c=relaxed/simple; bh=l7DU3/cBnjO/HJ8350KSI7IOyuAFqkWbv16o/1o0Gh0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=WtsJD5VAt/LsLpiQ9IpHcMQ7eP+YfnOMfjfxxPCj+0ANbSCOvndwqDYt6BZn3LLirz1PeP6j6mMHNe1qQ76XY7HoS1yvdZ65yRsK70glMyV6aIETKzIh0q00+72djfpNTkAOhaO8bkwVIMrfnWCmPtRehCaGVi+Q/ArG3GdHbEc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=Kx6YmoAH; arc=fail smtp.client-ip=40.93.198.29 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="Kx6YmoAH" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Y2zWpN/dN+pJ2B/qM3g4hCqBity9l1KIH9bXgCaL74WlqLAw07IifJ3Zbs0hXo/8NOGYiYUTjkT3dD+QXVlDzBaT0eCjMZbXhah0Dz4tb4svgWaqlTCCo5BXVh2uJH5JVweTkPe6jvWQA2lBu/RMq6etfzk9yNCYSATIzpFVro9LqdlgM4s6wwnDJaT8eYMYyvopRS7pyDOwhkuK5IK5AWd1Rc2Iwv7tyRkrritR9LzA2+fdSW7EH15iLyKI1uTFXoqj+pmTxrwNf7f2pGWD0M8WwSx6nLBYvQ5SNALAc8LXxI78l0PpNrRfprjMf3Z+2NtpJpA+wGVQoiVykMX/Yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=8ll56nHHAeIj70oSUvjHg3ULLP/R+tcVzd2hh1h2Hhk=; b=tstkJaGzL74YZzqFjnbg+Xf0gaD6FbE3fmY+BxDszCsNdoq2S+TIRL8H7DO2X8L6UX2LmuJlpm6yNuUrpenGc4Oa74dd8lhuSRE820DjY7OPPU0zzFO8Fw3V8ciZaqzhkdbrKgIfi2YyBtGa/hkLEUaY4m1f3RP5SiJh+WEjaM+0b5bXFpjD1ze4/AgRsTyDm41mCtw9Fj3ZQieF5ac/dkxI5Cz7geKB9lx6EEdWE3laGNoE6gJ4zMEKNQBTzGMbteeiU5h6+sHYH5irFMc4wm5BUhEy+uM3zDIxl/QoyMMxLtE7Qyf6vtA4YoPktP+NHKRBDmZ6ui3ZlaRXebvp2g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=lunn.ch 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=8ll56nHHAeIj70oSUvjHg3ULLP/R+tcVzd2hh1h2Hhk=; b=Kx6YmoAHjm/mIJifrRLmIZPn+uEWx09nFJNinU/hGevkJn59rzSrZJtP9zlSGfDExOxSeph3lGisIQrR6eRVQRNeJukxzCMW50HOenbg3smj/kU0GeiXuIxU7N+8JtrVVmJ+WMWL4K/l05rVTaS2iuDbrnuuFUhcbcSrpDKHjWWAEWXFuj8Uy1kBHEYVZAU3f5lUu5YpCfJT8Y2r8Z/OXjotGsRCbEA7Fxk+/hez1Nlbb+06E2cOFPcT4TD4+5JjVtE5QctGWI2JLXgbhaCvX8CzpUpDCmD9/8VAzoQ8er/V7++xajjs4HNv57pXd3CU5Xwsjf/3uMMY/zC2wK/uoA== Received: from BN0PR07CA0022.namprd07.prod.outlook.com (2603:10b6:408:141::14) by SA1PR12MB7344.namprd12.prod.outlook.com (2603:10b6:806:2b7::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.14; Wed, 23 Sep 2026 10:41:10 +0000 Received: from BN3PEPF00022BC7.namprd05.prod.outlook.com (2603:10b6:408:141:cafe::4a) by BN0PR07CA0022.outlook.office365.com (2603:10b6:408:141::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.451.16 via Frontend Transport; Wed, 23 Sep 2026 10:41:10 +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 BN3PEPF00022BC7.mail.protection.outlook.com (10.167.248.212) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.8 via Frontend Transport; Wed, 23 Sep 2026 10:41:10 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) 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.2562.49; Wed, 23 Sep 2026 03:40:49 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) by rnnvmail203.nvidia.com (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Wed, 23 Sep 2026 03:40:49 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.2562.49 via Frontend Transport; Wed, 23 Sep 2026 03:40:44 -0700 From: Tariq Toukan To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , , Paolo Abeni CC: Akiva Goldberger , Cosmin Ratiu , Gal Pressman , Leon Romanovsky , open list , , Mark Bloch , Moshe Shemesh , Or Har-Toov , Saeed Mahameed , Shay Drory , Tariq Toukan Subject: [PATCH net-next 11/13] net/mlx5: LAG, drop stale esw_shared_ingress_acl gate from shared FDB Date: Wed, 23 Sep 2026 13:38:28 +0300 Message-ID: <20260923103830.1183-12-tariqt@nvidia.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20260923103830.1183-1-tariqt@nvidia.com> References: <20260923103830.1183-1-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BC7:EE_|SA1PR12MB7344:EE_ X-MS-Office365-Filtering-Correlation-Id: c4241649-7b63-41e4-6877-08df195f2ebd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|23010399003|1800799024|82310400026|36860700016|10067099003|5023799004|11063799006|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: EegXudHPAuwwGEGaPRBA+fhbCWqI5gYGINVUZOzHYAIYuT+YCy6ygqkHEmvfeF3BY5ZmwkoXQ/oSb+1PCLYNTkZuJDvWm0GxHhVxdO9aP4KhiDJ26zjwti7ZvnCeON6JfGHm+vTk1pXK5NYLIJRLi4skdB4Dh4HSg4F5duOTNVEA1RsEgG+senbmJj3yfoIgLEuS8OdDidTw2eTLTLYlCNZJ9TeWu9W28+lbkGBRxMSBL3AVTUmnrYw64UYS9bKOoLodQv/BOPkwVti7eJoEGwAQOnBXzxYAtATUgty/QeEm++wEKKk1TEv7sDhsi7EJj7eRdGHhHvZ2g0zQt2FH3o7NOtK5ldeP/xGjA3E9n6eu9WmJXb9xs2ddeVtS8N6gjSgrUpMpebv9nQTUYm9cCqD4ywPXUdjREMCAuZEt4AFy+slAxYK5kJ2Pe1DwyUPvnn6sQ61deZ4VbNtMiEovC6aP05DxeT6QzAJtCw1n36n+tPJmUnaMGnjwl5heGRLeB3goTnKCNBkONNw0ITNRzlufo268HYvlKCmpqf9uF+0HumO5PupFv5rSrHiKvdVTqtz7LCqEDeLT+K1HKqDt9J7HN76BVl1JJQp++iqs0io76EGTo96MeDH1RKXlUXehEwsTfPSXjiJz5SmIAWRGBFBa22pfugbny3iNxqK4EMG8RTC5J1MrCSoQLRIkR80ZCiVr5LKWUBZK8Ovq+VtDXQ== 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:(13230040)(376014)(23010399003)(1800799024)(82310400026)(36860700016)(10067099003)(5023799004)(11063799006)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: SAPeCkpA5IIcQx2vaOzrax/ppDU6g0Ee2y2Y8qe896kCOHc3VqKRD5LFoGI5sfHZNBkcrJqeYXtYhXMj6E7jw4nYmncLKooU3J9tUsfH7/hs3udEij3ZbuiwumtfRaY/6yB2+wyQwpV27Xs48wKp6VrSUoL1Mlb3snD+2MHtJjHuONZ1BuCFfSizxaHFPULNJzn/scKCs9SUmzkKxfutOf+HsPIGMmgEzNC5pBszlpheGjUNAzeckNCfqkK7/oPjTCvGby9G630VT5u1orfsxEnDA6SJm9YXnX6p+GT2DjAZOJJQpJw7OiDLJYdrVgO7Hidt9XKvX+knLWbUdTfijGr6Nxjx2uFMubJIx6766cODNhrm8yfPLFdXv8kG9naeygTLj7YRHDdUy8YvJFrE2BJeX0VB0SAziL9gUE+wTc5KL2RnsMloTls6g2TlQPQd X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2026 10:41:10.4869 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c4241649-7b63-41e4-6877-08df195f2ebd 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: BN3PEPF00022BC7.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7344 Content-Type: text/plain; charset="utf-8" From: Shay Drory The shared-FDB support check still requires the esw_shared_ingress_acl capability. That capability backed the merged uplink ingress ACL, where the slave uplink's ingress-ACL root was pointed at the master's (esw_set_uplink_slave_ingress_root()). That handling was removed in commit 82e86a6c7109 ("net/mlx5: E-switch, remove special uplink ingress ACL handling") once both uplinks were tagged with the same reserved metadata (MLX5_ESW_METADATA_RSVD_UPLINK) - a single FDB rule then matches traffic from either uplink, with no shared ingress ACL involved. The capability check was left behind and has been dead since: the driver programs no shared ingress ACL, yet the check still keeps otherwise shared-FDB-capable devices out of shared FDB. Drop it. Signed-off-by: Shay Drory Reviewed-by: Moshe Shemesh Reviewed-by: Akiva Goldberger Signed-off-by: Tariq Toukan --- drivers/net/ethernet/mellanox/mlx5/core/lag/shared_fdb.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/shared_fdb.c b/dri= vers/net/ethernet/mellanox/mlx5/core/lag/shared_fdb.c index 6b4ad3c53f2f..c2185c3d7f6f 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag/shared_fdb.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/shared_fdb.c @@ -35,8 +35,7 @@ bool mlx5_lag_shared_fdb_supported_filter(struct mlx5_lag= *ldev, u32 filter) =20 if (is_mdev_switchdev_mode(dev0) && mlx5_eswitch_vport_match_metadata_enabled(dev0->priv.eswitch) && - mlx5_esw_offloads_devcom_is_ready(dev0->priv.eswitch) && - MLX5_CAP_ESW(dev0, esw_shared_ingress_acl)) + mlx5_esw_offloads_devcom_is_ready(dev0->priv.eswitch)) ret =3D true; =20 return ret; --=20 2.44.0 From nobody Thu Sep 24 12:53:01 2026 Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011061.outbound.protection.outlook.com [52.101.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7EAA94963CD; Wed, 23 Sep 2026 10:41:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.62.61 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160100; cv=fail; b=pSKCSWJRwgAf++vtPtLObv8LLt6xRIwMWr+6dNGCual28OzD3/20QPJSq5oYoqinKS466FL2S4xBSnFCJlm56z89tsyx32znfSiERp8yepFwRUe2bE4TR7nIARL10tpywfWUd0VYjk6TgPAAIMnC3gT/LA8nrHVbczPlddwY4uA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160100; c=relaxed/simple; bh=5Ilo5HKxyKSYQq6hguHk9rmk9PS+/DgjRzXLk/cRqtE=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=E6Leh3Sw7RwUVQ+ESc68QY9io0j398hcsxmyLSophOTyDdH3lmhOWzSNfs7WbdJsotbcIyxNA0zHh7ekHPLN3iA0/lBjTaobIvD2F9P/q/1HuvTCR5Rh0WWci2I9AL/9ZvUxr9cpXxdXEBcBn7TyIhuSqmCdsdIQ3boP0oY1R5o= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=l3pqFlr2; arc=fail smtp.client-ip=52.101.62.61 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="l3pqFlr2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IlyShHTgVyazZHYd2M1pxZdUgxxfaN8QsohAQd3aNaoMjLod2XYtWsnuzRS2gNYoue4hCeXKCdK+4wl6checNxZfVC0Bx94qExrdJrq6XvV9pH5IBUEGFsgjJKofiFi74g3R7CIIgcpjoqnmA7kpfTmeyY7Kzh1rn6J21C1jJfShMncJ4Jh+/vQC3XGfdJrzwYa4HZ0+5Ij31G7ra4mtdJb+5nO3bA+lSppViVKB6U+n4xyHHvLPm2G2aaWTmm6kNG+GBFgc8GGHogfn3YYawv1Z1M6nKHc+ChAHYAbmWVA6eusxJeopN6b+IadiT8g6a1oOX+IaUMylPhtxZCxOMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=ofOb54ENEozI639ygaieFAt+x2FITipklt6eNWD997w=; b=mCGE5uTq1o6sarDJkC1Zq8AbHt8ZdJUfVn7wHRkxfnkT6kezQSuH5CT0XhLM+svI5yjYxec43LGXvh1e6kMVBdi1klWOcl3v7FJIr+6b0/Hn259Qi8VCYoKfQzICY+PGF9WCZZu7l0PdkCbKJ33Lm3IH5jM52m1GJq3Tug0X1y4A5+5Mqe1vqU3GwHCH39ESpqEBdQsX1wmUruJUlSe6/YO0upp5lx/Zz9kyGT6BvvlLasatIALvWC1F17Q0tuTjWU2S5gRWMNaf7TR3ru2RdeJJDGCI5Y/6jwru4xklfB/vmBGsEcF0k+fD16jwylxTPeNNh9jd6yTJ73j6Xj1Gww== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=lunn.ch 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=ofOb54ENEozI639ygaieFAt+x2FITipklt6eNWD997w=; b=l3pqFlr2aVfgAGzVL+5HHHdHRSkdDVWX3UHlS2O7zpxxtqRx1fZjkVU4Gnn8bR2xs5B5/Wg5fNVrq2EUgvko6CZBty63KBb9BNFb3BQFYEo4Ld5p70zpeCt0nZALTAgn/PrmF4XxjhAtRM8JUVNxI3rq0VX3fTeMwIzxulBhCcmhJcylUtPvALODcc6JvG6YVyp4wVFKnXM0amv9pRipmXbfrUgsZ/85qjHYXADcRg2tMtLB69TqD9RkwwoDPq0h0fRw6bPE+75Ida4sspfGTQutyqL4/MfvTfcbJ5Odr/JDlN+DEyujWUWTwJohkxPi+/DEE4rLzjfTTuZPO4n8Tw== Received: from SJ0PR05CA0066.namprd05.prod.outlook.com (2603:10b6:a03:332::11) by EA3PR12MB828978.namprd12.prod.outlook.com (2603:10b6:303:308::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.16; Wed, 23 Sep 2026 10:41:15 +0000 Received: from SJ1PEPF000023D2.namprd02.prod.outlook.com (2603:10b6:a03:332:cafe::20) by SJ0PR05CA0066.outlook.office365.com (2603:10b6:a03:332::11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.428.8 via Frontend Transport; Wed, 23 Sep 2026 10:41:15 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) 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.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SJ1PEPF000023D2.mail.protection.outlook.com (10.167.244.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.8 via Frontend Transport; Wed, 23 Sep 2026 10:41:15 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Wed, 23 Sep 2026 03:40:54 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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.2562.49; Wed, 23 Sep 2026 03:40:54 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.2562.49 via Frontend Transport; Wed, 23 Sep 2026 03:40:49 -0700 From: Tariq Toukan To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , , Paolo Abeni CC: Akiva Goldberger , Cosmin Ratiu , Gal Pressman , Leon Romanovsky , open list , , Mark Bloch , Moshe Shemesh , Or Har-Toov , Saeed Mahameed , Shay Drory , Tariq Toukan Subject: [PATCH net-next 12/13] net/mlx5: E-switch, correct stale VF/PF wording in esw-allowed comments Date: Wed, 23 Sep 2026 13:38:29 +0300 Message-ID: <20260923103830.1183-13-tariqt@nvidia.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20260923103830.1183-1-tariqt@nvidia.com> References: <20260923103830.1183-1-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF000023D2:EE_|EA3PR12MB828978:EE_ X-MS-Office365-Filtering-Correlation-Id: 0eb52e79-634e-43ce-44c4-08df195f3198 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|23010399003|36860700016|1800799024|10067099003|56012099006|11063799006|5023799004|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: wGiyzdIsFsJ2qU3zxHaRzFFO9cGCY2WaWR5dA3/pncDKAf74q9uaaDpniD3ZO9yqPHAiOIRB7vINWpvhYVf1Kfkr/XMrjEBGvtbZ7PfXSe2bCXRp6Pc1Q4k53zhzsZpL1JeCBbb7hPcl/ypRVw11+sudPx/eEN9KbHLWYHymUlsNHzKBhsV1xHYzxqoX8y7ZVqZpnmqrdjoiO2X0vrIIv3NwFDoni9HrVc1ekrmDiNYoK9ZJZIOYCB22WXoIa43W/XbuTVzO4xaSZfTHeECQM9Dg4Uk5EWbHk08LPPCQyPBLExvq/T4xd0avSrkGcnYlvfEsb14Y0/w3BbrMjNx7Vyzng41sQjoqMJTsJK3lSZPoE5J5J4DT52xuwBvdAGTgVWCDEVQp62wsi19OeBlPtw/aKyYAPNCLy5XCp38K8TgCvBJ1efp//PkHdVYQYoPlZrtHTNDMm5IyA0ZNk/rDTY2RX6+Ygr12Mo21Kz7B97wEUZ5zj2GSrfjVJEcSTgTcSxvaY02AJTrQ3ZtoHIQa5029SQL6zFdm3A2ouexzvjREYOC6d0Rp0ncdS5xtWqCWwc2rP0es7QnrKFA5uIs6Chqdc67RPZdnbGfJiLdAE6Y9ErgA/kHM9DR3N3nw0MyZw321T2jPt6s4yUTGKxzMaxh6qGykclbZ+3LY8ukNeGTkJkfzO2L0T+65tNkJ/KvP7yvxImNxe/xRfRuYxawQ1g== X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(376014)(82310400026)(23010399003)(36860700016)(1800799024)(10067099003)(56012099006)(11063799006)(5023799004)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: yN5OsIG4i2N6O6jMCofxMCD/haAeA8UaUstRhp1XMi3n2uNJokHE6M6OM/RP7zenhUjhhUue1e7TLDadJBxB7qCjxQEH+lVR+aOgorPA5Tnb+0UO9MWtv0T8aIihrT1QD12ZxpW5jUoh8nQtoTK+A5QgHfwKpYJoTBcUFRQeLSdHAmYs4Khou+x5AeXlTIkCJnn/8y/2mGOpVO8CYmpEGXWRNmb97xSwAifEFO9vNC7yytFbAj5Zr3iHSrYwNIjBcapdrYqjTHnb4JGYSKw478F1vt68vyJ0V5jE3PdWeYo8mbBrxW8a6dYYLAyVVMUYTow2fIDUU1xzJjFxZok11TaPPUJDxu4oQaaFjeDA5/Vt+dTig2kys8jLyLdbdPPFDEm+JHzkVAyDneoCGWMhoNp92rhdreSfErBACDCXuRwzD+Utv9BCF1hrK9if2Jh2 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2026 10:41:15.3298 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0eb52e79-634e-43ce-44c4-08df195f3198 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.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF000023D2.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: EA3PR12MB828978 Content-Type: text/plain; charset="utf-8" From: Shay Drory mlx5_esw_hold() and mlx5_eswitch_unblock_ipsec() bail out on !mlx5_esw_allowed(), and their comments explained that as "a VF has no eswitch" / "core dev is not a PF". New FW will let a VF act as a nested e-switch manager - such a VF has an eswitch and passes mlx5_esw_allowed() - so that equivalence no longer holds. Reword the comments to describe the actual condition, the device is not an e-switch manager, with no functional change. Signed-off-by: Shay Drory Reviewed-by: Moshe Shemesh Reviewed-by: Akiva Goldberger Signed-off-by: Tariq Toukan --- drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/ne= t/ethernet/mellanox/mlx5/core/eswitch.c index e7561f0f89b0..6f3676c86d3d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -2958,7 +2958,7 @@ bool mlx5_esw_hold(struct mlx5_core_dev *mdev) { struct mlx5_eswitch *esw =3D mdev->priv.eswitch; =20 - /* e.g. VF doesn't have eswitch so nothing to do */ + /* Not an eswitch manager, so there is no mode lock to take */ if (!mlx5_esw_allowed(esw)) return true; =20 @@ -3106,7 +3106,7 @@ void mlx5_eswitch_unblock_ipsec(struct mlx5_core_dev = *dev) struct mlx5_eswitch *esw =3D dev->priv.eswitch; =20 if (!mlx5_esw_allowed(esw)) - /* Failure means no eswitch =3D> core dev is not a PF */ + /* Not an eswitch manager, so nothing was blocked */ return; =20 mutex_lock(&esw->state_lock); --=20 2.44.0 From nobody Thu Sep 24 12:53:01 2026 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012012.outbound.protection.outlook.com [40.107.200.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 75A134A204C; Wed, 23 Sep 2026 10:41:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.12 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160098; cv=fail; b=kIzzN4Lyg/Tz1e4guP8QBU0LXflpL6mrO0eN5x8cThXcHQbLqiKRGVttg8x9L/zdXnAvgeTB/1e6GRPvOBGJIRayIAHxEXwi1n9KaCRLwDd09rlVckvmFfDBnuRU8OwL2c3a3wCqrI0DZ5KqvtG91eg+pm3eRiTwWRX4e7uqaRE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790160098; c=relaxed/simple; bh=gsAGYgMm3me8cp4r+rlCEeigx7XR4HyGZnZsYcF/H/o=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=QtQ4aOaeUMs7vYfoRj6+i1cv0V2GL1iwVBkp7M6opihudvVoypnmVhvdvrVfOy1Wjzi+a8/DjYiT6B/ryl9jFMG8hgAerWXGgF7RTci7QPqsXd9ai8DdewgN4tX6XG2uzzWhN8lWqCR2h1CdXzB6TCcDdIfxFhnb7nkUgqJnH14= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=eNSfQFMU; arc=fail smtp.client-ip=40.107.200.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="eNSfQFMU" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FeTilCuIHG5yZM4la/hHtTTuzZrCtD4iUyUboiL/qynhS1CuXrwx4QK9I7PFJzjl00KAS1SUwHE/K/k5ALJW+U41BRDE4Qe2hbgRlMN4Ts7txXe2B4CA8/FNIvErCWL1WkU6e2JVgenN5iHVVc+E0yVanQLEFXKOyfKknhv6J3eqm1MG6rJ5lmA50ep92E0C2z8lttbzrYSyN1EXzGDu+NMXSnNXwFpeBNXBwXEEmgVDYsiqXSN5d/VeVv+yA+Do/2BjZD8+QoRPmh3DmLhe7qwp4PXRehG1SuaVrV3pm10cxw1MeDxYRKP5FXaD67NHYkN9haOpnx0lePWS0KnBlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=iDLz62qDvvOnaOT5exBUQ/14gJnJr29B5fCG38gnrHM=; b=aQsL7ztqysVsK9tztOLFhmQNA4eEsuNEeJ21q4qxaateQZcupuFMCvBBXV8KEp6jHFUHC3JAVhmjT56rpeL45AWJpQM48at5l1sReUuE+U/Fwpr8/ddnYilxxknDFVHbxVoaUvXNxXrgsupW1rfveqHfjdW7OtZBfZI+NwIklqtPlz8B43tQgAvukj4VsNHDgkvlmblq/erJ9JVem8ay3LkIlSppyG1jeO8rg8YRk3qpwmV04ycy5jfuN2iCpN747/mg02QLC8tKJJ27+73GZ2pFL+7RqTp6YZaeRLnTrbgpN+ThUIqjQqTRsMwRtNyYpAT+xxzXwTMAm3V5Hq5rIw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=lunn.ch 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=iDLz62qDvvOnaOT5exBUQ/14gJnJr29B5fCG38gnrHM=; b=eNSfQFMUzKXbdlVpJS8IqMeEvdwEan3fzDW3OD/dB61CGKKXFYMRAp4cIG0kNDmPDn7NQiapqAwKuhOIWmV2gStGQY9xKz9cobfpcUCQCelm+aCdOGPnei1kLZIVIJCgMBpM42b67ZhVVZuQK5Tqq8bZ1E1BXIauAu49un2SvCLOz5vBpoCQCIEVQ0CxI9FQAo7kKeXHcl/FufprxY5scGhWg+wjTiM1MZveVFnWvcx1DZ2UwJ0muNfCDEw8MbDxmHI6k6G2BShF/XJ+M4QDogwblx91rxlrBs6Ie5gnJykdheiPkq+F6V+aWxCiY1+KcX3jW2o9IvPZe/fWx8MxLg== Received: from SJ0PR05CA0062.namprd05.prod.outlook.com (2603:10b6:a03:332::7) by DM4PR12MB9071.namprd12.prod.outlook.com (2603:10b6:8:bd::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.13; Wed, 23 Sep 2026 10:41:22 +0000 Received: from SJ1PEPF000023D2.namprd02.prod.outlook.com (2603:10b6:a03:332:cafe::7a) by SJ0PR05CA0062.outlook.office365.com (2603:10b6:a03:332::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.428.6 via Frontend Transport; Wed, 23 Sep 2026 10:41:22 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) 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.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SJ1PEPF000023D2.mail.protection.outlook.com (10.167.244.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.8 via Frontend Transport; Wed, 23 Sep 2026 10:41:21 +0000 Received: from rnnvmail204.nvidia.com (10.129.68.6) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Wed, 23 Sep 2026 03:40:59 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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.2562.49; Wed, 23 Sep 2026 03:40:59 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.2562.49 via Frontend Transport; Wed, 23 Sep 2026 03:40:54 -0700 From: Tariq Toukan To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , , Paolo Abeni CC: Akiva Goldberger , Cosmin Ratiu , Gal Pressman , Leon Romanovsky , open list , , Mark Bloch , Moshe Shemesh , Or Har-Toov , Saeed Mahameed , Shay Drory , Tariq Toukan Subject: [PATCH net-next 13/13] net/mlx5: E-switch, disable host functions for a non PF e-switch manager Date: Wed, 23 Sep 2026 13:38:30 +0300 Message-ID: <20260923103830.1183-14-tariqt@nvidia.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20260923103830.1183-1-tariqt@nvidia.com> References: <20260923103830.1183-1-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF000023D2:EE_|DM4PR12MB9071:EE_ X-MS-Office365-Filtering-Correlation-Id: 0a001753-030e-4423-096a-08df195f3586 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|23010399003|82310400026|36860700016|1800799024|56012099006|11063799006|10067099003|22082099003|18002099003|6133799003; X-Microsoft-Antispam-Message-Info: pIRydbJ54LnkO2X4RmzrUq4aFdwKXuHQuokMNVH8NL/6LBmKwOGwqkjjl5y9gHeGCq6+9k9xM6di0LyUzcq3uAO8udLDuNmlyfsaZkui39zZ8AxqaD5NpBU6ZKT3dCno+YojYMV9IMkmOun5PZouz4surKQDBUD4DaiLWpawebmHxytTBRL920ZBWFvm9bK8x1zdI6oTh5J1gZiDSMWbpGSG8dKk627JUMKkQowcx6HQ4SahHmbG/lFUFXkvTtsWvavqje7dMKVnjZgAbzAmekxOgwXRQDgzY8RYxet1jHXnV+FkKSPv8upoFgJsgOWMWwRa0igrRXl+ZfV+fZpOLWKVqgSXRly+XbTUOxk3MW2BZiAmuWdImP6Swsyc/mu8cbiXBNp8lZ/Vpp3QS2jLj7kaoPknaKNiYa1zUgfcbzbXbj3tM7gfRZmUNqXZWynibdaeRYFHLxEoeM12XVXokcL3OJVlf20oziX2+Mn7wl8KlBi7yeLYprkDNLAg964KCguiB8OQ2E9SfGPsv3+YWA3qgI8ixD8vv18IKjAJ3pVqnL9xDIcQhslxpDNKSXT+lEMtDBK0jc/m+bsi7D+TdEr42IcrSTEagcYLd9KQHKAkjJFlPMUl/BE5cexAoRAm5aSFjlF8aq6ncpYbFxv0xuSM7ahYZokubBRHM5MPlNL2o0Oa+dOsD2KnOHtVtj8/YTMlwe6guIAs6bBTJRfXog== X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(376014)(23010399003)(82310400026)(36860700016)(1800799024)(56012099006)(11063799006)(10067099003)(22082099003)(18002099003)(6133799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: oAQgA0U0aEriguPi4s2BGav50tr+gXwqHMU+vxfIMCDIBLKmpORSWOHS/9dLYSvBRCXj/cNH/OLv5nOUZNIuw6tT4KFxioRIZcAQ0+8821Kiijkh3cGkmBj+Vs+zqwydq3Kqoa8uRw1yUAmGanz2nWA8KiLjcOF54RekS/TQjXZ7OCgxnq3Q87mGmMk1VbwYNrZI508Ls/dWfL1/AF/e5i1MlWf2XMnIckWLbwXdOe884MGFnhDR8lP11gy4WXZGwwu/fnFh/arhJSvi0dSpifNKHEETfnM9PNkfo73Wy8pH+2lzpzJZAdYPas+H32UGQWUQ0uk5uEMRwy9zIs1XFqDHGUlZdyKttIreZBqKEkFfbq7ab6ajegzq5wtyrF/tuDeTDv2N2tPzg6227vlRTijwotwCwATPwfZiPrIIAqGC5SH9w4EOzNmuO2UrEfzj X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2026 10:41:21.9182 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0a001753-030e-4423-096a-08df195f3586 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.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF000023D2.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB9071 Content-Type: text/plain; charset="utf-8" From: Shay Drory mlx5_esw_host_functions_enabled() only treated host functions as disabled for an ECPF manager. To support a non PF acting as an e-switch manager, add a check for a non PF e-switch manager that treats host functions as disabled. This will avoid allocating a host-PF vport in mlx5_esw_vports_init(). With host functions disabled for non PF, its e-switch is the expected manager + uplink only. Signed-off-by: Shay Drory Reviewed-by: Moshe Shemesh Reviewed-by: Akiva Goldberger Signed-off-by: Tariq Toukan --- drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/ne= t/ethernet/mellanox/mlx5/core/eswitch.c index 6f3676c86d3d..2d289fb1353b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -1241,6 +1241,11 @@ static int mlx5_esw_host_functions_enabled_query(str= uct mlx5_eswitch *esw) struct mlx5_esw_pf_info host_pf_info; const u32 *query_host_out; =20 + if (!mlx5_core_is_pf(esw->dev)) { + esw->esw_funcs.host_funcs_disabled =3D true; + return 0; + } + if (!mlx5_core_is_ecpf_esw_manager(esw->dev)) return 0; =20 --=20 2.44.0