Home
last modified time | relevance | path

Searched refs:trie (Results 1 – 6 of 6) sorted by relevance

/linux/kernel/bpf/
H A Dlpm_trie.c43 /* This trie implements a longest prefix match algorithm that can be used to
55 * For instance, let's start with a trie that was created with a prefix length
61 * As the trie is empty initially, the new node (1) will be places as root
143 * example above, (4) would be re-used if 192.168.0.0/23 is added to the trie.
145 * A fully populated trie would have a height of 32 nodes, as the trie was
149 * is a child that can be used to become more specific, the trie is traversed
161 * @trie: The trie to get internal sizes from
168 size_t __longest_prefix_match(const struct lpm_trie *trie, in __longest_prefix_match()
167 __longest_prefix_match(const struct lpm_trie * trie,const struct lpm_trie_node * node,const struct bpf_lpm_trie_key_u8 * key) __longest_prefix_match() argument
229 longest_prefix_match(const struct lpm_trie * trie,const struct lpm_trie_node * node,const struct bpf_lpm_trie_key_u8 * key) longest_prefix_match() argument
239 struct lpm_trie *trie = container_of(map, struct lpm_trie, map); trie_lookup_elem() local
291 lpm_trie_node_alloc(struct lpm_trie * trie,const void * value) lpm_trie_node_alloc() argument
310 trie_check_add_elem(struct lpm_trie * trie,u64 flags) trie_check_add_elem() argument
324 struct lpm_trie *trie = container_of(map, struct lpm_trie, map); trie_update_elem() local
457 struct lpm_trie *trie = container_of(map, struct lpm_trie, map); trie_delete_elem() local
570 struct lpm_trie *trie; trie_alloc() local
612 struct lpm_trie *trie = container_of(map, struct lpm_trie, map); trie_free() local
656 struct lpm_trie *trie = container_of(map, struct lpm_trie, map); trie_get_next_key() local
763 struct lpm_trie *trie = container_of(map, struct lpm_trie, map); trie_mem_usage() local
[all...]
/linux/Documentation/networking/
H A Dfib_trie.rst4 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 …]
/linux/net/ipv4/
H A Dfib_trie.c167 struct trie { struct
174 static struct key_vector *resize(struct trie *t, struct key_vector *tn); argument
502 static struct key_vector *replace(struct trie *t, in replace()
531 static struct key_vector *inflate(struct trie *t, in inflate()
627 static struct key_vector *halve(struct trie *t, in halve()
682 static struct key_vector *collapse(struct trie *t, in collapse()
842 static struct key_vector *resize(struct trie *t, struct key_vector *tn) in resize()
930 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 …]
/linux/Documentation/bpf/
H A Dmap_lpm_trie.rst13 Internally, data is stored in an unbalanced trie of nodes that uses
26 The value type stored in the LPM trie can be any user defined type.
96 A userspace program can iterate through the entries in an LPM trie using
101 ``-ENOENT`` if ``cur_key`` is the last key in the trie, or negative
104 ``bpf_map_get_next_key()`` will iterate through the LPM trie elements
112 of LPM trie usage from userspace. The code snippets below demonstrate
118 The following BPF code snippet shows how to declare a new LPM trie for IPv4
157 LPM trie:
171 of an LPM trie:
/linux/fs/unicode/
H A Dmkutf8data.c2709 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 …]
/linux/Documentation/networking/devlink/
H A Ddevlink-dpipe.rst34 Level Path Compression trie (LPC-trie) in hardware.