xref: /dpdk/lib/member/rte_member_vbf.h (revision 99a2dd955fba6e4cc23b77d590a033650ced9c45)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2017 Intel Corporation
3  */
4 
5 #ifndef _RTE_MEMBER_VBF_H_
6 #define _RTE_MEMBER_VBF_H_
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
12 /* Currently we only support up to 32 sets in vBF */
13 #define RTE_MEMBER_MAX_BF 32
14 
15 int
16 rte_member_create_vbf(struct rte_member_setsum *ss,
17 		const struct rte_member_parameters *params);
18 
19 int
20 rte_member_lookup_vbf(const struct rte_member_setsum *setsum,
21 		const void *key, member_set_t *set_id);
22 
23 uint32_t
24 rte_member_lookup_bulk_vbf(const struct rte_member_setsum *setsum,
25 		const void **keys, uint32_t num_keys,
26 		member_set_t *set_ids);
27 
28 uint32_t
29 rte_member_lookup_multi_vbf(const struct rte_member_setsum *setsum,
30 		const void *key, uint32_t match_per_key,
31 		member_set_t *set_id);
32 
33 uint32_t
34 rte_member_lookup_multi_bulk_vbf(const struct rte_member_setsum *setsum,
35 		const void **keys, uint32_t num_keys, uint32_t match_per_key,
36 		uint32_t *match_count,
37 		member_set_t *set_ids);
38 
39 int
40 rte_member_add_vbf(const struct rte_member_setsum *setsum,
41 		const void *key, member_set_t set_id);
42 
43 void
44 rte_member_free_vbf(struct rte_member_setsum *ss);
45 
46 void
47 rte_member_reset_vbf(const struct rte_member_setsum *setsum);
48 
49 #ifdef __cplusplus
50 }
51 #endif
52 
53 #endif /* _RTE_MEMBER_VBF_H_ */
54