ip6_tunnel.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /*
  2. * $Id: ip6_tunnel.h,v 1.1.1.1 2007/06/12 07:27:16 eyryu Exp $
  3. */
  4. #ifndef _NET_IP6_TUNNEL_H
  5. #define _NET_IP6_TUNNEL_H
  6. #include <linux/ipv6.h>
  7. #include <linux/netdevice.h>
  8. #include <linux/ip6_tunnel.h>
  9. /* capable of sending packets */
  10. #define IP6_TNL_F_CAP_XMIT 0x10000
  11. /* capable of receiving packets */
  12. #define IP6_TNL_F_CAP_RCV 0x20000
  13. #define IP6_TNL_MAX 128
  14. /* IPv6 tunnel */
  15. struct ip6_tnl {
  16. struct ip6_tnl *next; /* next tunnel in list */
  17. struct net_device *dev; /* virtual device associated with tunnel */
  18. struct net_device_stats stat; /* statistics for tunnel device */
  19. int recursion; /* depth of hard_start_xmit recursion */
  20. struct ip6_tnl_parm parms; /* tunnel configuration paramters */
  21. struct flowi fl; /* flowi template for xmit */
  22. struct dst_entry *dst_cache; /* cached dst */
  23. u32 dst_cookie;
  24. };
  25. /* Tunnel encapsulation limit destination sub-option */
  26. struct ipv6_tlv_tnl_enc_lim {
  27. __u8 type; /* type-code for option */
  28. __u8 length; /* option length */
  29. __u8 encap_limit; /* tunnel encapsulation limit */
  30. } __attribute__ ((packed));
  31. #endif