aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/ip6_fib.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/ip6_fib.h')
-rw-r--r--include/net/ip6_fib.h27
1 files changed, 21 insertions, 6 deletions
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h
index 857821360bb6..d8d85b13364d 100644
--- a/include/net/ip6_fib.h
+++ b/include/net/ip6_fib.h
@@ -99,16 +99,21 @@ struct rt6_info
99 u32 rt6i_flags; 99 u32 rt6i_flags;
100 u32 rt6i_metric; 100 u32 rt6i_metric;
101 atomic_t rt6i_ref; 101 atomic_t rt6i_ref;
102 struct fib6_table *rt6i_table;
103 102
104 struct rt6key rt6i_dst; 103 /* more non-fragment space at head required */
105 struct rt6key rt6i_src; 104 unsigned short rt6i_nfheader_len;
106 105
107 u8 rt6i_protocol; 106 u8 rt6i_protocol;
108 107
108 struct fib6_table *rt6i_table;
109
110 struct rt6key rt6i_dst;
111
109#ifdef CONFIG_XFRM 112#ifdef CONFIG_XFRM
110 u32 rt6i_flow_cache_genid; 113 u32 rt6i_flow_cache_genid;
111#endif 114#endif
115
116 struct rt6key rt6i_src;
112}; 117};
113 118
114static inline struct inet6_dev *ip6_dst_idev(struct dst_entry *dst) 119static inline struct inet6_dev *ip6_dst_idev(struct dst_entry *dst)
@@ -219,10 +224,20 @@ extern void fib6_run_gc(unsigned long dummy);
219 224
220extern void fib6_gc_cleanup(void); 225extern void fib6_gc_cleanup(void);
221 226
222extern void fib6_init(void); 227extern int fib6_init(void);
223 228
224extern void fib6_rules_init(void); 229#ifdef CONFIG_IPV6_MULTIPLE_TABLES
230extern int fib6_rules_init(void);
225extern void fib6_rules_cleanup(void); 231extern void fib6_rules_cleanup(void);
226 232#else
233static inline int fib6_rules_init(void)
234{
235 return 0;
236}
237static inline void fib6_rules_cleanup(void)
238{
239 return ;
240}
241#endif
227#endif 242#endif
228#endif 243#endif