net/mlx5e: Return error when trying to insert existing flower filter
authorVlad Buslov <vladbu@mellanox.com>
Mon, 15 Apr 2019 07:10:02 +0000 (10:10 +0300)
committerSaeed Mahameed <saeedm@mellanox.com>
Wed, 1 May 2019 21:39:15 +0000 (14:39 -0700)
With unlocked TC it is possible to have spurious deletes and inserts of
same filter. TC layer needs drivers to always return error when flow
insertion failed in order to correctly calculate "in_hw_count" for each
filter. Fix mlx5e_configure_flower() to return -EEXIST when TC tries to
insert a filter that is already provisioned to the driver.

Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c

index c79db55..122f457 100644 (file)
@@ -3364,6 +3364,7 @@ int mlx5e_configure_flower(struct net_device *dev, struct mlx5e_priv *priv,
                netdev_warn_once(priv->netdev,
                                 "flow cookie %lx already exists, ignoring\n",
                                 f->cookie);
+               err = -EEXIST;
                goto out;
        }