From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id C09CF7E89 for ; Wed, 24 Dec 2014 03:56:54 +0100 (CET) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga102.fm.intel.com with ESMTP; 23 Dec 2014 18:56:53 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.07,636,1413270000"; d="scan'208";a="642206816" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by fmsmga001.fm.intel.com with ESMTP; 23 Dec 2014 18:56:52 -0800 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shvmail01.sh.intel.com with ESMTP id sBO2uo8Y016355; Wed, 24 Dec 2014 10:56:50 +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 sBO2umsA009729; Wed, 24 Dec 2014 10:56:50 +0800 Received: (from couyang@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id sBO2umNp009725; Wed, 24 Dec 2014 10:56:48 +0800 From: Ouyang Changchun To: dev@dpdk.org Date: Wed, 24 Dec 2014 10:56:42 +0800 Message-Id: <1419389808-9559-1-git-send-email-changchun.ouyang@intel.com> X-Mailer: git-send-email 1.7.12.2 In-Reply-To: <1418612225-6095-1-git-send-email-changchun.ouyang@intel.com> References: <1418612225-6095-1-git-send-email-changchun.ouyang@intel.com> Subject: [dpdk-dev] [PATCH v2 0/6] Enable VF RSS for Niantic 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: , X-List-Received-Date: Wed, 24 Dec 2014 02:56:55 -0000 This patch enables VF RSS for Niantic, which allow each VF having at most 4 queues. The actual queue number per VF depends on the total number of pool, which is determined by the total number of VF at PF initialization stage and the number of queue specified in config: 1) If the number of VF is in the range from 1 to 32 and the number of rxq is 4('--rxq 4' in testpmd), then there is totally 32 pools(ETH_32_POOLS), and each VF have 4 queues; 2)If the number of VF is in the range from 33 to 64 and 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. The limitation for Niantic VF RSS is: the hash and key are shared among PF and all VF, the RETA table with 128 entries are also shared among PF and all VF. So it is not good idea to query the hash and reta content per VF on guest, instead, it makes sense to query them on host(PF). v2 change: - Update the description; - Use receiving queue number('--rxq ') specified in config to determine the number of pool and the number of queue per VF; v1 change: - Config VF RSS; Changchun Ouyang (6): ixgbe: Code cleanup ixgbe: Negotiate VF API version ixgbe: Get VF queue number ether: Check VMDq RSS mode ixgbe: Config VF RSS testpmd: Set Rx VMDq RSS mode app/test-pmd/testpmd.c | 10 +++ lib/librte_ether/rte_ethdev.c | 39 ++++++++++-- lib/librte_pmd_ixgbe/ixgbe_ethdev.h | 1 + lib/librte_pmd_ixgbe/ixgbe_pf.c | 75 +++++++++++++++++++++- lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 121 +++++++++++++++++++++++++++++------- 5 files changed, 216 insertions(+), 30 deletions(-) -- 1.8.4.2