Skip to contentSkip to conversation

Patch "ipip: Properly mark ipip GRO packets as encapsulated." has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Oct 28, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

ipip: Properly mark ipip GRO packets as encapsulated.

to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
ipip-properly-mark-ipip-gro-packets-as-encapsulated.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From b8cba75bdf6a48ea4811bbefb11a94a5c7281b68 Mon Sep 17 00:00:00 2001

From: Jesse Gross <[email protected]>
Date: Sat, 19 Mar 2016 09:32:00 -0700
Subject: ipip: Properly mark ipip GRO packets as encapsulated.

From: Jesse Gross <[email protected]>

commit b8cba75bdf6a48ea4811bbefb11a94a5c7281b68 upstream.

ipip encapsulated packets can be merged together by GRO but the result does not have the proper GSO type set or even marked as being encapsulated at all. Later retransmission of these packets will likely fail if the device does not support ipip offloads. This is similar to the issue resolved in IPv6 sit in feec0cb3
("ipv6: gro: support sit protocol").

---
 net/ipv4/af_inet.c |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
net/ipv4/af_inet.c +8 -1
@@ -1425,6 +1425,13 @@ out_unlock:
 	return err;
 }
 
+static int ipip_gro_complete(struct sk_buff *skb, int nhoff)
+{
+	skb->encapsulation = 1;
+	skb_shinfo(skb)->gso_type |= SKB_GSO_IPIP;
+	return inet_gro_complete(skb, nhoff);
+}
+
 int inet_ctl_sock_create(struct sock **sk, unsigned short family,
 			 unsigned short type, unsigned char protocol,
 			 struct net *net)
@@ -1653,7 +1660,7 @@ static const struct net_offload ipip_off
 	.callbacks = {
 		.gso_segment	= inet_gso_segment,
 		.gro_receive	= inet_gro_receive,
-		.gro_complete	= inet_gro_complete,
+		.gro_complete	= ipip_gro_complete,
 	},
 };
 

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/tunnels-remove-encapsulation-offloads-on-decap.patch queue-4.4/tunnels-don-t-apply-gro-to-multiple-layers-of-encapsulation.patch queue-4.4/ipip-properly-mark-ipip-gro-packets-as-encapsulated.patch