summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
diff options
context:
space:
mode:
authorOr Gerlitz <ogerlitz@mellanox.com>2016-07-14 10:32:45 +0300
committerDavid S. Miller <davem@davemloft.net>2016-07-14 13:34:29 -0700
commitadb4c123f88dfa7a9c3a320731c765f07a125503 (patch)
treeaf0680e991b7893412a47716912810c9f3dce332 /drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
parent03a9d11e6eeb30363971a9e372b4d61b6e817882 (diff)
net/mlx5e: Add TC HW support for FDB (SRIOV e-switch) offloads
Enhance the TC offload code such that when the eswitch exists and it's mode being SRIOV offloads, we do TC actions parsing and setup targeted for eswitch. Next, we add the offloaded flow to the HW e-switch (fdb). Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/en_rep.c')
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/en_rep.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
index 5ef02f02a1d5..fdaf2fa811a4 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
@@ -36,6 +36,7 @@
#include "eswitch.h"
#include "en.h"
+#include "en_tc.h"
static const char mlx5e_rep_driver_name[] = "mlx5e_rep";
@@ -201,6 +202,10 @@ void mlx5e_nic_rep_unload(struct mlx5_eswitch *esw,
if (test_bit(MLX5E_STATE_OPENED, &priv->state))
mlx5e_remove_sqs_fwd_rules(priv);
+
+ /* clean (and re-init) existing uplink offloaded TC rules */
+ mlx5e_tc_cleanup(priv);
+ mlx5e_tc_init(priv);
}
static int mlx5e_rep_get_phys_port_name(struct net_device *dev,