1 #ifndef _IF_TUNNEL_H_ 2 #define _IF_TUNNEL_H_ 3 4 #include <linux/types.h> 5 6 7 #define SIOCGETTUNNEL (SIOCDEVPRIVATE + 0) 8 #define SIOCADDTUNNEL (SIOCDEVPRIVATE + 1) 9 #define SIOCDELTUNNEL (SIOCDEVPRIVATE + 2) 10 #define SIOCCHGTUNNEL (SIOCDEVPRIVATE + 3) 11 #define SIOCGETPRL (SIOCDEVPRIVATE + 4) 12 #define SIOCADDPRL (SIOCDEVPRIVATE + 5) 13 #define SIOCDELPRL (SIOCDEVPRIVATE + 6) 14 #define SIOCCHGPRL (SIOCDEVPRIVATE + 7) 15 16 #define GRE_CSUM __cpu_to_be16(0x8000) 17 #define GRE_ROUTING __cpu_to_be16(0x4000) 18 #define GRE_KEY __cpu_to_be16(0x2000) 19 #define GRE_SEQ __cpu_to_be16(0x1000) 20 #define GRE_STRICT __cpu_to_be16(0x0800) 21 #define GRE_REC __cpu_to_be16(0x0700) 22 #define GRE_FLAGS __cpu_to_be16(0x00F8) 23 #define GRE_VERSION __cpu_to_be16(0x0007) 24 25 struct ip_tunnel_parm 26 { 27 char name[IFNAMSIZ]; 28 int link; 29 __be16 i_flags; 30 __be16 o_flags; 31 __be32 i_key; 32 __be32 o_key; 33 struct iphdr iph; 34 }; 35 36 /* SIT-mode i_flags */ 37 #define SIT_ISATAP 0x0001 38 39 struct ip_tunnel_prl { 40 __be32 addr; 41 __u16 flags; 42 __u16 __reserved; 43 __u32 datalen; 44 __u32 __reserved2; 45 /* data follows */ 46 }; 47 48 /* PRL flags */ 49 #define PRL_DEFAULT 0x0001 50 51 enum 52 { 53 IFLA_GRE_UNSPEC, 54 IFLA_GRE_LINK, 55 IFLA_GRE_IFLAGS, 56 IFLA_GRE_OFLAGS, 57 IFLA_GRE_IKEY, 58 IFLA_GRE_OKEY, 59 IFLA_GRE_LOCAL, 60 IFLA_GRE_REMOTE, 61 IFLA_GRE_TTL, 62 IFLA_GRE_TOS, 63 IFLA_GRE_PMTUDISC, 64 __IFLA_GRE_MAX, 65 }; 66 67 #define IFLA_GRE_MAX (__IFLA_GRE_MAX - 1) 68 69 #endif /* _IF_TUNNEL_H_ */ 70