Lines Matching defs:key_vector

121 struct key_vector {
130 DECLARE_FLEX_ARRAY(struct key_vector __rcu *, tnode);
138 struct key_vector __rcu *parent;
139 struct key_vector kv[1];
168 struct key_vector kv[1];
174 static struct key_vector *resize(struct trie *t, struct key_vector *tn);
189 static inline struct tnode *tn_info(struct key_vector *kv)
203 static inline void node_set_parent(struct key_vector *n, struct key_vector *tp)
214 static inline unsigned long child_length(const struct key_vector *tn)
221 static inline unsigned long get_index(t_key key, struct key_vector *kv)
301 ilog2((SIZE_MAX - TNODE_SIZE(0)) / sizeof(struct key_vector *))
332 static inline void empty_child_inc(struct key_vector *n)
340 static inline void empty_child_dec(struct key_vector *n)
348 static struct key_vector *leaf_new(t_key key, struct fib_alias *fa)
350 struct key_vector *l;
371 static struct key_vector *tnode_new(t_key key, int pos, int bits)
374 struct key_vector *tn;
385 sizeof(struct key_vector *) << bits);
404 static inline int tnode_full(struct key_vector *tn, struct key_vector *n)
412 static void put_child(struct key_vector *tn, unsigned long i,
413 struct key_vector *n)
415 struct key_vector *chi = get_child(tn, i);
441 static void update_children(struct key_vector *tn)
447 struct key_vector *inode = get_child(tn, --i);
463 static inline void put_child_root(struct key_vector *tp, t_key key,
464 struct key_vector *n)
472 static inline void tnode_free_init(struct key_vector *tn)
477 static inline void tnode_free_append(struct key_vector *tn,
478 struct key_vector *n)
484 static void tnode_free(struct key_vector *tn)
502 static struct key_vector *replace(struct trie *t,
503 struct key_vector *oldtnode,
504 struct key_vector *tn)
506 struct key_vector *tp = node_parent(oldtnode);
521 struct key_vector *inode = get_child(tn, --i);
531 static struct key_vector *inflate(struct trie *t,
532 struct key_vector *oldtnode)
534 struct key_vector *tn;
553 struct key_vector *inode = get_child(oldtnode, --i);
554 struct key_vector *node0, *node1;
627 static struct key_vector *halve(struct trie *t,
628 struct key_vector *oldtnode)
630 struct key_vector *tn;
648 struct key_vector *node1 = get_child(oldtnode, --i);
649 struct key_vector *node0 = get_child(oldtnode, --i);
650 struct key_vector *inode;
682 static struct key_vector *collapse(struct trie *t,
683 struct key_vector *oldtnode)
685 struct key_vector *n, *tp;
703 static unsigned char update_suffix(struct key_vector *tn)
721 struct key_vector *n = get_child(tn, i);
798 static inline bool should_inflate(struct key_vector *tp, struct key_vector *tn)
813 static inline bool should_halve(struct key_vector *tp, struct key_vector *tn)
827 static inline bool should_collapse(struct key_vector *tn)
842 static struct key_vector *resize(struct trie *t, struct key_vector *tn)
847 struct key_vector *tp = node_parent(tn);
907 static void node_pull_suffix(struct key_vector *tn, unsigned char slen)
921 static void node_push_suffix(struct key_vector *tn, unsigned char slen)
930 static struct key_vector *fib_find_node(struct trie *t,
931 struct key_vector **tp, u32 key)
933 struct key_vector *pn, *n = t->kv;
1014 struct key_vector *l, *tp;
1098 static void trie_rebalance(struct trie *t, struct key_vector *tn)
1104 static int fib_insert_node(struct trie *t, struct key_vector *tp,
1107 struct key_vector *n, *l;
1123 struct key_vector *tn;
1154 static int fib_insert_alias(struct trie *t, struct key_vector *tp,
1155 struct key_vector *l, struct fib_alias *new,
1190 static void fib_remove_alias(struct trie *t, struct key_vector *tp,
1191 struct key_vector *l, struct fib_alias *old);
1199 struct key_vector *l, *tp;
1395 static inline t_key prefix_mismatch(t_key key, struct key_vector *n)
1428 struct key_vector *n, *pn;
1487 struct key_vector __rcu **cptr = n->tnode;
1626 static void fib_remove_alias(struct trie *t, struct key_vector *tp,
1627 struct key_vector *l, struct fib_alias *old)
1693 struct key_vector *l, *tp;
1757 static struct key_vector *leaf_walk_rcu(struct key_vector **tn, t_key key)
1759 struct key_vector *pn, *n = *tn;
1817 struct key_vector *pn = t->kv;
1824 struct key_vector *n;
1875 struct key_vector *l, *tp = ot->kv;
1891 struct key_vector *local_l = NULL, *local_tp;
1934 struct key_vector *pn = t->kv;
1942 struct key_vector *n;
2004 struct key_vector *pn = t->kv;
2013 struct key_vector *n;
2088 struct key_vector *pn = t->kv;
2093 struct key_vector *n;
2146 static int fib_leaf_notify(struct key_vector *l, struct fib_table *tb,
2187 struct key_vector *l, *tp = t->kv;
2240 static int fn_trie_dump_leaf(struct key_vector *l, struct fib_table *tb,
2331 struct key_vector *l, *tp = t->kv;
2421 struct key_vector *tnode;
2426 static struct key_vector *fib_trie_get_next(struct fib_trie_iter *iter)
2429 struct key_vector *pn = iter->tnode;
2437 struct key_vector *n = get_child_rcu(pn, cindex++);
2469 static struct key_vector *fib_trie_get_first(struct fib_trie_iter *iter,
2472 struct key_vector *n, *pn;
2497 struct key_vector *n;
2562 bytes += sizeof(struct key_vector *) * pointers;
2645 static struct key_vector *fib_trie_get_idx(struct seq_file *seq, loff_t pos)
2657 struct key_vector *n;
2686 struct key_vector *n;
2772 struct key_vector *n = v;
2822 struct key_vector *tnode;
2827 static struct key_vector *fib_route_get_idx(struct fib_route_iter *iter,
2830 struct key_vector *l, **tp = &iter->tnode;
2890 struct key_vector *l = NULL;
2944 struct key_vector *l = v;