fda3750de6
Added support to create flows with priority attribute set randomly between 0 and a user supplied maximum value. This is useful to measure performance on NICs which may have to rearrange flows to honor flow priority. Removed the lower limit of 100000 flows per batch. Signed-off-by: Satheesh Paul <psatheesh@marvell.com> Acked-by: Wisam Jaddo <wisamm@nvidia.com>
45 lines
1.0 KiB
C
45 lines
1.0 KiB
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright 2020 Mellanox Technologies, Ltd
|
|
*
|
|
* This file contains the items, actions and attributes
|
|
* definition. And the methods to prepare and fill items,
|
|
* actions and attributes to generate rte_flow rule.
|
|
*/
|
|
|
|
#ifndef FLOW_PERF_FLOW_GEN
|
|
#define FLOW_PERF_FLOW_GEN
|
|
|
|
#include <stdint.h>
|
|
#include <rte_flow.h>
|
|
|
|
#include "config.h"
|
|
|
|
/* Actions */
|
|
#define HAIRPIN_QUEUE_ACTION FLOW_ACTION_MASK(0)
|
|
#define HAIRPIN_RSS_ACTION FLOW_ACTION_MASK(1)
|
|
|
|
/* Attributes */
|
|
#define INGRESS FLOW_ATTR_MASK(0)
|
|
#define EGRESS FLOW_ATTR_MASK(1)
|
|
#define TRANSFER FLOW_ATTR_MASK(2)
|
|
|
|
struct rte_flow *
|
|
generate_flow(uint16_t port_id,
|
|
uint16_t group,
|
|
uint64_t *flow_attrs,
|
|
uint64_t *flow_items,
|
|
uint64_t *flow_actions,
|
|
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);
|
|
|
|
#endif /* FLOW_PERF_FLOW_GEN */
|