summaryrefslogtreecommitdiff
path: root/include/linux
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
parent5b29b6f30e73f17f2492bc68e78406da5d2869fc (diff)
[IPV6]: Add ip6ip6 tunnel driver.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/if_arp.h2
-rw-r--r--include/linux/ip6_tunnel.h32
2 files changed, 33 insertions, 1 deletions
diff --git a/include/linux/if_arp.h b/include/linux/if_arp.h
index 77906e130efd..7d06a31e59e8 100644
--- a/include/linux/if_arp.h
+++ b/include/linux/if_arp.h
@@ -60,7 +60,7 @@
#define ARPHRD_RAWHDLC 518 /* Raw HDLC */
#define ARPHRD_TUNNEL 768 /* IPIP tunnel */
-#define ARPHRD_TUNNEL6 769 /* IPIP6 tunnel */
+#define ARPHRD_TUNNEL6 769 /* IP6IP6 tunnel */
#define ARPHRD_FRAD 770 /* Frame Relay Access Device */
#define ARPHRD_SKIP 771 /* SKIP vif */
#define ARPHRD_LOOPBACK 772 /* Loopback device */
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