summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
diff options
context:
space:
mode:
authorOr Gerlitz2016-07-14 09:32:45 +0200
committerDavid S. Miller2016-07-14 22:34:29 +0200
commitadb4c123f88dfa7a9c3a320731c765f07a125503 (patch)
treeaf0680e991b7893412a47716912810c9f3dce332 /drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
parentnet/mlx5e: Add TC drop and mirred/redirect action parsing for SRIOV offloads (diff)
downloadkernel-qcow2-linux-adb4c123f88dfa7a9c3a320731c765f07a125503.tar.gz
kernel-qcow2-linux-adb4c123f88dfa7a9c3a320731c765f07a125503.tar.xz
kernel-qcow2-linux-adb4c123f88dfa7a9c3a320731c765f07a125503.zip
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,