logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Author

       Generated automatically by Doxygen for DPDK from the source code.

DPDK                                             Version 24.11.2                                     rte_hash(3)

Detailed Description

       A hash table structure.

       Definition at line 149 of file rte_cuckoo_hash.h.

Field Documentation

charname[RTE_HASH_NAMESIZE]
       Name of the hash.

       Definition at line 150 of file rte_cuckoo_hash.h.

   uint32_tentries
       Total table entries.

       Definition at line 151 of file rte_cuckoo_hash.h.

   uint32_tnum_buckets
       Number of buckets in table.

       Definition at line 152 of file rte_cuckoo_hash.h.

   structrte_ring*free_slots
       Ring that stores all indexes of the free slots in the key table

       Definition at line 154 of file rte_cuckoo_hash.h.

   structlcore_cache*local_free_slots
       Local cache per lcore, storing some indexes of the free slots

       Definition at line 157 of file rte_cuckoo_hash.h.

   structrte_hash_rcu_config*hash_rcu_cfg
       HASH RCU QSBR configuration structure

       Definition at line 161 of file rte_cuckoo_hash.h.

   structrte_rcu_qsbr_dq*dq
       RCU QSBR defer queue.

       Definition at line 163 of file rte_cuckoo_hash.h.

   uint32_tkey_len
       Length of hash key.

       Definition at line 167 of file rte_cuckoo_hash.h.

   uint8_thw_trans_mem_support
       If hardware transactional memory is used.

       Definition at line 169 of file rte_cuckoo_hash.h.

   uint8_tuse_local_cache
       If multi-writer support is enabled, use local cache to allocate key-store slots.

       Definition at line 171 of file rte_cuckoo_hash.h.

   uint8_treadwrite_concur_support
       If read-write concurrency support is enabled

       Definition at line 175 of file rte_cuckoo_hash.h.

   uint8_text_table_support
       Enable extendable bucket table

       Definition at line 177 of file rte_cuckoo_hash.h.

   uint8_tno_free_on_del
       If key index should be freed on calling rte_hash_del_xxx APIs. If this is set,
       rte_hash_free_key_with_position must be called to free the key index associated with the deleted entry.
       This flag is enabled by default.

       Definition at line 178 of file rte_cuckoo_hash.h.

   uint8_treadwrite_concur_lf_support
       If read-write concurrency lock free support is enabled

       Definition at line 184 of file rte_cuckoo_hash.h.

   uint8_twriter_takes_lock
       Indicates if the writer threads need to take lock

       Definition at line 186 of file rte_cuckoo_hash.h.

   rte_hash_functionhash_func
       Function used to calculate hash.

       Definition at line 188 of file rte_cuckoo_hash.h.

   uint32_thash_func_init_val
       Init value used by hash_func.

       Definition at line 189 of file rte_cuckoo_hash.h.

   rte_hash_cmp_eq_trte_hash_custom_cmp_eq
       Custom function used to compare keys.

       Definition at line 190 of file rte_cuckoo_hash.h.

   enumcmp_jump_table_casecmp_jump_table_idx
       Indicates which compare function to use.

       Definition at line 192 of file rte_cuckoo_hash.h.

   unsignedintsig_cmp_fn
       Indicates which signature compare function to use.

       Definition at line 194 of file rte_cuckoo_hash.h.

   uint32_tbucket_bitmask
       Bitmask for getting bucket index from hash signature.

       Definition at line 196 of file rte_cuckoo_hash.h.

   uint32_tkey_entry_size
       Size of each key entry.

       Definition at line 198 of file rte_cuckoo_hash.h.

   void*key_store
       Table storing all keys and data

       Definition at line 200 of file rte_cuckoo_hash.h.

   structrte_hash_bucket*buckets
       Table with buckets storing all the hash values and key indexes to the key table.

       Definition at line 201 of file rte_cuckoo_hash.h.

   rte_rwlock_t*readwrite_lock
       Read-write lock thread-safety.

       Definition at line 205 of file rte_cuckoo_hash.h.

   structrte_hash_bucket*buckets_ext
       Extra buckets array

       Definition at line 206 of file rte_cuckoo_hash.h.

   structrte_ring*free_ext_bkts
       Ring of indexes of free buckets

       Definition at line 207 of file rte_cuckoo_hash.h.

   uint32_t*tbl_chng_cnt
       Indicates if the hash table changed from last read.

       Definition at line 215 of file rte_cuckoo_hash.h.

Name

       rte_hash

Synopsis

       #include <rte_cuckoo_hash.h>

   DataFields
       char name [RTE_HASH_NAMESIZE]
       uint32_t entries
       uint32_t num_buckets
       struct rte_ring * free_slots
       struct lcore_cache * local_free_slots
       struct rte_hash_rcu_config * hash_rcu_cfg
       struct rte_rcu_qsbr_dq * dq
       uint32_t key_len
       uint8_t hw_trans_mem_support
       uint8_t use_local_cache
       uint8_t readwrite_concur_support
       uint8_t ext_table_support
       uint8_t no_free_on_del
       uint8_t readwrite_concur_lf_support
       uint8_t writer_takes_lockrte_hash_functionhash_func
       uint32_t hash_func_init_valrte_hash_cmp_eq_trte_hash_custom_cmp_eq
       enum cmp_jump_table_case cmp_jump_table_idx
       unsigned int sig_cmp_fn
       uint32_t bucket_bitmask
       uint32_t key_entry_size
       void * key_store
       struct rte_hash_bucket * buckets
       rte_rwlock_t * readwrite_lock
       struct rte_hash_bucket * buckets_ext
       struct rte_ring * free_ext_bkts
       uint32_t * tbl_chng_cnt

See Also