DPDK  18.05.1
rte_member_vbf.h
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_ */