From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B3ABAA0542; Tue, 6 Sep 2022 06:31:54 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 91332400D6; Tue, 6 Sep 2022 06:31:54 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id A8A0440041 for ; Tue, 6 Sep 2022 06:31:52 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662438712; x=1693974712; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=tN1I5bLJ1hTO5PCChNWW1PKOzaieXCZxfUbYVT/K36s=; b=E1sKdZvO5AJivdT/aVxdyKP80JM+V7brt0OS2U59JSt/dx2rOds0ex5I Hfw3kommXe5P7GT8eTA3ekunCYfpiOsXKEZpCvgOT56pZHLvHarD5sVeC YPXujC8BasiW7qtuDCzwGpTU2ji3GFneRsxamZ6IQvppMwN0yThNgXKp9 U64A/t/HtX8u1e5bXWhyic1mzCIytlCOFnVrv7EC+l9/A3FjWrSt2BBSx 9IL6gr2ZNOliTcPbDqSMZOfbDnjGl9eepdfoFzYFbRHsVpZKkcSM/9jUr +9Tps9oDXbvnz/PP3e+1OuZiCc+wmbjCYTl7BIa5ZchgFSvbPRuYr5rEy w==; X-IronPort-AV: E=McAfee;i="6500,9779,10461"; a="294085172" X-IronPort-AV: E=Sophos;i="5.93,293,1654585200"; d="scan'208";a="294085172" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Sep 2022 21:31:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,293,1654585200"; d="scan'208";a="591118126" Received: from dpdk-qzhan15-test02.sh.intel.com ([10.67.115.4]) by orsmga006.jf.intel.com with ESMTP; 05 Sep 2022 21:31:50 -0700 From: Qi Zhang To: beilei.xing@intel.com, jingjing.wu@intel.com Cc: qiming.yang@intel.com, dev@dpdk.org, Qi Zhang Subject: [PATCH] doc: refine iavf limitation or known issues Date: Tue, 6 Sep 2022 08:42:00 -0400 Message-Id: <20220906124200.4025474-1-qi.z.zhang@intel.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 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 --- 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 / 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 a8.w - -#. Set bit 8:: - - value = value | 0x100 - -#. Set the PCI configure register with new value:: - - setpci -s a8.w= - -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 a8.w + +#. Set bit 8:: + + value = value | 0x100 + +#. Set the PCI configure register with new value:: + + setpci -s a8.w= + +i40e: Vlan strip of VF +~~~~~~~~~~~~~~~~~~~~~~ + +The VF vlan strip function is only supported in the i40e kernel driver >= 2.1.26. -- 2.31.1