1248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy#ifndef _IP6T_RT_H 2248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy#define _IP6T_RT_H 3248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy 4dbe77cc974cee656eae37e75039dd1a410a4535bJan Engelhardt#include <linux/types.h> 5248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy/*#include <linux/in6.h>*/ 6248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy 7248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy#define IP6T_RT_HOPS 16 8248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy 9350661a6eb089f3e54e67e022db9e16ea280499fJan Engelhardtstruct ip6t_rt { 10dbe77cc974cee656eae37e75039dd1a410a4535bJan Engelhardt __u32 rt_type; /* Routing Type */ 11dbe77cc974cee656eae37e75039dd1a410a4535bJan Engelhardt __u32 segsleft[2]; /* Segments Left */ 12dbe77cc974cee656eae37e75039dd1a410a4535bJan Engelhardt __u32 hdrlen; /* Header Length */ 13dbe77cc974cee656eae37e75039dd1a410a4535bJan Engelhardt __u8 flags; /* */ 14dbe77cc974cee656eae37e75039dd1a410a4535bJan Engelhardt __u8 invflags; /* Inverse flags */ 15248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy struct in6_addr addrs[IP6T_RT_HOPS]; /* Hops */ 16dbe77cc974cee656eae37e75039dd1a410a4535bJan Engelhardt __u8 addrnr; /* Nr of Addresses */ 17248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy}; 18248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy 19248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy#define IP6T_RT_TYP 0x01 20248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy#define IP6T_RT_SGS 0x02 21248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy#define IP6T_RT_LEN 0x04 22248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy#define IP6T_RT_RES 0x08 23248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy#define IP6T_RT_FST_MASK 0x30 24248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy#define IP6T_RT_FST 0x10 25248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy#define IP6T_RT_FST_NSTRICT 0x20 26248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy 27248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy/* Values for "invflags" field in struct ip6t_rt. */ 28248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy#define IP6T_RT_INV_TYP 0x01 /* Invert the sense of type. */ 29248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy#define IP6T_RT_INV_SGS 0x02 /* Invert the sense of Segments. */ 30248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy#define IP6T_RT_INV_LEN 0x04 /* Invert the sense of length. */ 31248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy#define IP6T_RT_INV_MASK 0x07 /* All possible flags. */ 32248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy 33248a109b3bf6c9a0b3724f3123ad64a624d30631Patrick McHardy#endif /*_IP6T_RT_H*/ 34