diff options
Diffstat (limited to 'include/net/ip6_fib.h')
-rw-r--r-- | include/net/ip6_fib.h | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h index 062a823d311c..477ef75f3873 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h | |||
@@ -13,14 +13,13 @@ | |||
13 | #ifndef _IP6_FIB_H | 13 | #ifndef _IP6_FIB_H |
14 | #define _IP6_FIB_H | 14 | #define _IP6_FIB_H |
15 | 15 | ||
16 | #ifdef __KERNEL__ | ||
17 | |||
18 | #include <linux/ipv6_route.h> | 16 | #include <linux/ipv6_route.h> |
19 | #include <linux/rtnetlink.h> | 17 | #include <linux/rtnetlink.h> |
20 | #include <linux/spinlock.h> | 18 | #include <linux/spinlock.h> |
21 | #include <net/dst.h> | 19 | #include <net/dst.h> |
22 | #include <net/flow.h> | 20 | #include <net/flow.h> |
23 | #include <net/netlink.h> | 21 | #include <net/netlink.h> |
22 | #include <net/inetpeer.h> | ||
24 | 23 | ||
25 | #ifdef CONFIG_IPV6_MULTIPLE_TABLES | 24 | #ifdef CONFIG_IPV6_MULTIPLE_TABLES |
26 | #define FIB6_TABLE_HASHSZ 256 | 25 | #define FIB6_TABLE_HASHSZ 256 |
@@ -41,6 +40,7 @@ struct fib6_config { | |||
41 | 40 | ||
42 | struct in6_addr fc_dst; | 41 | struct in6_addr fc_dst; |
43 | struct in6_addr fc_src; | 42 | struct in6_addr fc_src; |
43 | struct in6_addr fc_prefsrc; | ||
44 | struct in6_addr fc_gateway; | 44 | struct in6_addr fc_gateway; |
45 | 45 | ||
46 | unsigned long fc_expires; | 46 | unsigned long fc_expires; |
@@ -106,9 +106,12 @@ struct rt6_info { | |||
106 | struct rt6key rt6i_dst ____cacheline_aligned_in_smp; | 106 | struct rt6key rt6i_dst ____cacheline_aligned_in_smp; |
107 | u32 rt6i_flags; | 107 | u32 rt6i_flags; |
108 | struct rt6key rt6i_src; | 108 | struct rt6key rt6i_src; |
109 | struct rt6key rt6i_prefsrc; | ||
109 | u32 rt6i_metric; | 110 | u32 rt6i_metric; |
111 | u32 rt6i_peer_genid; | ||
110 | 112 | ||
111 | struct inet6_dev *rt6i_idev; | 113 | struct inet6_dev *rt6i_idev; |
114 | struct inet_peer *rt6i_peer; | ||
112 | 115 | ||
113 | #ifdef CONFIG_XFRM | 116 | #ifdef CONFIG_XFRM |
114 | u32 rt6i_flow_cache_genid; | 117 | u32 rt6i_flow_cache_genid; |
@@ -180,7 +183,7 @@ struct fib6_table { | |||
180 | 183 | ||
181 | typedef struct rt6_info *(*pol_lookup_t)(struct net *, | 184 | typedef struct rt6_info *(*pol_lookup_t)(struct net *, |
182 | struct fib6_table *, | 185 | struct fib6_table *, |
183 | struct flowi *, int); | 186 | struct flowi6 *, int); |
184 | 187 | ||
185 | /* | 188 | /* |
186 | * exported functions | 189 | * exported functions |
@@ -189,16 +192,16 @@ typedef struct rt6_info *(*pol_lookup_t)(struct net *, | |||
189 | extern struct fib6_table *fib6_get_table(struct net *net, u32 id); | 192 | extern struct fib6_table *fib6_get_table(struct net *net, u32 id); |
190 | extern struct fib6_table *fib6_new_table(struct net *net, u32 id); | 193 | extern struct fib6_table *fib6_new_table(struct net *net, u32 id); |
191 | extern struct dst_entry *fib6_rule_lookup(struct net *net, | 194 | extern struct dst_entry *fib6_rule_lookup(struct net *net, |
192 | struct flowi *fl, int flags, | 195 | struct flowi6 *fl6, int flags, |
193 | pol_lookup_t lookup); | 196 | pol_lookup_t lookup); |
194 | 197 | ||
195 | extern struct fib6_node *fib6_lookup(struct fib6_node *root, | 198 | extern struct fib6_node *fib6_lookup(struct fib6_node *root, |
196 | struct in6_addr *daddr, | 199 | const struct in6_addr *daddr, |
197 | struct in6_addr *saddr); | 200 | const struct in6_addr *saddr); |
198 | 201 | ||
199 | struct fib6_node *fib6_locate(struct fib6_node *root, | 202 | struct fib6_node *fib6_locate(struct fib6_node *root, |
200 | struct in6_addr *daddr, int dst_len, | 203 | const struct in6_addr *daddr, int dst_len, |
201 | struct in6_addr *saddr, int src_len); | 204 | const struct in6_addr *saddr, int src_len); |
202 | 205 | ||
203 | extern void fib6_clean_all(struct net *net, | 206 | extern void fib6_clean_all(struct net *net, |
204 | int (*func)(struct rt6_info *, void *arg), | 207 | int (*func)(struct rt6_info *, void *arg), |
@@ -235,4 +238,3 @@ static inline void fib6_rules_cleanup(void) | |||
235 | } | 238 | } |
236 | #endif | 239 | #endif |
237 | #endif | 240 | #endif |
238 | #endif | ||