130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef _IP6T_RT_H
230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define _IP6T_RT_H
330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <linux/types.h>
530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/*#include <linux/in6.h>*/
630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IP6T_RT_HOPS 16
830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
930692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct ip6t_rt {
1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	__u32 rt_type;			/* Routing Type */
1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	__u32 segsleft[2];			/* Segments Left */
1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	__u32 hdrlen;			/* Header Length */
1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	__u8  flags;			/*  */
1430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	__u8  invflags;			/* Inverse flags */
1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	struct in6_addr addrs[IP6T_RT_HOPS];	/* Hops */
1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	__u8 addrnr;			/* Nr of Addresses */
1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng};
1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IP6T_RT_TYP 		0x01
2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IP6T_RT_SGS 		0x02
2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IP6T_RT_LEN 		0x04
2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IP6T_RT_RES 		0x08
2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IP6T_RT_FST_MASK	0x30
2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IP6T_RT_FST 		0x10
2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IP6T_RT_FST_NSTRICT	0x20
2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Values for "invflags" field in struct ip6t_rt. */
2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IP6T_RT_INV_TYP		0x01	/* Invert the sense of type. */
2930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IP6T_RT_INV_SGS		0x02	/* Invert the sense of Segments. */
3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IP6T_RT_INV_LEN		0x04	/* Invert the sense of length. */
3130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IP6T_RT_INV_MASK	0x07	/* All possible flags. */
3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /*_IP6T_RT_H*/
34