Lines Matching refs:leaf
244 rcu_assign_pointer(table->tb6_root.leaf, in fib6_alloc_table()
419 w->leaf = NULL; in fib6_node_dump()
470 w->leaf = rt; in fib6_dump_node()
491 w->leaf = NULL; in fib6_dump_node()
706 struct fib6_info *leaf = rcu_dereference_protected(fn->leaf, in fib6_add_1() local
708 key = (struct rt6key *)((u8 *)leaf + offset); in fib6_add_1()
734 RCU_INIT_POINTER(fn->leaf, NULL); in fib6_add_1()
735 fib6_info_release(leaf); in fib6_add_1()
738 rcu_access_pointer(fn->leaf) == in fib6_add_1()
740 RCU_INIT_POINTER(fn->leaf, NULL); in fib6_add_1()
846 in->leaf = fn->leaf; in fib6_add_1()
847 fib6_info_hold(rcu_dereference_protected(in->leaf, in fib6_add_1()
989 struct fib6_info *leaf = rcu_dereference_protected(fn->leaf, in fib6_purge_rt() local
992 if (!(fn->fn_flags & RTN_RTINFO) && leaf == rt) { in fib6_purge_rt()
996 rcu_assign_pointer(fn->leaf, new_leaf); in fib6_purge_rt()
1013 struct fib6_info *leaf = rcu_dereference_protected(fn->leaf, in fib6_add_rt2node() local
1030 ins = &fn->leaf; in fib6_add_rt2node()
1032 for (iter = leaf; iter; in fib6_add_rt2node()
1105 if (ins == &fn->leaf) in fib6_add_rt2node()
1114 sibling = leaf; in fib6_add_rt2node()
1356 rcu_assign_pointer(sfn->leaf, in fib6_add()
1392 if (!rcu_access_pointer(fn->leaf)) { in fib6_add()
1395 rcu_assign_pointer(fn->leaf, in fib6_add()
1399 rcu_assign_pointer(fn->leaf, rt); in fib6_add()
1423 rcu_dereference_protected(pn->leaf, in fib6_add()
1427 RCU_INIT_POINTER(pn->leaf, NULL); in fib6_add()
1441 rcu_assign_pointer(pn->leaf, pn_leaf); in fib6_add()
1460 !rcu_access_pointer(fn->leaf)))) in fib6_add()
1509 struct fib6_info *leaf = rcu_dereference(fn->leaf); in fib6_node_lookup_1() local
1512 if (!leaf) in fib6_node_lookup_1()
1515 key = (struct rt6key *) ((u8 *)leaf + args->offset); in fib6_node_lookup_1()
1592 struct fib6_info *leaf = rcu_dereference(fn->leaf); in fib6_locate_1() local
1596 if (!leaf) { in fib6_locate_1()
1603 key = (struct rt6key *)((u8 *)leaf + offset); in fib6_locate_1()
1687 return rcu_dereference_protected(child_left->leaf, in fib6_find_prefix()
1690 return rcu_dereference_protected(child_right->leaf, in fib6_find_prefix()
1716 rcu_assign_pointer(fn->leaf, net->ipv6.fib6_null_entry); in fib6_repair_tree()
1731 struct fib6_info *fn_leaf = rcu_dereference_protected(fn->leaf, in fib6_repair_tree()
1733 struct fib6_info *pn_leaf = rcu_dereference_protected(pn->leaf, in fib6_repair_tree()
1765 rcu_assign_pointer(fn->leaf, new_fn_leaf); in fib6_repair_tree()
1819 RCU_INIT_POINTER(pn->leaf, NULL); in fib6_repair_tree()
1863 if (w->state == FWS_C && w->leaf == rt) { in fib6_del_route()
1865 w->leaf = rcu_dereference_protected(rt->fib6_next, in fib6_del_route()
1867 if (!w->leaf) in fib6_del_route()
1877 if (!rcu_access_pointer(fn->leaf)) { in fib6_del_route()
1914 for (rtp = &fn->leaf; *rtp; rtp = rtp_next) { in fib6_del()
1991 w->leaf = rcu_dereference_protected(fn->leaf, 1); in fib6_walk_continue()
1994 if (w->leaf && fn->fn_flags & RTN_RTINFO) { in fib6_walk_continue()
2032 w->leaf = rcu_dereference_protected(w->node->leaf, 1); in fib6_walk_continue()
2072 w->leaf = NULL; in fib6_clean_node()
2079 w->leaf = rt; in fib6_clean_node()
2100 w->leaf = rt; in fib6_clean_node()
2271 rcu_assign_pointer(net->ipv6.fib6_main_tbl->tb6_root.leaf, in fib6_net_init()
2283 rcu_assign_pointer(net->ipv6.fib6_local_tbl->tb6_root.leaf, in fib6_net_init()
2400 iter->w.leaf = NULL; in ipv6_route_seq_show()
2412 iter->w.leaf = rcu_dereference_protected( in ipv6_route_yield()
2413 iter->w.leaf->fib6_next, in ipv6_route_yield()
2416 if (!iter->skip && iter->w.leaf) in ipv6_route_yield()
2418 } while (iter->w.leaf); in ipv6_route_yield()
2493 return iter->w.leaf; in ipv6_route_seq_next()