diff options
author | Or Gerlitz <ogerlitz@mellanox.com> | 2017-01-10 15:33:34 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-01-10 21:34:01 -0500 |
commit | 0827444d052ba5347900376dbdbf5d9065d091d4 (patch) | |
tree | e55bf8915ed5c36e93c2b4875375e1a2878f707f | |
parent | 2e72eb438ce5ea9fa118edfd9a5f628c2a69111a (diff) |
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, | |||
389 | MLX5_SET(fte_match_set_lyr_2_4, headers_c, frag, 1); | 389 | MLX5_SET(fte_match_set_lyr_2_4, headers_c, frag, 1); |
390 | MLX5_SET(fte_match_set_lyr_2_4, headers_v, frag, | 390 | MLX5_SET(fte_match_set_lyr_2_4, headers_v, frag, |
391 | key->flags & FLOW_DIS_IS_FRAGMENT); | 391 | key->flags & FLOW_DIS_IS_FRAGMENT); |
392 | |||
393 | /* the HW doesn't need L3 inline to match on frag=no */ | ||
394 | if (key->flags & FLOW_DIS_IS_FRAGMENT) | ||
395 | *min_inline = MLX5_INLINE_MODE_IP; | ||
392 | } | 396 | } |
393 | } | 397 | } |
394 | 398 | ||