Lines Matching refs:trie
154 struct trie { struct
155 struct rt_trie_node __rcu *trie; member
161 static void put_child(struct trie *t, struct tnode *tn, int i, struct rt_trie_node *n);
164 static struct rt_trie_node *resize(struct trie *t, struct tnode *tn);
165 static struct tnode *inflate(struct trie *t, struct tnode *tn);
166 static struct tnode *halve(struct trie *t, struct tnode *tn);
492 static inline void put_child(struct trie *t, struct tnode *tn, int i, in put_child()
534 static struct rt_trie_node *resize(struct trie *t, struct tnode *tn) in resize()
712 static struct tnode *inflate(struct trie *t, struct tnode *tn) in inflate()
845 static struct tnode *halve(struct trie *t, struct tnode *tn) in halve()
967 fib_find_node(struct trie *t, u32 key) in fib_find_node()
974 n = rcu_dereference_rtnl(t->trie); in fib_find_node()
998 static void trie_rebalance(struct trie *t, struct tnode *tn) in trie_rebalance()
1016 rcu_assign_pointer(t->trie, (struct rt_trie_node *)tn); in trie_rebalance()
1028 rcu_assign_pointer(t->trie, (struct rt_trie_node *)tn); in trie_rebalance()
1034 static struct list_head *fib_insert_node(struct trie *t, u32 key, int plen) in fib_insert_node()
1046 n = rtnl_dereference(t->trie); in fib_insert_node()
1121 if (t->trie && n == NULL) { in fib_insert_node()
1165 rcu_assign_pointer(t->trie, (struct rt_trie_node *)tn); in fib_insert_node()
1186 struct trie *t = (struct trie *) tb->tb_data; in fib_table_insert()
1352 static int check_leaf(struct fib_table *tb, struct trie *t, struct leaf *l, in check_leaf()
1421 struct trie *t = (struct trie *) tb->tb_data; in fib_table_lookup()
1435 n = rcu_dereference(t->trie); in fib_table_lookup()
1614 static void trie_leaf_remove(struct trie *t, struct leaf *l) in trie_leaf_remove()
1625 RCU_INIT_POINTER(t->trie, NULL); in trie_leaf_remove()
1635 struct trie *t = (struct trie *) tb->tb_data; in fib_table_delete()
1789 static struct leaf *trie_firstleaf(struct trie *t) in trie_firstleaf()
1791 struct tnode *n = (struct tnode *)rcu_dereference_rtnl(t->trie); in trie_firstleaf()
1813 static struct leaf *trie_leafindex(struct trie *t, int index) in trie_leafindex()
1829 struct trie *t = (struct trie *) tb->tb_data; in fib_table_flush()
1928 struct trie *t = (struct trie *) tb->tb_data; in fib_table_dump()
1982 struct trie *t; in fib_trie_table()
1984 tb = kmalloc(sizeof(struct fib_table) + sizeof(struct trie), in fib_trie_table()
1993 t = (struct trie *) tb->tb_data; in fib_trie_table()
2055 struct trie *t) in fib_trie_get_first()
2062 n = rcu_dereference(t->trie); in fib_trie_get_first()
2079 static void trie_collect_stats(struct trie *t, struct trie_stat *s) in trie_collect_stats()
2203 struct trie *t = (struct trie *) tb->tb_data; in fib_triestat_seq_show()
2251 (struct trie *) tb->tb_data); in fib_trie_get_idx()
2289 n = fib_trie_get_first(iter, (struct trie *) tb->tb_data); in fib_trie_seq_next()
2298 n = fib_trie_get_first(iter, (struct trie *) tb->tb_data); in fib_trie_seq_next()
2431 struct trie *main_trie;
2439 struct trie *t = iter->main_trie; in fib_route_get_idx()
2473 iter->main_trie = (struct trie *) tb->tb_data; in fib_route_seq_start()