vppinfra: add clib_cuckoo_search_inline_with_hash function 28/26528/4
authorDamjan Marion <damarion@cisco.com>
Wed, 15 Apr 2020 15:45:23 +0000 (17:45 +0200)
committerFlorin Coras <florin.coras@gmail.com>
Wed, 15 Apr 2020 19:33:45 +0000 (19:33 +0000)
Type: improvement
Change-Id: I547263ae954506f11101666ff768524fbfdb579e
Signed-off-by: Damjan Marion <damarion@cisco.com>
src/vppinfra/cuckoo_template.h

index 06c4afd..f785e7e 100644 (file)
@@ -408,13 +408,13 @@ always_inline int CV (clib_cuckoo_bucket_search) (CVT (clib_cuckoo_bucket) *
   return CLIB_CUCKOO_ERROR_NOT_FOUND;
 }
 
-always_inline int CV (clib_cuckoo_search_inline) (CVT (clib_cuckoo) * h,
-                                                 CVT (clib_cuckoo_kv) * kvp)
+always_inline int
+CV (clib_cuckoo_search_inline_with_hash) (CVT (clib_cuckoo) * h, u64 hash,
+                                         CVT (clib_cuckoo_kv) * kvp)
 {
   clib_cuckoo_lookup_info_t lookup;
   int rv;
 
-  u64 hash = CV (clib_cuckoo_hash) (kvp);
   CVT (clib_cuckoo_bucket) * buckets;
 again:
   buckets = h->buckets;
@@ -447,6 +447,13 @@ again:
   return rv;
 }
 
+always_inline int CV (clib_cuckoo_search_inline) (CVT (clib_cuckoo) * h,
+                                                 CVT (clib_cuckoo_kv) * kvp)
+{
+  u64 hash = CV (clib_cuckoo_hash) (kvp);
+  return CV (clib_cuckoo_search_inline_with_hash) (h, hash, kvp);
+}
+
 #endif /* __included_cuckoo_template_h__ */
 
 /** @endcond */