kernel: skip GRO for packets bridged to other hosts

Eliminates excessive skb copying when bridging from LAN to WLAN on
ramips.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44797
owl
Felix Fietkau 2015-03-15 20:32:09 +00:00
parent 6c434d5f06
commit 270bc6427b
3 changed files with 36 additions and 0 deletions

View File

@ -0,0 +1,12 @@
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4003,6 +4003,9 @@ static enum gro_result dev_gro_receive(s
enum gro_result ret;
int grow;
+ if (skb->pkt_type == PACKET_OTHERHOST)
+ goto normal;
+
if (!(skb->dev->features & NETIF_F_GRO))
goto normal;

View File

@ -0,0 +1,12 @@
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3967,6 +3967,9 @@ static enum gro_result dev_gro_receive(s
enum gro_result ret;
int grow;
+ if (skb->pkt_type == PACKET_OTHERHOST)
+ goto normal;
+
if (!(skb->dev->features & NETIF_F_GRO))
goto normal;

View File

@ -0,0 +1,12 @@
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4005,6 +4005,9 @@ static enum gro_result dev_gro_receive(s
enum gro_result ret;
int grow;
+ if (skb->pkt_type == PACKET_OTHERHOST)
+ goto normal;
+
if (!(skb->dev->features & NETIF_F_GRO))
goto normal;