From mboxrd@z Thu Jan 1 00:00:00 1970 From: Helin Zhang Subject: [PATCH 06/22] vmxnet3: enlarge the hash flags of RSS to 64 bits Date: Wed, 21 May 2014 23:30:05 +0800 Message-ID: <1400686221-4696-7-git-send-email-helin.zhang@intel.com> References: <1400686221-4696-1-git-send-email-helin.zhang@intel.com> To: dev-VfR2kkLFssw@public.gmane.org Return-path: In-Reply-To: <1400686221-4696-1-git-send-email-helin.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" As the hash flags of RSS has been enlarged from 16 bits to 64 bits in 'struct rte_eth_rss_conf' in rte_ethdev.h, the size of it in vmxnet3 should be enlarged as well. In addition, the flags for vmxnet3 only should be masked, as there are flags for others in that 64 bits. Signed-off-by: Helin Zhang Signed-off-by: Mark Chen --- lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c b/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c index 1072654..ad7cbb2 100644 --- a/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c +++ b/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c @@ -882,9 +882,16 @@ static uint8_t rss_intel_key[40] = { int vmxnet3_rss_configure(struct rte_eth_dev *dev) { +#define VMXNET3_RSS_OFFLOAD_ALL ( \ + ETH_RSS_IPV4 | \ + ETH_RSS_IPV4_TCP | \ + ETH_RSS_IPV6 | \ + ETH_RSS_IPV6_TCP) + struct vmxnet3_hw *hw; struct VMXNET3_RSSConf *dev_rss_conf; struct rte_eth_rss_conf *port_rss_conf; + uint64_t rss_hf; uint8_t i, j; PMD_INIT_FUNC_TRACE(); @@ -916,13 +923,14 @@ vmxnet3_rss_configure(struct rte_eth_dev *dev) /* loading hashType */ dev_rss_conf->hashType = 0; - if (port_rss_conf->rss_hf & ETH_RSS_IPV4) + rss_hf = port_rss_conf->rss_hf & VMXNET3_RSS_OFFLOAD_ALL; + if (rss_hf & ETH_RSS_IPV4) dev_rss_conf->hashType |= VMXNET3_RSS_HASH_TYPE_IPV4; - if (port_rss_conf->rss_hf & ETH_RSS_IPV4_TCP) + if (rss_hf & ETH_RSS_IPV4_TCP) dev_rss_conf->hashType |= VMXNET3_RSS_HASH_TYPE_TCP_IPV4; - if (port_rss_conf->rss_hf & ETH_RSS_IPV6) + if (rss_hf & ETH_RSS_IPV6) dev_rss_conf->hashType |= VMXNET3_RSS_HASH_TYPE_IPV6; - if (port_rss_conf->rss_hf & ETH_RSS_IPV6_TCP) + if (rss_hf & ETH_RSS_IPV6_TCP) dev_rss_conf->hashType |= VMXNET3_RSS_HASH_TYPE_TCP_IPV6; return VMXNET3_SUCCESS; -- 1.8.1.4