11da177e4SLinus Torvalds #ifndef _IF_TUNNEL_H_ 21da177e4SLinus Torvalds #define _IF_TUNNEL_H_ 31da177e4SLinus Torvalds 46fd8bb88SMasahide NAKAMURA #include <linux/types.h> 5*c19e654dSHerbert Xu #include <linux/ip.h> 66fd8bb88SMasahide NAKAMURA 71da177e4SLinus Torvalds #define SIOCGETTUNNEL (SIOCDEVPRIVATE + 0) 81da177e4SLinus Torvalds #define SIOCADDTUNNEL (SIOCDEVPRIVATE + 1) 91da177e4SLinus Torvalds #define SIOCDELTUNNEL (SIOCDEVPRIVATE + 2) 101da177e4SLinus Torvalds #define SIOCCHGTUNNEL (SIOCDEVPRIVATE + 3) 11300aaeeaSYOSHIFUJI Hideaki #define SIOCGETPRL (SIOCDEVPRIVATE + 4) 12fadf6bf0STemplin, Fred L #define SIOCADDPRL (SIOCDEVPRIVATE + 5) 13fadf6bf0STemplin, Fred L #define SIOCDELPRL (SIOCDEVPRIVATE + 6) 14fadf6bf0STemplin, Fred L #define SIOCCHGPRL (SIOCDEVPRIVATE + 7) 151da177e4SLinus Torvalds 161da177e4SLinus Torvalds #define GRE_CSUM __constant_htons(0x8000) 171da177e4SLinus Torvalds #define GRE_ROUTING __constant_htons(0x4000) 181da177e4SLinus Torvalds #define GRE_KEY __constant_htons(0x2000) 191da177e4SLinus Torvalds #define GRE_SEQ __constant_htons(0x1000) 201da177e4SLinus Torvalds #define GRE_STRICT __constant_htons(0x0800) 211da177e4SLinus Torvalds #define GRE_REC __constant_htons(0x0700) 221da177e4SLinus Torvalds #define GRE_FLAGS __constant_htons(0x00F8) 231da177e4SLinus Torvalds #define GRE_VERSION __constant_htons(0x0007) 241da177e4SLinus Torvalds 251da177e4SLinus Torvalds struct ip_tunnel_parm 261da177e4SLinus Torvalds { 271da177e4SLinus Torvalds char name[IFNAMSIZ]; 281da177e4SLinus Torvalds int link; 29d5a0a1e3SAl Viro __be16 i_flags; 30d5a0a1e3SAl Viro __be16 o_flags; 31d5a0a1e3SAl Viro __be32 i_key; 32d5a0a1e3SAl Viro __be32 o_key; 331da177e4SLinus Torvalds struct iphdr iph; 341da177e4SLinus Torvalds }; 351da177e4SLinus Torvalds 36fadf6bf0STemplin, Fred L /* SIT-mode i_flags */ 37fadf6bf0STemplin, Fred L #define SIT_ISATAP 0x0001 38fadf6bf0STemplin, Fred L 39fadf6bf0STemplin, Fred L struct ip_tunnel_prl { 40fadf6bf0STemplin, Fred L __be32 addr; 41fadf6bf0STemplin, Fred L __u16 flags; 42fadf6bf0STemplin, Fred L __u16 __reserved; 43300aaeeaSYOSHIFUJI Hideaki __u32 datalen; 44300aaeeaSYOSHIFUJI Hideaki __u32 __reserved2; 452b4743bdSYOSHIFUJI Hideaki /* data follows */ 46fadf6bf0STemplin, Fred L }; 47fadf6bf0STemplin, Fred L 48fadf6bf0STemplin, Fred L /* PRL flags */ 49fadf6bf0STemplin, Fred L #define PRL_DEFAULT 0x0001 50fadf6bf0STemplin, Fred L 51*c19e654dSHerbert Xu enum 52*c19e654dSHerbert Xu { 53*c19e654dSHerbert Xu IFLA_GRE_UNSPEC, 54*c19e654dSHerbert Xu IFLA_GRE_LINK, 55*c19e654dSHerbert Xu IFLA_GRE_IFLAGS, 56*c19e654dSHerbert Xu IFLA_GRE_OFLAGS, 57*c19e654dSHerbert Xu IFLA_GRE_IKEY, 58*c19e654dSHerbert Xu IFLA_GRE_OKEY, 59*c19e654dSHerbert Xu IFLA_GRE_LOCAL, 60*c19e654dSHerbert Xu IFLA_GRE_REMOTE, 61*c19e654dSHerbert Xu IFLA_GRE_TTL, 62*c19e654dSHerbert Xu IFLA_GRE_TOS, 63*c19e654dSHerbert Xu IFLA_GRE_PMTUDISC, 64*c19e654dSHerbert Xu __IFLA_GRE_MAX, 65*c19e654dSHerbert Xu }; 66*c19e654dSHerbert Xu 67*c19e654dSHerbert Xu #define IFLA_GRE_MAX (__IFLA_GRE_MAX - 1) 68*c19e654dSHerbert Xu 691da177e4SLinus Torvalds #endif /* _IF_TUNNEL_H_ */ 70