From beb50d425dc03e082c983fde4005897d69d54288 Mon Sep 17 00:00:00 2001 From: Andrew Yourtchenko Date: Tue, 8 Aug 2017 16:43:38 +0200 Subject: [PATCH] acl-plugin: Recreate the bihash_40_8.h in the proper place Change-Id: I30a3df53bc5fe5ab991a657918eb502bd2913440 Signed-off-by: Andrew Yourtchenko --- src/plugins/acl/acl.h | 3 ++- src/plugins/acl/fa_node.c | 2 +- src/plugins/acl/fa_node.h | 2 +- src/{plugins/acl => vppinfra}/bihash_40_8.h | 19 +++++++++++-------- 4 files changed, 15 insertions(+), 11 deletions(-) rename src/{plugins/acl => vppinfra}/bihash_40_8.h (84%) diff --git a/src/plugins/acl/acl.h b/src/plugins/acl/acl.h index dcb4e0e9378..26084a66521 100644 --- a/src/plugins/acl/acl.h +++ b/src/plugins/acl/acl.h @@ -25,7 +25,8 @@ #include #include #include -#include "bihash_40_8.h" +#include + #include "fa_node.h" #include "hash_lookup_types.h" diff --git a/src/plugins/acl/fa_node.c b/src/plugins/acl/fa_node.c index 8d8f1d2eee4..a4ba967d7dd 100644 --- a/src/plugins/acl/fa_node.c +++ b/src/plugins/acl/fa_node.c @@ -20,7 +20,7 @@ #include #include #include -#include "bihash_40_8.h" +#include #include #include diff --git a/src/plugins/acl/fa_node.h b/src/plugins/acl/fa_node.h index d5c766cd1fa..fa9a2303f41 100644 --- a/src/plugins/acl/fa_node.h +++ b/src/plugins/acl/fa_node.h @@ -2,7 +2,7 @@ #define _FA_NODE_H_ #include -#include "bihash_40_8.h" +#include #define TCP_FLAG_FIN 0x01 #define TCP_FLAG_SYN 0x02 diff --git a/src/plugins/acl/bihash_40_8.h b/src/vppinfra/bihash_40_8.h similarity index 84% rename from src/plugins/acl/bihash_40_8.h rename to src/vppinfra/bihash_40_8.h index 1dfb6a1eb14..974a78d8cef 100644 --- a/src/plugins/acl/bihash_40_8.h +++ b/src/vppinfra/bihash_40_8.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Cisco and/or its affiliates. + * Copyright (c) 2016 Cisco and/or its affiliates. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: @@ -12,19 +12,23 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + #undef BIHASH_TYPE +#undef BIHASH_KVP_CACHE_SIZE +#undef BIHASH_KVP_PER_PAGE #define BIHASH_TYPE _40_8 #define BIHASH_KVP_PER_PAGE 4 +#define BIHASH_KVP_CACHE_SIZE 2 #ifndef __included_bihash_40_8_h__ #define __included_bihash_40_8_h__ +#include #include #include #include #include -#include typedef struct { @@ -44,7 +48,7 @@ clib_bihash_is_free_40_8 (const clib_bihash_kv_40_8_t * v) static inline u64 clib_bihash_hash_40_8 (const clib_bihash_kv_40_8_t * v) { -#if __SSE4_2__ +#ifdef clib_crc32c_uses_intrinsics return clib_crc32c ((u8 *) v->key, 40); #else u64 tmp = v->key[0] ^ v->key[1] ^ v->key[2] ^ v->key[3] ^ v->key[4]; @@ -57,17 +61,16 @@ format_bihash_kvp_40_8 (u8 * s, va_list * args) { clib_bihash_kv_40_8_t *v = va_arg (*args, clib_bihash_kv_40_8_t *); - s = format (s, "key %llu %llu %llu %llu %llu value %llu", - v->key[0], v->key[1], v->key[2], v->key[3], v->key[4], - v->value); + s = format (s, "key %llu %llu %llu %llu %llu value %llu", v->key[0], + v->key[1], v->key[2], v->key[3], v->key[4], v->value); return s; } static inline int clib_bihash_key_compare_40_8 (const u64 * a, const u64 * b) { - return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2]) | (a[3] ^ b[3]) | - (a[4] ^ b[4])) == 0; + return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2]) | (a[3] ^ b[3]) + | (a[4] ^ b[4])) == 0; } #undef __included_bihash_template_h__ -- 2.16.6