Skip to contentSkip to conversation

gre: Set inner mac header in gro complete

PATCH New Tom Herbert 1 participant 1 message Nov 29, 2014

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 gre: Set inner mac header in gro complete

Set the inner mac header to point to the GRE payload when doing GRO. This is needed if we proceed to send the packet through GRE GSO which now uses the inner mac header instead of inner network header to determine the length of encapsulation headers.

Fixes 14051f0452a2 ("gre: Use inner mac length when computing tunnel length")
---
 net/ipv4/gre_offload.c | 3 +++
 1 file changed, 3 insertions(+)
net/ipv4/gre_offload.c +3 -0
index bb5947b..51973dd 100644
@@ -247,6 +247,9 @@ static int gre_gro_complete(struct sk_buff *skb, int nhoff)
 		err = ptype->callbacks.gro_complete(skb, nhoff + grehlen);
 
 	rcu_read_unlock();
+
+	skb_set_inner_mac_header(skb, nhoff + grehlen);
+
 	return err;
 }
 
Signature · 1 line
2.2.0.rc0.207.ga3a616c