Lines Matching refs:key_vector

120 struct key_vector {
129 DECLARE_FLEX_ARRAY(struct key_vector __rcu *, tnode);
137 struct key_vector __rcu *parent;
138 struct key_vector kv[1];
167 struct key_vector kv[1];
173 static struct key_vector *resize(struct trie *t, struct key_vector *tn);
188 static inline struct tnode *tn_info(struct key_vector *kv)
202 static inline void node_set_parent(struct key_vector *n, struct key_vector *tp)
213 static inline unsigned long child_length(const struct key_vector *tn)
220 static inline unsigned long get_index(t_key key, struct key_vector *kv)
306 ilog2((SIZE_MAX - TNODE_SIZE(0)) / sizeof(struct key_vector *))
337 static inline void empty_child_inc(struct key_vector *n)
345 static inline void empty_child_dec(struct key_vector *n)
353 static struct key_vector *leaf_new(t_key key, struct fib_alias *fa)
355 struct key_vector *l;
376 static struct key_vector *tnode_new(t_key key, int pos, int bits)
379 struct key_vector *tn;
390 sizeof(struct key_vector *) << bits);
409 static inline int tnode_full(struct key_vector *tn, struct key_vector *n)
417 static void put_child(struct key_vector *tn, unsigned long i,
418 struct key_vector *n)
420 struct key_vector *chi = get_child(tn, i);
446 static void update_children(struct key_vector *tn)
452 struct key_vector *inode = get_child(tn, --i);
468 static inline void put_child_root(struct key_vector *tp, t_key key,
469 struct key_vector *n)
477 static inline void tnode_free_init(struct key_vector *tn)
482 static inline void tnode_free_append(struct key_vector *tn,
483 struct key_vector *n)
489 static void tnode_free(struct key_vector *tn)
507 static struct key_vector *replace(struct trie *t,
508 struct key_vector *oldtnode,
509 struct key_vector *tn)
511 struct key_vector *tp = node_parent(oldtnode);
526 struct key_vector *inode = get_child(tn, --i);
536 static struct key_vector *inflate(struct trie *t,
537 struct key_vector *oldtnode)
539 struct key_vector *tn;
558 struct key_vector *inode = get_child(oldtnode, --i);
559 struct key_vector *node0, *node1;
632 static struct key_vector *halve(struct trie *t,
633 struct key_vector *oldtnode)
635 struct key_vector *tn;
653 struct key_vector *node1 = get_child(oldtnode, --i);
654 struct key_vector *node0 = get_child(oldtnode, --i);
655 struct key_vector *inode;
687 static struct key_vector *collapse(struct trie *t,
688 struct key_vector *oldtnode)
690 struct key_vector *n, *tp;
708 static unsigned char update_suffix(struct key_vector *tn)
726 struct key_vector *n = get_child(tn, i);
803 static inline bool should_inflate(struct key_vector *tp, struct key_vector *tn)
818 static inline bool should_halve(struct key_vector *tp, struct key_vector *tn)
832 static inline bool should_collapse(struct key_vector *tn)
847 static struct key_vector *resize(struct trie *t, struct key_vector *tn)
852 struct key_vector *tp = node_parent(tn);
912 static void node_pull_suffix(struct key_vector *tn, unsigned char slen)
926 static void node_push_suffix(struct key_vector *tn, unsigned char slen)
935 static struct key_vector *fib_find_node(struct trie *t,
936 struct key_vector **tp, u32 key)
938 struct key_vector *pn, *n = t->kv;
1019 struct key_vector *l, *tp;
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,
1112 struct key_vector *n, *l;
1128 struct key_vector *tn;
1159 static int fib_insert_alias(struct trie *t, struct key_vector *tp,
1160 struct key_vector *l, struct fib_alias *new,
1211 static void fib_remove_alias(struct trie *t, struct key_vector *tp,
1212 struct key_vector *l, struct fib_alias *old);
1220 struct key_vector *l, *tp;
1419 static inline t_key prefix_mismatch(t_key key, struct key_vector *n)
1452 struct key_vector *n, *pn;
1511 struct key_vector __rcu **cptr = n->tnode;
1650 static void fib_remove_alias(struct trie *t, struct key_vector *tp,
1651 struct key_vector *l, struct fib_alias *old)
1717 struct key_vector *l, *tp;
1784 static struct key_vector *leaf_walk_rcu(struct key_vector **tn, t_key key)
1786 struct key_vector *pn, *n = *tn;
1844 struct key_vector *pn = t->kv;
1851 struct key_vector *n;
1902 struct key_vector *l, *tp = ot->kv;
1918 struct key_vector *local_l = NULL, *local_tp;
1961 struct key_vector *pn = t->kv;
1969 struct key_vector *n;
2031 struct key_vector *pn = t->kv;
2040 struct key_vector *n;
2120 struct key_vector *pn = t->kv;
2125 struct key_vector *n;
2178 static int fib_leaf_notify(struct key_vector *l, struct fib_table *tb,
2215 struct key_vector *l, *tp = t->kv;
2268 static int fn_trie_dump_leaf(struct key_vector *l, struct fib_table *tb,
2359 struct key_vector *l, *tp = t->kv;
2449 struct key_vector *tnode;
2454 static struct key_vector *fib_trie_get_next(struct fib_trie_iter *iter)
2457 struct key_vector *pn = iter->tnode;
2465 struct key_vector *n = get_child_rcu(pn, cindex++);
2497 static struct key_vector *fib_trie_get_first(struct fib_trie_iter *iter,
2500 struct key_vector *n, *pn;
2525 struct key_vector *n;
2590 bytes += sizeof(struct key_vector *) * pointers;
2673 static struct key_vector *fib_trie_get_idx(struct seq_file *seq, loff_t pos)
2685 struct key_vector *n;
2714 struct key_vector *n;
2800 struct key_vector *n = v;
2850 struct key_vector *tnode;
2855 static struct key_vector *fib_route_get_idx(struct fib_route_iter *iter,
2858 struct key_vector *l, **tp = &iter->tnode;
2918 struct key_vector *l = NULL;
2972 struct key_vector *l = v;