From mboxrd@z Thu Jan 1 00:00:00 1970 From: Helin Zhang Subject: [PATCH 04/22] e1000: enlarge the hash flags of RSS to 64 bits Date: Wed, 21 May 2014 23:30:03 +0800 Message-ID: <1400686221-4696-5-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 e1000 should be enlarged as well. In addition, the flags for e1000 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_e1000/igb_rxtx.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/librte_pmd_e1000/igb_rxtx.c b/lib/librte_pmd_e1000/igb_rxtx.c index 4608595..c349f21 100644 --- a/lib/librte_pmd_e1000/igb_rxtx.c +++ b/lib/librte_pmd_e1000/igb_rxtx.c @@ -1521,17 +1521,29 @@ igb_rss_disable(struct rte_eth_dev *dev) static void igb_rss_configure(struct rte_eth_dev *dev) { +#define IGB_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 e1000_hw *hw; uint8_t *hash_key; uint32_t rss_key; uint32_t mrqc; uint32_t shift; - uint16_t rss_hf; + uint64_t rss_hf; uint16_t i; hw = E1000_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 & + IGB_RSS_OFFLOAD_ALL; if (rss_hf == 0) /* Disable RSS. */ { igb_rss_disable(dev); return; -- 1.8.1.4