diff options
author | Dave Barach <dave@barachs.net> | 2019-09-03 10:57:19 -0400 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2019-09-03 19:43:34 +0000 |
commit | 5bdc1f5245054f8b183b75f6b4442d45018afbe3 (patch) | |
tree | 3419327c967dc07ff50d6a5db79ef97307a78ab0 /src/vppinfra/bihash_template.h | |
parent | 08940a2cb8177ce6c89ba0e9146515978dc66560 (diff) |
vppinfra: add bihash_init2
Add controls to list / not list a specific bihash in clib_all_bihashes,
to immediately initialize a bihash.
clib_bihash_init2 is now the primary API. It takes a typical args_t
structure. clib_bihash_init becomes a compatibility widget. It
fabricates an args_t and calls init2...
Type: refactor
Ticket: VPP-1758
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ib3e1304884997cf7025af20bdc67a7dda290f15b
(cherry picked from commit bdf9b97774f02458ede6b7c7ae2d5728bddba000)
Diffstat (limited to 'src/vppinfra/bihash_template.h')
-rw-r--r-- | src/vppinfra/bihash_template.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/vppinfra/bihash_template.h b/src/vppinfra/bihash_template.h index 0865c2b3ab4..ebd70c03371 100644 --- a/src/vppinfra/bihash_template.h +++ b/src/vppinfra/bihash_template.h @@ -159,6 +159,17 @@ BVS (clib_bihash) } BVT (clib_bihash); +typedef struct +{ + BVT (clib_bihash) * h; + char *name; + u32 nbuckets; + uword memory_size; + format_function_t *fmt_fn; + u8 instantiate_immediately; + u8 dont_add_to_all_bihash_list; +} BVT (clib_bihash_init2_args); + extern void **clib_all_bihashes; #if BIHASH_32_64_SVM @@ -291,6 +302,8 @@ static inline uword BV (clib_bihash_get_offset) (BVT (clib_bihash) * h, void BV (clib_bihash_init) (BVT (clib_bihash) * h, char *name, u32 nbuckets, uword memory_size); +void BV (clib_bihash_init2) (BVT (clib_bihash_init2_args) * a); + #if BIHASH_32_64_SVM void BV (clib_bihash_master_init_svm) (BVT (clib_bihash) * h, char *name, u32 nbuckets, u64 memory_size); |