DPDK
25.11.0
Toggle main menu visibility
Loading...
Searching...
No Matches
rte_member_ht.h
1
/* SPDX-License-Identifier: BSD-3-Clause
2
* Copyright(c) 2017 Intel Corporation
3
*/
4
5
#ifndef _RTE_MEMBER_HT_H_
6
#define _RTE_MEMBER_HT_H_
7
8
#ifdef __cplusplus
9
extern
"C"
{
10
#endif
11
12
/* Maximum number of pushes for cuckoo path in HT mode. */
13
#define RTE_MEMBER_MAX_PUSHES 50
14
15
typedef
uint16_t member_sig_t;
/* signature size is 16 bit */
16
17
/* The bucket struct for ht setsum */
18
struct
__rte_cache_aligned
member_ht_bucket {
19
member_sig_t sigs[
RTE_MEMBER_BUCKET_ENTRIES
];
/* 2-byte signature */
20
member_set_t
sets[
RTE_MEMBER_BUCKET_ENTRIES
];
/* 2-byte set */
21
};
22
23
int
24
rte_member_create_ht(
struct
rte_member_setsum *ss,
25
const
struct
rte_member_parameters
*params);
26
27
int
28
rte_member_lookup_ht(
const
struct
rte_member_setsum *setsum,
29
const
void
*key,
member_set_t
*set_id);
30
31
uint32_t
32
rte_member_lookup_bulk_ht(
const
struct
rte_member_setsum *setsum,
33
const
void
**keys, uint32_t num_keys,
34
member_set_t
*set_ids);
35
36
uint32_t
37
rte_member_lookup_multi_ht(
const
struct
rte_member_setsum *setsum,
38
const
void
*key, uint32_t match_per_key,
39
member_set_t
*set_id);
40
41
uint32_t
42
rte_member_lookup_multi_bulk_ht(
const
struct
rte_member_setsum *setsum,
43
const
void
**keys, uint32_t num_keys, uint32_t match_per_key,
44
uint32_t *match_count,
45
member_set_t
*set_ids);
46
47
int
48
rte_member_add_ht(
const
struct
rte_member_setsum *setsum,
49
const
void
*key,
member_set_t
set_id);
50
51
void
52
rte_member_free_ht(
struct
rte_member_setsum *setsum);
53
54
int
55
rte_member_delete_ht(
const
struct
rte_member_setsum *ss,
const
void
*key,
56
member_set_t
set_id);
57
58
void
59
rte_member_reset_ht(
const
struct
rte_member_setsum *setsum);
60
61
#ifdef __cplusplus
62
}
63
#endif
64
65
#endif
/* _RTE_MEMBER_HT_H_ */
__rte_cache_aligned
#define __rte_cache_aligned
Definition
rte_common.h:739
RTE_MEMBER_BUCKET_ENTRIES
#define RTE_MEMBER_BUCKET_ENTRIES
Definition
rte_member.h:72
member_set_t
uint16_t member_set_t
Definition
rte_member.h:64
rte_member_parameters
Definition
rte_member.h:186
lib
member
rte_member_ht.h
Generated by
1.17.0