net/mlx5e: Don't match double-vlan packets if cvlan is not set
authorVlad Buslov <vladbu@nvidia.com>
Mon, 28 Mar 2022 12:54:52 +0000 (15:54 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 May 2022 10:25:38 +0000 (12:25 +0200)
commitd8338a7a09572a51dd903d6ca07f15c558bd0c43
tree832f2b7d414ca16f8b50b593719c3025baba5375
parentc7f87ad11584503cb4c62201d865449980993096
net/mlx5e: Don't match double-vlan packets if cvlan is not set

commit ada09af92e621ab500dd80a16d1d0299a18a1180 upstream.

Currently, match VLAN rule also matches packets that have multiple VLAN
headers. This behavior is similar to buggy flower classifier behavior that
has recently been fixed. Fix the issue by matching on
outer_second_cvlan_tag with value 0 which will cause the HW to verify the
packet doesn't contain second vlan header.

Fixes: 699e96ddf47f ("net/mlx5e: Support offloading tc double vlan headers match")
Signed-off-by: Vlad Buslov <vladbu@nvidia.com>
Reviewed-by: Maor Dickman <maord@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c