mirror of
https://github.com/torvalds/linux
synced 2024-09-16 00:58:07 +00:00
net: gro: no longer use skb_vlan_tag_present()
We can remove a conditional test in gro_list_prepare() by comparing vlan_all fields of the two skbs. Notes: While comparing the vlan_proto is not strictly needed, because part of the following compare_ether_header() call, using 32bit word is actually faster than using 16bit values. napi_reuse_skb() makes sure to clear skb->vlan_all, as it already calls __vlan_hwaccel_clear_tag() Signed-off-by: Eric Dumazet <edumazet@google.com> Acked-by: Martin KaFai Lau <martin.lau@kernel.org> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
354259fa73
commit
be3ed48683
|
@ -370,9 +370,7 @@ static void gro_list_prepare(const struct list_head *head,
|
|||
}
|
||||
|
||||
diffs = (unsigned long)p->dev ^ (unsigned long)skb->dev;
|
||||
diffs |= skb_vlan_tag_present(p) ^ skb_vlan_tag_present(skb);
|
||||
if (skb_vlan_tag_present(p))
|
||||
diffs |= skb_vlan_tag_get(p) ^ skb_vlan_tag_get(skb);
|
||||
diffs |= p->vlan_all ^ skb->vlan_all;
|
||||
diffs |= skb_metadata_differs(p, skb);
|
||||
if (maclen == ETH_HLEN)
|
||||
diffs |= compare_ether_header(skb_mac_header(p),
|
||||
|
|
Loading…
Reference in a new issue