From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id EDF185965 for ; Wed, 21 May 2014 17:31:04 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP; 21 May 2014 08:31:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.98,880,1392192000"; d="scan'208";a="544296431" Received: from shilc102.sh.intel.com ([10.239.39.44]) by orsmga002.jf.intel.com with ESMTP; 21 May 2014 08:30:45 -0700 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shilc102.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id s4LFUeqW003754; Wed, 21 May 2014 23:30:42 +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 s4LFUbBs004951; Wed, 21 May 2014 23:30:39 +0800 Received: (from hzhan75@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id s4LFUbeh004947; Wed, 21 May 2014 23:30:37 +0800 From: Helin Zhang To: dev@dpdk.org Date: Wed, 21 May 2014 23:30:04 +0800 Message-Id: <1400686221-4696-6-git-send-email-helin.zhang@intel.com> X-Mailer: git-send-email 1.7.0.7 In-Reply-To: <1400686221-4696-1-git-send-email-helin.zhang@intel.com> References: <1400686221-4696-1-git-send-email-helin.zhang@intel.com> Subject: [dpdk-dev] [PATCH 05/22] ixgbe: enlarge the hash flags of RSS to 64 bits 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, 21 May 2014 15:31:05 -0000 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 ixgbe should be enlarged as well. In addition, the flags for ixgbe 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_ixgbe/ixgbe_rxtx.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c index 37d02aa..5138035 100644 --- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c +++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c @@ -2294,19 +2294,31 @@ ixgbe_rss_disable(struct rte_eth_dev *dev) static void ixgbe_rss_configure(struct rte_eth_dev *dev) { +#define IXGBE_RSS_OFFLOAD_ALL ( \ + ETH_RSS_IPV4 | \ + ETH_RSS_IPV4_TCP | \ + ETH_RSS_IPV6 | \ + ETH_RSS_IPV6_EX | \ + ETH_RSS_IPV6_TCP | \ + ETH_RSS_IPV6_TCP_EX | \ + ETH_RSS_IPV4_UDP | \ + ETH_RSS_IPV6_UDP | \ + ETH_RSS_IPV6_UDP_EX) + struct ixgbe_hw *hw; uint8_t *hash_key; uint32_t rss_key; uint32_t mrqc; uint32_t reta; - uint16_t rss_hf; + uint64_t rss_hf; uint16_t i; uint16_t j; PMD_INIT_FUNC_TRACE(); hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private); - rss_hf = dev->data->dev_conf.rx_adv_conf.rss_conf.rss_hf; + rss_hf = dev->data->dev_conf.rx_adv_conf.rss_conf.rss_hf & + IXGBE_RSS_OFFLOAD_ALL; if (rss_hf == 0) { /* Disable RSS */ ixgbe_rss_disable(dev); return; -- 1.8.1.4