[dpdk-dev] ethdev: fix document for fuzzy match

Message ID 1499312792-3963-1-git-send-email-qi.z.zhang@intel.com (mailing list archive)
State Superseded, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Qi Zhang July 6, 2017, 3:46 a.m. UTC
  Fix couple document issues for fuzzy match.

Fixes: a3a2e2c8f7de ("ethdev: add fuzzy match in flow API")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 doc/guides/prog_guide/rte_flow.rst | 13 ++++++++-----
 lib/librte_ether/rte_flow.h        |  5 ++++-
 2 files changed, 12 insertions(+), 6 deletions(-)
  

Comments

Adrien Mazarguil July 6, 2017, 1:23 p.m. UTC | #1
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@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
>
  

Patch

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``
-^^^^^^^^^^^^^^
+^^^^^^^^^^^^^
 
 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.
+
 .. _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.
  */
 struct rte_flow_item_fuzzy {
-	uint32_t thresh; /**< Accuracy threshold*/
+	uint32_t thresh; /**< Accuracy threshold. */
 };
 
 /** Default mask for RTE_FLOW_ITEM_TYPE_FUZZY. */