From patchwork Thu Jun 22 05:47:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 13288266 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 B0FB42101 for ; Thu, 22 Jun 2023 05:47:47 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 15E88C433C8; Thu, 22 Jun 2023 05:47:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687412867; bh=xhDHSDbjlKMsWK2KnWbFnQ8wZZ48VsGkNTXf+pLJmm4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=t4R0DQ6nLKJvL0K5So8UN0O32Fwqe3oxug2n/PRSHP2R5D0J/vZtYDgYOyeBaW1sg q+p8wh3M1PBB69fuO2tyus1Qh+oJOUUP+fl3qiD9mdIJ1MT6IwDgTC2Hq75kdcqafH YDWfvhLo8+RnZ1knrOLTco8OwRfxTRAIVEAeOSQBNUUWXwtrZgROfcFGGFFnWf6EyP YVhd2IBc9m9RtIzybUwA3tpNSJDBsighaXDgiB2AW9XcY+PUTNq1UizNZekCdL845y Q7FEqWRs14K/Cwfl1cq0TfmsdbekThU/cHz12JRXWhJFCvPUi/15JLDrHZpOjpiM/B c4xwXv3j5LLGw== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: Saeed Mahameed , netdev@vger.kernel.org, Tariq Toukan , Shay Drory , Dan Carpenter , Automatic Verification , Gal Pressman , Moshe Shemesh Subject: [net-next 01/15] net/mlx5: Fix UAF in mlx5_eswitch_cleanup() Date: Wed, 21 Jun 2023 22:47:21 -0700 Message-ID: <20230622054735.46790-2-saeed@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230622054735.46790-1-saeed@kernel.org> References: <20230622054735.46790-1-saeed@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org From: Shay Drory mlx5_eswitch_cleanup() is using esw right after freeing it for releasing devlink_param. Fix it by releasing the devlink_param before freeing the esw, and adjust the create function accordingly. Fixes: 3f90840305e2 ("net/mlx5: Move esw multiport devlink param to eswitch code") Reported-by: Dan Carpenter Signed-off-by: Shay Drory Reviewed-by: Automatic Verification Reviewed-by: Gal Pressman Reviewed-by: Moshe Shemesh Signed-off-by: Saeed Mahameed --- .../net/ethernet/mellanox/mlx5/core/eswitch.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c index 5aaedbf71783..b4e465856127 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -1751,16 +1751,14 @@ int mlx5_eswitch_init(struct mlx5_core_dev *dev) if (!MLX5_VPORT_MANAGER(dev) && !MLX5_ESWITCH_MANAGER(dev)) return 0; + esw = kzalloc(sizeof(*esw), GFP_KERNEL); + if (!esw) + return -ENOMEM; + err = devl_params_register(priv_to_devlink(dev), mlx5_eswitch_params, ARRAY_SIZE(mlx5_eswitch_params)); if (err) - return err; - - esw = kzalloc(sizeof(*esw), GFP_KERNEL); - if (!esw) { - err = -ENOMEM; - goto unregister_param; - } + goto free_esw; esw->dev = dev; esw->manager_vport = mlx5_eswitch_manager_vport(dev); @@ -1821,10 +1819,10 @@ int mlx5_eswitch_init(struct mlx5_core_dev *dev) if (esw->work_queue) destroy_workqueue(esw->work_queue); debugfs_remove_recursive(esw->debugfs_root); - kfree(esw); -unregister_param: devl_params_unregister(priv_to_devlink(dev), mlx5_eswitch_params, ARRAY_SIZE(mlx5_eswitch_params)); +free_esw: + kfree(esw); return err; } @@ -1848,9 +1846,9 @@ void mlx5_eswitch_cleanup(struct mlx5_eswitch *esw) esw_offloads_cleanup(esw); mlx5_esw_vports_cleanup(esw); debugfs_remove_recursive(esw->debugfs_root); - kfree(esw); devl_params_unregister(priv_to_devlink(esw->dev), mlx5_eswitch_params, ARRAY_SIZE(mlx5_eswitch_params)); + kfree(esw); } /* Vport Administration */ From patchwork Thu Jun 22 05:47:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 13288267 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 6D4323C3E for ; Thu, 22 Jun 2023 05:47:48 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 207FBC433C0; Thu, 22 Jun 2023 05:47:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687412868; bh=OMxI9C4wnPWos1znjk/0iYqGr6DfIFAyPBnPTZxFukU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hiRGAxm92Xu8WF31Kx3HmmVvzvHwUvmyX5Pr1rqJW88gdNQKRQajqKUj1yiFxqER8 sgU/0SabpIpdFtoKn5DAqGTPC7feTzInJA+vI2IcXa4bZFV7qhlfQevj3EJCgoUNs8 FeTgrS00jRy/CMDneEEznNf47wsNXbsMa3PrOVURnqdqksu4jlquKBtyS+Egp4/+jn baJH2BtyIpDeZxuUlnC7Onxs8iBCzdE3w3oB6OMCyDY8u4P6BWK9Z/EKqCTb2HcC3r 8I4my+H/rX1FLQUU0B9EvtibmiWY5T/MzzO1Zk0p6O9goqoTyAXi/rLOKtCTWdWQcn F8oGkDo6PaTkA== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: Saeed Mahameed , netdev@vger.kernel.org, Tariq Toukan , Shay Drory , Rahul Rameshbabu , Moshe Shemesh , Automatic Verification , Gal Pressman Subject: [net-next 02/15] net/mlx5: Fix SFs kernel documentation error Date: Wed, 21 Jun 2023 22:47:22 -0700 Message-ID: <20230622054735.46790-3-saeed@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230622054735.46790-1-saeed@kernel.org> References: <20230622054735.46790-1-saeed@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org From: Shay Drory Indent SFs probe code example in order to fix the below error: Documentation/networking/device_drivers/ethernet/mellanox/mlx5/switchdev.rst:57: ERROR: Unexpected indentation. Documentation/networking/device_drivers/ethernet/mellanox/mlx5/switchdev.rst:61: ERROR: Unexpected indentation. Fixes: e71383fb9cd1 ("net/mlx5: Light probe local SFs") Signed-off-by: Shay Drory Reviewed-by: Rahul Rameshbabu Signed-off-by: Saeed Mahameed Reviewed-by: Moshe Shemesh Reviewed-by: Automatic Verification Reviewed-by: Gal Pressman --- .../ethernet/mellanox/mlx5/switchdev.rst | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/switchdev.rst b/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/switchdev.rst index db62187eebce..6e3f5ee8b0d0 100644 --- a/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/switchdev.rst +++ b/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/switchdev.rst @@ -51,19 +51,21 @@ This will allow user to configure the SF before the SF have been fully probed, which will save time. Usage example: -Create SF: -$ devlink port add pci/0000:08:00.0 flavour pcisf pfnum 0 sfnum 11 -$ devlink port function set pci/0000:08:00.0/32768 \ - hw_addr 00:00:00:00:00:11 state active -Enable ETH auxiliary device: -$ devlink dev param set auxiliary/mlx5_core.sf.1 \ - name enable_eth value true cmode driverinit +- Create SF:: -Now, in order to fully probe the SF, use devlink reload: -$ devlink dev reload auxiliary/mlx5_core.sf.1 + $ devlink port add pci/0000:08:00.0 flavour pcisf pfnum 0 sfnum 11 + $ devlink port function set pci/0000:08:00.0/32768 hw_addr 00:00:00:00:00:11 state active -mlx5 supports ETH,rdma and vdpa (vnet) auxiliary devices devlink params (see :ref:`Documentation/networking/devlink/devlink-params.rst`) +- Enable ETH auxiliary device:: + + $ devlink dev param set auxiliary/mlx5_core.sf.1 name enable_eth value true cmode driverinit + +- Now, in order to fully probe the SF, use devlink reload:: + + $ devlink dev reload auxiliary/mlx5_core.sf.1 + +mlx5 supports ETH,rdma and vdpa (vnet) auxiliary devices devlink params (see :ref:`Documentation/networking/devlink/devlink-params.rst `). mlx5 supports subfunction management using devlink port (see :ref:`Documentation/networking/devlink/devlink-port.rst `) interface. From patchwork Thu Jun 22 05:47:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 13288268 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 B0C0E522B for ; Thu, 22 Jun 2023 05:47:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 530C2C433C8; Thu, 22 Jun 2023 05:47:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687412869; bh=XuuEFtPCzRB0txD69pRvJTvvGshaxQzao88XY/tszso=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JD66o/fQLNcavL542byK98MRpJIy+WDJiJEiVzHzfIU72dRG0e8A6h8P/Y4IHmtq+ c85SkqefWj3Z2Hxs7BD4zAYXo4XNCHv/1MX/HoIKttHMW+Z38/1kBiFL0hBOtxZaFo 0K3MIJoYoFrrm+Lcm7ne4y8xyxuk1+3eHXpD+94LQalwUNcDkeuYbz47dqSfd5fUGG +4BpBcBlIzRnSmcfRseC+rsYxXZN+lbVBqFJRAYkcHH1Ipwz+e52YO2Dlt98ulD/mv /LBdIUnnrEN9n7DJOwH8s63U2vqYpYPDkUexATzpFGgFfPa/qGSQEfb4983RN4nhuF NknNfcvazmF8w== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: Saeed Mahameed , netdev@vger.kernel.org, Tariq Toukan , Lama Kayal , Rahul Rameshbabu Subject: [net-next 03/15] net/mlx5: Fix reserved at offset in hca_cap register Date: Wed, 21 Jun 2023 22:47:23 -0700 Message-ID: <20230622054735.46790-4-saeed@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230622054735.46790-1-saeed@kernel.org> References: <20230622054735.46790-1-saeed@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org From: Lama Kayal A member of struct mlx5_ifc_cmd_hca_cap_bits has been mistakenly assigned the wrong reserved_at offset value. Correct it to align to the right value, thus avoid future miscalculation. Signed-off-by: Lama Kayal Reviewed-by: Tariq Toukan Reviewed-by: Rahul Rameshbabu Signed-off-by: Saeed Mahameed --- include/linux/mlx5/mlx5_ifc.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/mlx5/mlx5_ifc.h b/include/linux/mlx5/mlx5_ifc.h index 354c7e326eab..33344a71c3e3 100644 --- a/include/linux/mlx5/mlx5_ifc.h +++ b/include/linux/mlx5/mlx5_ifc.h @@ -1710,9 +1710,9 @@ struct mlx5_ifc_cmd_hca_cap_bits { u8 regexp_params[0x1]; u8 uar_sz[0x6]; u8 port_selection_cap[0x1]; - u8 reserved_at_248[0x1]; + u8 reserved_at_251[0x1]; u8 umem_uid_0[0x1]; - u8 reserved_at_250[0x5]; + u8 reserved_at_253[0x5]; u8 log_pg_sz[0x8]; u8 bf[0x1]; From patchwork Thu Jun 22 05:47:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 13288269 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 44292567C for ; Thu, 22 Jun 2023 05:47:50 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9B6DBC433C0; Thu, 22 Jun 2023 05:47:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687412870; bh=LdVQuvHVapaMdRMSV4+kPlipV2u/HQEq7luE8sywjzw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=laZWhdNq5HcdUKkIhOjiHvQqVcXkaMAJ2baid3q701m96rOFF5NIf1z8AkQrsCeTI Bs0VwS6+R5IbFyfWVOjMF1oPPgPRqG3LB0lJCwXdFyorILg14s98yNVsQ/l7DGClDo eSoyEM3xbMxNmsQoVJmDBlaztyVr0xy6PMOeaoFvzf542vEQ+hpph6F5dlqFwvJtmB 4GM5dd/4CpDnT+bP1sTHruyGj60Lh5qxeWeJmDOJLqLiB7z58mD7cNDjcXaKzIeEXW 9ge3PWbeIM+Oct9ggmWYLUbUaBYA9SerLHrysCWPnRIqTF+ARkdmESm31NXWWyds46 nJJgz5M0iDxpA== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: Saeed Mahameed , netdev@vger.kernel.org, Tariq Toukan , Dan Carpenter , Kalesh AP Subject: [net-next 04/15] net/mlx5: Fix error code in mlx5_is_reset_now_capable() Date: Wed, 21 Jun 2023 22:47:24 -0700 Message-ID: <20230622054735.46790-5-saeed@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230622054735.46790-1-saeed@kernel.org> References: <20230622054735.46790-1-saeed@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org From: Dan Carpenter The mlx5_is_reset_now_capable() function returns bool, not negative error codes. So if fast teardown is not supported it should return false instead of -EOPNOTSUPP. Fixes: 92501fa6e421 ("net/mlx5: Ack on sync_reset_request only if PF can do reset_now") Signed-off-by: Dan Carpenter Reviewed-by: Kalesh AP Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c b/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c index 7af2b14ab5d8..fb7874da3caa 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c @@ -327,7 +327,7 @@ static bool mlx5_is_reset_now_capable(struct mlx5_core_dev *dev) if (!MLX5_CAP_GEN(dev, fast_teardown)) { mlx5_core_warn(dev, "fast teardown is not supported by firmware\n"); - return -EOPNOTSUPP; + return false; } err = pci_read_config_word(dev->pdev, PCI_DEVICE_ID, &dev_id); From patchwork Thu Jun 22 05:47:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 13288270 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 7A25B567D for ; Thu, 22 Jun 2023 05:47:52 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C434FC433C8; Thu, 22 Jun 2023 05:47:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687412871; bh=rOnoccgD64VoV7oKhVjIkotxlbpbo6XLh8qrQfWSQI0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fumWcITCccNbs6MCv2/X8nPEhiDfRnKypTmkJAv6YXplzt4EPbfl8jArA/GmtLfwc EXOUtkabkS6ZPhiOwVf7Plu11t50w47sUwOvM8kwbjWs70VdZiCR8Rys6ou2aSv/8v kipQuPgGVwLJQLHn2Z5hHAX0Y5nBuJYLcD4/glqdqgsOctLZVQYjeU7RgUvSNzQXAq yRZ2LbI499IIbUepoKzwrOsqmVVk+J9cFMO0lZL8fqtpA7Pq0zqKbvgwAujYwIzmra hwwYZrTixGUD7WS9CMY/ujsvihpuI4/HXi0nRMfqjQq1ZpBT0aJfiorxwkaYvlZ6xg 1M3NseN15G7Xw== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: Saeed Mahameed , netdev@vger.kernel.org, Tariq Toukan , Roi Dayan , Shay Drory Subject: [net-next 05/15] net/mlx5: Lag, Remove duplicate code checking lag is supported Date: Wed, 21 Jun 2023 22:47:25 -0700 Message-ID: <20230622054735.46790-6-saeed@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230622054735.46790-1-saeed@kernel.org> References: <20230622054735.46790-1-saeed@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org From: Roi Dayan Remove duplicate function for checking if device has lag support. Signed-off-by: Roi Dayan Reviewed-by: Shay Drory Signed-off-by: Saeed Mahameed --- .../mellanox/mlx5/core/eswitch_offloads.c | 4 ++-- drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c | 15 +++++++++++---- drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h | 10 +--------- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index fdf482f6fb34..9056b0b014f6 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -2868,7 +2868,7 @@ void mlx5_esw_offloads_devcom_init(struct mlx5_eswitch *esw) if (!MLX5_CAP_ESW(esw->dev, merged_eswitch)) return; - if (!mlx5_is_lag_supported(esw->dev)) + if (!mlx5_lag_is_supported(esw->dev)) return; mlx5_devcom_register_component(devcom, @@ -2890,7 +2890,7 @@ void mlx5_esw_offloads_devcom_cleanup(struct mlx5_eswitch *esw) if (!MLX5_CAP_ESW(esw->dev, merged_eswitch)) return; - if (!mlx5_is_lag_supported(esw->dev)) + if (!mlx5_lag_is_supported(esw->dev)) return; mlx5_devcom_send_event(devcom, MLX5_DEVCOM_ESW_OFFLOADS, diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c index ffd7e17b8ebe..f0a074b2fcdf 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c @@ -1268,14 +1268,21 @@ void mlx5_lag_remove_mdev(struct mlx5_core_dev *dev) mlx5_ldev_put(ldev); } +bool mlx5_lag_is_supported(struct mlx5_core_dev *dev) +{ + if (!MLX5_CAP_GEN(dev, vport_group_manager) || + !MLX5_CAP_GEN(dev, lag_master) || + MLX5_CAP_GEN(dev, num_lag_ports) < 2 || + MLX5_CAP_GEN(dev, num_lag_ports) > MLX5_MAX_PORTS) + return false; + return true; +} + void mlx5_lag_add_mdev(struct mlx5_core_dev *dev) { int err; - if (!MLX5_CAP_GEN(dev, vport_group_manager) || - !MLX5_CAP_GEN(dev, lag_master) || - (MLX5_CAP_GEN(dev, num_lag_ports) > MLX5_MAX_PORTS || - MLX5_CAP_GEN(dev, num_lag_ports) <= 1)) + if (!mlx5_lag_is_supported(dev)) return; recheck: diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h index d7e7fa2348a5..a061b1873e27 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h @@ -74,15 +74,7 @@ struct mlx5_lag { struct lag_mpesw lag_mpesw; }; -static inline bool mlx5_is_lag_supported(struct mlx5_core_dev *dev) -{ - if (!MLX5_CAP_GEN(dev, vport_group_manager) || - !MLX5_CAP_GEN(dev, lag_master) || - MLX5_CAP_GEN(dev, num_lag_ports) < 2 || - MLX5_CAP_GEN(dev, num_lag_ports) > MLX5_MAX_PORTS) - return false; - return true; -} +bool mlx5_lag_is_supported(struct mlx5_core_dev *dev); static inline struct mlx5_lag * mlx5_lag_dev(struct mlx5_core_dev *dev) From patchwork Thu Jun 22 05:47:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 13288271 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 838F95CAC for ; Thu, 22 Jun 2023 05:47:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1DD5DC433A9; Thu, 22 Jun 2023 05:47:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687412873; bh=yJMiVVoFDJ4t/TVJlg6ySHFS92LatGL8JyxccN9I7us=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ujz4xK9baoKOkSvX662pR6+y/eilbQJujZ42sbloAhImDh/wwuFNJCs4JDtgfyGfX pAaou9dT4OkBb+2e3i40tbY9s8moGAf4CR1ofeLpMK3ZjQ3FW0aGXj4ztRInj81wMR xzlusqU3mzTa5pr1374hlUaU4Etw3u2/m45MnI7NBcyIL8Fzw3baGhpfEzbyeXVtWL YOwG8iNqj7w/G0XuWvRq32qbgRnGxwMCdlDugNH2XoQ1+PWLIKECZAYIegvXOcByju eJ840ULeB10/ty1WrlzCaiSwOvk3VAYvSso3GSe+LfOR6wULpFQkJXMN/zTbscO+aa WxXjVKMMkxgog== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: Saeed Mahameed , netdev@vger.kernel.org, Tariq Toukan , Roi Dayan , Shay Drory Subject: [net-next 06/15] net/mlx5e: Use vhca_id for device index in vport rx rules Date: Wed, 21 Jun 2023 22:47:26 -0700 Message-ID: <20230622054735.46790-7-saeed@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230622054735.46790-1-saeed@kernel.org> References: <20230622054735.46790-1-saeed@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org From: Roi Dayan Device index is like PF index and limited to max physical ports. For example, SFs created under PF the device index is the PF device index. Use vhca_id which gets the FW index per vport, for vport rx rules and vport pair events. Signed-off-by: Roi Dayan Reviewed-by: Shay Drory Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c index 965a8261c99b..152b62138450 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c @@ -408,7 +408,7 @@ static int mlx5e_sqs2vport_add_peers_rules(struct mlx5_eswitch *esw, struct mlx5 mlx5_devcom_for_each_peer_entry(devcom, MLX5_DEVCOM_ESW_OFFLOADS, peer_esw, tmp) { - int peer_rule_idx = mlx5_get_dev_index(peer_esw->dev); + u16 peer_rule_idx = MLX5_CAP_GEN(peer_esw->dev, vhca_id); struct mlx5e_rep_sq_peer *sq_peer; int err; @@ -1581,7 +1581,7 @@ static void *mlx5e_vport_rep_get_proto_dev(struct mlx5_eswitch_rep *rep) static void mlx5e_vport_rep_event_unpair(struct mlx5_eswitch_rep *rep, struct mlx5_eswitch *peer_esw) { - int i = mlx5_get_dev_index(peer_esw->dev); + u16 i = MLX5_CAP_GEN(peer_esw->dev, vhca_id); struct mlx5e_rep_priv *rpriv; struct mlx5e_rep_sq *rep_sq; @@ -1603,7 +1603,7 @@ static int mlx5e_vport_rep_event_pair(struct mlx5_eswitch *esw, struct mlx5_eswitch_rep *rep, struct mlx5_eswitch *peer_esw) { - int i = mlx5_get_dev_index(peer_esw->dev); + u16 i = MLX5_CAP_GEN(peer_esw->dev, vhca_id); struct mlx5_flow_handle *flow_rule; struct mlx5e_rep_sq_peer *sq_peer; struct mlx5e_rep_priv *rpriv; From patchwork Thu Jun 22 05:47:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 13288272 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 CABEB3C22 for ; Thu, 22 Jun 2023 05:47:54 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 85521C433C8; Thu, 22 Jun 2023 05:47:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687412874; bh=+mesCMhbH61ywaQwLk84Q5m8471XrPZIc3broOlOtPc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eaBMZXvL2DM9qz9VQzivn1IsDCJZr5wa9xWZ6luNuBwN3eXcmVRB3EnC/pQyKmu+4 +NJyd9G7qB4FHo+1jQkKQkHkZWaXKSSyFPeXVXxbSgtr9vGLUJqMHUGh2GZst9Ty1l Ze4jn/+57Cl8Ko/NtJcUFh5NB497ltpuxkSZhY314q419P30CmyRsglTcYFzpK4Ejo N6I+H8/nG+xZBoS6D3OrGjU2a54lwVCQUNfVRN135B0fjnV8tzjc4SOEKbovq8DZWj ZEgaIZE0KNCUaCldLp2bbIIcGgP0ajbcfCc0HEKHdV1ssvG3uONv2Ykw/pw5eaYPXn QNtUK4q0UhAFA== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: Saeed Mahameed , netdev@vger.kernel.org, Tariq Toukan , Roi Dayan , Shay Drory Subject: [net-next 07/15] net/mlx5e: E-Switch, Add peer fdb miss rules for vport manager or ecpf Date: Wed, 21 Jun 2023 22:47:27 -0700 Message-ID: <20230622054735.46790-8-saeed@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230622054735.46790-1-saeed@kernel.org> References: <20230622054735.46790-1-saeed@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org From: Roi Dayan Add peer fdb rules for E-Switch that are vport managers or ecpf device. It is not needed for other devices. Signed-off-by: Roi Dayan Reviewed-by: Shay Drory Signed-off-by: Saeed Mahameed --- .../net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index 9056b0b014f6..ed986d1c9e90 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -1069,6 +1069,9 @@ static int esw_add_fdb_peer_miss_rules(struct mlx5_eswitch *esw, void *misc; int err; + if (!MLX5_VPORT_MANAGER(esw->dev) && !mlx5_core_is_ecpf_esw_manager(esw->dev)) + return 0; + spec = kvzalloc(sizeof(*spec), GFP_KERNEL); if (!spec) return -ENOMEM; @@ -1177,11 +1180,14 @@ static int esw_add_fdb_peer_miss_rules(struct mlx5_eswitch *esw, static void esw_del_fdb_peer_miss_rules(struct mlx5_eswitch *esw, struct mlx5_core_dev *peer_dev) { + u16 peer_index = mlx5_get_dev_index(peer_dev); struct mlx5_flow_handle **flows; struct mlx5_vport *vport; unsigned long i; - flows = esw->fdb_table.offloads.peer_miss_rules[mlx5_get_dev_index(peer_dev)]; + flows = esw->fdb_table.offloads.peer_miss_rules[peer_index]; + if (!flows) + return; if (mlx5_core_ec_sriov_enabled(esw->dev)) { mlx5_esw_for_each_ec_vf_vport(esw, i, vport, mlx5_core_max_ec_vfs(esw->dev)) { @@ -1206,7 +1212,9 @@ static void esw_del_fdb_peer_miss_rules(struct mlx5_eswitch *esw, vport = mlx5_eswitch_get_vport(esw, MLX5_VPORT_PF); mlx5_del_flow_rules(flows[vport->index]); } + kvfree(flows); + esw->fdb_table.offloads.peer_miss_rules[peer_index] = NULL; } static int esw_add_fdb_miss_rule(struct mlx5_eswitch *esw) From patchwork Thu Jun 22 05:47:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 13288273 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 1F252101EE for ; Thu, 22 Jun 2023 05:47:56 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BC946C4339A; Thu, 22 Jun 2023 05:47:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687412875; bh=c0iYPlMcBNlCmWjQXap5TVdOiYxdgWpllsfylHLZpRw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZsmEnmhZhrIkvxE0m4KtNrmP+603Ec2bQxm2Z6N1EHbkziJtp6FhrSAFkgmhRVys4 ZGnkikJowe/yq5uYfxeRmFzGblQH1SoJxrJeRzxe9FPQZOaNIZop7dM43loV5GaMI5 5GzWbV0g9tD7akXzyjmtUoyuB2zgyFcpB0DIemEiF4u14T3iJ/L4aqKZ3BCFi1VXw0 XnN2tmls/wQUKFHvsPGdJN6Zj/Z0KjclE3NvAKXf8m61HA+VIbkq2Ube3ZuVxI+YJl 2JTLER0vub2Z0Kyiqd3cAVKNZwIC72pP+vD3EZ63SFH1kQcoFxsqo7dJyRtHejJG8W 37Jwod005yKbA== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: Saeed Mahameed , netdev@vger.kernel.org, Tariq Toukan , Roi Dayan , Shay Drory Subject: [net-next 08/15] net/mlx5e: E-Switch, Use xarray for devcom paired device index Date: Wed, 21 Jun 2023 22:47:28 -0700 Message-ID: <20230622054735.46790-9-saeed@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230622054735.46790-1-saeed@kernel.org> References: <20230622054735.46790-1-saeed@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org From: Roi Dayan To allow devcom events on E-Switch that is not a vport group manager, use vhca id as an index instead of device index which might be shared between several E-Switches. for example SF and its PF. Signed-off-by: Roi Dayan Reviewed-by: Shay Drory Signed-off-by: Saeed Mahameed --- .../net/ethernet/mellanox/mlx5/core/eswitch.h | 2 +- .../mellanox/mlx5/core/eswitch_offloads.c | 30 +++++++++++++++---- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h index 7064609f4998..ae0dc8a3060d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h @@ -353,7 +353,7 @@ struct mlx5_eswitch { u32 large_group_num; } params; struct blocking_notifier_head n_head; - bool paired[MLX5_MAX_PORTS]; + struct xarray paired; }; void esw_offloads_disable(struct mlx5_eswitch *esw); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index ed986d1c9e90..6f3b7d5eb6a4 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -2807,15 +2807,21 @@ static int mlx5_esw_offloads_devcom_event(int event, struct mlx5_eswitch *esw = my_data; struct mlx5_devcom *devcom = esw->dev->priv.devcom; struct mlx5_eswitch *peer_esw = event_data; + u16 esw_i, peer_esw_i; + bool esw_paired; int err; + peer_esw_i = MLX5_CAP_GEN(peer_esw->dev, vhca_id); + esw_i = MLX5_CAP_GEN(esw->dev, vhca_id); + esw_paired = !!xa_load(&esw->paired, peer_esw_i); + switch (event) { case ESW_OFFLOADS_DEVCOM_PAIR: if (mlx5_eswitch_vport_match_metadata_enabled(esw) != mlx5_eswitch_vport_match_metadata_enabled(peer_esw)) break; - if (esw->paired[mlx5_get_dev_index(peer_esw->dev)]) + if (esw_paired) break; err = mlx5_esw_offloads_set_ns_peer(esw, peer_esw, true); @@ -2829,23 +2835,29 @@ static int mlx5_esw_offloads_devcom_event(int event, if (err) goto err_pair; - esw->paired[mlx5_get_dev_index(peer_esw->dev)] = true; - peer_esw->paired[mlx5_get_dev_index(esw->dev)] = true; + err = xa_insert(&esw->paired, peer_esw_i, peer_esw, GFP_KERNEL); + if (err) + goto err_xa; + + err = xa_insert(&peer_esw->paired, esw_i, esw, GFP_KERNEL); + if (err) + goto err_peer_xa; + esw->num_peers++; peer_esw->num_peers++; mlx5_devcom_comp_set_ready(devcom, MLX5_DEVCOM_ESW_OFFLOADS, true); break; case ESW_OFFLOADS_DEVCOM_UNPAIR: - if (!esw->paired[mlx5_get_dev_index(peer_esw->dev)]) + if (!esw_paired) break; peer_esw->num_peers--; esw->num_peers--; if (!esw->num_peers && !peer_esw->num_peers) mlx5_devcom_comp_set_ready(devcom, MLX5_DEVCOM_ESW_OFFLOADS, false); - esw->paired[mlx5_get_dev_index(peer_esw->dev)] = false; - peer_esw->paired[mlx5_get_dev_index(esw->dev)] = false; + xa_erase(&peer_esw->paired, esw_i); + xa_erase(&esw->paired, peer_esw_i); mlx5_esw_offloads_unpair(peer_esw, esw); mlx5_esw_offloads_unpair(esw, peer_esw); mlx5_esw_offloads_set_ns_peer(esw, peer_esw, false); @@ -2854,6 +2866,10 @@ static int mlx5_esw_offloads_devcom_event(int event, return 0; +err_peer_xa: + xa_erase(&esw->paired, peer_esw_i); +err_xa: + mlx5_esw_offloads_unpair(peer_esw, esw); err_pair: mlx5_esw_offloads_unpair(esw, peer_esw); err_peer: @@ -2879,6 +2895,7 @@ void mlx5_esw_offloads_devcom_init(struct mlx5_eswitch *esw) if (!mlx5_lag_is_supported(esw->dev)) return; + xa_init(&esw->paired); mlx5_devcom_register_component(devcom, MLX5_DEVCOM_ESW_OFFLOADS, mlx5_esw_offloads_devcom_event, @@ -2906,6 +2923,7 @@ void mlx5_esw_offloads_devcom_cleanup(struct mlx5_eswitch *esw) ESW_OFFLOADS_DEVCOM_UNPAIR, esw); mlx5_devcom_unregister_component(devcom, MLX5_DEVCOM_ESW_OFFLOADS); + xa_destroy(&esw->paired); } bool mlx5_esw_vport_match_metadata_supported(const struct mlx5_eswitch *esw) From patchwork Thu Jun 22 05:47:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 13288274 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 CD87C14A90 for ; Thu, 22 Jun 2023 05:47:57 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 15CD0C433C9; Thu, 22 Jun 2023 05:47:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687412877; bh=Gk8y4OKeeQK+QK8EDke/WczfriAFm8OyPteNoasVnJ0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BW/UicpNB5Xaw4lEWtQOorFBGxRLqV6l/zcWp2arC45CNJdyEXwQElUPE+B3V/Yuq LCDFOMO60LptZAcjdf6y+TVmJBlBL5xkIJsCOSEniWD4p/wvTqYTOOp4TYrf+72+m3 wS+1bv3eRb7DbQrVraNynAkWZ/JDGRgmVHWojjyQPiWim3f8clX7Vg8y8kE3Talwt8 yYQh6kRPF/OpdOqdAh3X4h7971I4rhe38B9WS3kP/VC/HFQtnxUnLxo8K9ZPwGMuvq JrINh/BUSNmmPprhQUbScKFJmPjbX8l7/upTroampAmoPegmluxK2aHxCr74eiz48+ Oxe4n/Mv58Z/g== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: Saeed Mahameed , netdev@vger.kernel.org, Tariq Toukan , Roi Dayan , Shay Drory Subject: [net-next 09/15] net/mlx5e: E-Switch, Pass other_vport flag if vport is not 0 Date: Wed, 21 Jun 2023 22:47:29 -0700 Message-ID: <20230622054735.46790-10-saeed@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230622054735.46790-1-saeed@kernel.org> References: <20230622054735.46790-1-saeed@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org From: Roi Dayan When creating flow table for shared fdb resources, there is only need to pass other_vport flag if vport is not 0 or if the port is ECPF in BlueField. Signed-off-by: Roi Dayan Reviewed-by: Shay Drory Signed-off-by: Saeed Mahameed --- .../net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index 6f3b7d5eb6a4..ee507b12e908 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -2551,13 +2551,13 @@ static int __esw_set_master_egress_rule(struct mlx5_core_dev *master, return err; } -static int esw_master_egress_create_resources(struct mlx5_flow_namespace *egress_ns, +static int esw_master_egress_create_resources(struct mlx5_eswitch *esw, + struct mlx5_flow_namespace *egress_ns, struct mlx5_vport *vport, size_t count) { int inlen = MLX5_ST_SZ_BYTES(create_flow_group_in); struct mlx5_flow_table_attr ft_attr = { .max_fte = count, .prio = 0, .level = 0, - .flags = MLX5_FLOW_TABLE_OTHER_VPORT, }; struct mlx5_flow_table *acl; struct mlx5_flow_group *g; @@ -2572,6 +2572,9 @@ static int esw_master_egress_create_resources(struct mlx5_flow_namespace *egress if (!flow_group_in) return -ENOMEM; + if (vport->vport || mlx5_core_is_ecpf(esw->dev)) + ft_attr.flags = MLX5_FLOW_TABLE_OTHER_VPORT; + acl = mlx5_create_vport_flow_table(egress_ns, &ft_attr, vport->vport); if (IS_ERR(acl)) { err = PTR_ERR(acl); @@ -2642,7 +2645,7 @@ static int esw_set_master_egress_rule(struct mlx5_core_dev *master, if (vport->egress.acl && vport->egress.type != VPORT_EGRESS_ACL_TYPE_SHARED_FDB) return 0; - err = esw_master_egress_create_resources(egress_ns, vport, count); + err = esw_master_egress_create_resources(esw, egress_ns, vport, count); if (err) return err; From patchwork Thu Jun 22 05:47:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 13288275 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 D333B14AAE for ; Thu, 22 Jun 2023 05:47:58 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 80FB1C433C0; Thu, 22 Jun 2023 05:47:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687412878; bh=HqrvWx2R+TezNLWMHGY8ND7dcInmsr5SqXUqZ3+TF/s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XF98QQ+eyoD/nPrGAD3s8lY7qrYFIOdc2biRxvklkzHMmZr/ycWRYhTOnOOZbeGAq +cwkAQWlFkyS5a6Q/iOTDfC1sf676CP62jMaNS0P8ViBifKEFb5zpSNZo2YccTLrcv Tttet1QnJ7ZcgoFx4zU7HSfwYl02wyoNDqt/MM9cwoAc0nGf6zRBRT/kZPPjuo8mDM 1I3/H3A/NIZI5B7YmJmd53BoYs9Ou7YDTMfTPFgQCyY2253gF10Iox3l4IXwcQM0vU imsTmvhagDFMmuiK66nt+2pSHNLazwDlmjy+pSP3TOXfotYBXeAUUpjOEyCpUHjtzA n8yozkiN5j06A== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: Saeed Mahameed , netdev@vger.kernel.org, Tariq Toukan , Roi Dayan , Shay Drory Subject: [net-next 10/15] net/mlx5e: Remove redundant comment Date: Wed, 21 Jun 2023 22:47:30 -0700 Message-ID: <20230622054735.46790-11-saeed@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230622054735.46790-1-saeed@kernel.org> References: <20230622054735.46790-1-saeed@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org From: Roi Dayan The function comment says what it is and the comment is redundant. Signed-off-by: Roi Dayan Reviewed-by: Shay Drory Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index ee507b12e908..612be82a8ad5 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -1904,7 +1904,6 @@ static int esw_create_vport_rx_group(struct mlx5_eswitch *esw) if (!flow_group_in) return -ENOMEM; - /* create vport rx group */ mlx5_esw_set_flow_group_source_port(esw, flow_group_in, 0); MLX5_SET(create_flow_group_in, flow_group_in, start_flow_index, 0); From patchwork Thu Jun 22 05:47:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 13288276 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 02C5515ADB for ; Thu, 22 Jun 2023 05:48:00 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B843CC43391; Thu, 22 Jun 2023 05:47:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687412879; bh=5fRzPBaLD47oCM4ckux7SngdwTLmWgcBxCz/EuqHn9w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nxclcofoKIKITbogIvIEjnGdiz+Ad5ejZh+Pep2fvpToUe+n2SDqndYF0HVQqKPR6 p86tjElDondzmmYW7YPFEVSFztUGbDbMFpg/gGvAbDw7nzEc8N7iwJJG5dQNzOvcSu DX3uQhezx4HCQVk1SnJ+YRwJt5DTeV84gUZItmqqwB73y0EnSTe1vZeMXNOXNU8sKx d7GCGyZ1iLcwyRQW7J5AFqGcnbWq/5qhuTQQb3D/LHVnEm2rDLBPHTair27lIPrIKw QfeWBj36mcq5sX7tfJPiWuaaQjLXDrOC/RzblNHxLhZt6r6AexI7pMf8eR/wbrfuxR qnJUvWgrYEt8g== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: Saeed Mahameed , netdev@vger.kernel.org, Tariq Toukan , Roi Dayan , Shay Drory Subject: [net-next 11/15] net/mlx5e: E-Switch, Fix shared fdb error flow Date: Wed, 21 Jun 2023 22:47:31 -0700 Message-ID: <20230622054735.46790-12-saeed@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230622054735.46790-1-saeed@kernel.org> References: <20230622054735.46790-1-saeed@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org From: Roi Dayan On error flow resources being freed in esw_master_egress_destroy_resources() but pointers not being set to null if error flow is from creating a bounce rule. Then in esw_acl_egress_ofld_cleanup() we try to access already freed pointers. Fix it by resetting the pointers to null. Also if error is from creating a second or later bounce rule then the flow group and table being used and cannot and should not be freed. Add a check to destroy the flow group and table if there are no bounce rules. mlx5_core.sf mlx5_core.sf.2: mlx5_destroy_flow_group:2306:(pid 2235): Flow group 4 wasn't destroyed, refcount > 1 mlx5_core.sf mlx5_core.sf.2: mlx5_destroy_flow_table:2295:(pid 2235): Flow table 3 wasn't destroyed, refcount > 1 Fixes: 6704fef92002 ("net/mlx5: E-switch, Handle multiple master egress rules") Signed-off-by: Roi Dayan Reviewed-by: Shay Drory Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index 612be82a8ad5..cf58295ad7e2 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -2618,8 +2618,12 @@ static int esw_master_egress_create_resources(struct mlx5_eswitch *esw, static void esw_master_egress_destroy_resources(struct mlx5_vport *vport) { + if (!xa_empty(&vport->egress.offloads.bounce_rules)) + return; mlx5_destroy_flow_group(vport->egress.offloads.bounce_grp); + vport->egress.offloads.bounce_grp = NULL; mlx5_destroy_flow_table(vport->egress.acl); + vport->egress.acl = NULL; } static int esw_set_master_egress_rule(struct mlx5_core_dev *master, From patchwork Thu Jun 22 05:47:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 13288277 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 6227F18002 for ; Thu, 22 Jun 2023 05:48:01 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1391FC433C9; Thu, 22 Jun 2023 05:48:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687412881; bh=z9QpmUqBYV7JYhyCBxMxx84OYqy5vkkdf1FlmXOpXHU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YRICv19bo1GMmk4hBK7P0hpXyGm4SSCLVEFOdkoGaJrfqGFNHqVgAVgNPCSTgflJr +BKPxDkfAk/uHszBypyN7mJkBHincoF/+UGzOM2ON9Iy+S8q3xQGwH5pJYS2vOgjq1 SVTW7osMp8doNHgIj1waFMmJQfHniovIrrXDRkkDG49YHrh+YqNrnmyKouXa1nXUDN l/wTtPnq4jopSlWTL8OkOjBUYKVMxtid4F0s9fFImuJ+Z6e0p+yb5mk1BrrHhrbHVs F+9bc0v8TKgBUfdhhjqTXuGAdpBYwVPGSM7OXfPTZY7vSRWPpdcn31lYakAXX2lCW5 Tj1WQH4z4kTOg== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: Saeed Mahameed , netdev@vger.kernel.org, Tariq Toukan , Jiri Pirko , Shay Drory Subject: [net-next 12/15] net/mlx5: Remove redundant MLX5_ESWITCH_MANAGER() check from is_ib_rep_supported() Date: Wed, 21 Jun 2023 22:47:32 -0700 Message-ID: <20230622054735.46790-13-saeed@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230622054735.46790-1-saeed@kernel.org> References: <20230622054735.46790-1-saeed@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org From: Jiri Pirko MLX5_ESWITCH_MANAGER() check is done in is_eth_rep_supported(). Function is_ib_rep_supported() calls is_eth_rep_supported(). Remove the redundant check from it. Signed-off-by: Jiri Pirko Reviewed-by: Shay Drory Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/dev.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/dev.c b/drivers/net/ethernet/mellanox/mlx5/core/dev.c index 617ac7e5d75c..3b1e925f16d2 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/dev.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/dev.c @@ -151,9 +151,6 @@ static bool is_ib_rep_supported(struct mlx5_core_dev *dev) if (!is_eth_rep_supported(dev)) return false; - if (!MLX5_ESWITCH_MANAGER(dev)) - return false; - if (!is_mdev_switchdev_mode(dev)) return false; From patchwork Thu Jun 22 05:47:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 13288278 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 6E79418010 for ; Thu, 22 Jun 2023 05:48:02 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2A303C433C8; Thu, 22 Jun 2023 05:48:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687412882; bh=TpW3DD+tbX2KtI+8ko7C3YXrkZdAuQAwkvkJAGVFRec=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Nqkw0HBhC49cUqXfWaEqXe3A7KBhtWLyLtivPxk54xPcbkRrA5U1yhPr3LzNdJ93S 5gdKST14tWq+G1+5E9EazwjvGfMR/06Rvq55+N/7M0F4S6o1UYwCOuBM1H6/ykdVUE kZzhev5e77viRaAXvODWJO17vFCiCy46kjihEiTQH7ADHdxKAWCun6mIMKLtsYL34s VNpy8dWUbfHY3Yf0eYqmk4OzK5C/0IhICyIpC1V89TOnCLD/mY4FDKgc+SMe8HnBpQ yW4rCPD+g2AuICt3JTk+9dZC0zV3FqdQ5c+GYoBvMMpKYchDjPLedsIjiBxJv5Xuo8 DXVav1UFrmbCQ== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: Saeed Mahameed , netdev@vger.kernel.org, Tariq Toukan , Jiri Pirko , Shay Drory Subject: [net-next 13/15] net/mlx5: Remove redundant is_mdev_switchdev_mode() check from is_ib_rep_supported() Date: Wed, 21 Jun 2023 22:47:33 -0700 Message-ID: <20230622054735.46790-14-saeed@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230622054735.46790-1-saeed@kernel.org> References: <20230622054735.46790-1-saeed@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org From: Jiri Pirko is_mdev_switchdev_mode() check is done in is_eth_rep_supported(). Function is_ib_rep_supported() calls is_eth_rep_supported(). Remove the redundant check from it. Signed-off-by: Jiri Pirko Reviewed-by: Shay Drory Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/dev.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/dev.c b/drivers/net/ethernet/mellanox/mlx5/core/dev.c index 3b1e925f16d2..edb06fb9bbc5 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/dev.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/dev.c @@ -151,9 +151,6 @@ static bool is_ib_rep_supported(struct mlx5_core_dev *dev) if (!is_eth_rep_supported(dev)) return false; - if (!is_mdev_switchdev_mode(dev)) - return false; - if (mlx5_core_mp_enabled(dev)) return false; From patchwork Thu Jun 22 05:47:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 13288279 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 D032B1D2B2 for ; Thu, 22 Jun 2023 05:48:03 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 86106C433D9; Thu, 22 Jun 2023 05:48:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687412883; bh=JA8JCn/mVtYO9vYTkPzLQY/2LVuvj+iiiUlQqUkXE+0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bXYPN0NAjjNN4kqnXuA/UVkvp/4QxLmD6jSHgf9yYRXJcqhSPaKNDwwMWQPY7qpj3 rxMc6woDRIkx6WlajJp1oGUl+LUZtDkVgCQNbwfGUk4UIJg8ehm7JEZCvUg5V1NInt fxbubWgWxEx5uV/nUTKUanNlMJPqIDDU/CWckCQuyoGwithldDzUOMBhoj37vlPVHC 1XWdvOiTuHaQj4b/ldEMSTzwjkoGuXpGgoyfJesdbFso5NDUiJwA0xu7gsWp9ESK/n Me0humecr3VnoDt75R2zA/h5aJ7vPMDmY+V/9dhlLpGlwq4hX9e/01eVHSsghDsSMm egqRLbZdlzFSg== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: Saeed Mahameed , netdev@vger.kernel.org, Tariq Toukan , Jiri Pirko , Shay Drory Subject: [net-next 14/15] net/mlx5: Remove redundant check from mlx5_esw_query_vport_vhca_id() Date: Wed, 21 Jun 2023 22:47:34 -0700 Message-ID: <20230622054735.46790-15-saeed@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230622054735.46790-1-saeed@kernel.org> References: <20230622054735.46790-1-saeed@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org From: Jiri Pirko Since mlx5_esw_query_vport_vhca_id() could be called either from mlx5_esw_vport_enable() or mlx5_esw_vport_disable() where the the check is done, this is always false here. Remove the redundant check. Signed-off-by: Jiri Pirko Reviewed-by: Shay Drory Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index cf58295ad7e2..bdfe609cc9ec 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -3961,9 +3961,6 @@ static int mlx5_esw_query_vport_vhca_id(struct mlx5_eswitch *esw, u16 vport_num, int err; *vhca_id = 0; - if (mlx5_esw_is_manager_vport(esw, vport_num) || - !MLX5_CAP_GEN(esw->dev, vhca_resource_manager)) - return -EPERM; query_ctx = kzalloc(query_out_sz, GFP_KERNEL); if (!query_ctx) From patchwork Thu Jun 22 05:47:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 13288280 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 563C71D2B2 for ; Thu, 22 Jun 2023 05:48:05 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BC556C433C8; Thu, 22 Jun 2023 05:48:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687412885; bh=a3DfA3pEFUrCiTIBstXhFyg0ja2cqiRK6RpSlVthg2o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ID4Kuf6cYLcm37yUBKoQDueQXQdpKod8F4fkyrgcLEfAHYW4PSI3tJur2oiixPEZo r/dbd6LaULA7IwOH5UKIEXMVxYT+HbTxLIcThoFS90DjOnXVlTWM3TZvPORGwOkAoX s2WacvZuPIewfX4yOmIntDAPdbEnVkhgxFzmSGLxklaWJog/RZ3ibTdbNg7haRz5oJ BA+ToEoUqo1bd8deGOa401x9mqoMQDHKr2aLHwXMb1wNUBJIXQcMd0sWhuTfdikjrN /FPuv6WO33yYwVB2uDLfVGwZkNMWljRa14Q6xQtEVgblSmFTO0spZNbYp4PIIDu4V9 cpMu9RXRgMHvg== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: Saeed Mahameed , netdev@vger.kernel.org, Tariq Toukan , Jiri Pirko , Shay Drory Subject: [net-next 15/15] net/mlx5: Remove pointless vport lookup from mlx5_esw_check_port_type() Date: Wed, 21 Jun 2023 22:47:35 -0700 Message-ID: <20230622054735.46790-16-saeed@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230622054735.46790-1-saeed@kernel.org> References: <20230622054735.46790-1-saeed@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org From: Jiri Pirko As xa_get_mark() returns false in case the entry is not present, no need to redundantly check if vport is present. Remove the lookup. Signed-off-by: Jiri Pirko Reviewed-by: Shay Drory Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c index b4e465856127..faec7d7a4400 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -1908,12 +1908,6 @@ int mlx5_eswitch_set_vport_mac(struct mlx5_eswitch *esw, static bool mlx5_esw_check_port_type(struct mlx5_eswitch *esw, u16 vport_num, xa_mark_t mark) { - struct mlx5_vport *vport; - - vport = mlx5_eswitch_get_vport(esw, vport_num); - if (IS_ERR(vport)) - return false; - return xa_get_mark(&esw->vports, vport_num, mark); }