8ea4143883
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: 5a80bf0ae613 ("table: add cuckoo hash") Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
30 lines
705 B
Meson
30 lines
705 B
Meson
# SPDX-License-Identifier: BSD-3-Clause
|
|
# Copyright(c) 2017 Intel Corporation
|
|
|
|
version = 3
|
|
sources = files('rte_table_acl.c',
|
|
'rte_table_lpm.c',
|
|
'rte_table_lpm_ipv6.c',
|
|
'rte_table_hash_cuckoo.c',
|
|
'rte_table_hash_key8.c',
|
|
'rte_table_hash_key16.c',
|
|
'rte_table_hash_key32.c',
|
|
'rte_table_hash_ext.c',
|
|
'rte_table_hash_lru.c',
|
|
'rte_table_array.c',
|
|
'rte_table_stub.c')
|
|
headers = files('rte_table.h',
|
|
'rte_table_acl.h',
|
|
'rte_table_lpm.h',
|
|
'rte_table_lpm_ipv6.h',
|
|
'rte_table_hash.h',
|
|
'rte_table_hash_cuckoo.h',
|
|
'rte_lru.h',
|
|
'rte_table_array.h',
|
|
'rte_table_stub.h')
|
|
deps += ['mbuf', 'port', 'lpm', 'hash', 'acl']
|
|
|
|
if arch_subdir == 'x86'
|
|
headers += files('rte_lru_x86.h')
|
|
endif
|