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)
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;
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;
{
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];
* 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[] = {
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;
{
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;
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
* 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().
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
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
/** 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
}
/**
- * 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.
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)
{