Lines Matching refs:fib6_info

45 	int (*func)(struct fib6_info *, void *arg);
57 static struct fib6_info *fib6_find_prefix(struct net *net,
107 void fib6_update_sernum(struct net *net, struct fib6_info *f6i)
147 struct fib6_info *fib6_info_alloc(gfp_t gfp_flags, bool with_fib6_nh)
149 struct fib6_info *f6i;
168 struct fib6_info *f6i = container_of(head, struct fib6_info, rcu);
330 /* called with rcu lock held; no reference taken on fib6_info */
364 struct fib6_info *rt,
377 struct fib6_info *rt,
392 struct fib6_info *rt,
406 struct fib6_info *rt,
420 int call_fib6_entry_notifiers_replace(struct net *net, struct fib6_info *rt)
437 static int fib6_rt_dump(struct fib6_info *rt, struct fib6_dump_arg *arg)
518 struct fib6_info *rt;
542 struct fib6_info,
714 void fib6_metric_set(struct fib6_info *f6i, int metric, u32 val)
761 struct fib6_info *leaf = rcu_dereference_protected(fn->leaf,
956 const struct fib6_info *match,
976 * from a fib6_info to NULL (ip6_dst_destroy); it can never
977 * change from one fib6_info reference to another
980 struct fib6_info *from;
982 from = xchg((__force struct fib6_info **)&pcpu_rt->from, NULL);
989 struct fib6_info *from;
1001 static void fib6_drop_pcpu_from(struct fib6_info *f6i,
1026 static void fib6_purge_rt(struct fib6_info *rt, struct fib6_node *fn,
1046 struct fib6_info *leaf = rcu_dereference_protected(fn->leaf,
1048 struct fib6_info *new_leaf;
1066 static int fib6_add_rt2node(struct fib6_node *fn, struct fib6_info *rt,
1070 struct fib6_info *leaf = rcu_dereference_protected(fn->leaf,
1072 struct fib6_info *iter = NULL;
1073 struct fib6_info __rcu **ins;
1074 struct fib6_info __rcu **fallback_ins = NULL;
1170 struct fib6_info *sibling, *temp_sibling;
1227 struct fib6_info *sibling, *next_sibling;
1324 static void fib6_start_gc(struct net *net, struct fib6_info *rt)
1339 static void __fib6_update_sernum_upto_root(struct fib6_info *rt,
1354 void fib6_update_sernum_upto_root(struct net *net, struct fib6_info *rt)
1360 void fib6_update_sernum_stub(struct net *net, struct fib6_info *f6i)
1374 int fib6_add(struct fib6_node *root, struct fib6_info *rt,
1394 offsetof(struct fib6_info, fib6_dst), allow_create,
1435 offsetof(struct fib6_info, fib6_src),
1454 offsetof(struct fib6_info, fib6_src),
1493 struct fib6_info *pn_leaf =
1540 int offset; /* key offset on fib6_info */
1578 struct fib6_info *leaf = rcu_dereference(fn->leaf);
1620 .offset = offsetof(struct fib6_info, fib6_dst),
1625 .offset = offsetof(struct fib6_info, fib6_src),
1661 struct fib6_info *leaf = rcu_dereference(fn->leaf);
1711 offsetof(struct fib6_info, fib6_dst),
1722 offsetof(struct fib6_info, fib6_src),
1741 static struct fib6_info *fib6_find_prefix(struct net *net,
1800 struct fib6_info *fn_leaf = rcu_dereference_protected(fn->leaf,
1802 struct fib6_info *pn_leaf = rcu_dereference_protected(pn->leaf,
1804 struct fib6_info *new_fn_leaf;
1899 struct fib6_info __rcu **rtp, struct nl_info *info)
1901 struct fib6_info *leaf, *replace_rt = NULL;
1903 struct fib6_info *rt = rcu_dereference_protected(*rtp,
1936 struct fib6_info *sibling, *next_sibling;
1995 int fib6_del(struct fib6_info *rt, struct nl_info *info)
1998 struct fib6_info __rcu **rtp;
1999 struct fib6_info __rcu **rtp_next;
2019 struct fib6_info *cur = rcu_dereference_protected(*rtp,
2165 struct fib6_info *rt;
2201 struct fib6_info, fib6_siblings);
2220 int (*func)(struct fib6_info *, void *arg),
2240 int (*func)(struct fib6_info *, void *),
2260 void fib6_clean_all(struct net *net, int (*func)(struct fib6_info *, void *),
2267 int (*func)(struct fib6_info *, void *),
2284 static int fib6_age(struct fib6_info *rt, void *arg)
2483 struct fib6_info *rt = v;
2584 struct fib6_info *n;
2592 n = rcu_dereference(((struct fib6_info *)v)->fib6_next);