hash: allow to store data in hash table
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Sat, 11 Jul 2015 00:18:52 +0000 (01:18 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Sun, 12 Jul 2015 22:16:29 +0000 (00:16 +0200)
commit473d1bebce43d9c08b8195c45ff022fb26bca594
tree4db6c13266bac5d195560d8a60f55d06cd2c8b11
parentb26473ff8f4a5d691869a8a35c2fa1e9840e82b9
hash: allow to store data in hash table

Usually hash tables not only store keys, but also data associated
to them. In order to maintain the existing API, the old functions
will still return the index where the key was stored.
The new functions will return the data associated to that key.
In the case of the lookup_bulk function, it will return also
the number of entries found and a bitmask of which entries
were found.

Unit tests have been updated to use these new functions.

As a final point, a flag has been added in rte_hash_parameters
to indicate if there are new parameters for future versions,
so there is no need to maintain multiple versions
of the existing functions in the future.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
[Thomas: fix || operator in a precondition check]
app/test/test_hash_perf.c
lib/librte_hash/rte_cuckoo_hash.c
lib/librte_hash/rte_hash.h
lib/librte_hash/rte_hash_version.map