u8 newkeylen);
 
 extern int                     tcp_v4_md5_do_del(struct sock *sk,
-                                                 u32 addr);
+                                                 __be32 addr);
 
 extern struct tcp_md5sig_pool  **tcp_alloc_md5sig_pool(void);
 extern void                    tcp_free_md5sig_pool(void);
 
                                      skb->csum));
 }
 
-static inline __sum16 udp_lib_checksum_complete(struct sk_buff *skb)
+static inline int udp_lib_checksum_complete(struct sk_buff *skb)
 {
        return skb->ip_summed != CHECKSUM_UNNECESSARY &&
                __udp_lib_checksum_complete(skb);
 
        int rc = udplite_checksum_init(skb, uh);
 
        if (!rc)
-               skb->csum = ~csum_ipv6_magic(&skb->nh.ipv6h->saddr,
+               skb->csum = ~csum_unfold(csum_ipv6_magic(&skb->nh.ipv6h->saddr,
                                             &skb->nh.ipv6h->daddr,
-                                            skb->len, IPPROTO_UDPLITE, 0);
+                                            skb->len, IPPROTO_UDPLITE, 0));
        return rc;
 }
 
 
 #ifdef CONFIG_TCP_MD5SIG_DEBUG
        int i;
 #endif
-       __u16 old_checksum;
+       __sum16 old_checksum;
        struct tcp_md5sig_pool *hp;
        struct tcp4_pseudohdr *bp;
        struct hash_desc *desc;
 
 
 static int udp_port_rover;
 
-static inline int __udp_lib_lport_inuse(__be16 num, struct hlist_head udptable[])
+static inline int __udp_lib_lport_inuse(__u16 num, struct hlist_head udptable[])
 {
        struct sock *sk;
        struct hlist_node *node;
        struct sk_buff *skb;
        struct udphdr *uh;
        int err = 0;
-       u32 csum = 0;
+       __wsum csum = 0;
 
        /* Grab the skbuff where UDP header space exists. */
        if ((skb = skb_peek(&sk->sk_write_queue)) == NULL)
 
        struct scatterlist sg[4];
        __u16 data_len;
        int block = 0;
-       __u16 cksum;
+       __sum16 cksum;
        struct tcp_md5sig_pool *hp;
        struct tcp6_pseudohdr *bp;
        struct hash_desc *desc;
 
 #ifdef CONFIG_TCP_MD5SIG
        if (key) {
-               u32 *opt = (u32*)(t1 + 1);
+               __be32 *opt = (__be32*)(t1 + 1);
                opt[0] = htonl((TCPOPT_NOP << 24) |
                               (TCPOPT_NOP << 16) |
                               (TCPOPT_MD5SIG << 8) |
 
 
 static __inline__ void udpv6_err(struct sk_buff *skb,
                                 struct inet6_skb_parm *opt, int type,
-                                int code, int offset, __u32 info     )
+                                int code, int offset, __be32 info     )
 {
        return __udp6_lib_err(skb, opt, type, code, offset, info, udp_hash);
 }
 
 
 static __inline__ void udplitev6_err(struct sk_buff *skb,
                                     struct inet6_skb_parm *opt,
-                                    int type, int code, int offset, __u32 info)
+                                    int type, int code, int offset, __be32 info)
 {
        return __udp6_lib_err(skb, opt, type, code, offset, info, udplite_hash);
 }