diff options
| author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-03-23 23:44:19 -0500 |
|---|---|---|
| committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-03-23 23:44:19 -0500 |
| commit | 1ebbe2b20091d306453a5cf480a87e6cd28ae76f (patch) | |
| tree | f5cd7a0fa69b8b1938cb5a0faed2e7b0628072a5 /include/net/ip6_route.h | |
| parent | ac58c9059da8886b5e8cde012a80266b18ca146e (diff) | |
| parent | 674a396c6d2ba0341ebdd7c1c9950f32f018e2dd (diff) | |
Merge branch 'linus'
Diffstat (limited to 'include/net/ip6_route.h')
| -rw-r--r-- | include/net/ip6_route.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h index 1f2e428ca364..a398ae5e30f9 100644 --- a/include/net/ip6_route.h +++ b/include/net/ip6_route.h | |||
| @@ -7,6 +7,23 @@ | |||
| 7 | #define IP6_RT_PRIO_KERN 512 | 7 | #define IP6_RT_PRIO_KERN 512 |
| 8 | #define IP6_RT_FLOW_MASK 0x00ff | 8 | #define IP6_RT_FLOW_MASK 0x00ff |
| 9 | 9 | ||
| 10 | struct route_info { | ||
| 11 | __u8 type; | ||
| 12 | __u8 length; | ||
| 13 | __u8 prefix_len; | ||
| 14 | #if defined(__BIG_ENDIAN_BITFIELD) | ||
| 15 | __u8 reserved_h:3, | ||
| 16 | route_pref:2, | ||
| 17 | reserved_l:3; | ||
| 18 | #elif defined(__LITTLE_ENDIAN_BITFIELD) | ||
| 19 | __u8 reserved_l:3, | ||
| 20 | route_pref:2, | ||
| 21 | reserved_h:3; | ||
| 22 | #endif | ||
| 23 | __u32 lifetime; | ||
| 24 | __u8 prefix[0]; /* 0,8 or 16 */ | ||
| 25 | }; | ||
| 26 | |||
| 10 | #ifdef __KERNEL__ | 27 | #ifdef __KERNEL__ |
| 11 | 28 | ||
| 12 | #include <net/flow.h> | 29 | #include <net/flow.h> |
| @@ -87,11 +104,14 @@ extern struct rt6_info *addrconf_dst_alloc(struct inet6_dev *idev, | |||
| 87 | extern struct rt6_info * rt6_get_dflt_router(struct in6_addr *addr, | 104 | extern struct rt6_info * rt6_get_dflt_router(struct in6_addr *addr, |
| 88 | struct net_device *dev); | 105 | struct net_device *dev); |
| 89 | extern struct rt6_info * rt6_add_dflt_router(struct in6_addr *gwaddr, | 106 | extern struct rt6_info * rt6_add_dflt_router(struct in6_addr *gwaddr, |
| 90 | struct net_device *dev); | 107 | struct net_device *dev, |
| 108 | unsigned int pref); | ||
| 91 | 109 | ||
| 92 | extern void rt6_purge_dflt_routers(void); | 110 | extern void rt6_purge_dflt_routers(void); |
| 93 | 111 | ||
| 94 | extern void rt6_reset_dflt_pointer(struct rt6_info *rt); | 112 | extern int rt6_route_rcv(struct net_device *dev, |
| 113 | u8 *opt, int len, | ||
| 114 | struct in6_addr *gwaddr); | ||
| 95 | 115 | ||
| 96 | extern void rt6_redirect(struct in6_addr *dest, | 116 | extern void rt6_redirect(struct in6_addr *dest, |
| 97 | struct in6_addr *saddr, | 117 | struct in6_addr *saddr, |
