diff options
Diffstat (limited to 'net/ipv4/ipvs/ip_vs_xmit.c')
-rw-r--r-- | net/ipv4/ipvs/ip_vs_xmit.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/ipvs/ip_vs_xmit.c b/net/ipv4/ipvs/ip_vs_xmit.c index a7aee682203..c6276d08b31 100644 --- a/net/ipv4/ipvs/ip_vs_xmit.c +++ b/net/ipv4/ipvs/ip_vs_xmit.c @@ -323,6 +323,7 @@ ip_vs_tunnel_xmit(struct sk_buff *skb, struct ip_vs_conn *cp, struct iphdr *old_iph = ip_hdr(skb); u8 tos = old_iph->tos; __be16 df = old_iph->frag_off; + unsigned char *old_h = skb_transport_header(skb); struct iphdr *iph; /* Our new IP header */ int max_headroom; /* The extra header space needed */ int mtu; @@ -380,7 +381,7 @@ ip_vs_tunnel_xmit(struct sk_buff *skb, struct ip_vs_conn *cp, old_iph = ip_hdr(skb); } - skb->h.raw = (void *) old_iph; + skb->h.raw = old_h; /* fix old IP header checksum */ ip_send_check(old_iph); |