[dpdk-dev,v2,2/2] doc: update testpmd user guide for the heavyweight mode GRO

Message ID 1502960892-112960-3-git-send-email-jiayu.hu@intel.com (mailing list archive)
State Superseded, archived
Headers

Checks

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

Commit Message

Hu, Jiayu Aug. 17, 2017, 9:08 a.m. UTC
  This patch is to update testpmd user guide for the heavyweight mode GRO.

Signed-off-by: Jiayu Hu <jiayu.hu@intel.com>
---
 doc/guides/testpmd_app_ug/testpmd_funcs.rst | 37 +++++++++++++++++++++++------
 1 file changed, 30 insertions(+), 7 deletions(-)
  

Comments

Ferruh Yigit Aug. 21, 2017, 11:03 a.m. UTC | #1
On 8/17/2017 10:08 AM, Jiayu Hu wrote:
> This patch is to update testpmd user guide for the heavyweight mode GRO.

Documentation can be part of the implementation patch.
It is good to split patches logically, but I don't see the benefit of
splitting patch as documentation and implementation.

> 
> Signed-off-by: Jiayu Hu <jiayu.hu@intel.com>
> ---

<...>

>  
> +set gro flush interval
> +~~~~~~~~~~~~~~~~~~~~~~
> +
> +Set the interval of flushing GROed packets from reassembly tables::
> +
> +   testpmd> set gro flush interval (num)
> +
> +In the heavyweight mode, GROed packets are stored in reassembly tables
> +and need flushing from the tables manually. This command is to set the
> +number of performing GRO operations between two flushing operations.
> +
> +The value of ``num`` should be in the range of 0 to ``GRO_MAX_FLUSH_INTERVAL``.
> +``0`` means flush GROed packets from the tables when one GRO operation
> +finishes.

It can be good to mention default interval value is
GRO_DEFAULT_FLUSH_INTERVAL if this command not issued.

> +
>  mac_addr add
>  ~~~~~~~~~~~~
>  
>
  
Hu, Jiayu Aug. 22, 2017, 12:52 a.m. UTC | #2
Hi,

> -----Original Message-----

> From: Yigit, Ferruh

> Sent: Monday, August 21, 2017 7:04 PM

> To: Hu, Jiayu <jiayu.hu@intel.com>; dev@dpdk.org

> Cc: Ananyev, Konstantin <konstantin.ananyev@intel.com>; Tan, Jianfeng

> <jianfeng.tan@intel.com>; thomas@monjalon.net; Wu, Jingjing

> <jingjing.wu@intel.com>; Yao, Lei A <lei.a.yao@intel.com>

> Subject: Re: [PATCH v2 2/2] doc: update testpmd user guide for the

> heavyweight mode GRO

> 

> On 8/17/2017 10:08 AM, Jiayu Hu wrote:

> > This patch is to update testpmd user guide for the heavyweight mode GRO.

> 

> Documentation can be part of the implementation patch.

> It is good to split patches logically, but I don't see the benefit of

> splitting patch as documentation and implementation.


OK, I will combine these two patches in the next version.

> 

> >

> > Signed-off-by: Jiayu Hu <jiayu.hu@intel.com>

> > ---

> 

> <...>

> 

> >

> > +set gro flush interval

> > +~~~~~~~~~~~~~~~~~~~~~~

> > +

> > +Set the interval of flushing GROed packets from reassembly tables::

> > +

> > +   testpmd> set gro flush interval (num)

> > +

> > +In the heavyweight mode, GROed packets are stored in reassembly tables

> > +and need flushing from the tables manually. This command is to set the

> > +number of performing GRO operations between two flushing operations.

> > +

> > +The value of ``num`` should be in the range of 0 to

> ``GRO_MAX_FLUSH_INTERVAL``.

> > +``0`` means flush GROed packets from the tables when one GRO operation

> > +finishes.

> 

> It can be good to mention default interval value is

> GRO_DEFAULT_FLUSH_INTERVAL if this command not issued.


Thanks, I will add it in the next patch.

BRs,
Jiayu

> 

> > +

> >  mac_addr add

> >  ~~~~~~~~~~~~

> >

> >
  

Patch

diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 2ed62f5..fa507ef 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -898,12 +898,12 @@  Display the status of TCP Segmentation Offload::
 
    testpmd> tso show (port_id)
 
-gro
-~~~
+set port - gro
+~~~~~~~~~~~~~~
 
 Enable or disable GRO in ``csum`` forwarding engine::
 
-   testpmd> gro (on|off) (port_id)
+   testpmd> set port (port_id) gro (heavymode|lightmode) (on|off)
 
 If enabled, the csum forwarding engine will perform GRO on the TCP/IPv4
 packets received from the given port.
@@ -914,10 +914,18 @@  GRO. By default, GRO is disabled for all ports.
 .. note::
 
    When enable GRO for a port, TCP/IPv4 packets received from the port
-   will be performed GRO. After GRO, the merged packets are multi-segments.
-   But csum forwarding engine doesn't support to calculate TCP checksum
-   for multi-segment packets in SW. So please select TCP HW checksum
-   calculation for the port which GROed packets are transmitted to.
+   will be performed GRO. After GRO, all merged packets have bad
+   checksums, since the GRO library doesn't re-calculate checksums for
+   the merged packets. Therefore, if users want the merged packets to
+   have correct checksums, please select IP and TCP HW checksum calculation
+   for the port which the merged packets are transmitted to.
+
+show port - gro
+~~~~~~~~~~~~~~~
+
+Display GRO configuration::
+
+   testpmd> show port (port_id) gro
 
 gro set
 ~~~~~~~
@@ -932,6 +940,21 @@  number of packets a GRO table can store.
 If current packet number is greater than or equal to the max value, GRO
 will stop processing incoming packets.
 
+set gro flush interval
+~~~~~~~~~~~~~~~~~~~~~~
+
+Set the interval of flushing GROed packets from reassembly tables::
+
+   testpmd> set gro flush interval (num)
+
+In the heavyweight mode, GROed packets are stored in reassembly tables
+and need flushing from the tables manually. This command is to set the
+number of performing GRO operations between two flushing operations.
+
+The value of ``num`` should be in the range of 0 to ``GRO_MAX_FLUSH_INTERVAL``.
+``0`` means flush GROed packets from the tables when one GRO operation
+finishes.
+
 mac_addr add
 ~~~~~~~~~~~~