From: Menglong Dong Date: Mon, 11 Jan 2021 10:42:21 +0000 (-0800) Subject: net: core: use eth_type_vlan in __netif_receive_skb_core X-Git-Tag: accepted/tizen/unified/20230118.172025~7901^2~349 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=324cefaf1c723625e93f703d6e6d78e28996b315;p=platform%2Fkernel%2Flinux-rpi.git net: core: use eth_type_vlan in __netif_receive_skb_core Replace the check for ETH_P_8021Q and ETH_P_8021AD in __netif_receive_skb_core with eth_type_vlan. Signed-off-by: Menglong Dong Link: https://lore.kernel.org/r/20210111104221.3451-1-dong.menglong@zte.com.cn Signed-off-by: Jakub Kicinski --- diff --git a/net/core/dev.c b/net/core/dev.c index e4d77c8..267c4a8 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -5151,8 +5151,7 @@ another_round: skb_reset_mac_len(skb); } - if (skb->protocol == cpu_to_be16(ETH_P_8021Q) || - skb->protocol == cpu_to_be16(ETH_P_8021AD)) { + if (eth_type_vlan(skb->protocol)) { skb = skb_vlan_untag(skb); if (unlikely(!skb)) goto out; @@ -5236,8 +5235,7 @@ check_vlan_id: * find vlan device. */ skb->pkt_type = PACKET_OTHERHOST; - } else if (skb->protocol == cpu_to_be16(ETH_P_8021Q) || - skb->protocol == cpu_to_be16(ETH_P_8021AD)) { + } else if (eth_type_vlan(skb->protocol)) { /* Outer header is 802.1P with vlan 0, inner header is * 802.1Q or 802.1AD and vlan_do_receive() above could * not find vlan dev for vlan id 0.