X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Fethdev%2Frte_mtr_driver.h;h=ee8c6ef7adb17e71d65ea833965fad9a3f8fd75d;hb=6e858b4d9244cf53505589673755ab18ac2a4a83;hp=a0ddc2b5f47f1b91a4ce004966695c7f231bd808;hpb=99a2dd955fba6e4cc23b77d590a033650ced9c45;p=dpdk.git diff --git a/lib/ethdev/rte_mtr_driver.h b/lib/ethdev/rte_mtr_driver.h index a0ddc2b5f4..ee8c6ef7ad 100644 --- a/lib/ethdev/rte_mtr_driver.h +++ b/lib/ethdev/rte_mtr_driver.h @@ -25,76 +25,91 @@ extern "C" { #endif +/** @internal MTR capabilities get. */ typedef int (*rte_mtr_capabilities_get_t)(struct rte_eth_dev *dev, struct rte_mtr_capabilities *cap, struct rte_mtr_error *error); -/**< @internal MTR capabilities get */ +/** @internal MTR meter profile add. */ typedef int (*rte_mtr_meter_profile_add_t)(struct rte_eth_dev *dev, uint32_t meter_profile_id, struct rte_mtr_meter_profile *profile, struct rte_mtr_error *error); -/**< @internal MTR meter profile add */ +/** @internal MTR meter profile delete. */ typedef int (*rte_mtr_meter_profile_delete_t)(struct rte_eth_dev *dev, uint32_t meter_profile_id, struct rte_mtr_error *error); -/**< @internal MTR meter profile delete */ +/** @internal MTR meter policy validate. */ +typedef int (*rte_mtr_meter_policy_validate_t)(struct rte_eth_dev *dev, + struct rte_mtr_meter_policy_params *policy, + struct rte_mtr_error *error); + +/** @internal MTR meter policy add. */ +typedef int (*rte_mtr_meter_policy_add_t)(struct rte_eth_dev *dev, + uint32_t policy_id, + struct rte_mtr_meter_policy_params *policy, + struct rte_mtr_error *error); + +/** @internal MTR meter policy delete. */ +typedef int (*rte_mtr_meter_policy_delete_t)(struct rte_eth_dev *dev, + uint32_t policy_id, + struct rte_mtr_error *error); + +/** @internal MTR object create. */ typedef int (*rte_mtr_create_t)(struct rte_eth_dev *dev, uint32_t mtr_id, struct rte_mtr_params *params, int shared, struct rte_mtr_error *error); -/**< @internal MTR object create */ +/** @internal MTR object destroy. */ typedef int (*rte_mtr_destroy_t)(struct rte_eth_dev *dev, uint32_t mtr_id, struct rte_mtr_error *error); -/**< @internal MTR object destroy */ +/** @internal MTR object meter enable. */ typedef int (*rte_mtr_meter_enable_t)(struct rte_eth_dev *dev, uint32_t mtr_id, struct rte_mtr_error *error); -/**< @internal MTR object meter enable */ +/** @internal MTR object meter disable. */ typedef int (*rte_mtr_meter_disable_t)(struct rte_eth_dev *dev, uint32_t mtr_id, struct rte_mtr_error *error); -/**< @internal MTR object meter disable */ +/** @internal MTR object meter profile update. */ typedef int (*rte_mtr_meter_profile_update_t)(struct rte_eth_dev *dev, uint32_t mtr_id, uint32_t meter_profile_id, struct rte_mtr_error *error); -/**< @internal MTR object meter profile update */ -typedef int (*rte_mtr_meter_dscp_table_update_t)(struct rte_eth_dev *dev, +/** @internal MTR object meter policy update. */ +typedef int (*rte_mtr_meter_policy_update_t)(struct rte_eth_dev *dev, uint32_t mtr_id, - enum rte_color *dscp_table, + uint32_t meter_policy_id, struct rte_mtr_error *error); -/**< @internal MTR object meter DSCP table update */ -typedef int (*rte_mtr_policer_actions_update_t)(struct rte_eth_dev *dev, +/** @internal MTR object meter DSCP table update. */ +typedef int (*rte_mtr_meter_dscp_table_update_t)(struct rte_eth_dev *dev, uint32_t mtr_id, - uint32_t action_mask, - enum rte_mtr_policer_action *actions, + enum rte_color *dscp_table, struct rte_mtr_error *error); -/**< @internal MTR object policer action update*/ +/** @internal MTR object enabled stats update. */ typedef int (*rte_mtr_stats_update_t)(struct rte_eth_dev *dev, uint32_t mtr_id, uint64_t stats_mask, struct rte_mtr_error *error); -/**< @internal MTR object enabled stats update */ +/** @internal MTR object stats read. */ typedef int (*rte_mtr_stats_read_t)(struct rte_eth_dev *dev, uint32_t mtr_id, struct rte_mtr_stats *stats, uint64_t *stats_mask, int clear, struct rte_mtr_error *error); -/**< @internal MTR object stats read */ struct rte_mtr_ops { /** MTR capabilities get */ @@ -124,14 +139,23 @@ struct rte_mtr_ops { /** MTR object meter DSCP table update */ rte_mtr_meter_dscp_table_update_t meter_dscp_table_update; - /** MTR object policer action update */ - rte_mtr_policer_actions_update_t policer_actions_update; - /** MTR object enabled stats update */ rte_mtr_stats_update_t stats_update; /** MTR object stats read */ rte_mtr_stats_read_t stats_read; + + /** MTR meter policy validate */ + rte_mtr_meter_policy_validate_t meter_policy_validate; + + /** MTR meter policy add */ + rte_mtr_meter_policy_add_t meter_policy_add; + + /** MTR meter policy delete */ + rte_mtr_meter_policy_delete_t meter_policy_delete; + + /** MTR object meter policy update */ + rte_mtr_meter_policy_update_t meter_policy_update; }; /**