]> Pileus Git - ~andy/linux/blobdiff - net/ipv4/xfrm4_output.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq
[~andy/linux] / net / ipv4 / xfrm4_output.c
index 04805c7d79c383359ae895672f2dc24079e1e804..434ef302ba83fd3d1bca83f84ec743a152ed4ef3 100644 (file)
@@ -44,6 +44,7 @@ static inline int xfrm4_output_one(struct sk_buff *skb)
 {
        struct dst_entry *dst = skb->dst;
        struct xfrm_state *x = dst->xfrm;
+       struct iphdr *iph;
        int err;
 
        if (x->props.mode == XFRM_MODE_TUNNEL) {
@@ -56,6 +57,10 @@ static inline int xfrm4_output_one(struct sk_buff *skb)
        if (err)
                goto error_nolock;
 
+       iph = ip_hdr(skb);
+       iph->tot_len = htons(skb->len);
+       ip_send_check(iph);
+
        IPCB(skb)->flags |= IPSKB_XFRM_TRANSFORMED;
        err = 0;