summaryrefslogtreecommitdiff
path: root/include/linux/ip6_tunnel.h
diff options
context:
space:
mode:
authorVille Nuorvala <vnuorval@tcs.hut.fi>2003-06-08 18:01:42 -0700
committerHideaki Yoshifuji <yoshfuji@linux-ipv6.org>2003-06-08 18:01:42 -0700
commit1df64a8569c76f8f243e59aedfe5de2c29c9e106 (patch)
tree5c0433e21da7bf02d27ee8b7a07e9f20406e7002 /include/linux/ip6_tunnel.h
parent5b29b6f30e73f17f2492bc68e78406da5d2869fc (diff)
[IPV6]: Add ip6ip6 tunnel driver.
Diffstat (limited to 'include/linux/ip6_tunnel.h')
-rw-r--r--include/linux/ip6_tunnel.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/linux/ip6_tunnel.h b/include/linux/ip6_tunnel.h
new file mode 100644
index 000000000000..85805a797f91
--- /dev/null
+++ b/include/linux/ip6_tunnel.h
@@ -0,0 +1,32 @@
+/*
+ * $Id$
+ */
+
+#ifndef _IP6_TUNNEL_H
+#define _IP6_TUNNEL_H
+
+#define IPV6_TLV_TNL_ENCAP_LIMIT 4
+#define IPV6_DEFAULT_TNL_ENCAP_LIMIT 4
+
+/* don't add encapsulation limit if one isn't present in inner packet */
+#define IP6_TNL_F_IGN_ENCAP_LIMIT 0x1
+/* copy the traffic class field from the inner packet */
+#define IP6_TNL_F_USE_ORIG_TCLASS 0x2
+/* copy the flowlabel from the inner packet */
+#define IP6_TNL_F_USE_ORIG_FLOWLABEL 0x4
+/* being used for Mobile IPv6 */
+#define IP6_TNL_F_MIP6_DEV 0x8
+
+struct ip6_tnl_parm {
+ char name[IFNAMSIZ]; /* name of tunnel device */
+ int link; /* ifindex of underlying L2 interface */
+ __u8 proto; /* tunnel protocol */
+ __u8 encap_limit; /* encapsulation limit for tunnel */
+ __u8 hop_limit; /* hop limit for tunnel */
+ __u32 flowinfo; /* traffic class and flowlabel for tunnel */
+ __u32 flags; /* tunnel flags */
+ struct in6_addr laddr; /* local tunnel end-point address */
+ struct in6_addr raddr; /* remote tunnel end-point address */
+};
+
+#endif