Lines Matching defs:iter

2454 static struct key_vector *fib_trie_get_next(struct fib_trie_iter *iter)
2456 unsigned long cindex = iter->index;
2457 struct key_vector *pn = iter->tnode;
2460 pr_debug("get_next iter={node=%p index=%d depth=%d}\n",
2461 iter->tnode, iter->index, iter->depth);
2471 iter->tnode = pn;
2472 iter->index = cindex;
2475 iter->tnode = n;
2476 iter->index = 0;
2477 ++iter->depth;
2487 --iter->depth;
2491 iter->tnode = pn;
2492 iter->index = 0;
2497 static struct key_vector *fib_trie_get_first(struct fib_trie_iter *iter,
2511 iter->tnode = n;
2512 iter->index = 0;
2513 iter->depth = 1;
2515 iter->tnode = pn;
2516 iter->index = 0;
2517 iter->depth = 0;
2526 struct fib_trie_iter iter;
2531 for (n = fib_trie_get_first(&iter, t); n; n = fib_trie_get_next(&iter)) {
2536 s->totdepth += iter.depth;
2537 if (iter.depth > s->maxdepth)
2538 s->maxdepth = iter.depth;
2675 struct fib_trie_iter *iter = seq->private;
2687 for (n = fib_trie_get_first(iter,
2689 n; n = fib_trie_get_next(iter))
2691 iter->tb = tb;
2709 struct fib_trie_iter *iter = seq->private;
2711 struct fib_table *tb = iter->tb;
2718 n = fib_trie_get_next(iter);
2726 n = fib_trie_get_first(iter, (struct trie *) tb->tb_data);
2735 n = fib_trie_get_first(iter, (struct trie *) tb->tb_data);
2743 iter->tb = tb;
2799 const struct fib_trie_iter *iter = seq->private;
2803 fib_table_print(seq, iter->tb);
2808 seq_indent(seq, iter->depth-1);
2817 seq_indent(seq, iter->depth);
2823 seq_indent(seq, iter->depth + 1);
2855 static struct key_vector *fib_route_get_idx(struct fib_route_iter *iter,
2858 struct key_vector *l, **tp = &iter->tnode;
2862 if (iter->pos > 0 && pos >= iter->pos) {
2863 key = iter->key;
2865 iter->pos = 1;
2869 pos -= iter->pos;
2873 iter->pos++;
2882 iter->key = l->key; /* remember it */
2884 iter->pos = 0; /* forget it */
2892 struct fib_route_iter *iter = seq->private;
2902 iter->main_tb = tb;
2904 iter->tnode = t->kv;
2907 return fib_route_get_idx(iter, *pos);
2909 iter->pos = 0;
2910 iter->key = KEY_MAX;
2917 struct fib_route_iter *iter = seq->private;
2919 t_key key = iter->key + 1;
2925 l = leaf_walk_rcu(&iter->tnode, key);
2928 iter->key = l->key;
2929 iter->pos++;
2931 iter->pos = 0;
2969 struct fib_route_iter *iter = seq->private;
2970 struct fib_table *tb = iter->main_tb;