ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / linux / netfilter_ipv6 / ip6t_rt.h
1 #ifndef _IP6T_RT_H
2 #define _IP6T_RT_H
3
4 /*#include <linux/in6.h>*/
5
6 #define IP6T_RT_HOPS 16
7
8 struct ip6t_rt
9 {
10         u_int32_t rt_type;                      /* Routing Type */
11         u_int32_t segsleft[2];                  /* Segments Left */
12         u_int32_t hdrlen;                       /* Header Length */
13         u_int8_t  flags;                        /*  */
14         u_int8_t  invflags;                     /* Inverse flags */
15         struct in6_addr addrs[IP6T_RT_HOPS];    /* Hops */
16         u_int8_t addrnr;                        /* Nr of Addresses */
17 };
18
19 #define IP6T_RT_TYP             0x01
20 #define IP6T_RT_SGS             0x02
21 #define IP6T_RT_LEN             0x04
22 #define IP6T_RT_RES             0x08
23 #define IP6T_RT_FST_MASK        0x30
24 #define IP6T_RT_FST             0x10
25 #define IP6T_RT_FST_NSTRICT     0x20
26
27 /* Values for "invflags" field in struct ip6t_rt. */
28 #define IP6T_RT_INV_TYP         0x01    /* Invert the sense of type. */
29 #define IP6T_RT_INV_SGS         0x02    /* Invert the sense of Segments. */
30 #define IP6T_RT_INV_LEN         0x04    /* Invert the sense of length. */
31 #define IP6T_RT_INV_MASK        0x07    /* All possible flags. */
32
33 #define MASK_HOPOPTS    128
34 #define MASK_DSTOPTS    64
35 #define MASK_ROUTING    32
36 #define MASK_FRAGMENT   16
37 #define MASK_AH         8
38 #define MASK_ESP        4
39 #define MASK_NONE       2
40 #define MASK_PROTO      1
41
42 #endif /*_IP6T_RT_H*/