patch-2.4.23 linux-2.4.23/net/ipv4/ip_gre.c

Next file: linux-2.4.23/net/ipv4/ip_output.c
Previous file: linux-2.4.23/net/ipv4/igmp.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.22/net/ipv4/ip_gre.c linux-2.4.23/net/ipv4/ip_gre.c
@@ -807,8 +807,6 @@
 			tunnel->err_count = 0;
 	}
 
-	skb->h.raw = skb->nh.raw;
-
 	max_headroom = ((tdev->hard_header_len+15)&~15)+ gre_hlen;
 
 	if (skb_headroom(skb) < max_headroom || skb_cloned(skb) || skb_shared(skb)) {
@@ -827,6 +825,7 @@
 		old_iph = skb->nh.iph;
 	}
 
+	skb->h.raw = skb->nh.raw;
 	skb->nh.raw = skb_push(skb, gre_hlen);
 	memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt));
 	dst_release(skb->dst);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)