X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fnet%2Fip6_fib.h;h=4d4c8aca8fb921741d9030ca2f26de73c9fae4f3;hb=58f09b78b730cf0d936597272bf35b3d615e967c;hp=c48ea873f1e091271d3e377fe16f67c4860ba453;hpb=afc2e82c0851317931a9bfdb98271253371825c6;p=pandora-kernel.git diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h index c48ea873f1e0..4d4c8aca8fb9 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h @@ -99,12 +99,21 @@ struct rt6_info u32 rt6i_flags; u32 rt6i_metric; atomic_t rt6i_ref; + + /* more non-fragment space at head required */ + unsigned short rt6i_nfheader_len; + + u8 rt6i_protocol; + struct fib6_table *rt6i_table; struct rt6key rt6i_dst; - struct rt6key rt6i_src; - u8 rt6i_protocol; +#ifdef CONFIG_XFRM + u32 rt6i_flow_cache_genid; +#endif + + struct rt6key rt6i_src; }; static inline struct inet6_dev *ip6_dst_idev(struct dst_entry *dst) @@ -141,19 +150,6 @@ struct rt6_statistics { * */ -#define RTPRI_FIREWALL 8 /* Firewall control information */ -#define RTPRI_FLOW 16 /* Flow based forwarding rules */ -#define RTPRI_KERN_CTL 32 /* Kernel control routes */ - -#define RTPRI_USER_MIN 256 /* Mimimum user priority */ -#define RTPRI_USER_MAX 1024 /* Maximum user priority */ - -#define RTPRI_KERN_DFLT 4096 /* Kernel default routes */ - -#define MAX_FLOW_BACKTRACE 32 - - -typedef void (*f_pnode)(struct fib6_node *fn, void *); struct fib6_table { struct hlist_node tb6_hlist; @@ -185,10 +181,11 @@ typedef struct rt6_info *(*pol_lookup_t)(struct fib6_table *, * exported functions */ -extern struct fib6_table * fib6_get_table(u32 id); -extern struct fib6_table * fib6_new_table(u32 id); -extern struct dst_entry * fib6_rule_lookup(struct flowi *fl, int flags, - pol_lookup_t lookup); +extern struct fib6_table *fib6_get_table(struct net *net, u32 id); +extern struct fib6_table *fib6_new_table(struct net *net, u32 id); +extern struct dst_entry *fib6_rule_lookup(struct net *net, + struct flowi *fl, int flags, + pol_lookup_t lookup); extern struct fib6_node *fib6_lookup(struct fib6_node *root, struct in6_addr *daddr, @@ -215,10 +212,20 @@ extern void fib6_run_gc(unsigned long dummy); extern void fib6_gc_cleanup(void); -extern void fib6_init(void); +extern int fib6_init(void); -extern void fib6_rules_init(void); +#ifdef CONFIG_IPV6_MULTIPLE_TABLES +extern int fib6_rules_init(void); extern void fib6_rules_cleanup(void); - +#else +static inline int fib6_rules_init(void) +{ + return 0; +} +static inline void fib6_rules_cleanup(void) +{ + return ; +} +#endif #endif #endif