Patchwork [net-next-2.6] net: vlan: goto another_round instead of calling __netif_receive_skb

login
register
mail settings
Submitter Jiri Pirko
Date Aug. 22, 2011, 7:08 p.m.
Message ID <1314040135-3414-1-git-send-email-jpirko@redhat.com>
Download mbox | patch
Permalink /patch/110973/
State Accepted
Delegated to: David Miller
Headers show

Comments

Jiri Pirko - Aug. 22, 2011, 7:08 p.m.
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: Jiri Pirko <jpirko@redhat.com>
---
 net/core/dev.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)
David Miller - Aug. 22, 2011, 7:43 p.m.
From: Jiri Pirko <jpirko@redhat.com>
Date: Mon, 22 Aug 2011 21:08:55 +0200

> 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: Jiri Pirko <jpirko@redhat.com>

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/net/core/dev.c b/net/core/dev.c
index c2442b4..a4306f7 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3236,10 +3236,9 @@  ncls:
 			ret = deliver_skb(skb, pt_prev, orig_dev);
 			pt_prev = NULL;
 		}
-		if (vlan_do_receive(&skb)) {
-			ret = __netif_receive_skb(skb);
-			goto out;
-		} else if (unlikely(!skb))
+		if (vlan_do_receive(&skb))
+			goto another_round;
+		else if (unlikely(!skb))
 			goto out;
 	}