table: rework 32-byte key hash tables
[dpdk.git] / test / test-pipeline / pipeline_hash.c
index 1ac0aa8..eda63e8 100644 (file)
@@ -175,15 +175,15 @@ app_main_loop_worker_pipeline_hash(void) {
        case e_APP_PIPELINE_HASH_KEY16_EXT:
        case e_APP_PIPELINE_HASH_KEY32_EXT:
        {
-               struct rte_table_hash_ext_params table_hash_params = {
+               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,
-                       .n_buckets_ext = 1 << 21,
-                       .f_hash = test_hash,
+                       .f_hash = (rte_table_hash_op_hash)test_hash,
                        .seed = 0,
-                       .signature_offset = APP_METADATA_OFFSET(0),
-                       .key_offset = APP_METADATA_OFFSET(32),
                };
 
                struct rte_pipeline_table_params table_params = {
@@ -204,14 +204,15 @@ 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 = {
+               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,
+                       .f_hash = (rte_table_hash_op_hash)test_hash,
                        .seed = 0,
-                       .signature_offset = APP_METADATA_OFFSET(0),
-                       .key_offset = APP_METADATA_OFFSET(32),
                };
 
                struct rte_pipeline_table_params table_params = {
@@ -230,13 +231,14 @@ 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),
+               struct rte_table_hash_params table_hash_params = {
+                       .name = "TABLE",
+                       .key_size = key_size,
                        .key_offset = APP_METADATA_OFFSET(32),
                        .key_mask = NULL,
-                       .f_hash = test_hash,
+                       .n_keys = 1 << 24,
+                       .n_buckets = 1 << 22,
+                       .f_hash = (rte_table_hash_op_hash)test_hash,
                        .seed = 0,
                };
 
@@ -256,12 +258,14 @@ 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),
+               struct rte_table_hash_params table_hash_params = {
+                       .name = "TABLE",
+                       .key_size = key_size,
                        .key_offset = APP_METADATA_OFFSET(32),
                        .key_mask = NULL,
-                       .f_hash = test_hash,
+                       .n_keys = 1 << 24,
+                       .n_buckets = 1 << 22,
+                       .f_hash = (rte_table_hash_op_hash)test_hash,
                        .seed = 0,
                };
 
@@ -281,14 +285,15 @@ 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),
+               struct rte_table_hash_params table_hash_params = {
+                       .name = "TABLE",
+                       .key_size = key_size,
                        .key_offset = APP_METADATA_OFFSET(32),
-                       .f_hash = test_hash,
-                       .seed = 0,
                        .key_mask = NULL,
+                       .n_keys = 1 << 24,
+                       .n_buckets = 1 << 22,
+                       .f_hash = (rte_table_hash_op_hash)test_hash,
+                       .seed = 0,
                };
 
                struct rte_pipeline_table_params table_params = {
@@ -307,13 +312,15 @@ 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),
+               struct rte_table_hash_params table_hash_params = {
+                       .name = "TABLE",
+                       .key_size = key_size,
                        .key_offset = APP_METADATA_OFFSET(32),
-                       .f_hash = test_hash,
-                       .seed = 0,
                        .key_mask = NULL,
+                       .n_keys = 1 << 24,
+                       .n_buckets = 1 << 22,
+                       .f_hash = (rte_table_hash_op_hash)test_hash,
+                       .seed = 0,
                };
 
                struct rte_pipeline_table_params table_params = {
@@ -332,12 +339,14 @@ 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),
+               struct rte_table_hash_params table_hash_params = {
+                       .name = "TABLE",
+                       .key_size = key_size,
                        .key_offset = APP_METADATA_OFFSET(32),
-                       .f_hash = test_hash,
+                       .key_mask = NULL,
+                       .n_keys = 1 << 24,
+                       .n_buckets = 1 << 22,
+                       .f_hash = (rte_table_hash_op_hash)test_hash,
                        .seed = 0,
                };
 
@@ -358,11 +367,14 @@ 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),
+               struct rte_table_hash_params table_hash_params = {
+                       .name = "TABLE",
+                       .key_size = key_size,
                        .key_offset = APP_METADATA_OFFSET(32),
-                       .f_hash = test_hash,
+                       .key_mask = NULL,
+                       .n_keys = 1 << 24,
+                       .n_buckets = 1 << 22,
+                       .f_hash = (rte_table_hash_op_hash)test_hash,
                        .seed = 0,
                };
 
@@ -406,7 +418,7 @@ app_main_loop_worker_pipeline_hash(void) {
                };
 
                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,
@@ -480,7 +492,7 @@ uint64_t test_hash(
        __attribute__((unused)) uint32_t key_size,
        __attribute__((unused)) uint64_t seed)
 {
-       uint32_t *k32 = (uint32_t *) key;
+       uint32_t *k32 = key;
        uint32_t ip_dst = rte_be_to_cpu_32(k32[0]);
        uint64_t signature = (ip_dst >> 2) | ((ip_dst & 0x3) << 30);
 
@@ -546,7 +558,8 @@ app_main_loop_rx_metadata(void) {
                        ret = rte_ring_sp_enqueue_bulk(
                                app.rings_rx[i],
                                (void **) app.mbuf_rx.array,
-                               n_mbufs);
+                               n_mbufs,
+                               NULL);
                } while (ret == 0);
        }
 }