Lines Matching refs:trie
12 * This work is based on the LPC-trie which is originally described in:
166 struct trie {
173 static struct key_vector *resize(struct trie *t, struct key_vector *tn);
231 * necessary. Every node in the trie has a key associated with it, but not
507 static struct key_vector *replace(struct trie *t,
536 static struct key_vector *inflate(struct trie *t,
632 static struct key_vector *halve(struct trie *t,
687 static struct key_vector *collapse(struct trie *t,
746 /* From "Implementing a dynamic compressed trie" by Stefan Nilsson of
842 /* One child or none, time to drop us from the trie */
847 static struct key_vector *resize(struct trie *t, struct key_vector *tn)
935 static struct key_vector *fib_find_node(struct trie *t,
1022 struct trie *t;
1028 t = (struct trie *)tb->tb_data;
1103 static void trie_rebalance(struct trie *t, struct key_vector *tn)
1109 static int fib_insert_node(struct trie *t, struct key_vector *tp,
1159 static int fib_insert_alias(struct trie *t, struct key_vector *tp,
1211 static void fib_remove_alias(struct trie *t, struct key_vector *tp,
1218 struct trie *t = (struct trie *)tb->tb_data;
1447 struct trie *t = (struct trie *) tb->tb_data;
1470 /* Step 1: Travel to the longest prefix match in the trie */
1650 static void fib_remove_alias(struct trie *t, struct key_vector *tp,
1676 /* update the trie with the latest suffix length */
1715 struct trie *t = (struct trie *) tb->tb_data;
1789 /* this loop is meant to try and find the key in the trie */
1834 return NULL; /* Root of trie */
1843 struct trie *t = (struct trie *)tb->tb_data;
1849 /* walk trie in reverse order and free everything */
1901 struct trie *ot = (struct trie *)oldtb->tb_data;
1905 struct trie *lt;
1915 lt = (struct trie *)local_tb->tb_data;
1960 struct trie *t = (struct trie *)tb->tb_data;
1966 /* walk trie in reverse order */
1974 /* cannot resize the trie vector */
2029 struct trie *t = (struct trie *)tb->tb_data;
2037 /* walk trie in reverse order */
2045 /* cannot resize the trie vector */
2119 struct trie *t = (struct trie *)tb->tb_data;
2192 /* local and main table can share the same trie,
2214 struct trie *t = (struct trie *)tb->tb_data;
2255 struct trie *t = (struct trie *)tb->tb_data;
2358 struct trie *t = (struct trie *)tb->tb_data;
2413 struct trie *t;
2417 sz += sizeof(struct trie);
2430 t = (struct trie *) tb->tb_data;
2498 struct trie *t)
2523 static void trie_collect_stats(struct trie *t, struct trie_stat *s)
2652 struct trie *t = (struct trie *) tb->tb_data;
2688 (struct trie *) tb->tb_data);
2726 n = fib_trie_get_first(iter, (struct trie *) tb->tb_data);
2735 n = fib_trie_get_first(iter, (struct trie *) tb->tb_data);
2796 /* Pretty print the trie */
2894 struct trie *t;
2903 t = (struct trie *)tb->tb_data;