Home
last modified time | relevance | path

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

/f-stack/freebsd/contrib/dpdk_rte_lpm/
H A Drte_lpm.c481 if (!lpm->tbl24[i].valid || (lpm->tbl24[i].valid_group == 0 && in add_depth_small()
482 lpm->tbl24[i].depth <= depth)) { in add_depth_small()
500 if (lpm->tbl24[i].valid_group == 1) { in add_depth_small()
549 if (!lpm->tbl24[tbl24_index].valid) { in add_depth_big()
814 if (lpm->tbl24[i].valid_group == 0 && in delete_depth_small()
815 lpm->tbl24[i].depth <= depth) { in delete_depth_small()
816 __atomic_store(&lpm->tbl24[i], in delete_depth_small()
859 if (lpm->tbl24[i].valid_group == 0 && in delete_depth_small()
860 lpm->tbl24[i].depth <= depth) { in delete_depth_small()
1006 lpm->tbl24[tbl24_index].valid = 0; in delete_depth_big()
[all …]
H A Drte_lpm6.c100 struct rte_lpm6_tbl_entry tbl24[RTE_LPM6_TBL24_NUM_ENTRIES] member
838 ret = simulate_add_step(lpm, lpm->tbl24, &tbl_next, masked_ip, in simulate_add()
896 tbl = lpm->tbl24; in rte_lpm6_add()
971 tbl = &lpm->tbl24[tbl24_index]; in rte_lpm6_lookup()
1007 tbl = &lpm->tbl24[tbl24_index]; in rte_lpm6_lookup_bulk_func()
1114 memset(lpm->tbl24, 0, sizeof(lpm->tbl24));
1138 memset(lpm->tbl24, 0, sizeof(lpm->tbl24));
1222 *from = &lpm->tbl24[ind]; in rule_find_range()
1224 *to = &lpm->tbl24[ind]; in rule_find_range()
1228 struct rte_lpm6_tbl_entry *tbl = &lpm->tbl24[first_3bytes]; in rule_find_range()
[all …]
H A Drte_lpm.h140 struct rte_lpm_tbl_entry tbl24[RTE_LPM_TBL24_NUM_ENTRIES] member
281 ptbl = (const uint32_t *)(&lpm->tbl24[tbl24_index]); in rte_lpm_lookup()
345 ptbl = (const uint32_t *)&lpm->tbl24[tbl24_indexes[i]]; in rte_lpm_lookup_bulk_func()
/f-stack/dpdk/lib/librte_lpm/
H A Drte_lpm.c596 if (!i_lpm->lpm.tbl24[i].valid || (i_lpm->lpm.tbl24[i].valid_group == 0 && in add_depth_small()
597 i_lpm->lpm.tbl24[i].depth <= depth)) { in add_depth_small()
615 if (i_lpm->lpm.tbl24[i].valid_group == 1) { in add_depth_small()
664 if (!i_lpm->lpm.tbl24[tbl24_index].valid) { in add_depth_big()
929 if (i_lpm->lpm.tbl24[i].valid_group == 0 && in delete_depth_small()
930 i_lpm->lpm.tbl24[i].depth <= depth) { in delete_depth_small()
931 __atomic_store(&i_lpm->lpm.tbl24[i], in delete_depth_small()
975 if (i_lpm->lpm.tbl24[i].valid_group == 0 && in delete_depth_small()
976 i_lpm->lpm.tbl24[i].depth <= depth) { in delete_depth_small()
1122 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.c107 struct rte_lpm6_tbl_entry tbl24[RTE_LPM6_TBL24_NUM_ENTRIES] member
832 ret = simulate_add_step(lpm, lpm->tbl24, &tbl_next, masked_ip, in simulate_add()
888 tbl = lpm->tbl24; in rte_lpm6_add()
963 tbl = &lpm->tbl24[tbl24_index]; in rte_lpm6_lookup()
999 tbl = &lpm->tbl24[tbl24_index]; in rte_lpm6_lookup_bulk_func()
1093 memset(lpm->tbl24, 0, sizeof(lpm->tbl24)); in rte_lpm6_delete_bulk_func()
1117 memset(lpm->tbl24, 0, sizeof(lpm->tbl24)); in rte_lpm6_delete_all()
1198 *from = &lpm->tbl24[ind]; in rule_find_range()
1200 *to = &lpm->tbl24[ind]; in rule_find_range()
1204 struct rte_lpm6_tbl_entry *tbl = &lpm->tbl24[first_3bytes]; in rule_find_range()
[all …]
H A Drte_lpm.h124 struct rte_lpm_tbl_entry tbl24[RTE_LPM_TBL24_NUM_ENTRIES] member
296 ptbl = (const uint32_t *)(&lpm->tbl24[tbl24_index]); in rte_lpm_lookup()
360 ptbl = (const uint32_t *)&lpm->tbl24[tbl24_indexes[i]]; in rte_lpm_lookup_bulk_func()
/f-stack/dpdk/lib/librte_fib/
H A Dtrie.h45 __extension__ uint64_t tbl24[0] __rte_cache_aligned; member
60 return (void *)&((uint8_t *)dp->tbl24)[tbl24_idx << nh_sz]; in get_tbl24_p()
122 tmp = ((type *)dp->tbl24)[get_tbl24_idx(&ips[i][0])]; \
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 Ddir24_8.h39 __extension__ uint64_t tbl24[0] __rte_cache_aligned; member
45 return (void *)&((uint8_t *)dp->tbl24)[(ip & in get_tbl24_p()
94 return ((dp->tbl24[get_tbl_idx(get_tbl24_idx(ip), nh_sz)] >> in get_tbl24()
128 tmp = ((type *)dp->tbl24)[ips[i] >> 8]; \
135 tmp = ((type *)dp->tbl24)[ips[i] >> 8]; \
H A Ddir24_8.c215 ((uint8_t *)dp->tbl24)[ip >> 8] = in tbl8_recycle()
228 ((uint16_t *)dp->tbl24)[ip >> 8] = in tbl8_recycle()
241 ((uint32_t *)dp->tbl24)[ip >> 8] = in tbl8_recycle()
254 ((uint64_t *)dp->tbl24)[ip >> 8] = in tbl8_recycle()
535 write_to_fib(dp->tbl24, (def_nh << 1), nh_sz, 1 << 24); in dir24_8_create()
H A Dtrie_avx512.c108 res = _mm512_i32gather_epi32(idxes, (const int *)dp->tbl24, 2); in trie_vec_lookup_x16()
111 res = _mm512_i32gather_epi32(idxes, (const int *)dp->tbl24, 4); in trie_vec_lookup_x16()
198 res = _mm512_i64gather_epi64(idxes, (const void *)dp->tbl24, 8); in trie_vec_lookup_x8_8b()
H A Dtrie.c296 cur_tbl = dp->tbl24; in build_common_root()
644 write_to_dp(&dp->tbl24, (def_nh << 1), nh_sz, 1 << 24); in trie_create()
/f-stack/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…
/f-stack/dpdk/app/test/
H A Dtest_lpm.c1235 TEST_LPM_ASSERT(lpm->tbl24[ip>>8].valid_group); in test18()
1236 tbl8_group_index = lpm->tbl24[ip>>8].group_idx; in test18()
1241 TEST_LPM_ASSERT(lpm->tbl24[ip>>8].valid_group); in test18()
1246 TEST_LPM_ASSERT(!lpm->tbl24[ip>>8].valid_group); in test18()
1251 TEST_LPM_ASSERT(lpm->tbl24[ip>>8].valid_group); in test18()
1252 TEST_LPM_ASSERT(tbl8_group_index == lpm->tbl24[ip>>8].group_idx); in test18()
1257 TEST_LPM_ASSERT(lpm->tbl24[ip>>8].valid_group); in test18()
1262 TEST_LPM_ASSERT(!lpm->tbl24[ip>>8].valid_group); in test18()
1267 TEST_LPM_ASSERT(lpm->tbl24[ip>>8].valid_group); in test18()
1390 TEST_LPM_ASSERT(lpm->tbl24[ip>>8].valid_group); in test20()
[all …]
H A Dtest_lpm_perf.c636 if (lpm->tbl24[i].valid) in test_lpm_perf()
/f-stack/dpdk/doc/guides/rel_notes/
H A Drelease_20_11.rst729 * lpm: Removed fields other than ``tbl24`` and ``tbl8`` from the struct