summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
diff options
context:
space:
mode:
authorMaor Gottlieb2016-04-29 00:36:35 +0200
committerDavid S. Miller2016-04-29 22:29:09 +0200
commitd63cd28608bb563d52e62990fa01c016e8dbdb75 (patch)
treed3b42d39a1a4129c127e09f928f27f04f06ba96b /drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
parentnet/mlx5: Set number of allowed levels in priority (diff)
downloadkernel-qcow2-linux-d63cd28608bb563d52e62990fa01c016e8dbdb75.tar.gz
kernel-qcow2-linux-d63cd28608bb563d52e62990fa01c016e8dbdb75.tar.xz
kernel-qcow2-linux-d63cd28608bb563d52e62990fa01c016e8dbdb75.zip
net/mlx5: Add user chosen levels when allocating flow tables
Currently, consumers of the flow steering infrastructure can't choose their own flow table levels and are limited to one flow table per level. This just waste levels. Instead, we introduce here the possibility to use multiple flow tables in a level. The user is free to connect these flow tables, while following the rule (FTEs in FT of level x could only point to FTs of level y where y > x). In addition this patch switch the order of the create/destroy flow tables of the NIC(vlan and main). Signed-off-by: Maor Gottlieb <maorg@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_tc.c')
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/en_tc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
index b3de09f13425..2137387c043d 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
@@ -64,7 +64,8 @@ static struct mlx5_flow_rule *mlx5e_tc_add_flow(struct mlx5e_priv *priv,
priv->fts.tc.t =
mlx5_create_auto_grouped_flow_table(priv->fts.ns, 0,
MLX5E_TC_FLOW_TABLE_NUM_ENTRIES,
- MLX5E_TC_FLOW_TABLE_NUM_GROUPS);
+ MLX5E_TC_FLOW_TABLE_NUM_GROUPS,
+ 0);
if (IS_ERR(priv->fts.tc.t)) {
netdev_err(priv->netdev,
"Failed to create tc offload table\n");