From 1c92784aac03f3c1669ff9fba43385e89afeb503 Mon Sep 17 00:00:00 2001 From: John Fastabend Date: Mon, 10 Oct 2011 09:16:41 +0000 Subject: [PATCH] --- yaml --- r: 266841 b: refs/heads/master c: 2425717b27eb92b175335ca4ff0bb218cbe0cb64 h: refs/heads/master i: 266839: 5f82a10ea30cc17bd16ac17e9b18725cc5ab5135 v: v3 --- [refs] | 2 +- trunk/net/core/dev.c | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index 81c99b6cf8b4..7f18221690e0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b340a207c5d81a0a33899e8ab3236a04dd8b48c3 +refs/heads/master: 2425717b27eb92b175335ca4ff0bb218cbe0cb64 diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index 70ecb86439ca..8b6118a16b87 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -3231,6 +3231,17 @@ static int __netif_receive_skb(struct sk_buff *skb) ncls: #endif + if (vlan_tx_tag_present(skb)) { + if (pt_prev) { + ret = deliver_skb(skb, pt_prev, orig_dev); + pt_prev = NULL; + } + if (vlan_do_receive(&skb)) + goto another_round; + else if (unlikely(!skb)) + goto out; + } + rx_handler = rcu_dereference(skb->dev->rx_handler); if (rx_handler) { if (pt_prev) { @@ -3251,17 +3262,6 @@ static int __netif_receive_skb(struct sk_buff *skb) } } - if (vlan_tx_tag_present(skb)) { - if (pt_prev) { - ret = deliver_skb(skb, pt_prev, orig_dev); - pt_prev = NULL; - } - if (vlan_do_receive(&skb)) - goto another_round; - else if (unlikely(!skb)) - goto out; - } - /* deliver only exact match when indicated */ null_or_dev = deliver_exact ? skb->dev : NULL;