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
This commit is contained in:
parent
6c434d5f06
commit
270bc6427b
3 changed files with 36 additions and 0 deletions
|
@ -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…
Reference in a new issue