hash: remove deprecated function and macros
The function rte_jhash2() was renamed rte_jhash_32b and macros RTE_HASH_KEY_LENGTH_MAX and RTE_HASH_BUCKET_ENTRIES_MAX were tagged as deprecated, so they can be removed in 2.2. RTE_HASH_KEY_LENGTH is replaced in unit tests by an internal macro for the memory allocation of all keys used. The library version number is incremented. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
This commit is contained in:
parent
2b9c06e78b
commit
0f201fe961
@ -66,6 +66,7 @@
|
||||
static rte_hash_function hashtest_funcs[] = {rte_jhash, rte_hash_crc};
|
||||
static uint32_t hashtest_initvals[] = {0};
|
||||
static uint32_t hashtest_key_lens[] = {0, 2, 4, 5, 6, 7, 8, 10, 11, 15, 16, 21, 31, 32, 33, 63, 64};
|
||||
#define MAX_KEYSIZE 64
|
||||
/******************************************************************************/
|
||||
#define LOCAL_FBK_HASH_ENTRIES_MAX (1 << 15)
|
||||
|
||||
@ -238,7 +239,7 @@ test_crc32_hash_alg_equiv(void)
|
||||
static void run_hash_func_test(rte_hash_function f, uint32_t init_val,
|
||||
uint32_t key_len)
|
||||
{
|
||||
static uint8_t key[RTE_HASH_KEY_LENGTH_MAX];
|
||||
static uint8_t key[MAX_KEYSIZE];
|
||||
unsigned i;
|
||||
|
||||
|
||||
@ -1100,7 +1101,7 @@ test_hash_creation_with_good_parameters(void)
|
||||
static int test_average_table_utilization(void)
|
||||
{
|
||||
struct rte_hash *handle;
|
||||
uint8_t simple_key[RTE_HASH_KEY_LENGTH_MAX];
|
||||
uint8_t simple_key[MAX_KEYSIZE];
|
||||
unsigned i, j;
|
||||
unsigned added_keys, average_keys_added = 0;
|
||||
int ret;
|
||||
@ -1154,7 +1155,7 @@ static int test_hash_iteration(void)
|
||||
{
|
||||
struct rte_hash *handle;
|
||||
unsigned i;
|
||||
uint8_t keys[NUM_ENTRIES][RTE_HASH_KEY_LENGTH_MAX];
|
||||
uint8_t keys[NUM_ENTRIES][MAX_KEYSIZE];
|
||||
const void *next_key;
|
||||
void *next_data;
|
||||
void *data[NUM_ENTRIES];
|
||||
|
@ -85,7 +85,7 @@ static uint32_t hash_values_crc[2][10] = {{
|
||||
* from the array entries is tested.
|
||||
*/
|
||||
#define HASHTEST_ITERATIONS 1000000
|
||||
|
||||
#define MAX_KEYSIZE 64
|
||||
static rte_hash_function hashtest_funcs[] = {rte_jhash, rte_hash_crc};
|
||||
static uint32_t hashtest_initvals[] = {0, 0xdeadbeef};
|
||||
static uint32_t hashtest_key_lens[] = {
|
||||
@ -119,7 +119,7 @@ static void
|
||||
run_hash_func_perf_test(uint32_t key_len, uint32_t init_val,
|
||||
rte_hash_function f)
|
||||
{
|
||||
static uint8_t key[HASHTEST_ITERATIONS][RTE_HASH_KEY_LENGTH_MAX];
|
||||
static uint8_t key[HASHTEST_ITERATIONS][MAX_KEYSIZE];
|
||||
uint64_t ticks, start, end;
|
||||
unsigned i, j;
|
||||
|
||||
|
@ -140,7 +140,7 @@ shuffle_input_keys(unsigned table_index)
|
||||
{
|
||||
unsigned i;
|
||||
uint32_t swap_idx;
|
||||
uint8_t temp_key[RTE_HASH_KEY_LENGTH_MAX];
|
||||
uint8_t temp_key[MAX_KEYSIZE];
|
||||
hash_sig_t temp_signature;
|
||||
int32_t temp_position;
|
||||
|
||||
|
@ -13,11 +13,6 @@ Deprecation Notices
|
||||
There is no backward compatibility planned from release 2.2.
|
||||
All binaries will need to be rebuilt from release 2.2.
|
||||
|
||||
* The Macros RTE_HASH_BUCKET_ENTRIES_MAX and RTE_HASH_KEY_LENGTH_MAX are
|
||||
deprecated and will be removed with version 2.2.
|
||||
|
||||
* The function rte_jhash2 is deprecated and should be removed.
|
||||
|
||||
* The following fields have been deprecated in rte_eth_stats:
|
||||
imissed, ibadcrc, ibadlen, imcasts, fdirmatch, fdirmiss,
|
||||
tx_pause_xon, rx_pause_xon, tx_pause_xoff, rx_pause_xoff
|
||||
|
@ -21,6 +21,9 @@ API Changes
|
||||
|
||||
* The deprecated ACL API ipv4vlan is removed.
|
||||
|
||||
* The deprecated hash function rte_jhash2() is removed.
|
||||
It was replaced by rte_jhash_32b().
|
||||
|
||||
* The deprecated KNI functions are removed:
|
||||
rte_kni_create(), rte_kni_get_port_id() and rte_kni_info_get().
|
||||
|
||||
@ -58,7 +61,7 @@ The libraries prepended with a plus sign were incremented in this version.
|
||||
librte_cmdline.so.1
|
||||
librte_distributor.so.1
|
||||
+ librte_eal.so.2
|
||||
librte_hash.so.1
|
||||
+ librte_hash.so.2
|
||||
librte_ip_frag.so.1
|
||||
librte_ivshmem.so.1
|
||||
librte_jobstats.so.1
|
||||
|
@ -39,7 +39,7 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
|
||||
|
||||
EXPORT_MAP := rte_hash_version.map
|
||||
|
||||
LIBABIVER := 1
|
||||
LIBABIVER := 2
|
||||
|
||||
# all source are stored in SRCS-y
|
||||
SRCS-$(CONFIG_RTE_LIBRTE_HASH) := rte_cuckoo_hash.c
|
||||
|
@ -49,12 +49,6 @@ extern "C" {
|
||||
/** Maximum size of hash table that can be created. */
|
||||
#define RTE_HASH_ENTRIES_MAX (1 << 30)
|
||||
|
||||
/** @deprecated Maximum bucket size that can be created. */
|
||||
#define RTE_HASH_BUCKET_ENTRIES_MAX 4
|
||||
|
||||
/** @deprecated Maximum length of key that can be used. */
|
||||
#define RTE_HASH_KEY_LENGTH_MAX 64
|
||||
|
||||
/** Maximum number of characters in hash name.*/
|
||||
#define RTE_HASH_NAMESIZE 32
|
||||
|
||||
|
@ -267,10 +267,10 @@ rte_jhash_2hashes(const void *key, uint32_t length, uint32_t *pc, uint32_t *pb)
|
||||
}
|
||||
|
||||
/**
|
||||
* Same as rte_jhash2, but takes two seeds and return two uint32_ts.
|
||||
* Same as rte_jhash_32b, but takes two seeds and return two uint32_ts.
|
||||
* pc and pb must be non-null, and *pc and *pb must both be initialized
|
||||
* with seeds. If you pass in (*pb)=0, the output (*pc) will be
|
||||
* the same as the return value from rte_jhash2.
|
||||
* the same as the return value from rte_jhash_32b.
|
||||
*
|
||||
* @param k
|
||||
* Key to calculate hash of.
|
||||
@ -334,17 +334,6 @@ rte_jhash_32b(const uint32_t *k, uint32_t length, uint32_t initval)
|
||||
return initval;
|
||||
}
|
||||
|
||||
static inline uint32_t
|
||||
__attribute__ ((deprecated))
|
||||
rte_jhash2(const uint32_t *k, uint32_t length, uint32_t initval)
|
||||
{
|
||||
uint32_t initval2 = 0;
|
||||
|
||||
rte_jhash_32b_2hashes(k, length, &initval, &initval2);
|
||||
|
||||
return initval;
|
||||
}
|
||||
|
||||
static inline uint32_t
|
||||
__rte_jhash_3words(uint32_t a, uint32_t b, uint32_t c, uint32_t initval)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user