Thread (7 messages) flat view 7 messages, 2 authors, 2012-11-14

Re: [PATCH 3/3] ipgre: capture inner headers during encapsulation

From: Joseph Gasparakis <hidden>
Date: 2012-11-12 01:40:10
Also in: lkml


On Sun, 11 Nov 2012, Dmitry Kravkov wrote:
On Thu, 2012-11-08 at 18:18 -0800, Joseph Gasparakis wrote:
quoted
 
 	if (skb->ip_summed == CHECKSUM_PARTIAL &&
 	    skb_checksum_help(skb))
@@ -902,6 +903,17 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
 			tunnel->err_count = 0;
 	}
 
+	offset = skb->data - skb->head;
+
+	skb_reset_inner_mac_header(skb);
+
+	if (skb->network_header)
+		skb_set_inner_network_header(skb, skb->network_header - offset);
+
+	if (skb->transport_header)
+		skb_set_inner_transport_header(skb, skb->transport_header -
+					       offset);
+
 	max_headroom = LL_RESERVED_SPACE(tdev) + gre_hlen + rt->dst.header_len;
 
 	if (skb_headroom(skb) < max_headroom || skb_shared(skb)||
How it will be useful if skb_checksum_help(skb) will calculate csum? And
leaves nothing to offload 
Thanks for catching this Dmitry. Will fix it in v2 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help