Lines Matching refs:f6i

224 	struct fib6_info	*f6i;  member
253 static inline void fib6_clean_expires(struct fib6_info *f6i) in fib6_clean_expires() argument
255 f6i->fib6_flags &= ~RTF_EXPIRES; in fib6_clean_expires()
256 f6i->expires = 0; in fib6_clean_expires()
262 static inline void fib6_set_expires(struct fib6_info *f6i, in fib6_set_expires() argument
265 f6i->expires = expires; in fib6_set_expires()
266 f6i->fib6_flags |= RTF_EXPIRES; in fib6_set_expires()
269 static inline bool fib6_check_expired(const struct fib6_info *f6i) in fib6_check_expired() argument
271 if (f6i->fib6_flags & RTF_EXPIRES) in fib6_check_expired()
272 return time_after(jiffies, f6i->expires); in fib6_check_expired()
281 static inline bool fib6_get_cookie_safe(const struct fib6_info *f6i, in fib6_get_cookie_safe() argument
287 fn = rcu_dereference(f6i->fib6_node); in fib6_get_cookie_safe()
330 static inline void fib6_info_hold(struct fib6_info *f6i) in fib6_info_hold() argument
332 refcount_inc(&f6i->fib6_ref); in fib6_info_hold()
335 static inline bool fib6_info_hold_safe(struct fib6_info *f6i) in fib6_info_hold_safe() argument
337 return refcount_inc_not_zero(&f6i->fib6_ref); in fib6_info_hold_safe()
340 static inline void fib6_info_release(struct fib6_info *f6i) in fib6_info_release() argument
342 if (f6i && refcount_dec_and_test(&f6i->fib6_ref)) { in fib6_info_release()
343 DEBUG_NET_WARN_ON_ONCE(!hlist_unhashed(&f6i->gc_link)); in fib6_info_release()
344 call_rcu_hurry(&f6i->rcu, fib6_info_destroy_rcu); in fib6_info_release()
520 static inline void fib6_add_gc_list(struct fib6_info *f6i) in fib6_add_gc_list() argument
530 if (!rcu_dereference_protected(f6i->fib6_node, in fib6_add_gc_list()
531 lockdep_is_held(&f6i->fib6_table->tb6_lock))) in fib6_add_gc_list()
534 if (hlist_unhashed(&f6i->gc_link)) in fib6_add_gc_list()
535 hlist_add_head(&f6i->gc_link, &f6i->fib6_table->tb6_gc_hlist); in fib6_add_gc_list()
542 static inline void fib6_remove_gc_list(struct fib6_info *f6i) in fib6_remove_gc_list() argument
544 if (!hlist_unhashed(&f6i->gc_link)) in fib6_remove_gc_list()
545 hlist_del_init(&f6i->gc_link); in fib6_remove_gc_list()
573 void fib6_update_sernum_stub(struct net *net, struct fib6_info *f6i);
575 void fib6_metric_set(struct fib6_info *f6i, int metric, u32 val);
576 static inline bool fib6_metric_locked(struct fib6_info *f6i, int metric) in fib6_metric_locked() argument
578 return !!(f6i->fib6_metrics->metrics[RTAX_LOCK - 1] & (1 << metric)); in fib6_metric_locked()
580 void fib6_info_hw_flags_set(struct net *net, struct fib6_info *f6i,