Jasvinder Singh 719374345c examples/ip_pipeline: add action profile objects
Add action profile object implementation to the application.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
2018-04-05 19:00:08 +02:00

77 lines
1.8 KiB
C

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(c) 2010-2018 Intel Corporation
*/
#ifndef _INCLUDE_ACTION_H_
#define _INCLUDE_ACTION_H_
#include <sys/queue.h>
#include <rte_port_in_action.h>
#include <rte_table_action.h>
#include "common.h"
/**
* Input port action
*/
struct port_in_action_profile_params {
uint64_t action_mask;
struct rte_port_in_action_fltr_config fltr;
struct rte_port_in_action_lb_config lb;
};
struct port_in_action_profile {
TAILQ_ENTRY(port_in_action_profile) node;
char name[NAME_SIZE];
struct port_in_action_profile_params params;
struct rte_port_in_action_profile *ap;
};
TAILQ_HEAD(port_in_action_profile_list, port_in_action_profile);
int
port_in_action_profile_init(void);
struct port_in_action_profile *
port_in_action_profile_find(const char *name);
struct port_in_action_profile *
port_in_action_profile_create(const char *name,
struct port_in_action_profile_params *params);
/**
* Table action
*/
struct table_action_profile_params {
uint64_t action_mask;
struct rte_table_action_common_config common;
struct rte_table_action_mtr_config mtr;
struct rte_table_action_tm_config tm;
struct rte_table_action_encap_config encap;
struct rte_table_action_nat_config nat;
struct rte_table_action_ttl_config ttl;
struct rte_table_action_stats_config stats;
};
struct table_action_profile {
TAILQ_ENTRY(table_action_profile) node;
char name[NAME_SIZE];
struct table_action_profile_params params;
struct rte_table_action_profile *ap;
};
TAILQ_HEAD(table_action_profile_list, table_action_profile);
int
table_action_profile_init(void);
struct table_action_profile *
table_action_profile_find(const char *name);
struct table_action_profile *
table_action_profile_create(const char *name,
struct table_action_profile_params *params);
#endif /* _INCLUDE_ACTION_H_ */