if_tunnel.h 1.2 KB

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