Home
last modified time | relevance | path

Searched refs:tbl24 (Results 1 – 20 of 20) sorted by relevance

/dpdk/lib/lpm/
H A Drte_lpm.c589 if (!i_lpm->lpm.tbl24[i].valid || (i_lpm->lpm.tbl24[i].valid_group == 0 && in add_depth_small()
590 i_lpm->lpm.tbl24[i].depth <= depth)) { in add_depth_small()
608 if (i_lpm->lpm.tbl24[i].valid_group == 1) { in add_depth_small()
657 if (!i_lpm->lpm.tbl24[tbl24_index].valid) { in add_depth_big()
922 if (i_lpm->lpm.tbl24[i].valid_group == 0 && in delete_depth_small()
923 i_lpm->lpm.tbl24[i].depth <= depth) { in delete_depth_small()
924 __atomic_store(&i_lpm->lpm.tbl24[i], in delete_depth_small()
968 if (i_lpm->lpm.tbl24[i].valid_group == 0 && in delete_depth_small()
969 i_lpm->lpm.tbl24[i].depth <= depth) { in delete_depth_small()
1115 i_lpm->lpm.tbl24[tbl24_index].valid = 0; in delete_depth_big()
[all …]
H A Drte_lpm_sse.h54 ptbl = (const uint32_t *)&lpm->tbl24[(uint32_t)idx]; in rte_lpm_lookupx4()
56 ptbl = (const uint32_t *)&lpm->tbl24[idx >> 32]; in rte_lpm_lookupx4()
61 ptbl = (const uint32_t *)&lpm->tbl24[(uint32_t)idx]; in rte_lpm_lookupx4()
63 ptbl = (const uint32_t *)&lpm->tbl24[idx >> 32]; in rte_lpm_lookupx4()
H A Drte_lpm_neon.h53 ptbl = (const uint32_t *)&lpm->tbl24[(uint32_t)idx]; in rte_lpm_lookupx4()
55 ptbl = (const uint32_t *)&lpm->tbl24[idx >> 32]; in rte_lpm_lookupx4()
60 ptbl = (const uint32_t *)&lpm->tbl24[(uint32_t)idx]; in rte_lpm_lookupx4()
62 ptbl = (const uint32_t *)&lpm->tbl24[idx >> 32]; in rte_lpm_lookupx4()
H A Drte_lpm_altivec.h54 ptbl = (const uint32_t *)&lpm->tbl24[idx]; in rte_lpm_lookupx4()
59 ptbl = (const uint32_t *)&lpm->tbl24[idx]; in rte_lpm_lookupx4()
64 ptbl = (const uint32_t *)&lpm->tbl24[idx]; in rte_lpm_lookupx4()
69 ptbl = (const uint32_t *)&lpm->tbl24[idx]; in rte_lpm_lookupx4()
H A Drte_lpm6.c100 struct rte_lpm6_tbl_entry tbl24[RTE_LPM6_TBL24_NUM_ENTRIES] member
827 ret = simulate_add_step(lpm, lpm->tbl24, &tbl_next, masked_ip, in simulate_add()
883 tbl = lpm->tbl24; in rte_lpm6_add()
958 tbl = &lpm->tbl24[tbl24_index]; in rte_lpm6_lookup()
994 tbl = &lpm->tbl24[tbl24_index]; in rte_lpm6_lookup_bulk_func()
1088 memset(lpm->tbl24, 0, sizeof(lpm->tbl24)); in rte_lpm6_delete_bulk_func()
1112 memset(lpm->tbl24, 0, sizeof(lpm->tbl24)); in rte_lpm6_delete_all()
1193 *from = &lpm->tbl24[ind]; in rule_find_range()
1195 *to = &lpm->tbl24[ind]; in rule_find_range()
1199 struct rte_lpm6_tbl_entry *tbl = &lpm->tbl24[first_3bytes]; in rule_find_range()
[all …]
H A Drte_lpm.h120 struct rte_lpm_tbl_entry tbl24[RTE_LPM_TBL24_NUM_ENTRIES] member
292 ptbl = (const uint32_t *)(&lpm->tbl24[tbl24_index]); in rte_lpm_lookup()
356 ptbl = (const uint32_t *)&lpm->tbl24[tbl24_indexes[i]]; in rte_lpm_lookup_bulk_func()
H A Drte_lpm_sve.h30 v_tbl24 = svld1_gather_index(pg, (const uint32_t *)lpm->tbl24, in __rte_lpm_lookup_vec()
/dpdk/lib/fib/
H A Ddir24_8.h35 __extension__ uint64_t tbl24[0] __rte_cache_aligned; member
41 return (void *)&((uint8_t *)dp->tbl24)[(ip & in get_tbl24_p()
90 return ((dp->tbl24[get_tbl_idx(get_tbl24_idx(ip), nh_sz)] >> in get_tbl24()
124 tmp = ((type *)dp->tbl24)[ips[i] >> 8]; \
131 tmp = ((type *)dp->tbl24)[ips[i] >> 8]; \
H A Ddir24_8_avx512.c39 res = _mm512_i32gather_epi32(idxes, (const int *)dp->tbl24, 1); in dir24_8_vec_lookup_x16()
42 res = _mm512_i32gather_epi32(idxes, (const int *)dp->tbl24, 2); in dir24_8_vec_lookup_x16()
45 res = _mm512_i32gather_epi32(idxes, (const int *)dp->tbl24, 4); in dir24_8_vec_lookup_x16()
96 res = _mm512_i32gather_epi64(idxes_256, (const void *)dp->tbl24, 8); in dir24_8_vec_lookup_x8_8b()
H A Dtrie.h39 __extension__ uint64_t tbl24[0] __rte_cache_aligned; member
54 return (void *)&((uint8_t *)dp->tbl24)[tbl24_idx << nh_sz]; in get_tbl24_p()
116 tmp = ((type *)dp->tbl24)[get_tbl24_idx(&ips[i][0])]; \
H A Dtrie_avx512.c118 (const int *)dp->tbl24, 2); in trie_vec_lookup_x16x2()
120 (const int *)dp->tbl24, 2); in trie_vec_lookup_x16x2()
125 (const int *)dp->tbl24, 4); in trie_vec_lookup_x16x2()
127 (const int *)dp->tbl24, 4); in trie_vec_lookup_x16x2()
255 res_1 = _mm512_i64gather_epi64(idxes_1, (const void *)dp->tbl24, 8); in trie_vec_lookup_x8x2_8b()
256 res_2 = _mm512_i64gather_epi64(idxes_2, (const void *)dp->tbl24, 8); in trie_vec_lookup_x8x2_8b()
H A Ddir24_8.c211 ((uint8_t *)dp->tbl24)[ip >> 8] = in tbl8_recycle()
224 ((uint16_t *)dp->tbl24)[ip >> 8] = in tbl8_recycle()
237 ((uint32_t *)dp->tbl24)[ip >> 8] = in tbl8_recycle()
250 ((uint64_t *)dp->tbl24)[ip >> 8] = in tbl8_recycle()
531 write_to_fib(dp->tbl24, (def_nh << 1), nh_sz, 1 << 24); in dir24_8_create()
H A Dtrie.c291 cur_tbl = dp->tbl24; in build_common_root()
639 write_to_dp(&dp->tbl24, (def_nh << 1), nh_sz, 1 << 24); in trie_create()
/dpdk/doc/guides/prog_guide/
H A Dlpm_lib.rst56 The first table, called tbl24, is indexed using the first 24 bits of the IP address to be looked up,
58 …the outcome of trying to match the IP address of an incoming packet to the rule stored in the tbl24
61 Since every entry of the tbl24 can potentially point to a tbl8, ideally, we would have 2^24 tbl8s,
74 An entry in tbl24 contains the following fields:
100 Next hop and depth contain the same information as in the tbl24.
118 * Use the rule (IP address) as an index to the tbl24.
127 * Use the first 24 bits of the rule as an index to the tbl24.
154 If a replacement rule is found, target tbl24 and tbl8 entries are updated to have the same depth an…
157 If no replacement rule can be found, target tbl24 and tbl8 entries will be cleared.
161 After deleting a rule, a group of tbl8s that belongs to the same tbl24 entry are freed in following…
[all …]
H A Dlpm6_lib.rst52 In this case, instead of using two levels, one with a tbl24 and a second with a tbl8, 14 levels are…
71 The first table, called tbl24, is indexed using the first 24 bits of the IP address be looked up,
74 …the outcome of trying to match the IP address of an incoming packet to the rule stored in the tbl24
125 * Use the rule (IP address) as an index to the tbl24.
134 * Use the first 24 bits of the rule as an index to the tbl24.
167 * Use the first 24 bits of the IP address as an index to the tbl24.
191 which is the number of levels minus one, since the first three bytes are resolved in the tbl24. How…
H A Dfib_lib.rst110 The first table ``tbl24``, is indexed using the first 24 bits of the IP address to be looked up,
113 to a rule stored in the tbl24 we might need to continue the lookup process in the second level.
115 Since every entry of the tbl24 can potentially point to a tbl8,
/dpdk/app/test/
H A Dtest_lpm.c1255 TEST_LPM_ASSERT(lpm->tbl24[ip>>8].valid_group); in test18()
1256 tbl8_group_index = lpm->tbl24[ip>>8].group_idx; in test18()
1261 TEST_LPM_ASSERT(lpm->tbl24[ip>>8].valid_group); in test18()
1266 TEST_LPM_ASSERT(!lpm->tbl24[ip>>8].valid_group); in test18()
1271 TEST_LPM_ASSERT(lpm->tbl24[ip>>8].valid_group); in test18()
1272 TEST_LPM_ASSERT(tbl8_group_index == lpm->tbl24[ip>>8].group_idx); in test18()
1277 TEST_LPM_ASSERT(lpm->tbl24[ip>>8].valid_group); in test18()
1282 TEST_LPM_ASSERT(!lpm->tbl24[ip>>8].valid_group); in test18()
1287 TEST_LPM_ASSERT(lpm->tbl24[ip>>8].valid_group); in test18()
1410 TEST_LPM_ASSERT(lpm->tbl24[ip>>8].valid_group); in test20()
[all …]
H A Dtest_lpm_perf.c646 if (lpm->tbl24[i].valid) in test_lpm_perf()
/dpdk/doc/guides/prog_guide/img/
H A Ddir_24_8_alg.svg129 <text x="16.57" y="494.12" class="st10" id="text206">tbl24</text>
/dpdk/doc/guides/rel_notes/
H A Drelease_20_11.rst649 * lpm: Removed fields other than ``tbl24`` and ``tbl8`` from the struct