net/mlx5: E-Switch, Allow goto earlier chain if FW supports it
Mellanox FW can support this if ignore_flow_level capability exists. Signed-off-by: Roi Dayan <roid@mellanox.com> Reviewed-by: Oz Shlomo <ozsh@mellanox.com> Reviewed-by: Paul Blakey <paulb@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:
Родитель
96e326878f
Коммит
297eaf5b95
|
@ -3533,7 +3533,8 @@ static int parse_tc_fdb_actions(struct mlx5e_priv *priv,
|
|||
NL_SET_ERR_MSG_MOD(extack, "Goto action is not supported");
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
if (dest_chain <= attr->chain) {
|
||||
if (!mlx5_esw_chains_backwards_supported(esw) &&
|
||||
dest_chain <= attr->chain) {
|
||||
NL_SET_ERR_MSG(extack, "Goto earlier chain isn't supported");
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
|
|
@ -97,6 +97,11 @@ bool mlx5_esw_chains_prios_supported(struct mlx5_eswitch *esw)
|
|||
return esw->fdb_table.flags & ESW_FDB_CHAINS_AND_PRIOS_SUPPORTED;
|
||||
}
|
||||
|
||||
bool mlx5_esw_chains_backwards_supported(struct mlx5_eswitch *esw)
|
||||
{
|
||||
return fdb_ignore_flow_level_supported(esw);
|
||||
}
|
||||
|
||||
u32 mlx5_esw_chains_get_chain_range(struct mlx5_eswitch *esw)
|
||||
{
|
||||
if (!mlx5_esw_chains_prios_supported(esw))
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
|
||||
bool
|
||||
mlx5_esw_chains_prios_supported(struct mlx5_eswitch *esw);
|
||||
bool
|
||||
mlx5_esw_chains_backwards_supported(struct mlx5_eswitch *esw);
|
||||
u32
|
||||
mlx5_esw_chains_get_prio_range(struct mlx5_eswitch *esw);
|
||||
u32
|
||||
|
|
Загрузка…
Ссылка в новой задаче