blob: ab91bfd2cd00f7dcc931f53f395feaaa2a793660 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _IP6T_RT_H
2#define _IP6T_RT_H
3
4/*#include <linux/in6.h>*/
5
6#define IP6T_RT_HOPS 16
7
Eric Dumazetd94d9fe2009-11-04 09:50:58 -08008struct ip6t_rt {
Linus Torvalds1da177e2005-04-16 15:20:36 -07009 u_int32_t rt_type; /* Routing Type */
10 u_int32_t segsleft[2]; /* Segments Left */
11 u_int32_t hdrlen; /* Header Length */
12 u_int8_t flags; /* */
13 u_int8_t invflags; /* Inverse flags */
14 struct in6_addr addrs[IP6T_RT_HOPS]; /* Hops */
15 u_int8_t addrnr; /* Nr of Addresses */
16};
17
18#define IP6T_RT_TYP 0x01
19#define IP6T_RT_SGS 0x02
20#define IP6T_RT_LEN 0x04
21#define IP6T_RT_RES 0x08
22#define IP6T_RT_FST_MASK 0x30
23#define IP6T_RT_FST 0x10
24#define IP6T_RT_FST_NSTRICT 0x20
25
26/* Values for "invflags" field in struct ip6t_rt. */
27#define IP6T_RT_INV_TYP 0x01 /* Invert the sense of type. */
28#define IP6T_RT_INV_SGS 0x02 /* Invert the sense of Segments. */
29#define IP6T_RT_INV_LEN 0x04 /* Invert the sense of length. */
30#define IP6T_RT_INV_MASK 0x07 /* All possible flags. */
31
Linus Torvalds1da177e2005-04-16 15:20:36 -070032#endif /*_IP6T_RT_H*/