From patchwork Fri Mar 12 23:38:41 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 399382 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-19.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1A6B1C433E9 for ; Fri, 12 Mar 2021 23:40:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id DF25764FD9 for ; Fri, 12 Mar 2021 23:40:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235857AbhCLXjX (ORCPT ); Fri, 12 Mar 2021 18:39:23 -0500 Received: from mail.kernel.org ([198.145.29.99]:60992 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235791AbhCLXi5 (ORCPT ); Fri, 12 Mar 2021 18:38:57 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id BAC1C64F8E; Fri, 12 Mar 2021 23:38:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1615592337; bh=rECLVQA13kP6xM5Hv/YcfZz1oc/M9/cAH/ze/TBPJSE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JY18gJxx9t2Ougm1nwUMm8BAP/iLpOBkEL2diyA6CGOAE49rROj6evlIqUEI70KsX 1zM8OUp86C7x3UbEjrKDSEnn6oXl+1yraiXfCxHjN52GgqpAR1YbEe1wRUz9qP7u7h yDL8aiBl7vLrod/+g8Rr1b7fp2AW6ZwUhdeO7kiaFLsXaWaYzHoT/XYCJbymIKkH/u 869CqrWUoL9/qDrec7nHmXMBBJHt5grGLIJovkrnEhQND+qfzegh4yXmKAXUC/UNg1 bxGaZAOweK7ng4hQaGQJbJaX4LbxGoFXBw/9exa4RSPcEO7AGJdKEGEnrrVq32p74r Vl0C88EGd4tfQ== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski Cc: netdev@vger.kernel.org, Yevgeny Kliteynik , Alex Vesker , Alex Vesker , Saeed Mahameed Subject: [net-next 03/13] net/mlx5: DR, Add missing vhca_id consume from STEv1 Date: Fri, 12 Mar 2021 15:38:41 -0800 Message-Id: <20210312233851.494832-4-saeed@kernel.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210312233851.494832-1-saeed@kernel.org> References: <20210312233851.494832-1-saeed@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Yevgeny Kliteynik The field source_eswitch_owner_vhca_id was not consumed in the same way as in STEv0. Added the missing set. Fixes: 10b694186410 ("net/mlx5: DR, Add HW STEv1 match logic") Signed-off-by: Alex Vesker Signed-off-by: Yevgeny Kliteynik Reviewed-by: Alex Vesker Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste_v1.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste_v1.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste_v1.c index 6f368ccc428e..815951617e7c 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste_v1.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste_v1.c @@ -1514,6 +1514,7 @@ static void dr_ste_v1_build_src_gvmi_qpn_bit_mask(struct mlx5dr_match_param *val DR_STE_SET_ONES(src_gvmi_qp_v1, bit_mask, source_gvmi, misc_mask, source_port); DR_STE_SET_ONES(src_gvmi_qp_v1, bit_mask, source_qp, misc_mask, source_sqn); + misc_mask->source_eswitch_owner_vhca_id = 0; } static int dr_ste_v1_build_src_gvmi_qpn_tag(struct mlx5dr_match_param *value, From patchwork Fri Mar 12 23:38:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 399381 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-19.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5473BC4332E for ; Fri, 12 Mar 2021 23:40:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3854164F8D for ; Fri, 12 Mar 2021 23:40:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235869AbhCLXjZ (ORCPT ); Fri, 12 Mar 2021 18:39:25 -0500 Received: from mail.kernel.org ([198.145.29.99]:32780 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235809AbhCLXi6 (ORCPT ); Fri, 12 Mar 2021 18:38:58 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id B1AD264FA6; Fri, 12 Mar 2021 23:38:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1615592338; bh=4lqnQLGNMRJjdEbK4BaDdtz2ZVyv5pnkjgNd1dG75MQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qkFpcX+A9YqIcjVGzCPA6MLJFiL85lr1x/8aA+xEJL1pTY9i3bZFt0nr9OqrIz4Wc S/MFeha+S0UipO4ELepWfvsbJBq8eH057UW+TWzs0bSqp/GeqK73lT7/hIFQBxZNas 0UMfV3ic5J0Pr1tu9btKb5zlPMAgBio2mCzvUrf1oQ9gpzZ6v2vzAWx1I9g27O8U6b tLgCHl6LxBRNYTN+6McnuNu7Fp+BZrVOIlN3MO4yM9KZevZRt1nIml3aff7lGjsSua KYVRSNadDh3upanP2u/uX1brPejl0BCaTkMGXqIOVmTdl46+A5wyWcAagYAuh2YFFM SK5NpBoh45cuQ== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski Cc: netdev@vger.kernel.org, Jiapeng Chong , Abaci Robot , Parav Pandit , Saeed Mahameed Subject: [net-next 05/13] net/mlx5: remove unneeded semicolon Date: Fri, 12 Mar 2021 15:38:43 -0800 Message-Id: <20210312233851.494832-6-saeed@kernel.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210312233851.494832-1-saeed@kernel.org> References: <20210312233851.494832-1-saeed@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiapeng Chong Fix the following coccicheck warnings: ./drivers/net/ethernet/mellanox/mlx5/core/sf/devlink.c:495:2-3: Unneeded semicolon. Reported-by: Abaci Robot Signed-off-by: Jiapeng Chong Reviewed-by: Parav Pandit Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/sf/devlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/sf/devlink.c b/drivers/net/ethernet/mellanox/mlx5/core/sf/devlink.c index c2ba41bb7a70..60a6328a9ca0 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/sf/devlink.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/sf/devlink.c @@ -492,7 +492,7 @@ static int mlx5_sf_esw_event(struct notifier_block *nb, unsigned long event, voi break; default: break; - }; + } return 0; } From patchwork Fri Mar 12 23:38:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 399378 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3ED9EC4332D for ; Fri, 12 Mar 2021 23:40:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 18D0964FB3 for ; Fri, 12 Mar 2021 23:40:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235865AbhCLXjY (ORCPT ); Fri, 12 Mar 2021 18:39:24 -0500 Received: from mail.kernel.org ([198.145.29.99]:32790 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235812AbhCLXi6 (ORCPT ); Fri, 12 Mar 2021 18:38:58 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 2B53464F5E; Fri, 12 Mar 2021 23:38:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1615592338; bh=AToiMjuvf7q5MNlYrDuWplOjwxdjkej4TyVig2MDdo8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=A4JG3CRPInEstvhHxaKFN/4IweDaKDY93h4huht5YLjqszdfEzmU/s5S/N562VZth WS+PhsqN9j09F5VWoKQVWpTJCuI1ebePxxz9eT7wvG2wDKrTRieKUIYGdTHS0Y/8tH FLTfZMjR5ETiVQsV8fcoWmQikqPPWTwdJCgtrRnOLQZ7DVR0F8vNhbs3xqTE0k8LiQ EqmnHHHpwuJejmHAId+uV5y8rLzbiPekKuboms0driStD+WQ+s91izT1yD0xmUQ/RM Otl9PY4+T6J1hEjZZGRcfsm4EQf0dHBcuTYo04qUtCpvtYh9j4lQUCfCravaGak8p5 w3YnOMJ1FqanA== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski Cc: netdev@vger.kernel.org, Mark Zhang , Saeed Mahameed , Maor Gottlieb Subject: [net-next 06/13] net/mlx5: Read congestion counters from all ports when lag is active Date: Fri, 12 Mar 2021 15:38:44 -0800 Message-Id: <20210312233851.494832-7-saeed@kernel.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210312233851.494832-1-saeed@kernel.org> References: <20210312233851.494832-1-saeed@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Mark Zhang Read congestion counters from all ports in any lag mode rather than only in RoCE lag mode (e.g., VF lag). Signed-off-by: Mark Zhang Reviewed-by: Saeed Mahameed Reviewed-by: Maor Gottlieb Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/lag.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag.c b/drivers/net/ethernet/mellanox/mlx5/core/lag.c index 83a05371e2aa..127bb92da150 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag.c @@ -768,7 +768,7 @@ int mlx5_lag_query_cong_counters(struct mlx5_core_dev *dev, spin_lock(&lag_lock); ldev = mlx5_lag_dev_get(dev); - if (ldev && __mlx5_lag_is_roce(ldev)) { + if (ldev && __mlx5_lag_is_active(ldev)) { num_ports = MLX5_MAX_PORTS; mdev[MLX5_LAG_P1] = ldev->pf[MLX5_LAG_P1].dev; mdev[MLX5_LAG_P2] = ldev->pf[MLX5_LAG_P2].dev; From patchwork Fri Mar 12 23:38:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 399380 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-19.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9EC45C43331 for ; Fri, 12 Mar 2021 23:40:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 68AB464F86 for ; Fri, 12 Mar 2021 23:40:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235877AbhCLXj0 (ORCPT ); Fri, 12 Mar 2021 18:39:26 -0500 Received: from mail.kernel.org ([198.145.29.99]:32806 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235815AbhCLXi7 (ORCPT ); Fri, 12 Mar 2021 18:38:59 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id F378564FA7; Fri, 12 Mar 2021 23:38:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1615592339; bh=kM3/eAavmlOa4Zh/5HnWe4CjrLFaZ2qV6OM93EJ7Eps=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GtDBSMmyIevB4Mj4poxNa5TbPLvn/remBdjB3ZgfzVSGwPIswb7jZ46v2kvZ13yGu BuRe3F3Q8meRNORI1lYw1lejgs6JUYZakSYuEpk80zbPlayDm/GUm5SsCJmJ/RUkKq nw/vrX+OGeV6FmQ6O/wbjTU+4/jIWbxn23kwM/qz7ZXrgNXoIqfhua0P5CYCRtMVpO pmvLBoXL87bFDkkuXjqEqEZ8Iv6mVv2JTVtcyWzoVZACKxArrP4EQNXFJpGLVYlwae NDgTjJFRTaPw/tEVgAnY9CiQVO43is8FSVD2NWxqw/lFg1FS8TKTS8qZekOlH7OT7c svBtQ2/a4Pteg== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski Cc: netdev@vger.kernel.org, Maxim Mikityanskiy , Saeed Mahameed , Tariq Toukan Subject: [net-next 08/13] net/mlx5e: Use net_prefetchw instead of prefetchw in MPWQE TX datapath Date: Fri, 12 Mar 2021 15:38:46 -0800 Message-Id: <20210312233851.494832-9-saeed@kernel.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210312233851.494832-1-saeed@kernel.org> References: <20210312233851.494832-1-saeed@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Maxim Mikityanskiy Commit e20f0dbf204f ("net/mlx5e: RX, Add a prefetch command for small L1_CACHE_BYTES") switched to using net_prefetchw at all places in mlx5e. In the same time frame, commit 5af75c747e2a ("net/mlx5e: Enhanced TX MPWQE for SKBs") added one more usage of prefetchw. When these two changes were merged, this new occurrence of prefetchw wasn't replaced with net_prefetchw. This commit fixes this last occurrence of prefetchw in mlx5e_tx_mpwqe_session_start, making the same change that was done in mlx5e_xdp_mpwqe_session_start. Signed-off-by: Maxim Mikityanskiy Reviewed-by: Saeed Mahameed Reviewed-by: Tariq Toukan Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/en_tx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c index bdbffe484fce..d2efe2455955 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c @@ -576,7 +576,7 @@ static void mlx5e_tx_mpwqe_session_start(struct mlx5e_txqsq *sq, pi = mlx5e_txqsq_get_next_pi(sq, MLX5E_TX_MPW_MAX_WQEBBS); wqe = MLX5E_TX_FETCH_WQE(sq, pi); - prefetchw(wqe->data); + net_prefetchw(wqe->data); *session = (struct mlx5e_tx_mpwqe) { .wqe = wqe, From patchwork Fri Mar 12 23:38:47 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 399379 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-19.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EB0A9C4321A for ; Fri, 12 Mar 2021 23:40:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BF79064EDF for ; Fri, 12 Mar 2021 23:40:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235893AbhCLXja (ORCPT ); Fri, 12 Mar 2021 18:39:30 -0500 Received: from mail.kernel.org ([198.145.29.99]:32816 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235818AbhCLXi7 (ORCPT ); Fri, 12 Mar 2021 18:38:59 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 6899464F8E; Fri, 12 Mar 2021 23:38:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1615592339; bh=sfnEsH3EiRSwzRNvitNEuVou9ghvckBI3hT+dg5tyeY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=E+86uZRbEmi4bQi9rMRPodJrFKfVZKTaL4SrhXLa2wrazXLeW8/HRqGo8UG8nFHO6 PmPkD6XPl4s693GADx7ejTct2fwJIyOSW+pKxOyDTvW133YCqo64w+LuI5AFN+aye2 CG//JhXXRFZaavOe7Um6H3UToz0gQ/uk97ijCJVYfM5spS/bUybMnpBaEFGKH7uuXt QlXpfNqjBPybRtUjof85012IvdqBSKyT+egYPPs9ND4LO45GRfdSzCsWikBq2KBo/b cfzU1Crx5j7Mq7O3w6z/phD6big4wE8tRI2nruo59TtUhtmDSv3gv0OV2pnGOe3tjl bd6VrFDwooY2w== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski Cc: netdev@vger.kernel.org, Tariq Toukan , Saeed Mahameed Subject: [net-next 09/13] net/mlx5e: Dump ICOSQ WQE descriptor on CQE with error events Date: Fri, 12 Mar 2021 15:38:47 -0800 Message-Id: <20210312233851.494832-10-saeed@kernel.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210312233851.494832-1-saeed@kernel.org> References: <20210312233851.494832-1-saeed@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Tariq Toukan Dump the ICOSQ's WQE descriptor when a completion with error is received. Signed-off-by: Tariq Toukan Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c index 1b6ad94ebb10..1f15c6183dc1 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c @@ -669,6 +669,7 @@ int mlx5e_poll_ico_cq(struct mlx5e_cq *cq) get_cqe_opcode(cqe)); mlx5e_dump_error_cqe(&sq->cq, sq->sqn, (struct mlx5_err_cqe *)cqe); + mlx5_wq_cyc_wqe_dump(&sq->wq, ci, wi->num_wqebbs); if (!test_and_set_bit(MLX5E_SQ_STATE_RECOVERING, &sq->state)) queue_work(cq->priv->wq, &sq->recover_work); break; From patchwork Fri Mar 12 23:38:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 398706 Delivered-To: patch@linaro.org Received: by 2002:a02:8562:0:0:0:0:0 with SMTP id g89csp1606390jai; Fri, 12 Mar 2021 15:41:01 -0800 (PST) X-Google-Smtp-Source: ABdhPJzHPDq9oFZ3s/MjE9i6I10QX9XkxX+OjvdX5ws1RB5FNsNtBJh1QZRDfXcDKkDHPtqvKFz3 X-Received: by 2002:aa7:d4cb:: with SMTP id t11mr16828513edr.202.1615592461115; Fri, 12 Mar 2021 15:41:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1615592461; cv=none; d=google.com; s=arc-20160816; b=ON6inSTn9RZ+T1jzUDOJkgZgKh6tWcsQoW1+AsWG9isGHY8HV14VLiezjiwt7oThA6 nyizUktpwcP6WPFQlt14491fz/XhX8M1CtFkBTHjEaAIawFR+fx1oqzQJWlbSb7kJUIs gnWlWd6r28FzhecfxnInZ/JCv5zHQBaa12Eu8jv6xyiYJNG/bkLqnWMlUlJCmtl3y/Fg JDBjTNwxi6NtQEwI3Jw2yKfIPeikJuUSO2YOyFNgpEkkEKatjn5paycJy2N67gZWit7a MO0lCt4bk5SCJ2he0x+zuHx0a+T7kk6ucvwSnFRPwkd8ndabq1kU9URml4wX43+56Fp5 oSIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=e1Bfokdqlje0ndKDwO0IVmRvdvMEDeyoU6LuIlivSJI=; b=NJCPynbdljI/AX1/JOOo9SBoD2Y+TADNehu/0RMFfJxLdVYV/63rLawyGEommuVTe8 fOhtclqHpIlNRwNlldGzYkfYHzt8hQygliBLJjUbp9Z8gFzDWfTWk7vHNLfGUqMnA4US /sX8Ah86IUWSsFUDBilOuFaRGqTl2KJFzJfbeYKKQuuYUtIsKJa16P4yte7tkBbYnCPs 8aFyVw1pAITp1Fns0ZvdsgpDlxfW5bNJJlhPhNbnKPJzCNsGaotnhhyIQwwm7RShgX18 z8Pt1niyQkanBBgI1Hh4n0LpzobH+II5lW7A+944TP32LOHATEkly17PRjr0JPaOukov h/rQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=IjzWVzDZ; spf=pass (google.com: domain of netdev-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=netdev-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j22si5060311ejb.269.2021.03.12.15.41.00; Fri, 12 Mar 2021 15:41:01 -0800 (PST) Received-SPF: pass (google.com: domain of netdev-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=IjzWVzDZ; spf=pass (google.com: domain of netdev-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=netdev-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235889AbhCLXj3 (ORCPT + 8 others); Fri, 12 Mar 2021 18:39:29 -0500 Received: from mail.kernel.org ([198.145.29.99]:32824 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235819AbhCLXjA (ORCPT ); Fri, 12 Mar 2021 18:39:00 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id CA4DD64F86; Fri, 12 Mar 2021 23:38:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1615592340; bh=5vbNGNIpW0U1T4cAa0Kz7OG1MGTHxQR75AIrz2bHcng=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IjzWVzDZItlcnYN43gP+fVUW7stsfLGA+wZGaaB69q5Is9d+PRhPyQwqbmspxJBmR yixkeOe/XE1i/o6Ll06witCOqOa5lBtTBm+a4DpACEnX744ntw4fQlmP/4n7DDqibn a9nlWyKkB8IH8JwJXxk5vVeMtrqqsdYbfJWV6k8YIwvTEKvg54hiegyBr+h4tZWN6X 2XeM/jLVgCydxKMYjoyf/N6zRy4ar0rzuOxsCsrsDUrBOKOp0+uq4e6QubsW/I/YlK 99l8ZObCnw/giDy3a4z2Q8CdJAFsz1pKyE4CaH2iqmsP8erxiRA+1kwYmTEfTcDk0N lXPmRheIkwHvA== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski Cc: netdev@vger.kernel.org, Arnd Bergmann , Tariq Toukan , Saeed Mahameed Subject: [net-next 10/13] net/mlx5e: allocate 'indirection_rqt' buffer dynamically Date: Fri, 12 Mar 2021 15:38:48 -0800 Message-Id: <20210312233851.494832-11-saeed@kernel.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210312233851.494832-1-saeed@kernel.org> References: <20210312233851.494832-1-saeed@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Arnd Bergmann Increasing the size of the indirection_rqt array from 128 to 256 bytes pushed the stack usage of the mlx5e_hairpin_fill_rqt_rqns() function over the warning limit when building with clang and CONFIG_KASAN: drivers/net/ethernet/mellanox/mlx5/core/en_tc.c:970:1: error: stack frame size of 1180 bytes in function 'mlx5e_tc_add_nic_flow' [-Werror,-Wframe-larger-than=] Using dynamic allocation here is safe because the caller does the same, and it reduces the stack usage of the function to just a few bytes. Signed-off-by: Arnd Bergmann Reviewed-by: Tariq Toukan Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) -- 2.29.2 diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c index dc126389291d..c72725c3f53b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -445,12 +445,16 @@ static void mlx5e_hairpin_destroy_transport(struct mlx5e_hairpin *hp) mlx5_core_dealloc_transport_domain(hp->func_mdev, hp->tdn); } -static void mlx5e_hairpin_fill_rqt_rqns(struct mlx5e_hairpin *hp, void *rqtc) +static int mlx5e_hairpin_fill_rqt_rqns(struct mlx5e_hairpin *hp, void *rqtc) { - u32 indirection_rqt[MLX5E_INDIR_RQT_SIZE], rqn; + u32 *indirection_rqt, rqn; struct mlx5e_priv *priv = hp->func_priv; int i, ix, sz = MLX5E_INDIR_RQT_SIZE; + indirection_rqt = kzalloc(sz, GFP_KERNEL); + if (!indirection_rqt) + return -ENOMEM; + mlx5e_build_default_indir_rqt(indirection_rqt, sz, hp->num_channels); @@ -462,6 +466,9 @@ static void mlx5e_hairpin_fill_rqt_rqns(struct mlx5e_hairpin *hp, void *rqtc) rqn = hp->pair->rqn[ix]; MLX5_SET(rqtc, rqtc, rq_num[i], rqn); } + + kfree(indirection_rqt); + return 0; } static int mlx5e_hairpin_create_indirect_rqt(struct mlx5e_hairpin *hp) @@ -482,12 +489,15 @@ static int mlx5e_hairpin_create_indirect_rqt(struct mlx5e_hairpin *hp) MLX5_SET(rqtc, rqtc, rqt_actual_size, sz); MLX5_SET(rqtc, rqtc, rqt_max_size, sz); - mlx5e_hairpin_fill_rqt_rqns(hp, rqtc); + err = mlx5e_hairpin_fill_rqt_rqns(hp, rqtc); + if (err) + goto out; err = mlx5_core_create_rqt(mdev, in, inlen, &hp->indir_rqt.rqtn); if (!err) hp->indir_rqt.enabled = true; +out: kvfree(in); return err; } From patchwork Fri Mar 12 23:38:49 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 399377 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-19.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AA141C43332 for ; Fri, 12 Mar 2021 23:40:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 963DE64EDF for ; Fri, 12 Mar 2021 23:40:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235885AbhCLXj2 (ORCPT ); Fri, 12 Mar 2021 18:39:28 -0500 Received: from mail.kernel.org ([198.145.29.99]:32834 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235820AbhCLXjA (ORCPT ); Fri, 12 Mar 2021 18:39:00 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 3937C64F9F; Fri, 12 Mar 2021 23:39:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1615592340; bh=fA4SBX112QRnkigYDCmQVOKwZ219ewqWaxmNOxyX1aY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aUQMEqJe3YVgL2bAgZ2Je1/ollezjkcGPbQ/CMHjOtyzLbj1mtw7LTTwbQFS8efF8 FRukXTI167323lgpasWO2i9gYhmc7hrt0o2L9hwyhmq8HdsbZJLjPwrAlxCBOExKcz 5ocbwMZiERSHwfKbSPyPttxIAtK7vyC5331CEV90l/vV4UqoLM1hy2ywCMFKA/9KHN 4Z2uAB0ERqmU2xkl1IGMgVmdOoMLnv7lYo113oRgqHEdabdL3XXH8G8rm6qOX0onBi KHw1riwIVWkEb5PYHpvnkn1od9je2ickq0TpE+QKkgmrDNdYC8WQLiYkottdXH0GjE EC/LYUxXLOpVw== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski Cc: netdev@vger.kernel.org, Alaa Hleihel , Saeed Mahameed Subject: [net-next 11/13] net/mlx5: Display the command index in command mailbox dump Date: Fri, 12 Mar 2021 15:38:49 -0800 Message-Id: <20210312233851.494832-12-saeed@kernel.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210312233851.494832-1-saeed@kernel.org> References: <20210312233851.494832-1-saeed@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Alaa Hleihel Multiple commands can be printed at the same time which can lead to wrong order of their lines in dmesg output. As a result, it's hard to match data dumps to the correct command or which command was fully dumped at some point. Fix this by displaying the corresponding command index, and also indicate when a command was fully dumped. Signed-off-by: Alaa Hleihel Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/cmd.c b/drivers/net/ethernet/mellanox/mlx5/core/cmd.c index e8cecd50558d..9d79c5ec31e9 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/cmd.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/cmd.c @@ -263,15 +263,15 @@ static int verify_signature(struct mlx5_cmd_work_ent *ent) return 0; } -static void dump_buf(void *buf, int size, int data_only, int offset) +static void dump_buf(void *buf, int size, int data_only, int offset, int idx) { __be32 *p = buf; int i; for (i = 0; i < size; i += 16) { - pr_debug("%03x: %08x %08x %08x %08x\n", offset, be32_to_cpu(p[0]), - be32_to_cpu(p[1]), be32_to_cpu(p[2]), - be32_to_cpu(p[3])); + pr_debug("cmd[%d]: %03x: %08x %08x %08x %08x\n", idx, offset, + be32_to_cpu(p[0]), be32_to_cpu(p[1]), + be32_to_cpu(p[2]), be32_to_cpu(p[3])); p += 4; offset += 16; } @@ -802,39 +802,41 @@ static void dump_command(struct mlx5_core_dev *dev, int dump_len; int i; + mlx5_core_dbg(dev, "cmd[%d]: start dump\n", ent->idx); data_only = !!(mlx5_core_debug_mask & (1 << MLX5_CMD_DATA)); if (data_only) mlx5_core_dbg_mask(dev, 1 << MLX5_CMD_DATA, - "dump command data %s(0x%x) %s\n", - mlx5_command_str(op), op, + "cmd[%d]: dump command data %s(0x%x) %s\n", + ent->idx, mlx5_command_str(op), op, input ? "INPUT" : "OUTPUT"); else - mlx5_core_dbg(dev, "dump command %s(0x%x) %s\n", - mlx5_command_str(op), op, + mlx5_core_dbg(dev, "cmd[%d]: dump command %s(0x%x) %s\n", + ent->idx, mlx5_command_str(op), op, input ? "INPUT" : "OUTPUT"); if (data_only) { if (input) { - dump_buf(ent->lay->in, sizeof(ent->lay->in), 1, offset); + dump_buf(ent->lay->in, sizeof(ent->lay->in), 1, offset, ent->idx); offset += sizeof(ent->lay->in); } else { - dump_buf(ent->lay->out, sizeof(ent->lay->out), 1, offset); + dump_buf(ent->lay->out, sizeof(ent->lay->out), 1, offset, ent->idx); offset += sizeof(ent->lay->out); } } else { - dump_buf(ent->lay, sizeof(*ent->lay), 0, offset); + dump_buf(ent->lay, sizeof(*ent->lay), 0, offset, ent->idx); offset += sizeof(*ent->lay); } for (i = 0; i < n && next; i++) { if (data_only) { dump_len = min_t(int, MLX5_CMD_DATA_BLOCK_SIZE, msg->len - offset); - dump_buf(next->buf, dump_len, 1, offset); + dump_buf(next->buf, dump_len, 1, offset, ent->idx); offset += MLX5_CMD_DATA_BLOCK_SIZE; } else { - mlx5_core_dbg(dev, "command block:\n"); - dump_buf(next->buf, sizeof(struct mlx5_cmd_prot_block), 0, offset); + mlx5_core_dbg(dev, "cmd[%d]: command block:\n", ent->idx); + dump_buf(next->buf, sizeof(struct mlx5_cmd_prot_block), 0, offset, + ent->idx); offset += sizeof(struct mlx5_cmd_prot_block); } next = next->next; @@ -842,6 +844,8 @@ static void dump_command(struct mlx5_core_dev *dev, if (data_only) pr_debug("\n"); + + mlx5_core_dbg(dev, "cmd[%d]: end dump\n", ent->idx); } static u16 msg_to_opcode(struct mlx5_cmd_msg *in) From patchwork Fri Mar 12 23:38:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 399376 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-19.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0454CC4360C for ; Fri, 12 Mar 2021 23:40:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E32AB64F8D for ; Fri, 12 Mar 2021 23:40:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235901AbhCLXjb (ORCPT ); Fri, 12 Mar 2021 18:39:31 -0500 Received: from mail.kernel.org ([198.145.29.99]:32852 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235830AbhCLXjB (ORCPT ); Fri, 12 Mar 2021 18:39:01 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 1B95564F9F; Fri, 12 Mar 2021 23:39:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1615592341; bh=3cB7wlJC43SIuSjS6UZamwhKty89CIJLHjRK7nVt0Xo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WW9c25S6Sx6DYoP30YeN797RUyC18X/PchIDFs+c2F/UZiQB++KuIdz2d5VjbpRz6 kZJ5dtNLt1ySk71gD8KdceONw4pWFf2RQwNOtb59FUSSZ+zjK/mJTuaUg3vzxd99kf ivdNNPa8d6JxueAKmhQSpMoC9QF9hWow6BAPvmHi51uWXUeaLNQd0fOwniRZmIu2cD LMed0zOK6tarlcaEclF4mj8Sen8ZfwxiWwqe1nddbid79Sie3mtYa8H2qbFIn/yYeH MZKrzvkiDry/waPpcbjlVHEd7kQzCaj+0Mszst5jwijO/lBMgVJJGgR5G865wqHtVE nC0/j32q+Lv0w== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski Cc: netdev@vger.kernel.org, Maor Dickman , Roi Dayan , Saeed Mahameed Subject: [net-next 13/13] net/mlx5e: Allow to match on ICMP parameters Date: Fri, 12 Mar 2021 15:38:51 -0800 Message-Id: <20210312233851.494832-14-saeed@kernel.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210312233851.494832-1-saeed@kernel.org> References: <20210312233851.494832-1-saeed@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Maor Dickman Support matching on ICMPv4/6 type and code parameters using misc3 section of match parameters. Signed-off-by: Maor Dickman Reviewed-by: Roi Dayan Signed-off-by: Saeed Mahameed --- .../net/ethernet/mellanox/mlx5/core/en_tc.c | 47 +++++++++++++++++++ include/linux/mlx5/device.h | 2 + 2 files changed, 49 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c index 121f0a744e55..54ea0dae7ded 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -1961,6 +1961,10 @@ static int __parse_cls_flower(struct mlx5e_priv *priv, misc_parameters); void *misc_v = MLX5_ADDR_OF(fte_match_param, spec->match_value, misc_parameters); + void *misc_c_3 = MLX5_ADDR_OF(fte_match_param, spec->match_criteria, + misc_parameters_3); + void *misc_v_3 = MLX5_ADDR_OF(fte_match_param, spec->match_value, + misc_parameters_3); struct flow_rule *rule = flow_cls_offload_flow_rule(f); struct flow_dissector *dissector = rule->match.dissector; u16 addr_type = 0; @@ -1990,6 +1994,7 @@ static int __parse_cls_flower(struct mlx5e_priv *priv, BIT(FLOW_DISSECTOR_KEY_CT) | BIT(FLOW_DISSECTOR_KEY_ENC_IP) | BIT(FLOW_DISSECTOR_KEY_ENC_OPTS) | + BIT(FLOW_DISSECTOR_KEY_ICMP) | BIT(FLOW_DISSECTOR_KEY_MPLS))) { NL_SET_ERR_MSG_MOD(extack, "Unsupported key"); netdev_dbg(priv->netdev, "Unsupported key used: 0x%x\n", @@ -2309,7 +2314,49 @@ static int __parse_cls_flower(struct mlx5e_priv *priv, if (match.mask->flags) *match_level = MLX5_MATCH_L4; } + if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ICMP)) { + struct flow_match_icmp match; + flow_rule_match_icmp(rule, &match); + switch (ip_proto) { + case IPPROTO_ICMP: + if (!(MLX5_CAP_GEN(priv->mdev, flex_parser_protocols) & + MLX5_FLEX_PROTO_ICMP)) + return -EOPNOTSUPP; + MLX5_SET(fte_match_set_misc3, misc_c_3, icmp_type, + match.mask->type); + MLX5_SET(fte_match_set_misc3, misc_v_3, icmp_type, + match.key->type); + MLX5_SET(fte_match_set_misc3, misc_c_3, icmp_code, + match.mask->code); + MLX5_SET(fte_match_set_misc3, misc_v_3, icmp_code, + match.key->code); + break; + case IPPROTO_ICMPV6: + if (!(MLX5_CAP_GEN(priv->mdev, flex_parser_protocols) & + MLX5_FLEX_PROTO_ICMPV6)) + return -EOPNOTSUPP; + MLX5_SET(fte_match_set_misc3, misc_c_3, icmpv6_type, + match.mask->type); + MLX5_SET(fte_match_set_misc3, misc_v_3, icmpv6_type, + match.key->type); + MLX5_SET(fte_match_set_misc3, misc_c_3, icmpv6_code, + match.mask->code); + MLX5_SET(fte_match_set_misc3, misc_v_3, icmpv6_code, + match.key->code); + break; + default: + NL_SET_ERR_MSG_MOD(extack, + "Code and type matching only with ICMP and ICMPv6"); + netdev_err(priv->netdev, + "Code and type matching only with ICMP and ICMPv6\n"); + return -EINVAL; + } + if (match.mask->code || match.mask->type) { + *match_level = MLX5_MATCH_L4; + spec->match_criteria_enable |= MLX5_MATCH_MISC_PARAMETERS_3; + } + } return 0; } diff --git a/include/linux/mlx5/device.h b/include/linux/mlx5/device.h index dc3d2508f5c6..92a029a800a0 100644 --- a/include/linux/mlx5/device.h +++ b/include/linux/mlx5/device.h @@ -1142,6 +1142,8 @@ enum mlx5_flex_parser_protos { MLX5_FLEX_PROTO_GENEVE = 1 << 3, MLX5_FLEX_PROTO_CW_MPLS_GRE = 1 << 4, MLX5_FLEX_PROTO_CW_MPLS_UDP = 1 << 5, + MLX5_FLEX_PROTO_ICMP = 1 << 8, + MLX5_FLEX_PROTO_ICMPV6 = 1 << 9, }; /* MLX5 DEV CAPs */