• Home
  • Raw
  • Download

Lines Matching refs:iter

2266 static struct key_vector *fib_trie_get_next(struct fib_trie_iter *iter)  in fib_trie_get_next()  argument
2268 unsigned long cindex = iter->index; in fib_trie_get_next()
2269 struct key_vector *pn = iter->tnode; in fib_trie_get_next()
2273 iter->tnode, iter->index, iter->depth); in fib_trie_get_next()
2283 iter->tnode = pn; in fib_trie_get_next()
2284 iter->index = cindex; in fib_trie_get_next()
2287 iter->tnode = n; in fib_trie_get_next()
2288 iter->index = 0; in fib_trie_get_next()
2289 ++iter->depth; in fib_trie_get_next()
2299 --iter->depth; in fib_trie_get_next()
2303 iter->tnode = pn; in fib_trie_get_next()
2304 iter->index = 0; in fib_trie_get_next()
2309 static struct key_vector *fib_trie_get_first(struct fib_trie_iter *iter, in fib_trie_get_first() argument
2323 iter->tnode = n; in fib_trie_get_first()
2324 iter->index = 0; in fib_trie_get_first()
2325 iter->depth = 1; in fib_trie_get_first()
2327 iter->tnode = pn; in fib_trie_get_first()
2328 iter->index = 0; in fib_trie_get_first()
2329 iter->depth = 0; in fib_trie_get_first()
2338 struct fib_trie_iter iter; in trie_collect_stats() local
2343 for (n = fib_trie_get_first(&iter, t); n; n = fib_trie_get_next(&iter)) { in trie_collect_stats()
2348 s->totdepth += iter.depth; in trie_collect_stats()
2349 if (iter.depth > s->maxdepth) in trie_collect_stats()
2350 s->maxdepth = iter.depth; in trie_collect_stats()
2484 struct fib_trie_iter *iter = seq->private; in fib_trie_get_idx() local
2496 for (n = fib_trie_get_first(iter, in fib_trie_get_idx()
2498 n; n = fib_trie_get_next(iter)) in fib_trie_get_idx()
2500 iter->tb = tb; in fib_trie_get_idx()
2518 struct fib_trie_iter *iter = seq->private; in fib_trie_seq_next() local
2520 struct fib_table *tb = iter->tb; in fib_trie_seq_next()
2527 n = fib_trie_get_next(iter); in fib_trie_seq_next()
2535 n = fib_trie_get_first(iter, (struct trie *) tb->tb_data); in fib_trie_seq_next()
2544 n = fib_trie_get_first(iter, (struct trie *) tb->tb_data); in fib_trie_seq_next()
2552 iter->tb = tb; in fib_trie_seq_next()
2608 const struct fib_trie_iter *iter = seq->private; in fib_trie_seq_show() local
2612 fib_table_print(seq, iter->tb); in fib_trie_seq_show()
2617 seq_indent(seq, iter->depth-1); in fib_trie_seq_show()
2626 seq_indent(seq, iter->depth); in fib_trie_seq_show()
2632 seq_indent(seq, iter->depth + 1); in fib_trie_seq_show()
2663 static struct key_vector *fib_route_get_idx(struct fib_route_iter *iter, in fib_route_get_idx() argument
2666 struct key_vector *l, **tp = &iter->tnode; in fib_route_get_idx()
2670 if (iter->pos > 0 && pos >= iter->pos) { in fib_route_get_idx()
2671 key = iter->key; in fib_route_get_idx()
2673 iter->pos = 1; in fib_route_get_idx()
2677 pos -= iter->pos; in fib_route_get_idx()
2681 iter->pos++; in fib_route_get_idx()
2690 iter->key = l->key; /* remember it */ in fib_route_get_idx()
2692 iter->pos = 0; /* forget it */ in fib_route_get_idx()
2700 struct fib_route_iter *iter = seq->private; in fib_route_seq_start() local
2710 iter->main_tb = tb; in fib_route_seq_start()
2712 iter->tnode = t->kv; in fib_route_seq_start()
2715 return fib_route_get_idx(iter, *pos); in fib_route_seq_start()
2717 iter->pos = 0; in fib_route_seq_start()
2718 iter->key = KEY_MAX; in fib_route_seq_start()
2725 struct fib_route_iter *iter = seq->private; in fib_route_seq_next() local
2727 t_key key = iter->key + 1; in fib_route_seq_next()
2733 l = leaf_walk_rcu(&iter->tnode, key); in fib_route_seq_next()
2736 iter->key = l->key; in fib_route_seq_next()
2737 iter->pos++; in fib_route_seq_next()
2739 iter->pos = 0; in fib_route_seq_next()
2777 struct fib_route_iter *iter = seq->private; in fib_route_seq_show() local
2778 struct fib_table *tb = iter->main_tb; in fib_route_seq_show()