mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
net/mlx5: E-switch, Don't destroy indirect table in split rule
[ Upstream commit4c81893025] Source port rewrite (forward to ovs internal port or statck device) isn't supported in the rule of split action. So there is no indirect table in split rule. The cited commit destroyes indirect table in split rule. The indirect table for other rules will be destroyed wrongly. It will cause traffic loss. Fix it by removing the destroy function in split rule. And also remove the destroy function in error flow. Fixes:10742efc20("net/mlx5e: VF tunnel TX traffic offloading") Signed-off-by: Chris Mi <cmi@nvidia.com> Reviewed-by: Roi Dayan <roid@nvidia.com> Reviewed-by: Maor Dickman <maord@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
8b5f696288
commit
2ca9f9b837
@@ -733,7 +733,6 @@ mlx5_eswitch_add_fwd_rule(struct mlx5_eswitch *esw,
|
|||||||
kfree(dest);
|
kfree(dest);
|
||||||
return rule;
|
return rule;
|
||||||
err_chain_src_rewrite:
|
err_chain_src_rewrite:
|
||||||
esw_put_dest_tables_loop(esw, attr, 0, i);
|
|
||||||
mlx5_esw_vporttbl_put(esw, &fwd_attr);
|
mlx5_esw_vporttbl_put(esw, &fwd_attr);
|
||||||
err_get_fwd:
|
err_get_fwd:
|
||||||
mlx5_chains_put_table(chains, attr->chain, attr->prio, 0);
|
mlx5_chains_put_table(chains, attr->chain, attr->prio, 0);
|
||||||
@@ -776,7 +775,6 @@ __mlx5_eswitch_del_rule(struct mlx5_eswitch *esw,
|
|||||||
if (fwd_rule) {
|
if (fwd_rule) {
|
||||||
mlx5_esw_vporttbl_put(esw, &fwd_attr);
|
mlx5_esw_vporttbl_put(esw, &fwd_attr);
|
||||||
mlx5_chains_put_table(chains, attr->chain, attr->prio, 0);
|
mlx5_chains_put_table(chains, attr->chain, attr->prio, 0);
|
||||||
esw_put_dest_tables_loop(esw, attr, 0, esw_attr->split_count);
|
|
||||||
} else {
|
} else {
|
||||||
if (split)
|
if (split)
|
||||||
mlx5_esw_vporttbl_put(esw, &fwd_attr);
|
mlx5_esw_vporttbl_put(esw, &fwd_attr);
|
||||||
|
|||||||
Reference in New Issue
Block a user