[dpdk-dev] [PATCH] ethdev: fix document for fuzzy match
Adrien Mazarguil
adrien.mazarguil at 6wind.com
Thu Jul 6 15:23:53 CEST 2017
On Wed, Jul 05, 2017 at 11:46:32PM -0400, Qi Zhang wrote:
> Fix couple document issues for fuzzy match.
>
> Fixes: a3a2e2c8f7de ("ethdev: add fuzzy match in flow API")
>
> Signed-off-by: Qi Zhang <qi.z.zhang at intel.com>
Thanks, just a couple of comments below (nit-picking again).
> ---
> doc/guides/prog_guide/rte_flow.rst | 13 ++++++++-----
> lib/librte_ether/rte_flow.h | 5 ++++-
> 2 files changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst
> index 1b44f50..5063d58 100644
> --- a/doc/guides/prog_guide/rte_flow.rst
> +++ b/doc/guides/prog_guide/rte_flow.rst
> @@ -898,7 +898,7 @@ Matches a MPLS header.
> - Default ``mask`` matches label only.
>
> Item: ``GRE``
> -^^^^^^^^^^^^^^
> +^^^^^^^^^^^^^
This part should either be in a separate commit or you need a second Fixes
line for:
7cd048321d1d ("ethdev: add MPLS and GRE flow API items")
>
> Matches a GRE header.
>
> @@ -907,7 +907,7 @@ Matches a GRE header.
> - Default ``mask`` matches protocol only.
>
> Item: ``FUZZY``
> -^^^^^^^^^^^^^^^^^
> +^^^^^^^^^^^^^^^
>
> Fuzzy pattern match, expect faster than default.
>
> @@ -918,19 +918,22 @@ value, but it is possible two different patterns have the same hash value.
> Matching accuracy level can be configured by threshold. Driver can divide the
> range of threshold and map to different accuracy levels that device support.
>
> +Threshold 0 means perfect match(no fuzziness), while threshold 0xffffffff
> +means fuzziest match.
> +
Additional space necessary before "(no fuzziness)".
> .. _table_rte_flow_item_fuzzy:
>
> .. table:: FUZZY
>
> +----------+---------------+--------------------------------------------------+
> | Field | Subfield | Value |
> - +==========+===========+======================================================+
> + +==========+===============+==================================================+
> | ``spec`` | ``threshold`` | 0 as perfect match, 0xffffffff as fuzziest match |
> +----------+---------------+--------------------------------------------------+
> | ``last`` | ``threshold`` | upper range value |
> - +----------+-----------+------------------------------------------------------+
> + +----------+---------------+--------------------------------------------------+
> | ``mask`` | ``threshold`` | bit-mask apply to "spec" and "last" |
> - +----------+-----------+------------------------------------------------------+
> + +----------+---------------+--------------------------------------------------+
>
> Usage example, fuzzy match a TCPv4 packets:
>
> diff --git a/lib/librte_ether/rte_flow.h b/lib/librte_ether/rte_flow.h
> index cfbed30..f92f3c3 100644
> --- a/lib/librte_ether/rte_flow.h
> +++ b/lib/librte_ether/rte_flow.h
> @@ -719,9 +719,12 @@ static const struct rte_flow_item_gre rte_flow_item_gre_mask = {
> * Matching accuracy level can be configure by threshold.
> * Driver can divide the range of threshold and map to different
> * accuracy levels that device support.
> + *
> + * Threshold 0 means perfect match(no fuzziness), while threshold
> + * 0xffffffff means fuzziest match.
Ditto here.
> */
> struct rte_flow_item_fuzzy {
> - uint32_t thresh; /**< Accuracy threshold*/
> + uint32_t thresh; /**< Accuracy threshold. */
> };
>
> /** Default mask for RTE_FLOW_ITEM_TYPE_FUZZY. */
> --
> 2.7.4
>
--
Adrien Mazarguil
6WIND
More information about the dev
mailing list