Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[powerpc.git] / net / ipv4 / ipvs / ip_vs_xmit.c
index a7aee68..7c074e3 100644 (file)
@@ -128,7 +128,7 @@ ip_vs_dst_reset(struct ip_vs_dest *dest)
 #define IP_VS_XMIT(skb, rt)                            \
 do {                                                   \
        (skb)->ipvs_property = 1;                       \
-       (skb)->ip_summed = CHECKSUM_NONE;               \
+       skb_forward_csum(skb);                          \
        NF_HOOK(PF_INET, NF_IP_LOCAL_OUT, (skb), NULL,  \
                (rt)->u.dst.dev, dst_output);           \
 } while (0)
@@ -253,7 +253,7 @@ ip_vs_nat_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
        }
 
        /* copy-on-write the packet before mangling it */
-       if (!ip_vs_make_skb_writable(&skb, sizeof(struct iphdr)))
+       if (!skb_make_writable(skb, sizeof(struct iphdr)))
                goto tx_error_put;
 
        if (skb_cow(skb, rt->u.dst.dev->hard_header_len))
@@ -264,7 +264,7 @@ ip_vs_nat_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
        skb->dst = &rt->u.dst;
 
        /* mangle the packet */
-       if (pp->dnat_handler && !pp->dnat_handler(&skb, pp, cp))
+       if (pp->dnat_handler && !pp->dnat_handler(skb, pp, cp))
                goto tx_error;
        ip_hdr(skb)->daddr = cp->daddr;
        ip_send_check(ip_hdr(skb));
@@ -323,8 +323,9 @@ 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;
+       sk_buff_data_t old_transport_header = skb->transport_header;
        struct iphdr  *iph;                     /* Our new IP header */
-       int    max_headroom;                    /* The extra header space needed */
+       unsigned int max_headroom;              /* The extra header space needed */
        int    mtu;
 
        EnterFunction(10);
@@ -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->transport_header = old_transport_header;
 
        /* fix old IP header checksum */
        ip_send_check(old_iph);
@@ -528,7 +529,7 @@ ip_vs_icmp_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
        }
 
        /* copy-on-write the packet before mangling it */
-       if (!ip_vs_make_skb_writable(&skb, offset))
+       if (!skb_make_writable(skb, offset))
                goto tx_error_put;
 
        if (skb_cow(skb, rt->u.dst.dev->hard_header_len))