]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - include/linux/icmpv6.h
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
[karo-tx-linux.git] / include / linux / icmpv6.h
index c771a7db9871bfa3f3c76b78c1369111c4be767b..7c5e9817e998aaf0f8ec23de91ab0d39b1d237f5 100644 (file)
@@ -7,17 +7,17 @@ struct icmp6hdr {
 
        __u8            icmp6_type;
        __u8            icmp6_code;
-       __u16           icmp6_cksum;
+       __sum16         icmp6_cksum;
 
 
        union {
-               __u32                   un_data32[1];
-               __u16                   un_data16[2];
+               __be32                  un_data32[1];
+               __be16                  un_data16[2];
                __u8                    un_data8[4];
 
                struct icmpv6_echo {
-                       __u16           identifier;
-                       __u16           sequence;
+                       __be16          identifier;
+                       __be16          sequence;
                } u_echo;
 
                 struct icmpv6_nd_advt {
@@ -53,7 +53,7 @@ struct icmp6hdr {
 #else
 #error "Please fix <asm/byteorder.h>"
 #endif
-                       __u16           rt_lifetime;
+                       __be16          rt_lifetime;
                 } u_nd_ra;
 
        } icmp6_dataun;
@@ -75,6 +75,15 @@ struct icmp6hdr {
 #define icmp6_router_pref      icmp6_dataun.u_nd_ra.router_pref
 };
 
+#ifdef __KERNEL__
+#include <linux/skbuff.h>
+
+static inline struct icmp6hdr *icmp6_hdr(const struct sk_buff *skb)
+{
+       return (struct icmp6hdr *)skb_transport_header(skb);
+}
+#endif
+
 #define ICMPV6_ROUTER_PREF_LOW         0x3
 #define ICMPV6_ROUTER_PREF_MEDIUM      0x0
 #define ICMPV6_ROUTER_PREF_HIGH                0x1