net/mlx5: E-switch, Introduce flag to indicate if fdb table is created
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>
This commit is contained in:
Родитель
ea5872dd6b
Коммит
fbd43b7259
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче