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