From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 45F95CCA47F for ; Thu, 30 Jun 2022 01:00:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230497AbiF3BAW (ORCPT ); Wed, 29 Jun 2022 21:00:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47424 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230359AbiF3BAS (ORCPT ); Wed, 29 Jun 2022 21:00:18 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6629023BF1 for ; Wed, 29 Jun 2022 18:00:17 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 1B64BB827C5 for ; Thu, 30 Jun 2022 01:00:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C8EF2C3411E; Thu, 30 Jun 2022 01:00:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1656550814; bh=wxJUrxFgsI74QjlbkC0rjKL0UzQg+ml8KAKhayW9Ujc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZD0M+YqK65vcA6ESJ1EfSUY0NumqbiRxFXZ7z/laKfoudSZTlI5BVk7fyw2Wv1K+R z0yOoBhEipPbf3mpFoyAXDoNmbqdkxf9R6wnE/d4LJOwCSd1+LejZDzgACwjhjUGC/ XJ3xD0Ed+GW8NpQtcJ0+c+70BdTpJVfAGGHUI6bC42MpIzkHDVl6ZDkGdSM50j4urv Qc93hmdZ8zPakD0et8+STk3N5eGydekBXGmNEMpxr31oQML944z/QaxJcJnThwSGwi a/yfhpojWMDD7MKySh5ab7Sj7tPpoOiU4XxZGoZI8WW0fyLytKHI83gAg6KbB1C/eU gVBQ3mR/wU+nA== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: Saeed Mahameed , netdev@vger.kernel.org, Chris Mi , Mark Bloch , Roi Dayan Subject: [net-next 04/15] net/mlx5: E-switch, Introduce flag to indicate if fdb table is created Date: Wed, 29 Jun 2022 17:59:54 -0700 Message-Id: <20220630010005.145775-5-saeed@kernel.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220630010005.145775-1-saeed@kernel.org> References: <20220630010005.145775-1-saeed@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Chris Mi Introduce flag to indicate if fdb table is created as a pre-step to prepare for removing dependency between sriov and eswitch mode in the downstream patches. Signed-off-by: Chris Mi Reviewed-by: Mark Bloch Reviewed-by: Roi Dayan Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 3 +++ drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c index 823bfcff7846..b9a3473f5672 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -1274,6 +1274,8 @@ int mlx5_eswitch_enable_locked(struct mlx5_eswitch *esw, int mode, int num_vfs) if (err) goto abort; + esw->fdb_table.flags |= MLX5_ESW_FDB_CREATED; + mlx5_eswitch_event_handlers_register(esw); esw_info(esw->dev, "Enable: mode(%s), nvfs(%d), active vports(%d)\n", @@ -1356,6 +1358,7 @@ void mlx5_eswitch_disable_locked(struct mlx5_eswitch *esw, bool clear_vf) mlx5_eswitch_event_handlers_unregister(esw); + esw->fdb_table.flags &= ~MLX5_ESW_FDB_CREATED; if (esw->mode == MLX5_ESWITCH_LEGACY) esw_legacy_disable(esw); else if (esw->mode == MLX5_ESWITCH_OFFLOADS) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h index a08f5315d768..a9ba0e324834 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h @@ -287,6 +287,10 @@ enum { struct mlx5_esw_bridge_offloads; +enum { + MLX5_ESW_FDB_CREATED = BIT(0), +}; + struct mlx5_eswitch { struct mlx5_core_dev *dev; struct mlx5_nb nb; @@ -576,6 +580,11 @@ mlx5_esw_devlink_port_index_to_vport_num(unsigned int dl_port_index) return dl_port_index & 0xffff; } +static inline bool mlx5_esw_is_fdb_created(struct mlx5_eswitch *esw) +{ + return esw->fdb_table.flags & MLX5_ESW_FDB_CREATED; +} + /* TODO: This mlx5e_tc function shouldn't be called by eswitch */ void mlx5e_tc_clean_fdb_peer_flows(struct mlx5_eswitch *esw); -- 2.36.1