5 #ifndef __INCLUDE_RTE_MTR_DRIVER_H__ 6 #define __INCLUDE_RTE_MTR_DRIVER_H__ 21 #include "ethdev_driver.h" 29 typedef int (*rte_mtr_capabilities_get_t)(
struct rte_eth_dev *dev,
34 typedef int (*rte_mtr_meter_profile_add_t)(
struct rte_eth_dev *dev,
35 uint32_t meter_profile_id,
40 typedef int (*rte_mtr_meter_profile_delete_t)(
struct rte_eth_dev *dev,
41 uint32_t meter_profile_id,
45 typedef struct rte_flow_meter_profile *
46 (*rte_mtr_meter_profile_get_t)(
struct rte_eth_dev *dev,
47 uint32_t meter_profile_id,
51 typedef int (*rte_mtr_meter_policy_validate_t)(
struct rte_eth_dev *dev,
56 typedef int (*rte_mtr_meter_policy_add_t)(
struct rte_eth_dev *dev,
62 typedef int (*rte_mtr_meter_policy_delete_t)(
struct rte_eth_dev *dev,
67 typedef struct rte_flow_meter_policy *
68 (*rte_mtr_meter_policy_get_t)(
struct rte_eth_dev *dev,
74 typedef int (*rte_mtr_create_t)(
struct rte_eth_dev *dev,
81 typedef int (*rte_mtr_destroy_t)(
struct rte_eth_dev *dev,
86 typedef int (*rte_mtr_meter_enable_t)(
struct rte_eth_dev *dev,
91 typedef int (*rte_mtr_meter_disable_t)(
struct rte_eth_dev *dev,
96 typedef int (*rte_mtr_meter_profile_update_t)(
struct rte_eth_dev *dev,
98 uint32_t meter_profile_id,
102 typedef int (*rte_mtr_meter_policy_update_t)(
struct rte_eth_dev *dev,
104 uint32_t meter_policy_id,
108 typedef int (*rte_mtr_meter_dscp_table_update_t)(
struct rte_eth_dev *dev,
114 typedef int (*rte_mtr_meter_vlan_table_update_t)(
struct rte_eth_dev *dev,
120 typedef int (*rte_mtr_meter_color_in_proto_set_t)(
struct rte_eth_dev *dev,
127 typedef int (*rte_mtr_meter_color_in_proto_get_t)(
struct rte_eth_dev *dev,
129 uint64_t *proto_mask,
133 typedef int (*rte_mtr_meter_color_in_proto_prio_get_t)(
struct rte_eth_dev *dev,
140 typedef int (*rte_mtr_stats_update_t)(
struct rte_eth_dev *dev,
146 typedef int (*rte_mtr_stats_read_t)(
struct rte_eth_dev *dev,
149 uint64_t *stats_mask,
155 rte_mtr_capabilities_get_t capabilities_get;
158 rte_mtr_meter_profile_add_t meter_profile_add;
161 rte_mtr_meter_profile_delete_t meter_profile_delete;
164 rte_mtr_create_t create;
167 rte_mtr_destroy_t destroy;
170 rte_mtr_meter_enable_t meter_enable;
173 rte_mtr_meter_disable_t meter_disable;
176 rte_mtr_meter_profile_update_t meter_profile_update;
179 rte_mtr_meter_dscp_table_update_t meter_dscp_table_update;
182 rte_mtr_meter_vlan_table_update_t meter_vlan_table_update;
185 rte_mtr_meter_color_in_proto_set_t in_proto_set;
188 rte_mtr_meter_color_in_proto_get_t in_proto_get;
191 rte_mtr_meter_color_in_proto_prio_get_t in_proto_prio_get;
194 rte_mtr_stats_update_t stats_update;
197 rte_mtr_stats_read_t stats_read;
200 rte_mtr_meter_policy_validate_t meter_policy_validate;
203 rte_mtr_meter_policy_add_t meter_policy_add;
206 rte_mtr_meter_policy_delete_t meter_policy_delete;
209 rte_mtr_meter_policy_update_t meter_policy_update;
212 rte_mtr_meter_profile_get_t meter_profile_get;
215 rte_mtr_meter_policy_get_t meter_policy_get;
267 const struct rte_mtr_ops *
static int rte_mtr_error_set(struct rte_mtr_error *error, int code, enum rte_mtr_error_type type, const void *cause, const char *message)
enum rte_mtr_error_type type
rte_mtr_color_in_protocol
const struct rte_mtr_ops * rte_mtr_ops_get(uint16_t port_id, struct rte_mtr_error *error)