5f0d54f372
Currently, the flow meter policy does not support multiple actions per color; also the allowed action types per color are very limited. In addition, the policy cannot be pre-defined. Due to the growing in flow actions offload abilities there is a potential for the user to use variety of actions per color differently. This new meter policy API comes to allow this potential in the most ethdev common way using rte_flow action definition. A list of rte_flow actions will be provided by the user per color in order to create a meter policy. In addition, the API forces to pre-define the policy before the meters creation in order to allow sharing of single policy with multiple meters efficiently. meter_policy_id is added into struct rte_mtr_params. So that it can get the policy during the meters creation. Allow coloring the packet using a new rte_flow_action_color as could be done by the old policy API. Add two common policy template as macros in the head file. The next API function were added: - rte_mtr_meter_policy_add - rte_mtr_meter_policy_delete - rte_mtr_meter_policy_update - rte_mtr_meter_policy_validate The next struct was changed: - rte_mtr_params - rte_mtr_capabilities The next API was deleted: - rte_mtr_policer_actions_update To support this API the following app were changed: app/test-flow-perf: clean meter policer app/testpmd: clean meter policer To support this API the following drivers were changed: net/softnic: support meter policy API 1. Cleans meter rte_mtr_policer_action. 2. Supports policy API to get color action as policer action did. The color action will be mapped into rte_table_action_policer. net/mlx5: clean meter creation management Cleans and breaks part of the current meter management in order to allow better design with policy API. Signed-off-by: Li Zhang <lizh@nvidia.com> Signed-off-by: Haifei Luo <haifeil@nvidia.com> Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com> Acked-by: Ray Kinsella <mdr@ashroe.eu> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Jasvinder Singh <jasvinder.singh@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> |
||
---|---|---|
.. | ||
ethdev_driver.h | ||
ethdev_pci.h | ||
ethdev_private.c | ||
ethdev_private.h | ||
ethdev_profile.c | ||
ethdev_profile.h | ||
ethdev_trace_points.c | ||
ethdev_vdev.h | ||
meson.build | ||
rte_class_eth.c | ||
rte_dev_info.h | ||
rte_eth_ctrl.h | ||
rte_ethdev_core.h | ||
rte_ethdev_trace_fp.h | ||
rte_ethdev_trace.h | ||
rte_ethdev.c | ||
rte_ethdev.h | ||
rte_flow_driver.h | ||
rte_flow.c | ||
rte_flow.h | ||
rte_mtr_driver.h | ||
rte_mtr.c | ||
rte_mtr.h | ||
rte_tm_driver.h | ||
rte_tm.c | ||
rte_tm.h | ||
version.map |