Skip to content

Commit 4c81893

Browse files
Chris MiSaeed Mahameed
authored andcommitted
net/mlx5: E-switch, Don't destroy indirect table in split rule
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: 10742ef ("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>
1 parent fd745f4 commit 4c81893

1 file changed

Lines changed: 0 additions & 2 deletions

File tree

drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -760,7 +760,6 @@ mlx5_eswitch_add_fwd_rule(struct mlx5_eswitch *esw,
760760
kfree(dest);
761761
return rule;
762762
err_chain_src_rewrite:
763-
esw_put_dest_tables_loop(esw, attr, 0, i);
764763
mlx5_esw_vporttbl_put(esw, &fwd_attr);
765764
err_get_fwd:
766765
mlx5_chains_put_table(chains, attr->chain, attr->prio, 0);
@@ -803,7 +802,6 @@ __mlx5_eswitch_del_rule(struct mlx5_eswitch *esw,
803802
if (fwd_rule) {
804803
mlx5_esw_vporttbl_put(esw, &fwd_attr);
805804
mlx5_chains_put_table(chains, attr->chain, attr->prio, 0);
806-
esw_put_dest_tables_loop(esw, attr, 0, esw_attr->split_count);
807805
} else {
808806
if (split)
809807
mlx5_esw_vporttbl_put(esw, &fwd_attr);

0 commit comments

Comments
 (0)