Lines Matching refs:root
470 w->root = &tb->tb6_root;
579 w->root = &table->tb6_root;
591 cb->args[5] = READ_ONCE(w->root->fn_sernum);
594 int sernum = READ_ONCE(w->root->fn_sernum);
596 /* Begin at the root if the tree changed */
599 w->node = w->root;
741 struct fib6_node *root,
757 fn = root;
790 /* remove null_entry in the root node */
1377 int fib6_add(struct fib6_node *root, struct fib6_info *rt,
1395 fn = fib6_add_1(info->nl_net, table, root,
1419 * sfn[subtree root]
1424 /* Create subtree root node */
1443 root, and then (in failure) stale node
1468 /* put back null_entry for root node */
1526 * 2. fn is the root node in the table and we fail to add the first
1547 static struct fib6_node *fib6_node_lookup_1(struct fib6_node *root,
1560 fn = root;
1616 struct fib6_node *fib6_node_lookup(struct fib6_node *root,
1637 fn = fib6_node_lookup_1(root, daddr ? args : args + 1);
1639 fn = root;
1656 static struct fib6_node *fib6_locate_1(struct fib6_node *root,
1663 for (fn = root; fn ; ) {
1706 struct fib6_node *fib6_locate(struct fib6_node *root,
1713 fn = fib6_locate_1(root, daddr, dst_len,
1786 /* Set fn->leaf to null_entry for root node. */
1829 /* Subtree root (i.e. fn) may have one child */
1971 * 1. For root node, put back null_entry as how the table was created.
2065 /* w->root should always be table->tb6_root */
2066 WARN_ON_ONCE(!(w->root->fn_flags & RTN_TL_ROOT));
2122 if (fn == w->root)
2156 w->node = w->root;
2222 static void fib6_clean_tree(struct net *net, struct fib6_node *root,
2228 c.w.root = root;
2537 iter->w.root = &iter->tbl->tb6_root;
2539 iter->w.node = iter->w.root;
2541 iter->sernum = READ_ONCE(iter->w.root->fn_sernum);
2569 int sernum = READ_ONCE(iter->w.root->fn_sernum);
2574 iter->w.node = iter->w.root;
2639 return w->node && !(w->state == FWS_U && w->node == w->root);