#include <stdint.h>
#include "common.h"
#include "snippets/snippet_match_ipv4.h"
static struct rte_flow *
create_flow_non_template(uint16_t port_id,
struct rte_flow_attr *attr,
{
struct rte_flow *flow = NULL;
return flow;
}
static struct rte_flow *
{
struct rte_flow_template_table *table = snippet_ipv4_flow_create_table(port_id, error);
if (table == NULL) {
printf("Failed to create table: %s (%s)\n",
return NULL;
}
QUEUE_ID,
ops_attr,
table,
patterns,
0,
actions,
0,
0,
error);
}
struct rte_flow *
generate_flow_skeleton(uint16_t port_id,
struct rte_flow_error *error,
int use_template_api)
{
snippet_ipv4_flow_create_actions(actions);
snippet_ipv4_flow_create_patterns(patterns);
if (use_template_api)
return create_flow_template(port_id, &ops_attr, patterns, actions, error);
return create_flow_non_template(port_id, &attr, patterns, actions, error);
}
const char * rte_strerror(int errnum)
__rte_experimental struct rte_flow * rte_flow_async_create(uint16_t port_id, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, struct rte_flow_template_table *template_table, const struct rte_flow_item pattern[], uint8_t pattern_template_index, const struct rte_flow_action actions[], uint8_t actions_template_index, void *user_data, struct rte_flow_error *error)
int rte_flow_validate(uint16_t port_id, const struct rte_flow_attr *attr, const struct rte_flow_item pattern[], const struct rte_flow_action actions[], struct rte_flow_error *error)
struct rte_flow * rte_flow_create(uint16_t port_id, const struct rte_flow_attr *attr, const struct rte_flow_item pattern[], const struct rte_flow_action actions[], struct rte_flow_error *error)