[dpdk-dev] [PATCH v2] doc: mtr: add API walk through
Thomas Monjalon
thomas at monjalon.net
Wed Aug 4 18:46:33 CEST 2021
04/08/2021 13:34, jerinj at marvell.com:
> --- a/doc/guides/prog_guide/traffic_metering_and_policing.rst
> +++ b/doc/guides/prog_guide/traffic_metering_and_policing.rst
> @@ -14,12 +14,13 @@ SW or mixed HW-SW implementation.
>
> The main features are:
>
> -* Part of DPDK rte_ethdev API
> -* Capability query API
> -* Metering algorithms: RFC 2697 Single Rate Three Color Marker (srTCM), RFC 2698
> - and RFC 4115 Two Rate Three Color Marker (trTCM)
> -* Policer actions (per meter output color): recolor, drop
> -* Statistics (per policer output color)
> +#. Part of DPDK rte_ethdev API
> +#. Capability query API
> +#. Metering algorithms: RFC 2697 Single Rate Three Color Marker (srTCM), RFC 2698
> + and RFC 4115 Two Rate Three Color Marker (trTCM)
> +#. Policer actions (per meter output color): recolor, drop
> +#. Statistics (per policer output color)
> +#. Chaining the meter objects
Why changing to numbered list? There is no specific order?
[...]
> +API Walk-through
> +----------------
> +
> +.. _figure_meter_components:
This anchor is not used. Not needed I think.
> +
> +.. figure:: img/meter.*
> +
> + Meter components
> +
> +This section will introduce the reader to the critical APIs to use
> +the traffic meter and policing library.
> +
> +In general, the following steps performed by the application to configure
I think the verb "are" is missing.
> +the traffic meter and policing library.
> +
> +#. Application gets the meter driver capabilities using ``rte_mtr_capabilities_get()``.
> +#. Application identifies the profile(s) needed for metering and creates it with
> + ``rte_mtr_meter_profile_add()``.
> +#. Application identifies the policies needed and creates it with ``rte_mtr_meter_policy_add()``.
> +#. An meter object consists of a profile and a policy. Use above created objects to create
s/An/a/
> + meter object using ``rte_mtr_create()``. Application uses
> + ``struct rte_mtr_params::meter_profile_id`` and ``struct rte_mtr_params::meter_policy_id``
> + to specify the profile(created in step 2) and policy(created in step 3).
missing space before parentheseses.
> +#. Once the meter object is created, the application shall use ``rte_flow_create()`` API to
> + instantiate the meter object using ``RTE_FLOW_ACTION_TYPE_METER`` action.
> +#. The API allows chaining the meter objects to create complex metering topology
> + by specifying ``struct rte_mtr_meter_policy_params::actions`` as
> + ``RTE_FLOW_ACTION_TYPE_METER`` the parent meter object.
Not sure this last sentence is clear about what is the parent.
More information about the dev
mailing list