numam-dpdk/lib/librte_table
Jasvinder Singh 8ea4143883 table: add dedicated params struct for cuckoo hash
Add dedicated parameter structure for cuckoo hash. The cuckoo hash from
librte_hash uses slightly different prototype for the hash function (no
key_mask parameter, 32-bit seed and return value) that require either
of the following approaches:
   1/ Function pointer conversion: gcc 8.1 warning [1], misleading [2]
   2/ Union within the parameter structure: pollutes a very generic API
      parameter structure with some implementation dependent detail
      (i.e. key mask not available for one of the available
      implementations)
   3/ Using opaque pointer for hash function: same issue from 2/
   4/ Different parameter structure: avoid issue from 2/; hopefully,
      it won't be long before librte_hash implements the key mask feature,
      so the generic API structure could be used.

[1] http://www.dpdk.org/ml/archives/dev/2018-April/094950.html
[2] http://www.dpdk.org/ml/archives/dev/2018-April/096250.html

Fixes: 5a80bf0ae6 ("table: add cuckoo hash")

Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2018-05-08 16:19:58 +02:00
..
Makefile table: add dedicated params struct for cuckoo hash 2018-05-08 16:19:58 +02:00
meson.build table: add dedicated params struct for cuckoo hash 2018-05-08 16:19:58 +02:00
rte_lru_arm64.h lib: use SPDX tag for Cavium copyright files 2018-01-09 16:19:01 +01:00
rte_lru_x86.h lib: fix missing includes in exported headers 2018-01-17 00:31:05 +01:00
rte_lru.h lib: fix missing includes in exported headers 2018-01-17 00:31:05 +01:00
rte_table_acl.c table: remove incorrect check for ACL 2018-04-04 12:26:20 +02:00
rte_table_acl.h lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
rte_table_array.c lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
rte_table_array.h lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
rte_table_hash_cuckoo.c table: add dedicated params struct for cuckoo hash 2018-05-08 16:19:58 +02:00
rte_table_hash_cuckoo.h table: add dedicated params struct for cuckoo hash 2018-05-08 16:19:58 +02:00
rte_table_hash_ext.c lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
rte_table_hash_key8.c lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
rte_table_hash_key16.c lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
rte_table_hash_key32.c lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
rte_table_hash_lru.c lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
rte_table_hash.h table: add dedicated params struct for cuckoo hash 2018-05-08 16:19:58 +02:00
rte_table_lpm_ipv6.c lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
rte_table_lpm_ipv6.h lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
rte_table_lpm.c lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
rte_table_lpm.h lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
rte_table_stub.c lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
rte_table_stub.h lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
rte_table_version.map table: update library version 2017-10-24 13:38:31 +02:00
rte_table.h lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00