test/crypto-perf: extend asymmetric crypto throughput test
[dpdk.git] / app / test-flow-perf / flow_gen.c
index b2c828c..a0aedf0 100644 (file)
@@ -18,7 +18,7 @@
 
 static void
 fill_attributes(struct rte_flow_attr *attr,
-       uint64_t *flow_attrs, uint16_t group)
+       uint64_t *flow_attrs, uint16_t group, uint8_t max_priority)
 {
        uint8_t i;
        for (i = 0; i < MAX_ATTRS_NUM; i++) {
@@ -32,6 +32,7 @@ fill_attributes(struct rte_flow_attr *attr,
                        attr->transfer = 1;
        }
        attr->group = group;
+       attr->priority = rte_rand_max(max_priority);
 }
 
 struct rte_flow *
@@ -43,6 +44,13 @@ generate_flow(uint16_t port_id,
        uint16_t next_table,
        uint32_t outer_ip_src,
        uint16_t hairpinq,
+       uint64_t encap_data,
+       uint64_t decap_data,
+       uint16_t dst_port,
+       uint8_t core_idx,
+       uint8_t rx_queues_count,
+       bool unique_data,
+       uint8_t max_priority,
        struct rte_flow_error *error)
 {
        struct rte_flow_attr attr;
@@ -54,12 +62,14 @@ generate_flow(uint16_t port_id,
        memset(actions, 0, sizeof(actions));
        memset(&attr, 0, sizeof(struct rte_flow_attr));
 
-       fill_attributes(&attr, flow_attrs, group);
+       fill_attributes(&attr, flow_attrs, group, max_priority);
 
        fill_actions(actions, flow_actions,
-               outer_ip_src, next_table, hairpinq);
+               outer_ip_src, next_table, hairpinq,
+               encap_data, decap_data, core_idx,
+               unique_data, rx_queues_count, dst_port);
 
-       fill_items(items, flow_items, outer_ip_src);
+       fill_items(items, flow_items, outer_ip_src, core_idx);
 
        flow = rte_flow_create(port_id, &attr, items, actions, error);
        return flow;