[dpdk-dev] doc: more clarification for i40e 16 bytes desc

Message ID 1508900093-9894-1-git-send-email-wenzhuo.lu@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers

Checks

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

Commit Message

Wenzhuo Lu Oct. 25, 2017, 2:54 a.m. UTC
  The description of i40e 16 bytes descriptor is not clear
enough. Add more details.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 doc/guides/nics/i40e.rst | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
  

Comments

Bruce Richardson Oct. 25, 2017, 8:36 a.m. UTC | #1
On Wed, Oct 25, 2017 at 10:54:53AM +0800, Wenzhuo Lu wrote:
> The description of i40e 16 bytes descriptor is not clear
> enough. Add more details.
> 
> Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
> ---

Good idea to document this better.

>  doc/guides/nics/i40e.rst | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
> index a0946e6..e0237a8 100644
> --- a/doc/guides/nics/i40e.rst
> +++ b/doc/guides/nics/i40e.rst
> @@ -398,13 +398,20 @@ used to classify MPLS packet by using a command in testpmd like:
>     testpmd> ethertype_filter 0 add mac_ignr 00:00:00:00:00:00 ethertype \
>              0x8847 fwd queue <M>
>  
> -16 Byte Descriptor cannot be used on DPDK VF
> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +16 Bytes Descriptor setting on DPDK VF
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>  
> +Until 2.1.26, the Linux i40e driver doesn't support 16 bytes RX descriptor.

I assume that 2.1.26 is referring to the i40e driver version, not the
linux kernel version. This should be made clearer, as it also could be
read as a very old kernel version.

>  If the Linux i40e kernel driver is used as host driver, while DPDK i40e PMD
>  is used as the VF driver, DPDK cannot choose 16 byte receive descriptor. That
>  is to say, user should keep ``CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n`` in
>  config file.

Can you explain - either on-list here, or actually in the docs - why
there is this restriction? Is it HW or SW? A reference to the section in
the datasheet for it would also be good. For example Table 8-10 in the
datasheet lists no restriction on the Dsize bit in the queue context.

> +In the future, if the Linux i40e driver supports 16 bytes RX descriptor, user
> +should make sure the DPDK VF uses the same RX descriptor mode, 16 bytes or 32
> +bytes, as the PF driver.
> +
> +The same rule for DPDK PF + DPDK VF. The PF and VF should use the same RX
> +descriptor mode. Or the VF RX will not work.
>  
>  Receive packets with Ethertype 0x88A8
>  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> -- 
> 1.9.3
> 


Regards,
/Bruce
  
Wenzhuo Lu Oct. 31, 2017, 1:53 a.m. UTC | #2
Hi Bruce,

> -----Original Message-----
> From: Richardson, Bruce
> Sent: Wednesday, October 25, 2017 4:37 PM
> To: Lu, Wenzhuo <wenzhuo.lu@intel.com>
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] doc: more clarification for i40e 16 bytes desc
> 
> On Wed, Oct 25, 2017 at 10:54:53AM +0800, Wenzhuo Lu wrote:
> > The description of i40e 16 bytes descriptor is not clear enough. Add
> > more details.
> >
> > Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
> > ---
> 
> Good idea to document this better.
> 
> >  doc/guides/nics/i40e.rst | 11 +++++++++--
> >  1 file changed, 9 insertions(+), 2 deletions(-)
> >
> > diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst index
> > a0946e6..e0237a8 100644
> > --- a/doc/guides/nics/i40e.rst
> > +++ b/doc/guides/nics/i40e.rst
> > @@ -398,13 +398,20 @@ used to classify MPLS packet by using a command
> in testpmd like:
> >     testpmd> ethertype_filter 0 add mac_ignr 00:00:00:00:00:00 ethertype \
> >              0x8847 fwd queue <M>
> >
> > -16 Byte Descriptor cannot be used on DPDK VF
> > -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > +16 Bytes Descriptor setting on DPDK VF
> > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >
> > +Until 2.1.26, the Linux i40e driver doesn't support 16 bytes RX descriptor.
> 
> I assume that 2.1.26 is referring to the i40e driver version, not the linux
> kernel version. This should be made clearer, as it also could be read as a very
> old kernel version.
OK, I'll change it to i40e 2.1.26.

> 
> >  If the Linux i40e kernel driver is used as host driver, while DPDK
> > i40e PMD  is used as the VF driver, DPDK cannot choose 16 byte receive
> > descriptor. That  is to say, user should keep
> > ``CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n`` in  config file.
> 
> Can you explain - either on-list here, or actually in the docs - why there is
> this restriction? Is it HW or SW? A reference to the section in the datasheet
> for it would also be good. For example Table 8-10 in the datasheet lists no
> restriction on the Dsize bit in the queue context.
It's not a HW limitation. To my opinion, it's SW design and implementation limitation.
I'll add more details.

> 
> > +In the future, if the Linux i40e driver supports 16 bytes RX
> > +descriptor, user should make sure the DPDK VF uses the same RX
> > +descriptor mode, 16 bytes or 32 bytes, as the PF driver.
> > +
> > +The same rule for DPDK PF + DPDK VF. The PF and VF should use the
> > +same RX descriptor mode. Or the VF RX will not work.
> >
> >  Receive packets with Ethertype 0x88A8
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > --
> > 1.9.3
> >
> 
> 
> Regards,
> /Bruce
  

Patch

diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index a0946e6..e0237a8 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -398,13 +398,20 @@  used to classify MPLS packet by using a command in testpmd like:
    testpmd> ethertype_filter 0 add mac_ignr 00:00:00:00:00:00 ethertype \
             0x8847 fwd queue <M>
 
-16 Byte Descriptor cannot be used on DPDK VF
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+16 Bytes Descriptor setting on DPDK VF
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
+Until 2.1.26, the Linux i40e driver doesn't support 16 bytes RX descriptor.
 If the Linux i40e kernel driver is used as host driver, while DPDK i40e PMD
 is used as the VF driver, DPDK cannot choose 16 byte receive descriptor. That
 is to say, user should keep ``CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n`` in
 config file.
+In the future, if the Linux i40e driver supports 16 bytes RX descriptor, user
+should make sure the DPDK VF uses the same RX descriptor mode, 16 bytes or 32
+bytes, as the PF driver.
+
+The same rule for DPDK PF + DPDK VF. The PF and VF should use the same RX
+descriptor mode. Or the VF RX will not work.
 
 Receive packets with Ethertype 0x88A8
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~