| /dpdk/lib/table/ |
| H A D | rte_lru.h | 24 #define lru_init(bucket) \ argument 26 bucket = bucket; \ 29 #define lru_pos(bucket) (bucket->lru_list & 0xFFFFLLU) argument 31 #define lru_update(bucket, mru_val) \ argument 33 bucket = bucket; \ 39 #define lru_init(bucket) \ 41 bucket->lru_list = 0x0000000100020003LLU; \ 44 #define lru_pos(bucket) (bucket->lru_list & 0xFFFFLLU) 46 #define lru_update(bucket, mru_val) \ 50 x = bucket->lru_list; \ [all …]
|
| H A D | rte_table_hash_key16.c | 226 lru_init(bucket); in rte_table_hash_create_key16_lru() 276 lru_update(bucket, i); in rte_table_hash_entry_add_key16_lru() 294 lru_update(bucket, i); in rte_table_hash_entry_add_key16_lru() 303 pos = lru_pos(bucket); in rte_table_hash_entry_add_key16_lru() 307 lru_update(bucket, pos); in rte_table_hash_entry_add_key16_lru() 477 for (bucket = bucket0; bucket != NULL; bucket = bucket->next) in rte_table_hash_entry_add_key16_ext() 495 for (bucket_prev = NULL, bucket = bucket0; bucket != NULL; in rte_table_hash_entry_add_key16_ext() 496 bucket_prev = bucket, bucket = bucket->next) in rte_table_hash_entry_add_key16_ext() 554 for (bucket_prev = NULL, bucket = bucket0; bucket != NULL; in rte_table_hash_entry_delete_key16_ext() 555 bucket_prev = bucket, bucket = bucket->next) in rte_table_hash_entry_delete_key16_ext() [all …]
|
| H A D | rte_table_hash_key32.c | 284 lru_update(bucket, i); in rte_table_hash_entry_add_key32_lru() 302 lru_update(bucket, i); in rte_table_hash_entry_add_key32_lru() 311 pos = lru_pos(bucket); in rte_table_hash_entry_add_key32_lru() 315 lru_update(bucket, pos); in rte_table_hash_entry_add_key32_lru() 491 for (bucket = bucket0; bucket != NULL; bucket = bucket->next) { in rte_table_hash_entry_add_key32_ext() 511 for (bucket_prev = NULL, bucket = bucket0; bucket != NULL; in rte_table_hash_entry_add_key32_ext() 512 bucket_prev = bucket, bucket = bucket->next) in rte_table_hash_entry_add_key32_ext() 571 for (bucket_prev = NULL, bucket = bucket0; bucket != NULL; in rte_table_hash_entry_delete_key32_ext() 572 bucket_prev = bucket, bucket = bucket->next) in rte_table_hash_entry_delete_key32_ext() 594 bucket->next_valid; in rte_table_hash_entry_delete_key32_ext() [all …]
|
| H A D | rte_lru_x86.h | 31 #define lru_init(bucket) \ argument 32 { bucket->lru_list = 0x0000000100020003LLU; } 34 #define lru_pos(bucket) (bucket->lru_list & 0xFFFFLLU) argument 36 #define lru_update(bucket, mru_val) \ argument 49 uint64_t lru = bucket->lru_list; \ 61 bucket->lru_list = _mm_extract_epi64(k, 0); \ 75 #define lru_init(bucket) \ 76 { bucket->lru_list = ~0LLU; } 85 #define lru_pos(bucket) f_lru_pos(bucket->lru_list) 87 #define lru_update(bucket, mru_val) \ [all …]
|
| H A D | rte_table_hash_key8.c | 265 lru_update(bucket, i); in rte_table_hash_entry_add_key8_lru() 282 lru_update(bucket, i); in rte_table_hash_entry_add_key8_lru() 291 pos = lru_pos(bucket); in rte_table_hash_entry_add_key8_lru() 294 lru_update(bucket, pos); in rte_table_hash_entry_add_key8_lru() 460 for (bucket = bucket0; bucket != NULL; bucket = bucket->next) { in rte_table_hash_entry_add_key8_ext() 482 bucket != NULL; bucket_prev = bucket, bucket = bucket->next) { in rte_table_hash_entry_add_key8_ext() 512 bucket->signature = 1; in rte_table_hash_entry_add_key8_ext() 541 for (bucket_prev = NULL, bucket = bucket0; bucket != NULL; in rte_table_hash_entry_delete_key8_ext() 542 bucket_prev = bucket, bucket = bucket->next) { in rte_table_hash_entry_delete_key8_ext() 564 bucket->next_valid; in rte_table_hash_entry_delete_key8_ext() [all …]
|
| H A D | rte_lru_arm64.h | 25 #define lru_init(bucket) \ argument 26 { bucket->lru_list = ~0LLU; } 38 #define lru_pos(bucket) f_lru_pos(bucket->lru_list) argument 40 #define lru_update(bucket, mru_val) \ argument 45 uint64x1_t lru = vdup_n_u64(bucket->lru_list); \ 47 bucket->lru_list = vget_lane_u64(vreinterpret_u64_u16( \ 51 bucket->lru_list |= orvals[mru_val]; \
|
| H A D | rte_table_hash_ext.c | 16 struct bucket { struct 25 #define BUCKET_NEXT(bucket) \ argument 26 ((void *) ((bucket)->next & (~1LU))) 28 #define BUCKET_NEXT_VALID(bucket) \ argument 29 ((bucket)->next & 1LU) 38 (bucket)->next = 0; \ 43 (bucket)->next = (bucket2)->next; \ 61 struct bucket *bkt; 92 struct bucket *buckets; 93 struct bucket *buckets_ext; [all …]
|
| H A D | rte_table_hash_lru.c | 31 struct bucket { struct 33 struct bucket *next; argument 41 struct bucket *bkt; argument 71 struct bucket *buckets; 252 struct bucket *bkt = &t->buckets[i]; in rte_table_hash_lru_create() 278 struct bucket *bkt; in rte_table_hash_lru_entry_add() 362 struct bucket *bkt; in rte_table_hash_lru_entry_delete() 411 struct bucket *bkt; in rte_table_hash_lru_lookup_unoptimized() 503 bucket_sig[0] = bucket->sig[0]; \ 690 struct bucket *bkt20, *bkt21; \ [all …]
|
| H A D | rte_swx_table_learner.c | 428 struct table_bucket *bucket; member 480 m->bucket = b; in rte_swx_table_learner_lookup() 488 struct table_bucket *b = m->bucket; in rte_swx_table_learner_lookup() 548 struct table_bucket *b = m->bucket; in rte_swx_table_learner_add() 608 struct table_bucket *b = m->bucket; in rte_swx_table_learner_delete()
|
| /dpdk/lib/hash/ |
| H A D | rte_fbk_hash.h | 133 if (! ht->t[bucket + i].entry.is_entry) { in rte_fbk_hash_add_key_with_bucket() 134 ht->t[bucket + i].whole_entry = new_entry; in rte_fbk_hash_add_key_with_bucket() 139 if (ht->t[bucket + i].entry.key == key) { in rte_fbk_hash_add_key_with_bucket() 140 ht->t[bucket + i].entry.value = value; in rte_fbk_hash_add_key_with_bucket() 185 uint32_t key, uint32_t bucket) in rte_fbk_hash_delete_key_with_bucket() argument 191 if (ht->t[bucket + i].entry.key == key) { in rte_fbk_hash_delete_key_with_bucket() 194 if (! ht->t[bucket + j].entry.is_entry) { in rte_fbk_hash_delete_key_with_bucket() 203 ht->t[bucket + i].whole_entry = in rte_fbk_hash_delete_key_with_bucket() 204 ht->t[bucket + last_entry].whole_entry; in rte_fbk_hash_delete_key_with_bucket() 205 ht->t[bucket + last_entry].whole_entry = 0; in rte_fbk_hash_delete_key_with_bucket() [all …]
|
| /dpdk/drivers/net/bnxt/tf_ulp/ |
| H A D | ulp_gen_hash.c | 195 uint16_t *bucket; in ulp_gen_hash_tbl_list_key_search() local 215 idx++, bucket++) { in ulp_gen_hash_tbl_list_key_search() 216 if (ULP_HASH_BUCKET_INUSE(bucket)) { in ulp_gen_hash_tbl_list_key_search() 218 key_idx = ULP_HASH_BUCKET_INDEX(bucket); in ulp_gen_hash_tbl_list_key_search() 261 uint16_t *bucket; in ulp_gen_hash_tbl_list_index_search() local 280 bucket += idx; in ulp_gen_hash_tbl_list_index_search() 281 if (ULP_HASH_BUCKET_INUSE(bucket)) { in ulp_gen_hash_tbl_list_index_search() 306 uint16_t *bucket; in ulp_gen_hash_tbl_list_add() local 348 uint16_t *bucket; in ulp_gen_hash_tbl_list_del() local 357 key_index = ULP_HASH_BUCKET_INDEX(bucket); in ulp_gen_hash_tbl_list_del() [all …]
|
| H A D | ulp_gen_hash.h | 36 uint64_t *bucket; member
|
| /dpdk/lib/ipsec/ |
| H A D | ipsec_sqn.h | 96 uint32_t bit, bucket; in esn_inb_check_sqn() local 112 bucket = (sqn >> WINDOW_BUCKET_BITS) & sa->replay.bucket_index_mask; in esn_inb_check_sqn() 115 if (rsn->window[bucket] & ((uint64_t)1 << bit)) in esn_inb_check_sqn() 153 uint32_t bit, bucket, last_bucket, new_bucket, diff, i; in esn_inb_update_sqn() local 164 bucket = (sqn >> WINDOW_BUCKET_BITS); in esn_inb_update_sqn() 169 diff = bucket - last_bucket; in esn_inb_update_sqn() 182 bucket &= sa->replay.bucket_index_mask; in esn_inb_update_sqn() 186 if (rsn->window[bucket] & bit) in esn_inb_update_sqn() 189 rsn->window[bucket] |= bit; in esn_inb_update_sqn()
|
| /dpdk/drivers/net/bnxt/tf_core/ |
| H A D | tf_shadow_tcam.c | 355 uint64_t *bucket; in tf_shadow_tcam_clear_hash_entry() local 362 bucket = &ctxt->hash_ctxt.hashtbl[hid]; in tf_shadow_tcam_clear_hash_entry() 366 *bucket = TF_SHADOW_TCAM_BE0_MASK_CLEAR(*bucket); in tf_shadow_tcam_clear_hash_entry() 369 *bucket = TF_SHADOW_TCAM_BE1_MASK_CLEAR(*bucket); in tf_shadow_tcam_clear_hash_entry() 372 *bucket = TF_SHADOW_TCAM_BE2_MASK_CLEAR(*bucket); in tf_shadow_tcam_clear_hash_entry() 375 *bucket = TF_SHADOW_TCAM_BE2_MASK_CLEAR(*bucket); in tf_shadow_tcam_clear_hash_entry() 545 uint64_t bucket; in tf_shadow_tcam_search() local 606 bucket = ctxt->hash_ctxt.hashtbl[hb_idx]; in tf_shadow_tcam_search() 608 if (!bucket) { in tf_shadow_tcam_search() 619 shtbl_idx = (uint16_t)((bucket >> (i * 16)) & 0xffff); in tf_shadow_tcam_search()
|
| /dpdk/doc/guides/prog_guide/ |
| H A D | packet_framework.rst | 312 …rule to map a key to its bucket can simply be to use the key signature (modulo the number of table… 408 …to the table, it can happen that a given bucket already has 4 keys when a new key has to be added … 413 …The number of keys in each bucket never grows bigger than 4. The logic to pick the key to be dropp… 430 …The extendable bucket logic requires maintaining specific data structures per table and per each b… 583 … | | the current bucket). The next pointer is not NULL if the bu… 607 …ure35` and :numref:`table_qos_27` detail the bucket search pipeline stages (either LRU or extendab… 632 …| 1 | Prefetch table bucket | Read the key signature from the packet meta-data (for extendable… 887 and detail the bucket search pipeline used to implement 8-byte and 16-byte key hash tables (either … 912 …| 1 | Prefetch table bucket | #. Read the key signature from the packet meta-data (for extend… 941 #. For extendable bucket hash tables only, [all …]
|
| H A D | hash_lib.rst | 142 comparing the 2-byte signature of the input key against the signature of a key from the bucket. 149 First of all, the primary bucket is identified and entry is likely to be stored there. 152 If signature is not in the primary bucket, the secondary bucket is looked up, where same procedure 158 the primary bucket, a signature is stored in that entry, key and data (if any) are added to 160 If there is no space in the primary bucket, one of the entries on that bucket is pushed to its alte… 163 If there is room in the alternative bucket, the evicted entry 169 …s considered not able to be added (unless extendable bucket flag is set, and in that case the buck… 186 reached, the secondary bucket of this key is extended 189 …kup for a certain key, as before, the primary bucket is searched for a match and then the secondar… 201 As mentioned above, Cuckoo hash implementation pushes elements out of their bucket, [all …]
|
| H A D | qos_framework.rst | 522 as configured for the pipe token bucket, assuming that no port oversubscription is taking place. 587 The traffic shaping for subport and pipe is implemented using a token bucket per subport/per pipe. 631 To implement the token bucket generic operations described above, 633 while the implementation of the token bucket operations is described in :numref:`table_qos_9`. 665 The bucket rate (in bytes per second) can be computed with the following formula: 748 so there is no token bucket maintained in this context. 1736 * Excess (E) bucket: fed with tokens at the same rate as the C bucket. 1737 … The size of the E bucket is defined by the Excess Burst Size (EBS) parameter (measured in bytes). 1748 The size of the P bucket is defined by the Peak Burst Size (PBS) parameter (measured in bytes). 1770 (according to the pre-configured bucket rate). [all …]
|
| H A D | traffic_management.rst | 92 Single rate shapers use a single token bucket. Therefore, single rate shaper is 93 configured by setting the rate of the committed bucket to zero, which 94 effectively disables this bucket. The peak bucket is used to limit the rate 96 committed and the peak token buckets. The rate of the peak bucket has to be 98 bucket.
|
| /dpdk/app/test/ |
| H A D | test_table_tables.c | 68 struct rte_bucket_4_8 *bucket; in test_lru_update() local 78 bucket = &b; in test_lru_update() 81 bucket->lru_list = 0xFFFFFFFFFFFFFFFFULL; in test_lru_update() 83 bucket->lru_list = 0x0000000100020003ULL; in test_lru_update() 89 lru_update(bucket, idx); in test_lru_update() 90 pos = lru_pos(bucket); in test_lru_update() 94 __func__, i, bucket->lru_list, i>>1, pos); in test_lru_update() 97 if (bucket->lru_list != shuffles) { in test_lru_update() 100 __func__, i, bucket->lru_list, shuffles); in test_lru_update() 120 lru_update(bucket, i); in test_lru_update() [all …]
|
| /dpdk/drivers/event/cnxk/ |
| H A D | cnxk_tim_worker.h | 135 uint64_t bucket = in cnxk_tim_get_target_bucket() local 140 bucket = cnxk_tim_bkt_fast_mod(bucket, tim_ring->nb_bkts, in cnxk_tim_get_target_bucket() 143 cnxk_tim_bkt_fast_mod(bucket + (tim_ring->nb_bkts >> 1), in cnxk_tim_get_target_bucket() 145 *bkt = &tim_ring->bkt[bucket]; in cnxk_tim_get_target_bucket()
|
| H A D | cnxk_tim_evdev.c | 398 uint32_t real_bkt, bucket; in cnxk_tim_calibrate_start_tsc() local 405 bucket = (bkt_cyc - tim_ring->ring_start_cyc) / in cnxk_tim_calibrate_start_tsc() 407 bucket = bucket % (tim_ring->nb_bkts); in cnxk_tim_calibrate_start_tsc() 410 if (bucket != real_bkt) in cnxk_tim_calibrate_start_tsc() 416 bucket - real_bkt); in cnxk_tim_calibrate_start_tsc()
|
| /dpdk/drivers/mempool/ |
| H A D | meson.build | 5 'bucket',
|
| /dpdk/doc/guides/sample_app_ug/ |
| H A D | test_pipeline.rst | 71 The available options are ext (extendable bucket) or lru (least recently used). 111 …| 4 | hash-[spec]-8-ext | Extendable bucket hash table with 8-byte key size | Same… 134 …| 6 | hash-[spec]-16-ext | Extendable bucket hash table with 16-byte key size | Same… 157 …| 8 | hash-[spec]-32-ext | Extendable bucket hash table with 32-byte key size | Same…
|
| /dpdk/drivers/event/octeontx/ |
| H A D | timvf_worker.h | 244 const uint32_t bucket = rte_reciprocal_divide_u64(bkt_cyc, in timvf_get_target_bucket() local 246 const uint32_t tbkt_id = timr->get_target_bkt(bucket, in timvf_get_target_bucket()
|
| /dpdk/drivers/net/hns3/ |
| H A D | hns3_dcb.c | 388 hns3_dcb_pg_shapping_cfg(struct hns3_hw *hw, enum hns3_shap_bucket bucket, in hns3_dcb_pg_shapping_cfg() argument 395 opcode = bucket ? HNS3_OPC_TM_PG_P_SHAPPING : in hns3_dcb_pg_shapping_cfg() 523 hns3_dcb_pri_shapping_cfg(struct hns3_hw *hw, enum hns3_shap_bucket bucket, in hns3_dcb_pri_shapping_cfg() argument 530 opcode = bucket ? HNS3_OPC_TM_PRI_P_SHAPPING : in hns3_dcb_pri_shapping_cfg()
|