1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2010-2018 Intel Corporation
5 #ifndef _INCLUDE_ACTION_H_
6 #define _INCLUDE_ACTION_H_
10 #include <rte_port_in_action.h>
11 #include <rte_table_action.h>
18 struct port_in_action_profile_params {
20 struct rte_port_in_action_fltr_config fltr;
21 struct rte_port_in_action_lb_config lb;
24 struct port_in_action_profile {
25 TAILQ_ENTRY(port_in_action_profile) node;
27 struct port_in_action_profile_params params;
28 struct rte_port_in_action_profile *ap;
31 TAILQ_HEAD(port_in_action_profile_list, port_in_action_profile);
34 port_in_action_profile_init(void);
36 struct port_in_action_profile *
37 port_in_action_profile_find(const char *name);
39 struct port_in_action_profile *
40 port_in_action_profile_create(const char *name,
41 struct port_in_action_profile_params *params);
46 struct table_action_profile_params {
48 struct rte_table_action_common_config common;
49 struct rte_table_action_lb_config lb;
50 struct rte_table_action_mtr_config mtr;
51 struct rte_table_action_tm_config tm;
52 struct rte_table_action_encap_config encap;
53 struct rte_table_action_nat_config nat;
54 struct rte_table_action_ttl_config ttl;
55 struct rte_table_action_stats_config stats;
58 struct table_action_profile {
59 TAILQ_ENTRY(table_action_profile) node;
61 struct table_action_profile_params params;
62 struct rte_table_action_profile *ap;
65 TAILQ_HEAD(table_action_profile_list, table_action_profile);
68 table_action_profile_init(void);
70 struct table_action_profile *
71 table_action_profile_find(const char *name);
73 struct table_action_profile *
74 table_action_profile_create(const char *name,
75 struct table_action_profile_params *params);
77 #endif /* _INCLUDE_ACTION_H_ */