net: lan966x: Fix IGMP snooping when frames have vlan tag
authorHoratiu Vultur <horatiu.vultur@microchip.com>
Sat, 9 Apr 2022 18:41:41 +0000 (20:41 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 12 Apr 2022 03:47:15 +0000 (20:47 -0700)
commit6476f90aefaf119c47ceccde52327464e813fe26
treeae839ae911a444b677cd2846ddbbd636a96c4e9d
parenteb9c0d671e9432901b8a453e7915416f22f7f919
net: lan966x: Fix IGMP snooping when frames have vlan tag

In case an IGMP frame has a vlan tag, then the function
lan966x_hw_offload couldn't figure out that is a IGMP frame. Therefore
the SW thinks that the frame was already forward by the HW which is not
true.
Extend lan966x_hw_offload to pop the vlan tag if are any and then check
for IGMP frames.

Fixes: 47aeea0d57e80c ("net: lan966x: Implement the callback SWITCHDEV_ATTR_ID_BRIDGE_MC_DISABLED ")
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/microchip/lan966x/lan966x_main.c