From d5b99a2d741447d5fe4c89013d607d52c699273b Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 16 Mar 2015 04:19:09 +0000 Subject: [PATCH] kernel: add missing description for GRO optimization patch Signed-off-by: Felix Fietkau SVN-Revision: 44798 --- .../680-net-skip-gro-for-otherhost-packets.patch | 14 ++++++++++++++ .../680-net-skip-gro-for-otherhost-packets.patch | 14 ++++++++++++++ .../680-net-skip-gro-for-otherhost-packets.patch | 14 ++++++++++++++ 3 files changed, 42 insertions(+) diff --git a/target/linux/generic/patches-3.18/680-net-skip-gro-for-otherhost-packets.patch b/target/linux/generic/patches-3.18/680-net-skip-gro-for-otherhost-packets.patch index 3adc4e37bb..2a65c0be61 100644 --- a/target/linux/generic/patches-3.18/680-net-skip-gro-for-otherhost-packets.patch +++ b/target/linux/generic/patches-3.18/680-net-skip-gro-for-otherhost-packets.patch @@ -1,3 +1,17 @@ +Subject: NET: skip GRO for otherhost packets + +For network drivers using napi_gro_receive, packets are run through GRO, +even when the destination MAC address does not match, and they're supposed +to be delivered to another host behind a different bridge port. + +This can be very expensive, because for drivers without TSO or scatter- +gather, this can only be undone by copying the skb and checksumming it +again. + +Fix this by leaving skbs with PACKET_OTHERHOST untouched. + +Signed-off-by: Felix Fietkau + --- a/net/core/dev.c +++ b/net/core/dev.c @@ -4003,6 +4003,9 @@ static enum gro_result dev_gro_receive(s diff --git a/target/linux/generic/patches-3.19/680-net-skip-gro-for-otherhost-packets.patch b/target/linux/generic/patches-3.19/680-net-skip-gro-for-otherhost-packets.patch index e3fa9172e2..292d02174a 100644 --- a/target/linux/generic/patches-3.19/680-net-skip-gro-for-otherhost-packets.patch +++ b/target/linux/generic/patches-3.19/680-net-skip-gro-for-otherhost-packets.patch @@ -1,3 +1,17 @@ +Subject: NET: skip GRO for otherhost packets + +For network drivers using napi_gro_receive, packets are run through GRO, +even when the destination MAC address does not match, and they're supposed +to be delivered to another host behind a different bridge port. + +This can be very expensive, because for drivers without TSO or scatter- +gather, this can only be undone by copying the skb and checksumming it +again. + +Fix this by leaving skbs with PACKET_OTHERHOST untouched. + +Signed-off-by: Felix Fietkau + --- a/net/core/dev.c +++ b/net/core/dev.c @@ -3967,6 +3967,9 @@ static enum gro_result dev_gro_receive(s diff --git a/target/linux/generic/patches-4.0/680-net-skip-gro-for-otherhost-packets.patch b/target/linux/generic/patches-4.0/680-net-skip-gro-for-otherhost-packets.patch index fc3625848b..62e0bde8dd 100644 --- a/target/linux/generic/patches-4.0/680-net-skip-gro-for-otherhost-packets.patch +++ b/target/linux/generic/patches-4.0/680-net-skip-gro-for-otherhost-packets.patch @@ -1,3 +1,17 @@ +Subject: NET: skip GRO for otherhost packets + +For network drivers using napi_gro_receive, packets are run through GRO, +even when the destination MAC address does not match, and they're supposed +to be delivered to another host behind a different bridge port. + +This can be very expensive, because for drivers without TSO or scatter- +gather, this can only be undone by copying the skb and checksumming it +again. + +Fix this by leaving skbs with PACKET_OTHERHOST untouched. + +Signed-off-by: Felix Fietkau + --- a/net/core/dev.c +++ b/net/core/dev.c @@ -4005,6 +4005,9 @@ static enum gro_result dev_gro_receive(s