[dpdk-dev] [PATCH 3/3] rte_flow: add new action for traffic metering and policing

Adrien Mazarguil adrien.mazarguil at 6wind.com
Wed Sep 6 18:23:02 CEST 2017


Hi Cristian,

This commit should probably come first in the series since the rest relies
on it, right?

Subject line does not conform past commits, it should start with "ethdev:"
and not mention "rte_flow" (use "flow API").

On Sat, Aug 26, 2017 at 01:06:13AM +0100, Cristian Dumitrescu wrote:
> Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu at intel.com>

A short description of what this new item does and why it's added is
necessary. Context provided by the rest of the series will not always be
available.

More comments below.

> ---
>  lib/librte_ether/rte_flow.h | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
> 
> diff --git a/lib/librte_ether/rte_flow.h b/lib/librte_ether/rte_flow.h
> index bba6169..5569a87 100644
> --- a/lib/librte_ether/rte_flow.h
> +++ b/lib/librte_ether/rte_flow.h
> @@ -915,6 +915,14 @@ enum rte_flow_action_type {
>  	 * See struct rte_flow_action_vf.
>  	 */
>  	RTE_FLOW_ACTION_TYPE_VF,
> +
> +	/**
> +	 * Traffic metering and policing (MTR).
> +	 *
> +	 * See struct rte_flow_action_meter.
> +	 * See file rte_mtr.h for MTR object configuration.
> +	 */
> +	RTE_FLOW_ACTION_TYPE_METER,
>  };
>  
>  /**
> @@ -1008,6 +1016,20 @@ struct rte_flow_action_vf {
>  };
>  
>  /**
> + * RTE_FLOW_ACTION_TYPE_METER
> + *
> + * Traffic metering and policing (MTR).
> + *
> + * Packets matched by items of this type can be either dropped or passed to the
> + * next item with their color set by the MTR object.
> + *
> + * Non-terminating by default.
> + */
> +struct rte_flow_action_meter {
> +	uint32_t mtr_id; /**< MTR object ID created with rte_mtr_create(). */
> +};
> +

Default mask definition is missing.

> +/**
>   * Definition of a single action.
>   *
>   * A list of actions is terminated by a END action.
> -- 
> 2.7.4
> 

Even if MTR is a separate API, please add to this commit:

- Documentation update: guides/prog_guide/rte_flow.rst
- Testpmd update: app/test-pmd/cmdline_flow.c
- Testpmd documentation update: doc/guides/testpmd_app_ug/testpmd_funcs.rst

You can find examples in previous commits related to rte_flow.

-- 
Adrien Mazarguil
6WIND


More information about the dev mailing list