Lines Matching refs:fib6_info
43 int (*func)(struct fib6_info *, void *arg);
55 static struct fib6_info *fib6_find_prefix(struct net *net,
106 void fib6_update_sernum(struct net *net, struct fib6_info *f6i)
146 struct fib6_info *fib6_info_alloc(gfp_t gfp_flags, bool with_fib6_nh)
148 struct fib6_info *f6i;
167 struct fib6_info *f6i = container_of(head, struct fib6_info, rcu);
329 /* called with rcu lock held; no reference taken on fib6_info */
363 struct fib6_info *rt,
376 struct fib6_info *rt,
391 struct fib6_info *rt,
405 struct fib6_info *rt,
419 int call_fib6_entry_notifiers_replace(struct net *net, struct fib6_info *rt)
436 static int fib6_rt_dump(struct fib6_info *rt, struct fib6_dump_arg *arg)
517 struct fib6_info *rt;
541 struct fib6_info,
713 void fib6_metric_set(struct fib6_info *f6i, int metric, u32 val)
760 struct fib6_info *leaf = rcu_dereference_protected(fn->leaf,
955 const struct fib6_info *match,
978 * from a fib6_info to NULL (ip6_dst_destroy); it can never
979 * change from one fib6_info reference to another
982 struct fib6_info *from;
984 from = xchg((__force struct fib6_info **)&pcpu_rt->from, NULL);
992 struct fib6_info *from;
1004 static void fib6_drop_pcpu_from(struct fib6_info *f6i,
1029 static void fib6_purge_rt(struct fib6_info *rt, struct fib6_node *fn,
1049 struct fib6_info *leaf = rcu_dereference_protected(fn->leaf,
1051 struct fib6_info *new_leaf;
1069 static int fib6_add_rt2node(struct fib6_node *fn, struct fib6_info *rt,
1073 struct fib6_info *leaf = rcu_dereference_protected(fn->leaf,
1075 struct fib6_info *iter = NULL;
1076 struct fib6_info __rcu **ins;
1077 struct fib6_info __rcu **fallback_ins = NULL;
1173 struct fib6_info *sibling, *temp_sibling;
1230 struct fib6_info *sibling, *next_sibling;
1327 static void fib6_start_gc(struct net *net, struct fib6_info *rt)
1342 static void __fib6_update_sernum_upto_root(struct fib6_info *rt,
1357 void fib6_update_sernum_upto_root(struct net *net, struct fib6_info *rt)
1363 void fib6_update_sernum_stub(struct net *net, struct fib6_info *f6i)
1377 int fib6_add(struct fib6_node *root, struct fib6_info *rt,
1397 offsetof(struct fib6_info, fib6_dst), allow_create,
1438 offsetof(struct fib6_info, fib6_src),
1457 offsetof(struct fib6_info, fib6_src),
1496 struct fib6_info *pn_leaf =
1543 int offset; /* key offset on fib6_info */
1581 struct fib6_info *leaf = rcu_dereference(fn->leaf);
1623 .offset = offsetof(struct fib6_info, fib6_dst),
1628 .offset = offsetof(struct fib6_info, fib6_src),
1664 struct fib6_info *leaf = rcu_dereference(fn->leaf);
1714 offsetof(struct fib6_info, fib6_dst),
1725 offsetof(struct fib6_info, fib6_src),
1744 static struct fib6_info *fib6_find_prefix(struct net *net,
1803 struct fib6_info *fn_leaf = rcu_dereference_protected(fn->leaf,
1805 struct fib6_info *pn_leaf = rcu_dereference_protected(pn->leaf,
1807 struct fib6_info *new_fn_leaf;
1902 struct fib6_info __rcu **rtp, struct nl_info *info)
1904 struct fib6_info *leaf, *replace_rt = NULL;
1906 struct fib6_info *rt = rcu_dereference_protected(*rtp,
1939 struct fib6_info *sibling, *next_sibling;
1998 int fib6_del(struct fib6_info *rt, struct nl_info *info)
2001 struct fib6_info __rcu **rtp;
2002 struct fib6_info __rcu **rtp_next;
2022 struct fib6_info *cur = rcu_dereference_protected(*rtp,
2168 struct fib6_info *rt;
2204 struct fib6_info, fib6_siblings);
2223 int (*func)(struct fib6_info *, void *arg),
2243 int (*func)(struct fib6_info *, void *),
2263 void fib6_clean_all(struct net *net, int (*func)(struct fib6_info *, void *),
2270 int (*func)(struct fib6_info *, void *),
2287 static int fib6_age(struct fib6_info *rt, void *arg)
2482 struct fib6_info *rt = v;
2583 struct fib6_info *n;
2591 n = rcu_dereference_bh(((struct fib6_info *)v)->fib6_next);