From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175]) by dpdk.org (Postfix) with ESMTP id 2F81E19F5 for ; Wed, 24 Dec 2014 11:49:14 +0100 (CET) Received: by mail-wi0-f175.google.com with SMTP id l15so13271800wiw.8 for ; Wed, 24 Dec 2014 02:49:14 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :subject:references:in-reply-to:content-type :content-transfer-encoding; bh=QmoRJshM7qcNw4o63OP8cuvTHBSgdQqg6h+8sVOrydg=; b=GKm/FA4uxxZwIeKL873jvIfS+/Q7Vqg23bbb+tBWQLS60vOOSWP+rgPlkLoSkdpO7U mveQmWOy9RskQIHwiy7qU8UHBYL1VHw7Y7UTYWKoT+y+qEJDbnJuqzfHzupwvnDGAZ+Q z960T2IaaV3h6qTUplqoWbI+4f2VfPQWJMpRGpVxlO8qGWD1CJpA6RmfUtxWl97I3oqK vHkXLFfQpJWYSxUq8X0RUjrZnqpTu9gGDwYaeSWmi8yfyr/9azjjhSWQ20LH5Ke/2Wpu ix7/GTcQyodEozR/o813cYLMJN1OHhT5JJTNfT+eX6CAUlM/uxzTzO07DQ2AqggYf8LF dpBQ== X-Gm-Message-State: ALoCoQkJQHGOAJa2zcNuRwwppw/GzSZejWeiqwZbzzXyhvubNyswZl+riHibzkDCyV5IMorknnVz X-Received: by 10.180.108.167 with SMTP id hl7mr49736102wib.68.1419418154032; Wed, 24 Dec 2014 02:49:14 -0800 (PST) Received: from [10.0.0.1] (bzq-79-179-97-80.red.bezeqint.net. [79.179.97.80]) by mx.google.com with ESMTPSA id f7sm20724219wiz.13.2014.12.24.02.49.13 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 24 Dec 2014 02:49:13 -0800 (PST) Message-ID: <549A9A28.10401@cloudius-systems.com> Date: Wed, 24 Dec 2014 12:49:12 +0200 From: Vlad Zolotarov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Ouyang Changchun , dev@dpdk.org References: <1419389808-9559-1-git-send-email-changchun.ouyang@intel.com> <1419398584-19520-1-git-send-email-changchun.ouyang@intel.com> In-Reply-To: <1419398584-19520-1-git-send-email-changchun.ouyang@intel.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v3 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 10:49:14 -0000 On 12/24/14 07:22, Ouyang Changchun wrote: > 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). > > v3 change: > - More cleanup; This series is still missing the appropriate patches in the rte_eth_dev_info_get() flow to return a reta_size for a VF device; and to rte_eth_dev_rss_reta_query() in the context of a VF device (I haven't noticed the initialization of a dev->dev_ops->reta_query for the VF device in this series). Without these code bits it's impossible to work with the VF devices in the RSS context the same way we work with the PF devices. It means that we'll have to do some special branching to handle the VF device and this voids the whole meaning of the framework which in turn is very unfortunate. > > 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 | 127 ++++++++++++++++++++++++++++-------- > 5 files changed, 219 insertions(+), 33 deletions(-) >