acl-plugin: Recreate the bihash_40_8.h in the proper place 37/7937/4
authorAndrew Yourtchenko <ayourtch@gmail.com>
Tue, 8 Aug 2017 14:43:38 +0000 (16:43 +0200)
committerDave Barach <openvpp@barachs.net>
Tue, 22 Aug 2017 20:02:34 +0000 (20:02 +0000)
Change-Id: I30a3df53bc5fe5ab991a657918eb502bd2913440
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
src/plugins/acl/acl.h
src/plugins/acl/fa_node.c
src/plugins/acl/fa_node.h
src/vppinfra/bihash_40_8.h [moved from src/plugins/acl/bihash_40_8.h with 84% similarity]

index dcb4e0e..26084a6 100644 (file)
@@ -25,7 +25,8 @@
 #include <vppinfra/bitmap.h>
 #include <vppinfra/elog.h>
 #include <vppinfra/bihash_48_8.h>
-#include "bihash_40_8.h"
+#include <vppinfra/bihash_40_8.h>
+
 #include "fa_node.h"
 #include "hash_lookup_types.h"
 
index 8d8f1d2..a4ba967 100644 (file)
@@ -20,7 +20,7 @@
 #include <vnet/pg/pg.h>
 #include <vppinfra/error.h>
 #include <acl/acl.h>
-#include "bihash_40_8.h"
+#include <vppinfra/bihash_40_8.h>
 
 #include <vppinfra/bihash_template.h>
 #include <vppinfra/bihash_template.c>
index d5c766c..fa9a230 100644 (file)
@@ -2,7 +2,7 @@
 #define _FA_NODE_H_
 
 #include <stddef.h>
-#include "bihash_40_8.h"
+#include <vppinfra/bihash_40_8.h>
 
 #define TCP_FLAG_FIN    0x01
 #define TCP_FLAG_SYN    0x02
similarity index 84%
rename from src/plugins/acl/bihash_40_8.h
rename to src/vppinfra/bihash_40_8.h
index 1dfb6a1..974a78d 100644 (file)
@@ -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:
  * 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 <vppinfra/crc32.h>
 #include <vppinfra/heap.h>
 #include <vppinfra/format.h>
 #include <vppinfra/pool.h>
 #include <vppinfra/xxhash.h>
-#include <vppinfra/crc32.h>
 
 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__