net/mlx5: Call mlx5_esw_offloads_rep_load/unload() for uplink port directly
For uplink port, mlx5_esw_offloads_load/unload_rep() are currently called. There are 2 check inside, which effectively make the functions a simple wrappers of mlx5_esw_offloads_rep_load/unload() for uplink port. So avoid one check and indirection and call mlx5_esw_offloads_rep_load/unload() for uplink port directly. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Shay Drory <shayd@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
This commit is contained in:
parent
6c8f7c4344
commit
ba3d85f008
@ -2542,11 +2542,9 @@ int mlx5_esw_offloads_load_rep(struct mlx5_eswitch *esw, u16 vport_num)
|
||||
if (esw->mode != MLX5_ESWITCH_OFFLOADS)
|
||||
return 0;
|
||||
|
||||
if (vport_num != MLX5_VPORT_UPLINK) {
|
||||
err = mlx5_esw_offloads_devlink_port_register(esw, vport_num);
|
||||
if (err)
|
||||
return err;
|
||||
}
|
||||
err = mlx5_esw_offloads_devlink_port_register(esw, vport_num);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
err = mlx5_esw_offloads_rep_load(esw, vport_num);
|
||||
if (err)
|
||||
@ -2554,8 +2552,7 @@ int mlx5_esw_offloads_load_rep(struct mlx5_eswitch *esw, u16 vport_num)
|
||||
return err;
|
||||
|
||||
load_err:
|
||||
if (vport_num != MLX5_VPORT_UPLINK)
|
||||
mlx5_esw_offloads_devlink_port_unregister(esw, vport_num);
|
||||
mlx5_esw_offloads_devlink_port_unregister(esw, vport_num);
|
||||
return err;
|
||||
}
|
||||
|
||||
@ -2566,8 +2563,7 @@ void mlx5_esw_offloads_unload_rep(struct mlx5_eswitch *esw, u16 vport_num)
|
||||
|
||||
mlx5_esw_offloads_rep_unload(esw, vport_num);
|
||||
|
||||
if (vport_num != MLX5_VPORT_UPLINK)
|
||||
mlx5_esw_offloads_devlink_port_unregister(esw, vport_num);
|
||||
mlx5_esw_offloads_devlink_port_unregister(esw, vport_num);
|
||||
}
|
||||
|
||||
static int esw_set_slave_root_fdb(struct mlx5_core_dev *master,
|
||||
@ -3471,7 +3467,7 @@ int esw_offloads_enable(struct mlx5_eswitch *esw)
|
||||
vport->info.link_state = MLX5_VPORT_ADMIN_STATE_DOWN;
|
||||
|
||||
/* Uplink vport rep must load first. */
|
||||
err = mlx5_esw_offloads_load_rep(esw, MLX5_VPORT_UPLINK);
|
||||
err = mlx5_esw_offloads_rep_load(esw, MLX5_VPORT_UPLINK);
|
||||
if (err)
|
||||
goto err_uplink;
|
||||
|
||||
@ -3482,7 +3478,7 @@ int esw_offloads_enable(struct mlx5_eswitch *esw)
|
||||
return 0;
|
||||
|
||||
err_vports:
|
||||
mlx5_esw_offloads_unload_rep(esw, MLX5_VPORT_UPLINK);
|
||||
mlx5_esw_offloads_rep_unload(esw, MLX5_VPORT_UPLINK);
|
||||
err_uplink:
|
||||
esw_offloads_steering_cleanup(esw);
|
||||
err_steering_init:
|
||||
@ -3520,7 +3516,7 @@ static int esw_offloads_stop(struct mlx5_eswitch *esw,
|
||||
void esw_offloads_disable(struct mlx5_eswitch *esw)
|
||||
{
|
||||
mlx5_eswitch_disable_pf_vf_vports(esw);
|
||||
mlx5_esw_offloads_unload_rep(esw, MLX5_VPORT_UPLINK);
|
||||
mlx5_esw_offloads_rep_unload(esw, MLX5_VPORT_UPLINK);
|
||||
esw_set_passing_vport_metadata(esw, false);
|
||||
esw_offloads_steering_cleanup(esw);
|
||||
mapping_destroy(esw->offloads.reg_c0_obj_pool);
|
||||
|
Loading…
x
Reference in New Issue
Block a user