1*53ee8cc1Swenshuai.xi #ifndef _IF_TUNNEL_H_ 2*53ee8cc1Swenshuai.xi #define _IF_TUNNEL_H_ 3*53ee8cc1Swenshuai.xi 4*53ee8cc1Swenshuai.xi #include <linux/types.h> 5*53ee8cc1Swenshuai.xi 6*53ee8cc1Swenshuai.xi #define SIOCGETTUNNEL (SIOCDEVPRIVATE + 0) 7*53ee8cc1Swenshuai.xi #define SIOCADDTUNNEL (SIOCDEVPRIVATE + 1) 8*53ee8cc1Swenshuai.xi #define SIOCDELTUNNEL (SIOCDEVPRIVATE + 2) 9*53ee8cc1Swenshuai.xi #define SIOCCHGTUNNEL (SIOCDEVPRIVATE + 3) 10*53ee8cc1Swenshuai.xi #define SIOCGETPRL (SIOCDEVPRIVATE + 4) 11*53ee8cc1Swenshuai.xi #define SIOCADDPRL (SIOCDEVPRIVATE + 5) 12*53ee8cc1Swenshuai.xi #define SIOCDELPRL (SIOCDEVPRIVATE + 6) 13*53ee8cc1Swenshuai.xi #define SIOCCHGPRL (SIOCDEVPRIVATE + 7) 14*53ee8cc1Swenshuai.xi 15*53ee8cc1Swenshuai.xi #define GRE_CSUM __constant_htons(0x8000) 16*53ee8cc1Swenshuai.xi #define GRE_ROUTING __constant_htons(0x4000) 17*53ee8cc1Swenshuai.xi #define GRE_KEY __constant_htons(0x2000) 18*53ee8cc1Swenshuai.xi #define GRE_SEQ __constant_htons(0x1000) 19*53ee8cc1Swenshuai.xi #define GRE_STRICT __constant_htons(0x0800) 20*53ee8cc1Swenshuai.xi #define GRE_REC __constant_htons(0x0700) 21*53ee8cc1Swenshuai.xi #define GRE_FLAGS __constant_htons(0x00F8) 22*53ee8cc1Swenshuai.xi #define GRE_VERSION __constant_htons(0x0007) 23*53ee8cc1Swenshuai.xi 24*53ee8cc1Swenshuai.xi struct ip_tunnel_parm 25*53ee8cc1Swenshuai.xi { 26*53ee8cc1Swenshuai.xi char name[IFNAMSIZ]; 27*53ee8cc1Swenshuai.xi int link; 28*53ee8cc1Swenshuai.xi __be16 i_flags; 29*53ee8cc1Swenshuai.xi __be16 o_flags; 30*53ee8cc1Swenshuai.xi __be32 i_key; 31*53ee8cc1Swenshuai.xi __be32 o_key; 32*53ee8cc1Swenshuai.xi struct iphdr iph; 33*53ee8cc1Swenshuai.xi }; 34*53ee8cc1Swenshuai.xi 35*53ee8cc1Swenshuai.xi /* SIT-mode i_flags */ 36*53ee8cc1Swenshuai.xi #define SIT_ISATAP 0x0001 37*53ee8cc1Swenshuai.xi 38*53ee8cc1Swenshuai.xi struct ip_tunnel_prl { 39*53ee8cc1Swenshuai.xi __be32 addr; 40*53ee8cc1Swenshuai.xi __u16 flags; 41*53ee8cc1Swenshuai.xi __u16 __reserved; 42*53ee8cc1Swenshuai.xi __u32 datalen; 43*53ee8cc1Swenshuai.xi __u32 __reserved2; 44*53ee8cc1Swenshuai.xi /* data follows */ 45*53ee8cc1Swenshuai.xi }; 46*53ee8cc1Swenshuai.xi 47*53ee8cc1Swenshuai.xi /* PRL flags */ 48*53ee8cc1Swenshuai.xi #define PRL_DEFAULT 0x0001 49*53ee8cc1Swenshuai.xi 50*53ee8cc1Swenshuai.xi #endif /* _IF_TUNNEL_H_ */ 51