Skip to content

Commit

Permalink
net/mlx5e: Set vlan masks for all offloaded TC rules
Browse files Browse the repository at this point in the history
In flow steering, if asked to, the hardware matches on the first ethertype
which is not vlan. It's possible to set a rule as follows, which is meant
to match on untagged packet, but will match on a vlan packet:
    tc filter add dev eth0 parent ffff: protocol ip flower ...

To avoid this for packets with single tag, we set vlan masks to tell
hardware to check the tags for every matched packet.

Fixes: 095b6cf ('net/mlx5e: Add TC vlan match parsing')
Signed-off-by: Jianbo Liu <jianbol@mellanox.com>
Reviewed-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
  • Loading branch information
Jianbo Liu authored and Saeed Mahameed committed Oct 1, 2018
1 parent 11aa580 commit cee2648
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1368,6 +1368,9 @@ static int __parse_cls_flower(struct mlx5e_priv *priv,

*match_level = MLX5_MATCH_L2;
}
} else {
MLX5_SET(fte_match_set_lyr_2_4, headers_c, svlan_tag, 1);
MLX5_SET(fte_match_set_lyr_2_4, headers_c, cvlan_tag, 1);
}

if (dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_CVLAN)) {
Expand Down

0 comments on commit cee2648

Please sign in to comment.