Home
last modified time | relevance | path

Searched refs:tbl8 (Results 1 – 19 of 19) sorted by relevance

/f-stack/freebsd/contrib/dpdk_rte_lpm/
H A Drte_lpm.c215 lpm->tbl8 = rte_zmalloc_socket(NULL, in rte_lpm_create()
218 if (lpm->tbl8 == NULL) { in rte_lpm_create()
272 rte_free(lpm->tbl8); in rte_lpm_free()
510 if (!lpm->tbl8[j].valid || in add_depth_small()
524 __atomic_store(&lpm->tbl8[j], in add_depth_small()
663 if (!lpm->tbl8[i].valid || in add_depth_big()
664 lpm->tbl8[i].depth <= depth) { in add_depth_big()
920 if (tbl8[i].depth != in tbl8_recycle_check()
937 if (tbl8[i].valid) in tbl8_recycle_check()
972 lpm->tbl8[i].valid = INVALID; in delete_depth_big()
[all …]
H A Drte_lpm6.c108 struct rte_lpm6_tbl_entry tbl8[0] member
549 if (!lpm->tbl8[j].valid || (lpm->tbl8[j].ext_entry == 0 in expand_rule()
552 lpm->tbl8[j] = new_tbl8_entry; in expand_rule()
647 *next_tbl = &(lpm->tbl8[next_tbl_ind * in simulate_add_step()
783 lpm->tbl8[i] = tbl_entry; in add_step()
940 *tbl_next = &lpm->tbl8[tbl8_index]; in lookup_step()
1115 memset(lpm->tbl8, 0, sizeof(lpm->tbl8[0])
1141 memset(lpm->tbl8, 0, sizeof(lpm->tbl8[0]) *
1232 tbl = &lpm->tbl8[tbl_ind * in rule_find_range()
1247 tbl = &lpm->tbl8[tbl_ind * in rule_find_range()
[all …]
H A Drte_lpm.h142 struct rte_lpm_tbl_entry *tbl8; /**< LPM tbl8 table. */ member
296 ptbl = (const uint32_t *)&lpm->tbl8[tbl8_index]; in rte_lpm_lookup()
356 ptbl = (const uint32_t *)&lpm->tbl8[tbl8_index]; in rte_lpm_lookup_bulk_func()
/f-stack/dpdk/lib/librte_lpm/
H A Drte_lpm.c229 if (i_lpm->lpm.tbl8 == NULL) { in rte_lpm_create()
286 rte_free(i_lpm->lpm.tbl8); in rte_lpm_free()
295 struct rte_lpm_tbl_entry *tbl8 = ((struct __rte_lpm *)p)->lpm.tbl8; in __lpm_rcu_qsbr_free_resource() local
625 if (!i_lpm->lpm.tbl8[j].valid || in add_depth_small()
778 if (!i_lpm->lpm.tbl8[i].valid || in add_depth_big()
1026 if (tbl8[tbl8_group_start].valid) { in tbl8_recycle_check()
1036 if (tbl8[i].depth != in tbl8_recycle_check()
1037 tbl8[tbl8_group_start].depth) { in tbl8_recycle_check()
1053 if (tbl8[i].valid) in tbl8_recycle_check()
1088 i_lpm->lpm.tbl8[i].valid = INVALID; in delete_depth_big()
[all …]
H A Drte_lpm6.c115 struct rte_lpm6_tbl_entry tbl8[0] member
543 if (!lpm->tbl8[j].valid || (lpm->tbl8[j].ext_entry == 0 in expand_rule()
546 lpm->tbl8[j] = new_tbl8_entry; in expand_rule()
641 *next_tbl = &(lpm->tbl8[next_tbl_ind * in simulate_add_step()
777 lpm->tbl8[i] = tbl_entry; in add_step()
932 *tbl_next = &lpm->tbl8[tbl8_index]; in lookup_step()
1094 memset(lpm->tbl8, 0, sizeof(lpm->tbl8[0]) in rte_lpm6_delete_bulk_func()
1120 memset(lpm->tbl8, 0, sizeof(lpm->tbl8[0]) * in rte_lpm6_delete_all()
1208 tbl = &lpm->tbl8[tbl_ind * in rule_find_range()
1223 tbl = &lpm->tbl8[tbl_ind * in rule_find_range()
[all …]
H A Drte_lpm_sse.h86 ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[0]]; in rte_lpm_lookupx4()
93 ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[1]]; in rte_lpm_lookupx4()
100 ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[2]]; in rte_lpm_lookupx4()
107 ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[3]]; in rte_lpm_lookupx4()
H A Drte_lpm_neon.h85 ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[0]]; in rte_lpm_lookupx4()
92 ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[1]]; in rte_lpm_lookupx4()
99 ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[2]]; in rte_lpm_lookupx4()
106 ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[3]]; in rte_lpm_lookupx4()
H A Drte_lpm_altivec.h92 ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[0]]; in rte_lpm_lookupx4()
99 ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[1]]; in rte_lpm_lookupx4()
106 ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[2]]; in rte_lpm_lookupx4()
113 ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[3]]; in rte_lpm_lookupx4()
H A Drte_lpm.h126 struct rte_lpm_tbl_entry *tbl8; /**< LPM tbl8 table. */ member
311 ptbl = (const uint32_t *)&lpm->tbl8[tbl8_index]; in rte_lpm_lookup()
371 ptbl = (const uint32_t *)&lpm->tbl8[tbl8_index]; in rte_lpm_lookup_bulk_func()
/f-stack/dpdk/lib/librte_fib/
H A Ddir24_8.c185 tbl8_ptr = (uint8_t *)dp->tbl8 + in tbl8_alloc()
208 ptr8 = &((uint8_t *)dp->tbl8)[tbl8_idx * in tbl8_recycle()
221 ptr16 = &((uint16_t *)dp->tbl8)[tbl8_idx * in tbl8_recycle()
234 ptr32 = &((uint32_t *)dp->tbl8)[tbl8_idx * in tbl8_recycle()
247 ptr64 = &((uint64_t *)dp->tbl8)[tbl8_idx * in tbl8_recycle()
303 tbl8_ptr = (uint8_t *)dp->tbl8 + in install_to_fib()
329 tbl8_ptr = (uint8_t *)dp->tbl8 + in install_to_fib()
352 tbl8_ptr = (uint8_t *)dp->tbl8 + in install_to_fib()
542 if (dp->tbl8 == NULL) { in dir24_8_create()
557 rte_free(dp->tbl8); in dir24_8_create()
[all …]
H A Dtrie.c167 tbl8_ptr = get_tbl_p_by_idx(dp->tbl8, in tbl8_alloc()
186 ptr16 = &((uint16_t *)dp->tbl8)[tbl8_idx * in tbl8_recycle()
200 ptr32 = &((uint32_t *)dp->tbl8)[tbl8_idx * in tbl8_recycle()
214 ptr64 = &((uint64_t *)dp->tbl8)[tbl8_idx * in tbl8_recycle()
280 p = get_tbl_p_by_idx(dp->tbl8, (val >> 1) * in recycle_root_path()
312 cur_tbl = dp->tbl8; in build_common_root()
338 p = get_tbl_p_by_idx(dp->tbl8, (tbl8_idx * in write_edge()
347 write_to_dp(get_tbl_p_by_idx(dp->tbl8, tbl8_idx * in write_edge()
650 if (dp->tbl8 == NULL) { in trie_create()
665 rte_free(dp->tbl8); in trie_create()
[all …]
H A Ddir24_8_avx512.c57 idxes, (const int *)dp->tbl8, 1); in dir24_8_vec_lookup_x16()
61 idxes, (const int *)dp->tbl8, 2); in dir24_8_vec_lookup_x16()
65 idxes, (const int *)dp->tbl8, 4); in dir24_8_vec_lookup_x16()
108 (const void *)dp->tbl8, 8); in dir24_8_vec_lookup_x8_8b()
H A Ddir24_8.h36 uint64_t *tbl8; /**< tbl8 table. */ member
102 return ((dp->tbl8[get_tbl_idx(get_tbl8_idx(res, ip), nh_sz)] >> in get_tbl8()
130 tmp = ((type *)dp->tbl8)[(uint8_t)ips[i] + \
137 tmp = ((type *)dp->tbl8)[(uint8_t)ips[i] + \
H A Dtrie.h41 uint64_t *tbl8; /**< tbl8 table. */ member
125 tmp = ((type *)dp->tbl8)[ips[i][j++] + \
H A Dtrie_avx512.c140 idxes, (const int *)dp->tbl8, 2); in trie_vec_lookup_x16()
144 idxes, (const int *)dp->tbl8, 4); in trie_vec_lookup_x16()
216 idxes, (const void *)dp->tbl8, 8); in trie_vec_lookup_x8_8b()
/f-stack/dpdk/doc/guides/prog_guide/
H A Dlpm_lib.rst57 while the second table(s), called tbl8, is indexed using the last 8 bits of the IP address.
61 Since every entry of the tbl24 can potentially point to a tbl8, ideally, we would have 2^24 tbl8s,
76 * next hop / index to the tbl8
90 An entry in a tbl8 contains the following fields:
129 * If the entry is invalid (i.e. it doesn't already contain a rule) then look for a free tbl8,
130 set the index to the tbl8 to this value,
157 If no replacement rule can be found, target tbl24 and tbl8 entries will be cleared.
174 the tbl8 group entries. This might result in incorrect lookup results.
190 then we use the tbl8 index to find out the tbl8 to be checked,
209 A tbl8 is consumed whenever we have a new rule with depth bigger than 24,
[all …]
H A Dlpm6_lib.rst18 * Number of tbl8s: A tbl8 is a node of the trie that the LPM6 algorithm is based on.
23 One tbl8 consumes 1 kb of memory. As a recommendation, 65536 tbl8s should be sufficient to store
92 * next hop / index to the tbl8
136 * If the entry is invalid (i.e. it doesn't already contain a rule) then look for a free tbl8,
137 set the index to the tbl8 to this value,
142 * Use the following 8 bits of the rule as an index to the next tbl8.
144 * Repeat the process until the tbl8 at the right level (depending on the depth) has been reached
171 …lid and the external entry flag is set to 1, then we use the tbl8 index to find out the tbl8 to be…
174 If it is valid then check the external entry flag for a new tbl8 to be inspected.
197 If they share the same first 24 bits, for instance, the tbl8 at the second level will be shared.
[all …]
/f-stack/dpdk/app/test-fib/
H A Dmain.c98 uint32_t tbl8; member
111 .tbl8 = DEFAULT_LPM_TBL8,
772 config.tbl8 = strtoul(optarg, &endptr, 10); in parse_opts()
773 if ((errno != 0) || (config.tbl8 == 0)) { in parse_opts()
862 conf.dir24_8.num_tbl8 = RTE_MIN(config.tbl8, in run_v4()
912 config.tbl8); in run_v4()
1062 conf.trie.num_tbl8 = RTE_MIN(config.tbl8, in run_v6()
1106 config.tbl8); in run_v6()
/f-stack/dpdk/doc/guides/rel_notes/
H A Drelease_20_11.rst729 * lpm: Removed fields other than ``tbl24`` and ``tbl8`` from the struct