Lines Matching refs:key_vector

119 struct key_vector {
128 struct key_vector __rcu *tnode[0];
136 struct key_vector __rcu *parent;
137 struct key_vector kv[1];
166 struct key_vector kv[1];
172 static struct key_vector *resize(struct trie *t, struct key_vector *tn);
187 static inline struct tnode *tn_info(struct key_vector *kv)
201 static inline void node_set_parent(struct key_vector *n, struct key_vector *tp)
212 static inline unsigned long child_length(const struct key_vector *tn)
219 static inline unsigned long get_index(t_key key, struct key_vector *kv)
305 ilog2((SIZE_MAX - TNODE_SIZE(0)) / sizeof(struct key_vector *))
336 static inline void empty_child_inc(struct key_vector *n)
344 static inline void empty_child_dec(struct key_vector *n)
352 static struct key_vector *leaf_new(t_key key, struct fib_alias *fa)
354 struct key_vector *l;
375 static struct key_vector *tnode_new(t_key key, int pos, int bits)
378 struct key_vector *tn;
389 sizeof(struct key_vector *) << bits);
408 static inline int tnode_full(struct key_vector *tn, struct key_vector *n)
416 static void put_child(struct key_vector *tn, unsigned long i,
417 struct key_vector *n)
419 struct key_vector *chi = get_child(tn, i);
445 static void update_children(struct key_vector *tn)
451 struct key_vector *inode = get_child(tn, --i);
467 static inline void put_child_root(struct key_vector *tp, t_key key,
468 struct key_vector *n)
476 static inline void tnode_free_init(struct key_vector *tn)
481 static inline void tnode_free_append(struct key_vector *tn,
482 struct key_vector *n)
488 static void tnode_free(struct key_vector *tn)
506 static struct key_vector *replace(struct trie *t,
507 struct key_vector *oldtnode,
508 struct key_vector *tn)
510 struct key_vector *tp = node_parent(oldtnode);
525 struct key_vector *inode = get_child(tn, --i);
535 static struct key_vector *inflate(struct trie *t,
536 struct key_vector *oldtnode)
538 struct key_vector *tn;
557 struct key_vector *inode = get_child(oldtnode, --i);
558 struct key_vector *node0, *node1;
631 static struct key_vector *halve(struct trie *t,
632 struct key_vector *oldtnode)
634 struct key_vector *tn;
652 struct key_vector *node1 = get_child(oldtnode, --i);
653 struct key_vector *node0 = get_child(oldtnode, --i);
654 struct key_vector *inode;
686 static struct key_vector *collapse(struct trie *t,
687 struct key_vector *oldtnode)
689 struct key_vector *n, *tp;
707 static unsigned char update_suffix(struct key_vector *tn)
725 struct key_vector *n = get_child(tn, i);
802 static inline bool should_inflate(struct key_vector *tp, struct key_vector *tn)
817 static inline bool should_halve(struct key_vector *tp, struct key_vector *tn)
831 static inline bool should_collapse(struct key_vector *tn)
846 static struct key_vector *resize(struct trie *t, struct key_vector *tn)
851 struct key_vector *tp = node_parent(tn);
911 static void node_pull_suffix(struct key_vector *tn, unsigned char slen)
925 static void node_push_suffix(struct key_vector *tn, unsigned char slen)
934 static struct key_vector *fib_find_node(struct trie *t,
935 struct key_vector **tp, u32 key)
937 struct key_vector *pn, *n = t->kv;
1014 struct key_vector *l, *tp;
1056 static void trie_rebalance(struct trie *t, struct key_vector *tn)
1062 static int fib_insert_node(struct trie *t, struct key_vector *tp,
1065 struct key_vector *n, *l;
1081 struct key_vector *tn;
1112 static int fib_insert_alias(struct trie *t, struct key_vector *tp,
1113 struct key_vector *l, struct fib_alias *new,
1164 static void fib_remove_alias(struct trie *t, struct key_vector *tp,
1165 struct key_vector *l, struct fib_alias *old);
1173 struct key_vector *l, *tp;
1369 static inline t_key prefix_mismatch(t_key key, struct key_vector *n)
1405 struct key_vector *n, *pn;
1464 struct key_vector __rcu **cptr = n->tnode;
1602 static void fib_remove_alias(struct trie *t, struct key_vector *tp,
1603 struct key_vector *l, struct fib_alias *old)
1669 struct key_vector *l, *tp;
1734 static struct key_vector *leaf_walk_rcu(struct key_vector **tn, t_key key)
1736 struct key_vector *pn, *n = *tn;
1794 struct key_vector *pn = t->kv;
1801 struct key_vector *n;
1852 struct key_vector *l, *tp = ot->kv;
1868 struct key_vector *local_l = NULL, *local_tp;
1911 struct key_vector *pn = t->kv;
1919 struct key_vector *n;
1981 struct key_vector *pn = t->kv;
1990 struct key_vector *n;
2070 struct key_vector *pn = t->kv;
2075 struct key_vector *n;
2137 static int fib_leaf_notify(struct key_vector *l, struct fib_table *tb,
2174 struct key_vector *l, *tp = t->kv;
2227 static int fn_trie_dump_leaf(struct key_vector *l, struct fib_table *tb,
2317 struct key_vector *l, *tp = t->kv;
2407 struct key_vector *tnode;
2412 static struct key_vector *fib_trie_get_next(struct fib_trie_iter *iter)
2415 struct key_vector *pn = iter->tnode;
2423 struct key_vector *n = get_child_rcu(pn, cindex++);
2455 static struct key_vector *fib_trie_get_first(struct fib_trie_iter *iter,
2458 struct key_vector *n, *pn;
2483 struct key_vector *n;
2548 bytes += sizeof(struct key_vector *) * pointers;
2631 static struct key_vector *fib_trie_get_idx(struct seq_file *seq, loff_t pos)
2643 struct key_vector *n;
2672 struct key_vector *n;
2758 struct key_vector *n = v;
2807 struct key_vector *tnode;
2812 static struct key_vector *fib_route_get_idx(struct fib_route_iter *iter,
2815 struct key_vector *l, **tp = &iter->tnode;
2875 struct key_vector *l = NULL;
2929 struct key_vector *l = v;