diff options
author | Or Gerlitz <ogerlitz@mellanox.com> | 2017-01-10 22:33:34 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-01-10 21:34:01 -0500 |
commit | 0827444d052ba5347900376dbdbf5d9065d091d4 (patch) | |
tree | e55bf8915ed5c36e93c2b4875375e1a2878f707f | |
parent | 2e72eb438ce5ea9fa118edfd9a5f628c2a69111a (diff) | |
download | linux-0827444d052ba5347900376dbdbf5d9065d091d4.tar.gz linux-0827444d052ba5347900376dbdbf5d9065d091d4.tar.bz2 linux-0827444d052ba5347900376dbdbf5d9065d091d4.zip |
net/mlx5e: Set inline mode requirements for matching on IP fragments
For e-switch level matching on packets being an IP fragment, we
need to make sure the source vport inline mode is L3, fix that.
Fixes: 3f7d0eb42d59 ('net/mlx5e: Offload TC matching on packets being IP fragments')
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c index 9cfddd9fc097..a35fa1eb0694 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -389,6 +389,10 @@ static int __parse_cls_flower(struct mlx5e_priv *priv, MLX5_SET(fte_match_set_lyr_2_4, headers_c, frag, 1); MLX5_SET(fte_match_set_lyr_2_4, headers_v, frag, key->flags & FLOW_DIS_IS_FRAGMENT); + + /* the HW doesn't need L3 inline to match on frag=no */ + if (key->flags & FLOW_DIS_IS_FRAGMENT) + *min_inline = MLX5_INLINE_MODE_IP; } } |