aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.14/950-0317-ifb-fix-packets-checksum.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.14/950-0317-ifb-fix-packets-checksum.patch')
-rw-r--r--target/linux/brcm2708/patches-4.14/950-0317-ifb-fix-packets-checksum.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.14/950-0317-ifb-fix-packets-checksum.patch b/target/linux/brcm2708/patches-4.14/950-0317-ifb-fix-packets-checksum.patch
new file mode 100644
index 0000000000..43203bc414
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.14/950-0317-ifb-fix-packets-checksum.patch
@@ -0,0 +1,31 @@
+From 258289e9f25dae86004eea357177ac9c372addc7 Mon Sep 17 00:00:00 2001
+From: Jon Maxwell <jmaxwell37@gmail.com>
+Date: Fri, 25 May 2018 07:38:29 +1000
+Subject: [PATCH 317/454] ifb: fix packets checksum
+
+commit b1d2e4e03f92734ff524f96c4b2287133de7a4a3 upstream.
+
+Fixup the checksum for CHECKSUM_COMPLETE when pulling skbs on RX path.
+Otherwise we get splats when tc mirred is used to redirect packets to ifb.
+
+Before fix:
+
+nic: hw csum failure
+
+Signed-off-by: Jon Maxwell <jmaxwell37@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/ifb.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/net/ifb.c
++++ b/drivers/net/ifb.c
+@@ -102,7 +102,7 @@ static void ifb_ri_tasklet(unsigned long
+ if (!skb->tc_from_ingress) {
+ dev_queue_xmit(skb);
+ } else {
+- skb_pull(skb, skb->mac_len);
++ skb_pull_rcsum(skb, skb->mac_len);
+ netif_receive_skb(skb);
+ }
+ }