Provided by: dpdk-doc_24.11.2-2_all bug

NAME

       rte_hash

SYNOPSIS

       #include <rte_cuckoo_hash.h>

   Data Fields
       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_lock
       rte_hash_function hash_func
       uint32_t hash_func_init_val
       rte_hash_cmp_eq_t rte_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

Detailed Description

       A hash table structure.

       Definition at line 149 of file rte_cuckoo_hash.h.

Field Documentation

   char name[RTE_HASH_NAMESIZE]
       Name of the hash.

       Definition at line 150 of file rte_cuckoo_hash.h.

   uint32_t entries
       Total table entries.

       Definition at line 151 of file rte_cuckoo_hash.h.

   uint32_t num_buckets
       Number of buckets in table.

       Definition at line 152 of file rte_cuckoo_hash.h.

   struct rte_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.

   struct lcore_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.

   struct rte_hash_rcu_config* hash_rcu_cfg
       HASH RCU QSBR configuration structure

       Definition at line 161 of file rte_cuckoo_hash.h.

   struct rte_rcu_qsbr_dq* dq
       RCU QSBR defer queue.

       Definition at line 163 of file rte_cuckoo_hash.h.

   uint32_t key_len
       Length of hash key.

       Definition at line 167 of file rte_cuckoo_hash.h.

   uint8_t hw_trans_mem_support
       If hardware transactional memory is used.

       Definition at line 169 of file rte_cuckoo_hash.h.

   uint8_t use_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_t readwrite_concur_support
       If read-write concurrency support is enabled

       Definition at line 175 of file rte_cuckoo_hash.h.

   uint8_t ext_table_support
       Enable extendable bucket table

       Definition at line 177 of file rte_cuckoo_hash.h.

   uint8_t no_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_t readwrite_concur_lf_support
       If read-write concurrency lock free support is enabled

       Definition at line 184 of file rte_cuckoo_hash.h.

   uint8_t writer_takes_lock
       Indicates if the writer threads need to take lock

       Definition at line 186 of file rte_cuckoo_hash.h.

   rte_hash_function hash_func
       Function used to calculate hash.

       Definition at line 188 of file rte_cuckoo_hash.h.

   uint32_t hash_func_init_val
       Init value used by hash_func.

       Definition at line 189 of file rte_cuckoo_hash.h.

   rte_hash_cmp_eq_t rte_hash_custom_cmp_eq
       Custom function used to compare keys.

       Definition at line 190 of file rte_cuckoo_hash.h.

   enum cmp_jump_table_case cmp_jump_table_idx
       Indicates which compare function to use.

       Definition at line 192 of file rte_cuckoo_hash.h.

   unsigned int sig_cmp_fn
       Indicates which signature compare function to use.

       Definition at line 194 of file rte_cuckoo_hash.h.

   uint32_t bucket_bitmask
       Bitmask for getting bucket index from hash signature.

       Definition at line 196 of file rte_cuckoo_hash.h.

   uint32_t key_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.

   struct rte_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.

   struct rte_hash_bucket* buckets_ext
       Extra buckets array

       Definition at line 206 of file rte_cuckoo_hash.h.

   struct rte_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.

Author

       Generated automatically by Doxygen for DPDK from the source code.

DPDK                                             Version 24.11.2                                     rte_hash(3)