net/mlx5: Consolidate update FTE for all removal changes
authorEli Britstein <elibr@mellanox.com>
Tue, 8 Jan 2019 10:15:37 +0000 (12:15 +0200)
committerSaeed Mahameed <saeedm@mellanox.com>
Mon, 11 Mar 2019 18:32:39 +0000 (11:32 -0700)
commit718ce4d601dbf73b5dbe024a88c9e34168fe87f2
tree0389be29dbcf47b8bbc1f3c6486bd7c1ddecbb4a
parent476d61b783e5481bbfaac4518b0b3d2b5addbc19
net/mlx5: Consolidate update FTE for all removal changes

With commit a18e879d4e45 ("net/mlx5e: Annul encap action ordering
requirement") and a use-case of e-switch remote mirroring, the
incremental/stepped FTE removal process done by the fs core got us to
illegal transient states and FW errors:

SET_FLOW_TABLE_ENTRY(0x936) op_mod(0x0) failed, status bad
parameter(0x3), syndrome (0x9c2e40)

To avoid that and improve FTE removal performance, aggregate the FTE's
updates that should be applied. Remove the FTE if it is empty, or apply
one FW update command with the aggregated updates.

Fixes: a18e879d4e45 ("net/mlx5e: Annul encap action ordering requirement")
Signed-off-by: Eli Britstein <elibr@mellanox.com>
Reviewed-by: Maor Gottlieb <maorg@mellanox.com>
Reviewed-by: Mark Bloch <markb@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c