Move all VF related limitationi or known issues from i40e.rst to intel_vf.rst, as i40evf has been removed from i40e, i40e.rst should only cover PF's information.
The patch also fix couple typos and refine the words to be more accurate. Signed-off-by: Qi Zhang <qi.z.zh...@intel.com> --- doc/guides/nics/i40e.rst | 50 ------------------------------------ doc/guides/nics/intel_vf.rst | 50 ++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst index 4875774346..a0992dbc6c 100644 --- a/doc/guides/nics/i40e.rst +++ b/doc/guides/nics/i40e.rst @@ -638,24 +638,6 @@ used to classify MPLS packet by using a command in testpmd like: testpmd> flow create 0 ingress pattern eth type is 0x8847 / end \ actions queue index <M> / end -16 Byte RX Descriptor setting on DPDK VF -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Currently the VF's RX descriptor mode is decided by PF. There's no PF-VF -interface for VF to request the RX descriptor mode, also no interface to notify -VF its own RX descriptor mode. -For all available versions of the i40e driver, these drivers don't support 16 -byte 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. The reason is that the RX descriptor is already set to 32 byte by -the i40e kernel driver. -In the future, if the Linux i40e driver supports 16 byte RX descriptor, user -should make sure the DPDK VF uses the same RX descriptor mode, 16 byte or 32 -byte, 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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -699,38 +681,6 @@ effect. It's suggested to set the strict priority mode for a TC that is latency sensitive but no consuming much bandwidth. -VF performance is impacted by PCI extended tag setting -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To reach maximum NIC performance in the VF the PCI extended tag must be -enabled. The DPDK i40e PF driver will set this feature during initialization, -but the kernel PF driver does not. So when running traffic on a VF which is -managed by the kernel PF driver, a significant NIC performance downgrade has -been observed (for 64 byte packets, there is about 25% line-rate downgrade for -a 25GbE device and about 35% for a 40GbE device). - -For kernel version >= 4.11, the kernel's PCI driver will enable the extended -tag if it detects that the device supports it. So by default, this is not an -issue. For kernels <= 4.11 or when the PCI extended tag is disabled it can be -enabled using the steps below. - -#. Get the current value of the PCI configure register:: - - setpci -s <XX:XX.X> a8.w - -#. Set bit 8:: - - value = value | 0x100 - -#. Set the PCI configure register with new value:: - - setpci -s <XX:XX.X> a8.w=<value> - -Vlan strip of VF -~~~~~~~~~~~~~~~~ - -The VF vlan strip function is only supported in the i40e kernel driver >= 2.1.26. - DCB function ~~~~~~~~~~~~ diff --git a/doc/guides/nics/intel_vf.rst b/doc/guides/nics/intel_vf.rst index 6498135655..09e1eb7685 100644 --- a/doc/guides/nics/intel_vf.rst +++ b/doc/guides/nics/intel_vf.rst @@ -647,3 +647,53 @@ Inline IPsec Support supports inline IPsec processing for IAVF PMD. For more details see the IPsec Security Gateway Sample Application and Security library documentation. + + +Limitations or Knowing issues +----------------------------- + +16 Byte RX Descriptor setting is not available +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Currently the VF's RX descriptor size is decided by PF. There's no PF-VF +interface for VF to request the RX descriptor size, also no interface to notify +VF its own RX descriptor size. +For all available versions of the kernel PF drivers, these drivers don't +support 16 bytes RX descriptor. If the Linux kernel driver is used as host driver, +while DPDK iavf PMD is used as the VF driver, DPDK cannot choose 16 bytes receive +descriptor. The reason is that the RX descriptor is already set to 32 bytes by +the all existing kernel driver. +In the future, if the any kernel driver supports 16 bytes RX descriptor, user +should make sure the DPDK VF uses the same RX descriptor size. + +i40e: VF performance is impacted by PCI extended tag setting +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To reach maximum NIC performance in the VF the PCI extended tag must be +enabled. But the kernel driver does not set this feature during initialization. +So when running traffic on a VF which is managed by the kernel PF driver, a +significant NIC performance downgrade has been observed (for 64 byte packets, +there is about 25% line-rate downgrade for a 25GbE device and about 35% for a +40GbE device). + +For kernel version >= 4.11, the kernel's PCI driver will enable the extended +tag if it detects that the device supports it. So by default, this is not an +issue. For kernels <= 4.11 or when the PCI extended tag is disabled it can be +enabled using the steps below. + +#. Get the current value of the PCI configure register:: + + setpci -s <XX:XX.X> a8.w + +#. Set bit 8:: + + value = value | 0x100 + +#. Set the PCI configure register with new value:: + + setpci -s <XX:XX.X> a8.w=<value> + +i40e: Vlan strip of VF +~~~~~~~~~~~~~~~~~~~~~~ + +The VF vlan strip function is only supported in the i40e kernel driver >= 2.1.26. -- 2.31.1