]> nv-tegra.nvidia Code Review - linux-2.6.git/blobdiff - include/linux/if_tunnel.h
Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
[linux-2.6.git] / include / linux / if_tunnel.h
index d4efe40147056e6bc10bca8e1262bcfb569b68ee..16b92d008bed842e141f77664e94446cbe652dcf 100644 (file)
@@ -2,6 +2,12 @@
 #define _IF_TUNNEL_H_
 
 #include <linux/types.h>
+#include <asm/byteorder.h>
+
+#ifdef __KERNEL__
+#include <linux/ip.h>
+#include <linux/in6.h>
+#endif
 
 #define SIOCGETTUNNEL   (SIOCDEVPRIVATE + 0)
 #define SIOCADDTUNNEL   (SIOCDEVPRIVATE + 1)
 #define SIOCADDPRL      (SIOCDEVPRIVATE + 5)
 #define SIOCDELPRL      (SIOCDEVPRIVATE + 6)
 #define SIOCCHGPRL      (SIOCDEVPRIVATE + 7)
+#define SIOCGET6RD      (SIOCDEVPRIVATE + 8)
+#define SIOCADD6RD      (SIOCDEVPRIVATE + 9)
+#define SIOCDEL6RD      (SIOCDEVPRIVATE + 10)
+#define SIOCCHG6RD      (SIOCDEVPRIVATE + 11)
+
+#define GRE_CSUM       __cpu_to_be16(0x8000)
+#define GRE_ROUTING    __cpu_to_be16(0x4000)
+#define GRE_KEY                __cpu_to_be16(0x2000)
+#define GRE_SEQ                __cpu_to_be16(0x1000)
+#define GRE_STRICT     __cpu_to_be16(0x0800)
+#define GRE_REC                __cpu_to_be16(0x0700)
+#define GRE_FLAGS      __cpu_to_be16(0x00F8)
+#define GRE_VERSION    __cpu_to_be16(0x0007)
 
-#define GRE_CSUM       __constant_htons(0x8000)
-#define GRE_ROUTING    __constant_htons(0x4000)
-#define GRE_KEY                __constant_htons(0x2000)
-#define GRE_SEQ                __constant_htons(0x1000)
-#define GRE_STRICT     __constant_htons(0x0800)
-#define GRE_REC                __constant_htons(0x0700)
-#define GRE_FLAGS      __constant_htons(0x00F8)
-#define GRE_VERSION    __constant_htons(0x0007)
-
-struct ip_tunnel_parm
-{
+struct ip_tunnel_parm {
        char                    name[IFNAMSIZ];
        int                     link;
        __be16                  i_flags;
@@ -47,4 +56,28 @@ struct ip_tunnel_prl {
 /* PRL flags */
 #define        PRL_DEFAULT             0x0001
 
+struct ip_tunnel_6rd {
+       struct in6_addr         prefix;
+       __be32                  relay_prefix;
+       __u16                   prefixlen;
+       __u16                   relay_prefixlen;
+};
+
+enum {
+       IFLA_GRE_UNSPEC,
+       IFLA_GRE_LINK,
+       IFLA_GRE_IFLAGS,
+       IFLA_GRE_OFLAGS,
+       IFLA_GRE_IKEY,
+       IFLA_GRE_OKEY,
+       IFLA_GRE_LOCAL,
+       IFLA_GRE_REMOTE,
+       IFLA_GRE_TTL,
+       IFLA_GRE_TOS,
+       IFLA_GRE_PMTUDISC,
+       __IFLA_GRE_MAX,
+};
+
+#define IFLA_GRE_MAX   (__IFLA_GRE_MAX - 1)
+
 #endif /* _IF_TUNNEL_H_ */