Hi @dpdk community, In my application, I am using the dpdk hash table as below. 1. calculate the hash value. 2. using this signature add the key and data into a table. 3. lock is used in the 2nd call (add). Below is the code sniffer for the same. ================================================================== hash_sig_t sig = rte_hash_hash(hash_tablele, (void *) &new_key); pthread_mutex_lock(&lock); int32_t ret = rte_hash_add_key_with_hash_data(hash_table, (void *)&new_key, sig, info); if (ret < 0) { pthread_mutex_unlock(lock); return TOS_E_FAIL; } pthread_mutex_unlock(lock); return OK.. ================================================================== My application is having a lot of threads and when run with heavy load , I am getting a lot of insertion failure, i felt the reason could be calculating and adding the has value in 2 api's as opposed to rte_hash_add() that is safe under a lock.. Please let me know your thoughts. Thank you, Venkatesh.