25#define RTE_HASH_ENTRIES_MAX (1 << 30)
28#define RTE_HASH_NAMESIZE 32
31#define RTE_HASH_LOOKUP_BULK_MAX 64
32#define RTE_HASH_LOOKUP_MULTI_MAX RTE_HASH_LOOKUP_BULK_MAX
35#define RTE_HASH_EXTRA_FLAGS_TRANS_MEM_SUPPORT 0x01
38#define RTE_HASH_EXTRA_FLAGS_MULTI_WRITER_ADD 0x02
41#define RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY 0x04
44#define RTE_HASH_EXTRA_FLAGS_EXT_TABLE 0x08
52#define RTE_HASH_EXTRA_FLAGS_NO_FREE_ON_DEL 0x10
57#define RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY_LF 0x20
103 struct rte_rcu_qsbr *
v;
430 const int32_t position);
558 uint32_t num_keys, uint64_t *hit_mask,
void *data[]);
585 hash_sig_t *sig, uint32_t num_keys, int32_t *positions);
611 uint32_t num_keys, uint64_t *hit_mask,
void *data[]);
636 uint32_t num_keys, int32_t *positions);
701 unsigned int *pending,
unsigned int *available);
#define __rte_dealloc(dealloc, argno)
int32_t rte_hash_add_key(const struct rte_hash *h, const void *key)
int32_t rte_hash_del_key_with_hash(const struct rte_hash *h, const void *key, hash_sig_t sig)
uint32_t(* rte_hash_function)(const void *key, uint32_t key_len, uint32_t init_val)
int rte_hash_lookup_data(const struct rte_hash *h, const void *key, void **data)
void rte_hash_free(struct rte_hash *h)
int rte_hash_add_key_data(const struct rte_hash *h, const void *key, void *data)
int32_t rte_hash_add_key_with_hash_data(const struct rte_hash *h, const void *key, hash_sig_t sig, void *data)
int32_t rte_hash_count(const struct rte_hash *h)
int rte_hash_rcu_qsbr_add(struct rte_hash *h, struct rte_hash_rcu_config *cfg)
int rte_hash_lookup_bulk(const struct rte_hash *h, const void **keys, uint32_t num_keys, int32_t *positions)
int32_t rte_hash_iterate(const struct rte_hash *h, const void **key, void **data, uint32_t *next)
struct rte_hash void rte_hash_set_cmp_func(struct rte_hash *h, rte_hash_cmp_eq_t func)
@ RTE_HASH_QSBR_MODE_SYNC
struct rte_hash * rte_hash_find_existing(const char *name)
void(* rte_hash_free_key_data)(void *p, void *key_data)
int rte_hash_lookup_with_hash_data(const struct rte_hash *h, const void *key, hash_sig_t sig, void **data)
int32_t rte_hash_lookup(const struct rte_hash *h, const void *key)
__rte_experimental int rte_hash_rcu_qsbr_dq_reclaim(struct rte_hash *h, unsigned int *freed, unsigned int *pending, unsigned int *available)
int rte_hash_lookup_with_hash_bulk(const struct rte_hash *h, const void **keys, hash_sig_t *sig, uint32_t num_keys, int32_t *positions)
int rte_hash_free_key_with_position(const struct rte_hash *h, const int32_t position)
int rte_hash_get_key_with_position(const struct rte_hash *h, const int32_t position, void **key)
int32_t rte_hash_lookup_with_hash(const struct rte_hash *h, const void *key, hash_sig_t sig)
int32_t rte_hash_del_key(const struct rte_hash *h, const void *key)
int32_t rte_hash_add_key_with_hash(const struct rte_hash *h, const void *key, hash_sig_t sig)
hash_sig_t rte_hash_hash(const struct rte_hash *h, const void *key)
int32_t rte_hash_max_key_id(const struct rte_hash *h)
struct rte_hash * rte_hash_create(const struct rte_hash_parameters *params) __rte_malloc __rte_dealloc(rte_hash_free
void rte_hash_reset(struct rte_hash *h)
int rte_hash_lookup_with_hash_bulk_data(const struct rte_hash *h, const void **keys, hash_sig_t *sig, uint32_t num_keys, uint64_t *hit_mask, void *data[])
int(* rte_hash_cmp_eq_t)(const void *key1, const void *key2, size_t key_len)
int rte_hash_lookup_bulk_data(const struct rte_hash *h, const void **keys, uint32_t num_keys, uint64_t *hit_mask, void *data[])
uint32_t hash_func_init_val
rte_hash_function hash_func
uint32_t trigger_reclaim_limit
rte_hash_free_key_data free_key_data_func
enum rte_hash_qsbr_mode mode
uint32_t max_reclaim_size
char name[RTE_HASH_NAMESIZE]