diff --git a/test/test-pipeline/main.h b/test/test-pipeline/main.h
index 3685849..26395a3 100644
--- a/test/test-pipeline/main.h
+++ b/test/test-pipeline/main.h
@@ -131,7 +131,10 @@ enum {
 
 void app_main_loop_rx(void);
 void app_main_loop_rx_metadata(void);
-uint64_t test_hash(void *key, uint32_t key_size, uint64_t seed);
+uint64_t test_hash(void *key,
+	void *key_mask,
+	uint32_t key_size,
+	uint64_t seed);
 
 void app_main_loop_worker(void);
 void app_main_loop_worker_pipeline_stub(void);
diff --git a/test/test-pipeline/pipeline_hash.c b/test/test-pipeline/pipeline_hash.c
index 991e381..edc1663 100644
--- a/test/test-pipeline/pipeline_hash.c
+++ b/test/test-pipeline/pipeline_hash.c
@@ -169,23 +169,23 @@ app_main_loop_worker_pipeline_hash(void) {
 				"ring %d\n", i);
 	}
 
+	struct rte_table_hash_params table_hash_params = {
+		.name = "TABLE",
+		.key_size = key_size,
+		.key_offset = APP_METADATA_OFFSET(32),
+		.key_mask = NULL,
+		.n_keys = 1 << 24,
+		.n_buckets = 1 << 22,
+		.f_hash = test_hash,
+		.seed = 0,
+	};
+
 	/* Table configuration */
 	switch (app.pipeline_type) {
 	case e_APP_PIPELINE_HASH_KEY8_EXT:
 	case e_APP_PIPELINE_HASH_KEY16_EXT:
 	case e_APP_PIPELINE_HASH_KEY32_EXT:
 	{
-		struct rte_table_hash_ext_params table_hash_params = {
-			.key_size = key_size,
-			.n_keys = 1 << 24,
-			.n_buckets = 1 << 22,
-			.n_buckets_ext = 1 << 21,
-			.f_hash = test_hash,
-			.seed = 0,
-			.signature_offset = APP_METADATA_OFFSET(0),
-			.key_offset = APP_METADATA_OFFSET(32),
-		};
-
 		struct rte_pipeline_table_params table_params = {
 			.ops = &rte_table_hash_ext_ops,
 			.arg_create = &table_hash_params,
@@ -204,16 +204,6 @@ app_main_loop_worker_pipeline_hash(void) {
 	case e_APP_PIPELINE_HASH_KEY16_LRU:
 	case e_APP_PIPELINE_HASH_KEY32_LRU:
 	{
-		struct rte_table_hash_lru_params table_hash_params = {
-			.key_size = key_size,
-			.n_keys = 1 << 24,
-			.n_buckets = 1 << 22,
-			.f_hash = test_hash,
-			.seed = 0,
-			.signature_offset = APP_METADATA_OFFSET(0),
-			.key_offset = APP_METADATA_OFFSET(32),
-		};
-
 		struct rte_pipeline_table_params table_params = {
 			.ops = &rte_table_hash_lru_ops,
 			.arg_create = &table_hash_params,
@@ -230,16 +220,6 @@ app_main_loop_worker_pipeline_hash(void) {
 
 	case e_APP_PIPELINE_HASH_SPEC_KEY8_EXT:
 	{
-		struct rte_table_hash_key8_ext_params table_hash_params = {
-			.n_entries = 1 << 24,
-			.n_entries_ext = 1 << 23,
-			.signature_offset = APP_METADATA_OFFSET(0),
-			.key_offset = APP_METADATA_OFFSET(32),
-			.key_mask = NULL,
-			.f_hash = test_hash,
-			.seed = 0,
-		};
-
 		struct rte_pipeline_table_params table_params = {
 			.ops = &rte_table_hash_key8_ext_ops,
 			.arg_create = &table_hash_params,
@@ -256,15 +236,6 @@ app_main_loop_worker_pipeline_hash(void) {
 
 	case e_APP_PIPELINE_HASH_SPEC_KEY8_LRU:
 	{
-		struct rte_table_hash_key8_lru_params table_hash_params = {
-			.n_entries = 1 << 24,
-			.signature_offset = APP_METADATA_OFFSET(0),
-			.key_offset = APP_METADATA_OFFSET(32),
-			.key_mask = NULL,
-			.f_hash = test_hash,
-			.seed = 0,
-		};
-
 		struct rte_pipeline_table_params table_params = {
 			.ops = &rte_table_hash_key8_lru_ops,
 			.arg_create = &table_hash_params,
@@ -281,16 +252,6 @@ app_main_loop_worker_pipeline_hash(void) {
 
 	case e_APP_PIPELINE_HASH_SPEC_KEY16_EXT:
 	{
-		struct rte_table_hash_key16_ext_params table_hash_params = {
-			.n_entries = 1 << 24,
-			.n_entries_ext = 1 << 23,
-			.signature_offset = APP_METADATA_OFFSET(0),
-			.key_offset = APP_METADATA_OFFSET(32),
-			.f_hash = test_hash,
-			.seed = 0,
-			.key_mask = NULL,
-		};
-
 		struct rte_pipeline_table_params table_params = {
 			.ops = &rte_table_hash_key16_ext_ops,
 			.arg_create = &table_hash_params,
@@ -307,15 +268,6 @@ app_main_loop_worker_pipeline_hash(void) {
 
 	case e_APP_PIPELINE_HASH_SPEC_KEY16_LRU:
 	{
-		struct rte_table_hash_key16_lru_params table_hash_params = {
-			.n_entries = 1 << 24,
-			.signature_offset = APP_METADATA_OFFSET(0),
-			.key_offset = APP_METADATA_OFFSET(32),
-			.f_hash = test_hash,
-			.seed = 0,
-			.key_mask = NULL,
-		};
-
 		struct rte_pipeline_table_params table_params = {
 			.ops = &rte_table_hash_key16_lru_ops,
 			.arg_create = &table_hash_params,
@@ -332,15 +284,6 @@ app_main_loop_worker_pipeline_hash(void) {
 
 	case e_APP_PIPELINE_HASH_SPEC_KEY32_EXT:
 	{
-		struct rte_table_hash_key32_ext_params table_hash_params = {
-			.n_entries = 1 << 24,
-			.n_entries_ext = 1 << 23,
-			.signature_offset = APP_METADATA_OFFSET(0),
-			.key_offset = APP_METADATA_OFFSET(32),
-			.f_hash = test_hash,
-			.seed = 0,
-		};
-
 		struct rte_pipeline_table_params table_params = {
 			.ops = &rte_table_hash_key32_ext_ops,
 			.arg_create = &table_hash_params,
@@ -358,14 +301,6 @@ app_main_loop_worker_pipeline_hash(void) {
 
 	case e_APP_PIPELINE_HASH_SPEC_KEY32_LRU:
 	{
-		struct rte_table_hash_key32_lru_params table_hash_params = {
-			.n_entries = 1 << 24,
-			.signature_offset = APP_METADATA_OFFSET(0),
-			.key_offset = APP_METADATA_OFFSET(32),
-			.f_hash = test_hash,
-			.seed = 0,
-		};
-
 		struct rte_pipeline_table_params table_params = {
 			.ops = &rte_table_hash_key32_lru_ops,
 			.arg_create = &table_hash_params,
@@ -390,23 +325,8 @@ app_main_loop_worker_pipeline_hash(void) {
 	case e_APP_PIPELINE_HASH_CUCKOO_KEY112:
 	case e_APP_PIPELINE_HASH_CUCKOO_KEY128:
 	{
-		char hash_name[RTE_HASH_NAMESIZE];
-
-		snprintf(hash_name, sizeof(hash_name), "RTE_TH_CUCKOO_%d",
-			app.pipeline_type);
-
-		struct rte_table_hash_cuckoo_params table_hash_params = {
-			.key_size = key_size,
-			.n_keys = (1 << 24) + 1,
-			.f_hash = test_hash,
-			.seed = 0,
-			.signature_offset = APP_METADATA_OFFSET(0),
-			.key_offset = APP_METADATA_OFFSET(32),
-			.name = hash_name,
-		};
-
 		struct rte_pipeline_table_params table_params = {
-			.ops = &rte_table_hash_cuckoo_dosig_ops,
+			.ops = &rte_table_hash_cuckoo_ops,
 			.arg_create = &table_hash_params,
 			.f_action_hit = NULL,
 			.f_action_miss = NULL,
@@ -477,6 +397,7 @@ app_main_loop_worker_pipeline_hash(void) {
 
 uint64_t test_hash(
 	void *key,
+	__attribute__((unused)) void *key_mask,
 	__attribute__((unused)) uint32_t key_size,
 	__attribute__((unused)) uint64_t seed)
 {
@@ -539,7 +460,7 @@ app_main_loop_rx_metadata(void) {
 			} else
 				continue;
 
-			*signature = test_hash(key, 0, 0);
+			*signature = test_hash(key, NULL, 0, 0);
 		}
 
 		do {
