Commit 324cefaf authored by Menglong Dong's avatar Menglong Dong Committed by Jakub Kicinski

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: default avatarMenglong Dong <dong.menglong@zte.com.cn>
Link: https://lore.kernel.org/r/20210111104221.3451-1-dong.menglong@zte.com.cnSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 679500e3
...@@ -5151,8 +5151,7 @@ static int __netif_receive_skb_core(struct sk_buff **pskb, bool pfmemalloc, ...@@ -5151,8 +5151,7 @@ static int __netif_receive_skb_core(struct sk_buff **pskb, bool pfmemalloc,
skb_reset_mac_len(skb); skb_reset_mac_len(skb);
} }
if (skb->protocol == cpu_to_be16(ETH_P_8021Q) || if (eth_type_vlan(skb->protocol)) {
skb->protocol == cpu_to_be16(ETH_P_8021AD)) {
skb = skb_vlan_untag(skb); skb = skb_vlan_untag(skb);
if (unlikely(!skb)) if (unlikely(!skb))
goto out; goto out;
...@@ -5236,8 +5235,7 @@ static int __netif_receive_skb_core(struct sk_buff **pskb, bool pfmemalloc, ...@@ -5236,8 +5235,7 @@ static int __netif_receive_skb_core(struct sk_buff **pskb, bool pfmemalloc,
* find vlan device. * find vlan device.
*/ */
skb->pkt_type = PACKET_OTHERHOST; skb->pkt_type = PACKET_OTHERHOST;
} else if (skb->protocol == cpu_to_be16(ETH_P_8021Q) || } else if (eth_type_vlan(skb->protocol)) {
skb->protocol == cpu_to_be16(ETH_P_8021AD)) {
/* Outer header is 802.1P with vlan 0, inner header is /* Outer header is 802.1P with vlan 0, inner header is
* 802.1Q or 802.1AD and vlan_do_receive() above could * 802.1Q or 802.1AD and vlan_do_receive() above could
* not find vlan dev for vlan id 0. * not find vlan dev for vlan id 0.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment