diff options
Diffstat (limited to 'include/net/ip6_fib.h')
-rw-r--r-- | include/net/ip6_fib.h | 52 |
1 files changed, 30 insertions, 22 deletions
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h index 2182525..48ec25a 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h @@ -165,7 +165,6 @@ static inline struct inet6_dev *ip6_dst_idev(struct dst_entry *dst) static inline void rt6_clean_expires(struct rt6_info *rt) { rt->rt6i_flags &= ~RTF_EXPIRES; - rt->dst.expires = 0; } static inline void rt6_set_expires(struct rt6_info *rt, unsigned long expires) @@ -268,39 +267,48 @@ typedef struct rt6_info *(*pol_lookup_t)(struct net *, * exported functions */ -struct fib6_table *fib6_get_table(struct net *net, u32 id); -struct fib6_table *fib6_new_table(struct net *net, u32 id); -struct dst_entry *fib6_rule_lookup(struct net *net, struct flowi6 *fl6, - 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 flowi6 *fl6, int flags, + pol_lookup_t lookup); -struct fib6_node *fib6_lookup(struct fib6_node *root, - const struct in6_addr *daddr, - const struct in6_addr *saddr); +extern struct fib6_node *fib6_lookup(struct fib6_node *root, + const struct in6_addr *daddr, + const struct in6_addr *saddr); -struct fib6_node *fib6_locate(struct fib6_node *root, - const struct in6_addr *daddr, int dst_len, - const struct in6_addr *saddr, int src_len); +struct fib6_node *fib6_locate(struct fib6_node *root, + const struct in6_addr *daddr, int dst_len, + const struct in6_addr *saddr, int src_len); -void fib6_clean_all(struct net *net, int (*func)(struct rt6_info *, void *arg), - int prune, void *arg); +extern void fib6_clean_all_ro(struct net *net, + int (*func)(struct rt6_info *, void *arg), + int prune, void *arg); -int fib6_add(struct fib6_node *root, struct rt6_info *rt, struct nl_info *info); +extern void fib6_clean_all(struct net *net, + int (*func)(struct rt6_info *, void *arg), + int prune, void *arg); -int fib6_del(struct rt6_info *rt, struct nl_info *info); +extern int fib6_add(struct fib6_node *root, + struct rt6_info *rt, + struct nl_info *info); -void inet6_rt_notify(int event, struct rt6_info *rt, struct nl_info *info); +extern int fib6_del(struct rt6_info *rt, + struct nl_info *info); -void fib6_run_gc(unsigned long expires, struct net *net, bool force); +extern void inet6_rt_notify(int event, struct rt6_info *rt, + struct nl_info *info); -void fib6_gc_cleanup(void); +extern void fib6_run_gc(unsigned long expires, + struct net *net, bool force); -int fib6_init(void); +extern void fib6_gc_cleanup(void); -int ipv6_route_open(struct inode *inode, struct file *file); +extern int fib6_init(void); #ifdef CONFIG_IPV6_MULTIPLE_TABLES -int fib6_rules_init(void); -void fib6_rules_cleanup(void); +extern int fib6_rules_init(void); +extern void fib6_rules_cleanup(void); #else static inline int fib6_rules_init(void) { |