ip6_checksum.h (e5451c8f8330e03ad3cfa16048b4daf961af434f) ip6_checksum.h (1e94082963747b551b129528714827f76a090e93)
1/*
2 * INET An implementation of the TCP/IP protocol suite for the LINUX
3 * operating system. INET is implemented using the BSD Socket
4 * interface as the means of communication with the user level.
5 *
6 * Checksumming functions for IPv6
7 *
8 * Authors: Jorge Cwik, <jorge@laser.satlink.net>

--- 23 unchanged lines hidden (view full) ---

32#include <asm/checksum.h>
33#include <linux/in6.h>
34#include <linux/tcp.h>
35#include <linux/ipv6.h>
36
37#ifndef _HAVE_ARCH_IPV6_CSUM
38__sum16 csum_ipv6_magic(const struct in6_addr *saddr,
39 const struct in6_addr *daddr,
1/*
2 * INET An implementation of the TCP/IP protocol suite for the LINUX
3 * operating system. INET is implemented using the BSD Socket
4 * interface as the means of communication with the user level.
5 *
6 * Checksumming functions for IPv6
7 *
8 * Authors: Jorge Cwik, <jorge@laser.satlink.net>

--- 23 unchanged lines hidden (view full) ---

32#include <asm/checksum.h>
33#include <linux/in6.h>
34#include <linux/tcp.h>
35#include <linux/ipv6.h>
36
37#ifndef _HAVE_ARCH_IPV6_CSUM
38__sum16 csum_ipv6_magic(const struct in6_addr *saddr,
39 const struct in6_addr *daddr,
40 __u32 len, unsigned short proto,
41 __wsum csum);
40 __u32 len, __u8 proto, __wsum csum);
42#endif
43
44static inline __wsum ip6_compute_pseudo(struct sk_buff *skb, int proto)
45{
46 return ~csum_unfold(csum_ipv6_magic(&ipv6_hdr(skb)->saddr,
47 &ipv6_hdr(skb)->daddr,
48 skb->len, proto, 0));
49}

--- 57 unchanged lines hidden ---
41#endif
42
43static inline __wsum ip6_compute_pseudo(struct sk_buff *skb, int proto)
44{
45 return ~csum_unfold(csum_ipv6_magic(&ipv6_hdr(skb)->saddr,
46 &ipv6_hdr(skb)->daddr,
47 skb->len, proto, 0));
48}

--- 57 unchanged lines hidden ---