ip6t_rt.h 925 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef _IP6T_RT_H
  2. #define _IP6T_RT_H
  3. /*#include <linux/in6.h>*/
  4. #define IP6T_RT_HOPS 16
  5. struct ip6t_rt
  6. {
  7. u_int32_t rt_type; /* Routing Type */
  8. u_int32_t segsleft[2]; /* Segments Left */
  9. u_int32_t hdrlen; /* Header Length */
  10. u_int8_t flags; /* */
  11. u_int8_t invflags; /* Inverse flags */
  12. struct in6_addr addrs[IP6T_RT_HOPS]; /* Hops */
  13. u_int8_t addrnr; /* Nr of Addresses */
  14. };
  15. #define IP6T_RT_TYP 0x01
  16. #define IP6T_RT_SGS 0x02
  17. #define IP6T_RT_LEN 0x04
  18. #define IP6T_RT_RES 0x08
  19. #define IP6T_RT_FST_MASK 0x30
  20. #define IP6T_RT_FST 0x10
  21. #define IP6T_RT_FST_NSTRICT 0x20
  22. /* Values for "invflags" field in struct ip6t_rt. */
  23. #define IP6T_RT_INV_TYP 0x01 /* Invert the sense of type. */
  24. #define IP6T_RT_INV_SGS 0x02 /* Invert the sense of Segments. */
  25. #define IP6T_RT_INV_LEN 0x04 /* Invert the sense of length. */
  26. #define IP6T_RT_INV_MASK 0x07 /* All possible flags. */
  27. #endif /*_IP6T_RT_H*/