diff options
Diffstat (limited to 'include/uapi/linux/if_tunnel.h')
| -rw-r--r-- | include/uapi/linux/if_tunnel.h | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/include/uapi/linux/if_tunnel.h b/include/uapi/linux/if_tunnel.h new file mode 100644 index 000000000000..5db5942575fe --- /dev/null +++ b/include/uapi/linux/if_tunnel.h | |||
| @@ -0,0 +1,96 @@ | |||
| 1 | #ifndef _UAPI_IF_TUNNEL_H_ | ||
| 2 | #define _UAPI_IF_TUNNEL_H_ | ||
| 3 | |||
| 4 | #include <linux/types.h> | ||
| 5 | #include <asm/byteorder.h> | ||
| 6 | |||
| 7 | |||
| 8 | #define SIOCGETTUNNEL (SIOCDEVPRIVATE + 0) | ||
| 9 | #define SIOCADDTUNNEL (SIOCDEVPRIVATE + 1) | ||
| 10 | #define SIOCDELTUNNEL (SIOCDEVPRIVATE + 2) | ||
| 11 | #define SIOCCHGTUNNEL (SIOCDEVPRIVATE + 3) | ||
| 12 | #define SIOCGETPRL (SIOCDEVPRIVATE + 4) | ||
| 13 | #define SIOCADDPRL (SIOCDEVPRIVATE + 5) | ||
| 14 | #define SIOCDELPRL (SIOCDEVPRIVATE + 6) | ||
| 15 | #define SIOCCHGPRL (SIOCDEVPRIVATE + 7) | ||
| 16 | #define SIOCGET6RD (SIOCDEVPRIVATE + 8) | ||
| 17 | #define SIOCADD6RD (SIOCDEVPRIVATE + 9) | ||
| 18 | #define SIOCDEL6RD (SIOCDEVPRIVATE + 10) | ||
| 19 | #define SIOCCHG6RD (SIOCDEVPRIVATE + 11) | ||
| 20 | |||
| 21 | #define GRE_CSUM __cpu_to_be16(0x8000) | ||
| 22 | #define GRE_ROUTING __cpu_to_be16(0x4000) | ||
| 23 | #define GRE_KEY __cpu_to_be16(0x2000) | ||
| 24 | #define GRE_SEQ __cpu_to_be16(0x1000) | ||
| 25 | #define GRE_STRICT __cpu_to_be16(0x0800) | ||
| 26 | #define GRE_REC __cpu_to_be16(0x0700) | ||
| 27 | #define GRE_FLAGS __cpu_to_be16(0x00F8) | ||
| 28 | #define GRE_VERSION __cpu_to_be16(0x0007) | ||
| 29 | |||
| 30 | struct ip_tunnel_parm { | ||
| 31 | char name[IFNAMSIZ]; | ||
| 32 | int link; | ||
| 33 | __be16 i_flags; | ||
| 34 | __be16 o_flags; | ||
| 35 | __be32 i_key; | ||
| 36 | __be32 o_key; | ||
| 37 | struct iphdr iph; | ||
| 38 | }; | ||
| 39 | |||
| 40 | /* SIT-mode i_flags */ | ||
| 41 | #define SIT_ISATAP 0x0001 | ||
| 42 | |||
| 43 | struct ip_tunnel_prl { | ||
| 44 | __be32 addr; | ||
| 45 | __u16 flags; | ||
| 46 | __u16 __reserved; | ||
| 47 | __u32 datalen; | ||
| 48 | __u32 __reserved2; | ||
| 49 | /* data follows */ | ||
| 50 | }; | ||
| 51 | |||
| 52 | /* PRL flags */ | ||
| 53 | #define PRL_DEFAULT 0x0001 | ||
| 54 | |||
| 55 | struct ip_tunnel_6rd { | ||
| 56 | struct in6_addr prefix; | ||
| 57 | __be32 relay_prefix; | ||
| 58 | __u16 prefixlen; | ||
| 59 | __u16 relay_prefixlen; | ||
| 60 | }; | ||
| 61 | |||
| 62 | enum { | ||
| 63 | IFLA_GRE_UNSPEC, | ||
| 64 | IFLA_GRE_LINK, | ||
| 65 | IFLA_GRE_IFLAGS, | ||
| 66 | IFLA_GRE_OFLAGS, | ||
| 67 | IFLA_GRE_IKEY, | ||
| 68 | IFLA_GRE_OKEY, | ||
| 69 | IFLA_GRE_LOCAL, | ||
| 70 | IFLA_GRE_REMOTE, | ||
| 71 | IFLA_GRE_TTL, | ||
| 72 | IFLA_GRE_TOS, | ||
| 73 | IFLA_GRE_PMTUDISC, | ||
| 74 | IFLA_GRE_ENCAP_LIMIT, | ||
| 75 | IFLA_GRE_FLOWINFO, | ||
| 76 | IFLA_GRE_FLAGS, | ||
| 77 | __IFLA_GRE_MAX, | ||
| 78 | }; | ||
| 79 | |||
| 80 | #define IFLA_GRE_MAX (__IFLA_GRE_MAX - 1) | ||
| 81 | |||
| 82 | /* VTI-mode i_flags */ | ||
| 83 | #define VTI_ISVTI 0x0001 | ||
| 84 | |||
| 85 | enum { | ||
| 86 | IFLA_VTI_UNSPEC, | ||
| 87 | IFLA_VTI_LINK, | ||
| 88 | IFLA_VTI_IKEY, | ||
| 89 | IFLA_VTI_OKEY, | ||
| 90 | IFLA_VTI_LOCAL, | ||
| 91 | IFLA_VTI_REMOTE, | ||
| 92 | __IFLA_VTI_MAX, | ||
| 93 | }; | ||
| 94 | |||
| 95 | #define IFLA_VTI_MAX (__IFLA_VTI_MAX - 1) | ||
| 96 | #endif /* _UAPI_IF_TUNNEL_H_ */ | ||
