Driver: i40e DPDK : 17.11
Configuration : 1) RSS configuration rxmode.mq_mode = ETH_MQ_RX_RSS; rss->rss_hf = ETH_RSS_UDP | ETH_RSS_TCP; rss->rss_key = Microsoft key rss->rss_key_len = 52 *configure RETA to some rx-queues 2) Change hash to TOEPLITZ (only for i40e) struct rte_eth_hash_filter_info info = {}; info.info_type = RTE_ETH_HASH_FILTER_GLOBAL_CONFIG; info.info.global_conf.hash_func = RTE_ETH_HASH_FUNCTION_TOEPLITZ; rte_eth_dev_filter_ctrl(m_repid, RTE_ETH_FILTER_HASH, RTE_ETH_FILTER_SET, &info); 3) Configure some flow-director rules 4) TCP/UDP packets are received to the *right* core (based on a SW Toeplitz calculation +reta table) however The reported rss value is *wrong* in the mbuf (m->hash.rss == *wrong value*) ((m->ol_flags&PKT_RX_RSS_HASH) == PKT_RX_RSS_HASH 5) The above works fine for mlx5 and ixgbe 6) I suspect the hash is something else, maybe flow-director id or xor hash .. Wanted to know if this is a known issue. I can provide a simple way to reproduce it using TRex Thanks, Hanoh -----Original Message----- From: Bruce Richardson [mailto:bruce.richard...@intel.com] Sent: Thursday, March 22, 2018 1:35 PM To: Hanoch Haim (hhaim) Cc: dev@dpdk.org Subject: Re: [dpdk-dev] i40e mbuf->rss indication On Wed, Mar 21, 2018 at 06:47:22PM +0000, Hanoch Haim (hhaim) wrote: > Hi All, > DPDK:17.11 > When i40e is configured with RSS enabled and hash.type=toeplitz > > m->hash.rss = some weird number > ((m->ol_flags&PKT_RX_RSS_HASH) == PKT_RX_RSS_HASH > > The hash value is correct and match the MS Toeplitz standard. > > Is this expected? I'm sorry, but I don't quite follow the question, or the problem. Are you meaning to say that the hash value is incorrect, or that the flag is not being set or something else? /Bruce > > The above works fine with ixgbe/mlx5 > > Thanks, > Hanoh >