Home
last modified time | relevance | path

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

/dpdk/lib/lpm/
H A Drte_lpm.c222 if (i_lpm->lpm.tbl8 == NULL) { in rte_lpm_create()
279 rte_free(i_lpm->lpm.tbl8); in rte_lpm_free()
288 struct rte_lpm_tbl_entry *tbl8 = ((struct __rte_lpm *)p)->lpm.tbl8; in __lpm_rcu_qsbr_free_resource() local
618 if (!i_lpm->lpm.tbl8[j].valid || in add_depth_small()
771 if (!i_lpm->lpm.tbl8[i].valid || in add_depth_big()
1019 if (tbl8[tbl8_group_start].valid) { in tbl8_recycle_check()
1029 if (tbl8[i].depth != in tbl8_recycle_check()
1030 tbl8[tbl8_group_start].depth) { in tbl8_recycle_check()
1046 if (tbl8[i].valid) in tbl8_recycle_check()
1081 i_lpm->lpm.tbl8[i].valid = INVALID; in delete_depth_big()
[all …]
H A Drte_lpm6.c108 struct rte_lpm6_tbl_entry tbl8[0] member
538 if (!lpm->tbl8[j].valid || (lpm->tbl8[j].ext_entry == 0 in expand_rule()
541 lpm->tbl8[j] = new_tbl8_entry; in expand_rule()
636 *next_tbl = &(lpm->tbl8[next_tbl_ind * in simulate_add_step()
772 lpm->tbl8[i] = tbl_entry; in add_step()
927 *tbl_next = &lpm->tbl8[tbl8_index]; in lookup_step()
1089 memset(lpm->tbl8, 0, sizeof(lpm->tbl8[0]) in rte_lpm6_delete_bulk_func()
1115 memset(lpm->tbl8, 0, sizeof(lpm->tbl8[0]) * in rte_lpm6_delete_all()
1203 tbl = &lpm->tbl8[tbl_ind * in rule_find_range()
1218 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.h122 struct rte_lpm_tbl_entry *tbl8; /**< LPM tbl8 table. */ member
307 ptbl = (const uint32_t *)&lpm->tbl8[tbl8_index]; in rte_lpm_lookup()
367 ptbl = (const uint32_t *)&lpm->tbl8[tbl8_index]; in rte_lpm_lookup_bulk_func()
H A Drte_lpm_sve.h53 v_tbl8 = svld1_gather_index(pv, (const uint32_t *)lpm->tbl8, in __rte_lpm_lookup_vec()
/dpdk/lib/fib/
H A Ddir24_8.c181 tbl8_ptr = (uint8_t *)dp->tbl8 + in tbl8_alloc()
204 ptr8 = &((uint8_t *)dp->tbl8)[tbl8_idx * in tbl8_recycle()
217 ptr16 = &((uint16_t *)dp->tbl8)[tbl8_idx * in tbl8_recycle()
230 ptr32 = &((uint32_t *)dp->tbl8)[tbl8_idx * in tbl8_recycle()
243 ptr64 = &((uint64_t *)dp->tbl8)[tbl8_idx * in tbl8_recycle()
299 tbl8_ptr = (uint8_t *)dp->tbl8 + in install_to_fib()
325 tbl8_ptr = (uint8_t *)dp->tbl8 + in install_to_fib()
348 tbl8_ptr = (uint8_t *)dp->tbl8 + in install_to_fib()
538 if (dp->tbl8 == NULL) { in dir24_8_create()
553 rte_free(dp->tbl8); in dir24_8_create()
[all …]
H A Dtrie.c162 tbl8_ptr = get_tbl_p_by_idx(dp->tbl8, in tbl8_alloc()
181 ptr16 = &((uint16_t *)dp->tbl8)[tbl8_idx * in tbl8_recycle()
195 ptr32 = &((uint32_t *)dp->tbl8)[tbl8_idx * in tbl8_recycle()
209 ptr64 = &((uint64_t *)dp->tbl8)[tbl8_idx * in tbl8_recycle()
275 p = get_tbl_p_by_idx(dp->tbl8, (val >> 1) * in recycle_root_path()
307 cur_tbl = dp->tbl8; in build_common_root()
333 p = get_tbl_p_by_idx(dp->tbl8, (tbl8_idx * in write_edge()
342 write_to_dp(get_tbl_p_by_idx(dp->tbl8, tbl8_idx * in write_edge()
645 if (dp->tbl8 == NULL) { in trie_create()
660 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 Dtrie_avx512.c166 idxes_1, (const int *)dp->tbl8, 2); in trie_vec_lookup_x16x2()
168 idxes_2, (const int *)dp->tbl8, 2); in trie_vec_lookup_x16x2()
173 idxes_1, (const int *)dp->tbl8, 4); in trie_vec_lookup_x16x2()
175 idxes_2, (const int *)dp->tbl8, 4); in trie_vec_lookup_x16x2()
282 idxes_1, (const void *)dp->tbl8, 8); in trie_vec_lookup_x8x2_8b()
284 idxes_2, (const void *)dp->tbl8, 8); in trie_vec_lookup_x8x2_8b()
H A Ddir24_8.h32 uint64_t *tbl8; /**< tbl8 table. */ member
98 return ((dp->tbl8[get_tbl_idx(get_tbl8_idx(res, ip), nh_sz)] >> in get_tbl8()
126 tmp = ((type *)dp->tbl8)[(uint8_t)ips[i] + \
133 tmp = ((type *)dp->tbl8)[(uint8_t)ips[i] + \
H A Dtrie.h35 uint64_t *tbl8; /**< tbl8 table. */ member
119 tmp = ((type *)dp->tbl8)[ips[i][j++] + \
/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 …]
H A Dfib_lib.rst93 * ``num_tbl8``: The number of tbl8 groups, each group consists of 256 entries
100 * TBL8: An array of ``num_tbl8`` tbl8 groups.
111 while the second table(s) ``tbl8``, is indexed using the last 8 bits of the IP address.
115 Since every entry of the tbl24 can potentially point to a tbl8,
123 An entry in a tbl8 contains the following fields:
127 * 1 bit indicating if the lookup should proceed inside the tbl8.
/dpdk/app/test-fib/
H A Dmain.c98 uint32_t tbl8; member
111 .tbl8 = DEFAULT_LPM_TBL8,
776 config.tbl8 = strtoul(optarg, &endptr, 10); in parse_opts()
777 if ((errno != 0) || (config.tbl8 == 0)) { in parse_opts()
867 conf.dir24_8.num_tbl8 = RTE_MIN(config.tbl8, in run_v4()
917 config.tbl8); in run_v4()
1068 conf.trie.num_tbl8 = RTE_MIN(config.tbl8, in run_v6()
1112 config.tbl8); in run_v6()
/dpdk/doc/guides/prog_guide/img/
H A Ddir_24_8_alg.svg133 <text x="9.49" y="494.12" class="st10" id="text215">tbl8</text>
/dpdk/doc/guides/rel_notes/
H A Drelease_20_11.rst649 * lpm: Removed fields other than ``tbl24`` and ``tbl8`` from the struct