summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
diff options
context:
space:
mode:
authorPaolo Abeni <pabeni@redhat.com>2022-04-15 09:26:00 +0200
committerPaolo Abeni <pabeni@redhat.com>2022-04-15 09:26:00 +0200
commitedf45f007a31e86738f6be3065591ddad94477d1 (patch)
tree2805eeead7a03344a2b1185314d791a65fe15dc1 /drivers/net/ethernet/microchip/lan966x/lan966x_main.c
parentcaf968b483351d8825e68b06d77de5eb618aeb64 (diff)
parentd20339fa93e9810fcf87518bdd62e44f62bb64ee (diff)
downloadlinux-edf45f007a31e86738f6be3065591ddad94477d1.tar.gz
linux-edf45f007a31e86738f6be3065591ddad94477d1.tar.bz2
linux-edf45f007a31e86738f6be3065591ddad94477d1.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Diffstat (limited to 'drivers/net/ethernet/microchip/lan966x/lan966x_main.c')
-rw-r--r--drivers/net/ethernet/microchip/lan966x/lan966x_main.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
index e8751970f2b1..106d8c83544d 100644
--- a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
+++ b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
@@ -458,6 +458,12 @@ bool lan966x_hw_offload(struct lan966x *lan966x, u32 port, struct sk_buff *skb)
ANA_CPU_FWD_CFG_MLD_REDIR_ENA)))
return true;
+ if (eth_type_vlan(skb->protocol)) {
+ skb = skb_vlan_untag(skb);
+ if (unlikely(!skb))
+ return false;
+ }
+
if (skb->protocol == htons(ETH_P_IP) &&
ip_hdr(skb)->protocol == IPPROTO_IGMP)
return false;