apps: add mask-based hash functions
[dpdk.git] / examples / ip_pipeline / pipeline / pipeline_passthrough_be.c
index 6b57f83..93eedbe 100644 (file)
@@ -52,7 +52,7 @@
 struct pipeline_passthrough {
        struct pipeline p;
        struct pipeline_passthrough_params params;
-       rte_table_hash_op_hash_nomask f_hash;
+       rte_table_hash_op_hash f_hash;
        uint32_t swap_field0_offset[SWAP_DIM];
        uint32_t swap_field1_offset[SWAP_DIM];
        uint64_t swap_field_mask[SWAP_DIM];
@@ -102,7 +102,7 @@ pkt_work_dma(
 
        /* Read (dma_dst), compute (hash), write (hash) */
        if (hash_enabled) {
-               uint32_t hash = p->f_hash(dma_dst, dma_size, 0);
+               uint32_t hash = p->f_hash(dma_src, dma_mask, dma_size, 0);
                *dma_hash = hash;
 
                if (lb_hash) {
@@ -173,10 +173,10 @@ pkt4_work_dma(
 
        /* Read (dma_dst), compute (hash), write (hash) */
        if (hash_enabled) {
-               uint32_t hash0 = p->f_hash(dma_dst0, dma_size, 0);
-               uint32_t hash1 = p->f_hash(dma_dst1, dma_size, 0);
-               uint32_t hash2 = p->f_hash(dma_dst2, dma_size, 0);
-               uint32_t hash3 = p->f_hash(dma_dst3, dma_size, 0);
+               uint32_t hash0 = p->f_hash(dma_src0, dma_mask, dma_size, 0);
+               uint32_t hash1 = p->f_hash(dma_src1, dma_mask, dma_size, 0);
+               uint32_t hash2 = p->f_hash(dma_src2, dma_mask, dma_size, 0);
+               uint32_t hash3 = p->f_hash(dma_src3, dma_mask, dma_size, 0);
 
                *dma_hash0 = hash0;
                *dma_hash1 = hash1;
@@ -677,7 +677,7 @@ pipeline_passthrough_parse_args(struct pipeline_passthrough_params *p,
        return 0;
 }
 
-static rte_table_hash_op_hash_nomask
+static rte_table_hash_op_hash
 get_hash_function(struct pipeline_passthrough *p)
 {
        switch (p->params.dma_size) {