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 <cmi@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Reviewed-by: Roi Dayan <roid@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
        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",
 
        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)
 
 
 struct mlx5_esw_bridge_offloads;
 
+enum {
+       MLX5_ESW_FDB_CREATED = BIT(0),
+};
+
 struct mlx5_eswitch {
        struct mlx5_core_dev    *dev;
        struct mlx5_nb          nb;
        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);