From patchwork Tue Mar 3 08:50:48 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Ouyang Changchun X-Patchwork-Id: 3819 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id AF70E5A73; Tue, 3 Mar 2015 09:50:58 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 86EAD5A57 for ; Tue, 3 Mar 2015 09:50:57 +0100 (CET) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga102.fm.intel.com with ESMTP; 03 Mar 2015 00:50:55 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,680,1418112000"; d="scan'208";a="461762981" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by FMSMGA003.fm.intel.com with ESMTP; 03 Mar 2015 00:44:45 -0800 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shvmail01.sh.intel.com with ESMTP id t238orGW008608; Tue, 3 Mar 2015 16:50:53 +0800 Received: from shecgisg004.sh.intel.com (localhost [127.0.0.1]) by shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id t238ooIb021443; Tue, 3 Mar 2015 16:50:52 +0800 Received: (from couyang@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id t238on8L021439; Tue, 3 Mar 2015 16:50:49 +0800 From: Ouyang Changchun To: dev@dpdk.org Date: Tue, 3 Mar 2015 16:50:48 +0800 Message-Id: <1425372648-21410-1-git-send-email-changchun.ouyang@intel.com> X-Mailer: git-send-email 1.7.12.2 MIME-Version: 1.0 Subject: [dpdk-dev] =?utf-8?q?=5BPATCH=5D_doc=3A_Update_doc_for_ixgbe_VF_R?= =?utf-8?q?SS?= X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Since the following commit has already been merged into dpdk.org mainline, commit: 42d2f78abcb77ecb769be4149df550308169ef0f So update the prog guide for it. Signed-off-by: Changchun Ouyang --- .../prog_guide/i40e_ixgbe_igb_virt_func_drv.rst | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/doc/guides/prog_guide/i40e_ixgbe_igb_virt_func_drv.rst b/doc/guides/prog_guide/i40e_ixgbe_igb_virt_func_drv.rst index 41e316e..3039ba6 100755 --- a/doc/guides/prog_guide/i40e_ixgbe_igb_virt_func_drv.rst +++ b/doc/guides/prog_guide/i40e_ixgbe_igb_virt_func_drv.rst @@ -172,6 +172,44 @@ For example, Launch the DPDK testpmd/example or your own host daemon application using the DPDK PMD library. +* Using the DPDK PMD PF ixgbe driver to enable VF RSS: + + Same steps as above to install the modules of uio, igb_uio, specify max_vfs for PCI device, and + launch the DPDK testpmd/example or your own host daemon application using the DPDK PMD library. + + The available queue number(at most 4) per VF depends on the total number of pool, which is + determined by the max number of VF at PF initialization stage and the number of queue specified + in config: + + * If the max number of VF is set in the range of 1 to 32: + + If the number of rxq is specified as 4(e.g. '--rxq 4' in testpmd), then there are totally 32 + pools(ETH_32_POOLS), and each VF could have 4 or less(e.g. 2) queues; + + If the number of rxq is specified as 2(e.g. '--rxq 2' in testpmd), then there are totally 32 + pools(ETH_32_POOLS), and each VF could have 2 queues; + + * If the max number of VF is in the range of 33 to 64: + + If the number of rxq is 4 ('--rxq 4' in testpmd), then error message is expected as rxq is not + correct at this case; + + If the number of rxq is 2 ('--rxq 2' in testpmd), then there is totally 64 pools(ETH_64_POOLS), + and each VF have 2 queues; + + On host, to enable VF RSS functionality, rx mq mode should be set as ETH_MQ_RX_VMDQ_RSS + or ETH_MQ_RX_RSS mode, and SRIOV mode should be activated(max_vfs >= 1). + It also needs config VF RSS information like hash function, RSS key, RSS key length. + + .. code-block:: console + + testpmd -c 0xffff -n 4 -- --coremask= --rxq=4 --txq=4 -i + + The limitation for VF RSS on IntelĀ® 82599 10 Gigabit Ethernet Controller is: + The hash and key are shared among PF and all VF, the RETA table with 128 entries is also shared + among PF and all VF; So it could not to provide a method to query the hash and reta content per + VF on guest, while, if possible, please query them on host(PF) for the shared RETA information. + Virtual Function enumeration is performed in the following sequence by the Linux* pci driver for a dual-port NIC. When you enable the four Virtual Functions with the above command, the four enabled functions have a Function# represented by (Bus#, Device#, Function#) in sequence starting from 0 to 3.