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
v19.07.3_mercusys_ac12_duma
Felix Fietkau 9 years ago
parent 6c434d5f06
commit 270bc6427b

@ -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;

@ -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;

@ -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;
Loading…
Cancel
Save