Searched refs:trie (Results 1 – 8 of 8) sorted by relevance
/kernel/linux/linux-5.10/kernel/bpf/ |
D | lpm_trie.c | 164 static size_t longest_prefix_match(const struct lpm_trie *trie, in longest_prefix_match() argument 179 if (trie->data_size >= 8) { in longest_prefix_match() 192 while (trie->data_size >= i + 4) { in longest_prefix_match() 204 if (trie->data_size >= i + 2) { in longest_prefix_match() 216 if (trie->data_size >= i + 1) { in longest_prefix_match() 229 struct lpm_trie *trie = container_of(map, struct lpm_trie, map); in trie_lookup_elem() local 235 for (node = rcu_dereference(trie->root); node;) { in trie_lookup_elem() 243 matchlen = longest_prefix_match(trie, node, key); in trie_lookup_elem() 244 if (matchlen == trie->max_prefixlen) { in trie_lookup_elem() 273 return found->data + trie->data_size; in trie_lookup_elem() [all …]
|
/kernel/linux/linux-5.10/fs/unicode/ |
D | utf8-norm.c | 322 utf8trie_t *trie = NULL; in utf8nlookup() local 333 trie = utf8data + data->offset; in utf8nlookup() 336 offlen = (*trie & OFFLEN) >> OFFLEN_SHIFT; in utf8nlookup() 337 if (*trie & NEXTBYTE) { in utf8nlookup() 342 mask = 1 << (*trie & BITNUM); in utf8nlookup() 347 node = (*trie & RIGHTNODE); in utf8nlookup() 348 offset = trie[offlen]; in utf8nlookup() 351 offset |= trie[offlen]; in utf8nlookup() 353 trie += offset; in utf8nlookup() 354 } else if (*trie & RIGHTPATH) { in utf8nlookup() [all …]
|
D | mkutf8data.c | 2709 utf8trie_t *trie; in utf8nlookup() local 2720 trie = utf8data + tree->index; in utf8nlookup() 2722 offlen = (*trie & OFFLEN) >> OFFLEN_SHIFT; in utf8nlookup() 2723 if (*trie & NEXTBYTE) { in utf8nlookup() 2728 mask = 1 << (*trie & BITNUM); in utf8nlookup() 2733 node = (*trie & RIGHTNODE); in utf8nlookup() 2734 offset = trie[offlen]; in utf8nlookup() 2737 offset |= trie[offlen]; in utf8nlookup() 2739 trie += offset; in utf8nlookup() 2740 } else if (*trie & RIGHTPATH) { in utf8nlookup() [all …]
|
/kernel/linux/linux-5.10/Documentation/networking/ |
D | fib_trie.rst | 4 LC-trie implementation notes 14 trie node or tnode 40 the trie is kept level balanced moving, under certain conditions, the 68 straightforward trie lookup. 71 Inserts a new leaf node in the trie. This is bit more complicated than 73 level compression algorithm on part of the trie. 79 The key function for the dynamic trie after any change in the trie 80 it is run to optimize and reorganize. It will walk the trie upwards 102 This walks the full trie (using nextleaf()) and searches for empty 108 entire trie for each prefix length. In comparison, fib_hash is organized [all …]
|
/kernel/linux/linux-5.10/net/ipv4/ |
D | fib_trie.c | 165 struct trie { struct 172 static struct key_vector *resize(struct trie *t, struct key_vector *tn); argument 506 static struct key_vector *replace(struct trie *t, in replace() 535 static struct key_vector *inflate(struct trie *t, in inflate() 631 static struct key_vector *halve(struct trie *t, in halve() 686 static struct key_vector *collapse(struct trie *t, in collapse() 846 static struct key_vector *resize(struct trie *t, struct key_vector *tn) in resize() 934 static struct key_vector *fib_find_node(struct trie *t, in fib_find_node() 1017 struct trie *t; in fib_find_matching_alias() 1023 t = (struct trie *)tb->tb_data; in fib_find_matching_alias() [all …]
|
/kernel/linux/linux-5.10/drivers/net/wireguard/ |
D | allowedips.c | 108 static struct allowedips_node *find_node(struct allowedips_node *trie, u8 bits, in find_node() argument 111 struct allowedips_node *node = trie, *found = NULL; in find_node() 146 static bool node_placement(struct allowedips_node __rcu *trie, const u8 *key, in node_placement() argument 150 struct allowedips_node *node = rcu_dereference_protected(trie, lockdep_is_held(lock)); in node_placement() 178 static int add(struct allowedips_node __rcu **trie, u8 bits, const u8 *key, in add() argument 186 if (!rcu_access_pointer(*trie)) { in add() 193 connect_node(trie, 2, node); in add() 196 if (node_placement(*trie, key, cidr, bits, &node, lock)) { in add() 210 down = rcu_dereference_protected(*trie, lockdep_is_held(lock)); in add() 225 connect_node(trie, 2, newnode); in add() [all …]
|
/kernel/linux/linux-5.10/Documentation/networking/devlink/ |
D | devlink-dpipe.rst | 34 Level Path Compression trie (LPC-trie) in hardware.
|
/kernel/linux/linux-5.10/Documentation/RCU/ |
D | RTFP.txt | 159 Robert Olsson described an RCU-protected trie-hash combination 1539 ,Title="{TRASH}: A dynamic {LC}-trie and hash data structure" 1545 RCU-protected dynamic trie-hash combination. 1796 ,Title="{TRASH}: A dynamic {LC}-trie and hash data structure" 1804 RCU-protected dynamic trie-hash combination.
|