Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[sfrench/cifs-2.6.git] / include / linux / in6.h
index bd32b79d6295fe7cb4ff3239be932df09a63972b..f28621f638e0ce1727ed25f6271ca95482b5dc4a 100644 (file)
@@ -32,8 +32,8 @@ struct in6_addr
        union 
        {
                __u8            u6_addr8[16];
-               __u16           u6_addr16[8];
-               __u32           u6_addr32[4];
+               __be16          u6_addr16[8];
+               __be32          u6_addr32[4];
        } in6_u;
 #define s6_addr                        in6_u.u6_addr8
 #define s6_addr16              in6_u.u6_addr16
@@ -53,7 +53,7 @@ extern const struct in6_addr in6addr_loopback;
 
 struct sockaddr_in6 {
        unsigned short int      sin6_family;    /* AF_INET6 */
-       __u16                   sin6_port;      /* Transport layer port # */
+       __be16                  sin6_port;      /* Transport layer port # */
        __u32                   sin6_flowinfo;  /* IPv6 flow information */
        struct in6_addr         sin6_addr;      /* IPv6 address */
        __u32                   sin6_scope_id;  /* scope id (new in RFC2553) */
@@ -134,6 +134,7 @@ struct in6_flowlabel_req
 #define IPPROTO_ICMPV6         58      /* ICMPv6                       */
 #define IPPROTO_NONE           59      /* IPv6 no next header          */
 #define IPPROTO_DSTOPTS                60      /* IPv6 destination options     */
+#define IPPROTO_MH             135     /* IPv6 mobility header         */
 
 /*
  *     IPv6 TLV options.
@@ -142,6 +143,7 @@ struct in6_flowlabel_req
 #define IPV6_TLV_PADN          1
 #define IPV6_TLV_ROUTERALERT   5
 #define IPV6_TLV_JUMBO         194
+#define IPV6_TLV_HAO           201     /* home address option */
 
 /*
  *     IPV6 socket options
@@ -198,28 +200,54 @@ struct in6_flowlabel_req
  * MCAST_MSFILTER              48
  */
 
-/* RFC3542 advanced socket options (50-67) */
-#define IPV6_RECVPKTINFO       50
-#define IPV6_PKTINFO           51
-#if 0
-#define IPV6_RECVPATHMTU       52
-#define IPV6_PATHMTU           53
-#define IPV6_DONTFRAG          54
-#define IPV6_USE_MIN_MTU       55
-#endif
-#define IPV6_RECVHOPOPTS       56
-#define IPV6_HOPOPTS           57
-#if 0
-#define IPV6_RECVRTHDRDSTOPTS  58      /* Unused, see net/ipv6/datagram.c */
+/*
+ * Advanced API (RFC3542) (1)
+ *
+ * Note: IPV6_RECVRTHDRDSTOPTS does not exist. see net/ipv6/datagram.c.
+ */
+
+#define IPV6_RECVPKTINFO       49
+#define IPV6_PKTINFO           50
+#define IPV6_RECVHOPLIMIT      51
+#define IPV6_HOPLIMIT          52
+#define IPV6_RECVHOPOPTS       53
+#define IPV6_HOPOPTS           54
+#define IPV6_RTHDRDSTOPTS      55
+#define IPV6_RECVRTHDR         56
+#define IPV6_RTHDR             57
+#define IPV6_RECVDSTOPTS       58
+#define IPV6_DSTOPTS           59
+#if 0  /* not yet */
+#define IPV6_RECVPATHMTU       60
+#define IPV6_PATHMTU           61
+#define IPV6_DONTFRAG          62
+#define IPV6_USE_MIN_MTU       63
 #endif
-#define IPV6_RTHDRDSTOPTS      59
-#define IPV6_RECVRTHDR         60
-#define IPV6_RTHDR             61
-#define IPV6_RECVDSTOPTS       62
-#define IPV6_DSTOPTS           63
-#define IPV6_RECVHOPLIMIT      64
-#define IPV6_HOPLIMIT          65
+
+/*
+ * Netfilter (1)
+ *
+ * Following socket options are used in ip6_tables;
+ * see include/linux/netfilter_ipv6/ip6_tables.h.
+ *
+ * IP6T_SO_SET_REPLACE / IP6T_SO_GET_INFO              64
+ * IP6T_SO_SET_ADD_COUNTERS / IP6T_SO_GET_ENTRIES      65
+ */
+
+/*
+ * Advanced API (RFC3542) (2)
+ */
 #define IPV6_RECVTCLASS                66
 #define IPV6_TCLASS            67
 
+/*
+ * Netfilter (2)
+ *
+ * Following socket options are used in ip6_tables;
+ * see include/linux/netfilter_ipv6/ip6_tables.h.
+ *
+ * IP6T_SO_GET_REVISION_MATCH  68
+ * IP6T_SO_GET_REVISION_TARGET 69
+ */
+
 #endif