Commit 0dfe1782 authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller

net: vlan: goto another_round instead of calling __netif_receive_skb

Now, when vlan tag on untagged in non-accelerated path is stripped from
skb, headers are reset right away. Benefit from that and avoid calling
__netif_receive_skb recursivelly and just use another_round.
Signed-off-by: default avatarJiri Pirko <jpirko@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c8d755b5
...@@ -3236,10 +3236,9 @@ static int __netif_receive_skb(struct sk_buff *skb) ...@@ -3236,10 +3236,9 @@ static int __netif_receive_skb(struct sk_buff *skb)
ret = deliver_skb(skb, pt_prev, orig_dev); ret = deliver_skb(skb, pt_prev, orig_dev);
pt_prev = NULL; pt_prev = NULL;
} }
if (vlan_do_receive(&skb)) { if (vlan_do_receive(&skb))
ret = __netif_receive_skb(skb); goto another_round;
goto out; else if (unlikely(!skb))
} else if (unlikely(!skb))
goto out; goto out;
} }
......
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