Thread (16 messages) flat view 16 messages, 5 authors, 2021-11-26

Re: [dpdk-dev] [PATCH v2] doc: mtr: add API walk through

From: Thomas Monjalon <hidden>
Date: 2021-08-04 16:46:40

04/08/2021 13:34, jerinj@marvell.com:
quoted hunk ↗ jump to hunk
--- 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.


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help