Lines Matching defs: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;
170 struct fib6_info *f6i = container_of(head, struct fib6_info, rcu);
338 /* called with rcu lock held; no reference taken on fib6_info */
372 struct fib6_info *rt,
385 struct fib6_info *rt,
400 struct fib6_info *rt,
414 struct fib6_info *rt,
428 int call_fib6_entry_notifiers_replace(struct net *net, struct fib6_info *rt)
445 static int fib6_rt_dump(struct fib6_info *rt, struct fib6_dump_arg *arg)
528 struct fib6_info *rt;
552 struct fib6_info,
728 void fib6_metric_set(struct fib6_info *f6i, int metric, u32 val)
773 struct fib6_info *leaf = rcu_dereference_protected(fn->leaf,
968 const struct fib6_info *match)
990 * from a fib6_info to NULL (ip6_dst_destroy); it can never
991 * change from one fib6_info reference to another
994 struct fib6_info *from;
1005 struct fib6_info *arg = _arg;
1011 static void fib6_drop_pcpu_from(struct fib6_info *f6i)
1031 static void fib6_purge_rt(struct fib6_info *rt, struct fib6_node *fn,
1057 struct fib6_info *leaf = rcu_dereference_protected(fn->leaf,
1059 struct fib6_info *new_leaf;
1080 static int fib6_add_rt2node(struct fib6_node *fn, struct fib6_info *rt,
1084 struct fib6_info *leaf = rcu_dereference_protected(fn->leaf,
1086 struct fib6_info *iter = NULL;
1087 struct fib6_info __rcu **ins;
1088 struct fib6_info __rcu **fallback_ins = NULL;
1192 struct fib6_info *sibling, *temp_sibling;
1252 struct fib6_info *sibling, *next_sibling;
1350 static int fib6_add_rt2node_nh(struct fib6_node *fn, struct fib6_info *rt,
1372 static void fib6_start_gc(struct net *net, struct fib6_info *rt)
1387 static void __fib6_update_sernum_upto_root(struct fib6_info *rt,
1402 void fib6_update_sernum_upto_root(struct net *net, struct fib6_info *rt)
1408 void fib6_update_sernum_stub(struct net *net, struct fib6_info *f6i)
1422 int fib6_add(struct fib6_node *root, struct fib6_info *rt,
1446 offsetof(struct fib6_info, fib6_dst), allow_create,
1487 offsetof(struct fib6_info, fib6_src),
1506 offsetof(struct fib6_info, fib6_src),
1534 struct fib6_info *iter, *next;
1558 struct fib6_info *pn_leaf =
1605 int offset; /* key offset on fib6_info */
1643 struct fib6_info *leaf = rcu_dereference(fn->leaf);
1685 .offset = offsetof(struct fib6_info, fib6_dst),
1690 .offset = offsetof(struct fib6_info, fib6_src),
1726 struct fib6_info *leaf = rcu_dereference(fn->leaf);
1776 offsetof(struct fib6_info, fib6_dst),
1787 offsetof(struct fib6_info, fib6_src),
1806 static struct fib6_info *fib6_find_prefix(struct net *net,
1865 struct fib6_info *fn_leaf = rcu_dereference_protected(fn->leaf,
1867 struct fib6_info *pn_leaf = rcu_dereference_protected(pn->leaf,
1869 struct fib6_info *new_fn_leaf;
1967 struct fib6_info __rcu **rtp, struct nl_info *info)
1969 struct fib6_info *leaf, *replace_rt = NULL;
1971 struct fib6_info *rt = rcu_dereference_protected(*rtp,
2002 struct fib6_info *sibling, *next_sibling;
2062 int fib6_del(struct fib6_info *rt, struct nl_info *info)
2065 struct fib6_info __rcu **rtp;
2066 struct fib6_info __rcu **rtp_next;
2086 struct fib6_info *cur = rcu_dereference_protected(*rtp,
2232 struct fib6_info *rt;
2268 struct fib6_info, fib6_siblings);
2287 int (*func)(struct fib6_info *, void *arg),
2307 int (*func)(struct fib6_info *, void *),
2327 void fib6_clean_all(struct net *net, int (*func)(struct fib6_info *, void *),
2334 int (*func)(struct fib6_info *, void *),
2351 static int fib6_age(struct fib6_info *rt, struct fib6_gc_args *gc_args)
2381 struct fib6_info *rt;
2592 struct fib6_info *rt = v;
2693 struct fib6_info *n;
2701 n = rcu_dereference(((struct fib6_info *)v)->fib6_next);