* [dpdk-dev] buf->hash.rss always empty with i40e [not found] <1845201442.14836426.1485600385431.JavaMail.zimbra@ulg.ac.be> @ 2017-01-28 10:48 ` tom.barbette 2017-01-30 10:46 ` Bruce Richardson 0 siblings, 1 reply; 9+ messages in thread From: tom.barbette @ 2017-01-28 10:48 UTC (permalink / raw) To: dev Hi all, No matter the number of queues or the ETH_RSS_X parameter the mbuf->hash.rss field is empty using XL710 NICs. The exact same configuration gives me good hash value values with ixgbe/82599 cards. Any idea? I checked it is the same problem on 2.2 and 16.11. FlowDirector is not used. Thanks, Tom ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] buf->hash.rss always empty with i40e 2017-01-28 10:48 ` [dpdk-dev] buf->hash.rss always empty with i40e tom.barbette @ 2017-01-30 10:46 ` Bruce Richardson 2017-01-30 12:59 ` tom.barbette 0 siblings, 1 reply; 9+ messages in thread From: Bruce Richardson @ 2017-01-30 10:46 UTC (permalink / raw) To: tom.barbette; +Cc: dev On Sat, Jan 28, 2017 at 11:48:36AM +0100, tom.barbette@ulg.ac.be wrote: > Hi all, > > No matter the number of queues or the ETH_RSS_X parameter the mbuf->hash.rss field is empty using XL710 NICs. The exact same configuration gives me good hash value values with ixgbe/82599 cards. > > Any idea? I checked it is the same problem on 2.2 and 16.11. FlowDirector is not used. It's hard to diagnose the exact problem without the full settings you have tried, but one thing to watch out for that has caught me in the past is that turning on RSS for IP packets, does not give an RSS value if there is also TCP or UDP in the packets too. It only applies to IP packets without TCP or UDP. Here are settings that work for me with i40e driver: static const struct rte_eth_conf port_conf_default = { .rxmode = { .mq_mode = ETH_MQ_RX_RSS, .max_rx_pkt_len = ETHER_MAX_LEN }, .rx_adv_conf = { .rss_conf = { .rss_hf = ETH_RSS_IP | ETH_RSS_TCP | ETH_RSS_UDP, } } }; Regards, /Bruce ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] buf->hash.rss always empty with i40e 2017-01-30 10:46 ` Bruce Richardson @ 2017-01-30 12:59 ` tom.barbette 2017-02-06 9:25 ` tom.barbette 0 siblings, 1 reply; 9+ messages in thread From: tom.barbette @ 2017-01-30 12:59 UTC (permalink / raw) To: Bruce Richardson; +Cc: dev That solved it ! Thanks. However I think this should be documented somewhere, especially as the behaviour is different between i40e and ixgbe. Tom ----- Mail original ----- De: "Bruce Richardson" <bruce.richardson@intel.com> À: "tom barbette" <tom.barbette@ulg.ac.be> Cc: dev@dpdk.org Envoyé: Lundi 30 Janvier 2017 11:46:30 Objet: Re: [dpdk-dev] buf->hash.rss always empty with i40e On Sat, Jan 28, 2017 at 11:48:36AM +0100, tom.barbette@ulg.ac.be wrote: > Hi all, > > No matter the number of queues or the ETH_RSS_X parameter the mbuf->hash.rss field is empty using XL710 NICs. The exact same configuration gives me good hash value values with ixgbe/82599 cards. > > Any idea? I checked it is the same problem on 2.2 and 16.11. FlowDirector is not used. It's hard to diagnose the exact problem without the full settings you have tried, but one thing to watch out for that has caught me in the past is that turning on RSS for IP packets, does not give an RSS value if there is also TCP or UDP in the packets too. It only applies to IP packets without TCP or UDP. Here are settings that work for me with i40e driver: static const struct rte_eth_conf port_conf_default = { .rxmode = { .mq_mode = ETH_MQ_RX_RSS, .max_rx_pkt_len = ETHER_MAX_LEN }, .rx_adv_conf = { .rss_conf = { .rss_hf = ETH_RSS_IP | ETH_RSS_TCP | ETH_RSS_UDP, } } }; Regards, /Bruce ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] buf->hash.rss always empty with i40e 2017-01-30 12:59 ` tom.barbette @ 2017-02-06 9:25 ` tom.barbette 2017-02-06 12:25 ` Ananyev, Konstantin 0 siblings, 1 reply; 9+ messages in thread From: tom.barbette @ 2017-02-06 9:25 UTC (permalink / raw) To: Bruce Richardson; +Cc: dev That also leave the question of how to HASH only on the IP tuple for TCP and UDP packets? The use case is that I want all packets from the same IP src/dst pair to be hashed to the same queue. This cannot be enforced with a complete hash on TCP/UDP fields. Tom ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] buf->hash.rss always empty with i40e 2017-02-06 9:25 ` tom.barbette @ 2017-02-06 12:25 ` Ananyev, Konstantin 2017-02-06 15:07 ` tom.barbette 0 siblings, 1 reply; 9+ messages in thread From: Ananyev, Konstantin @ 2017-02-06 12:25 UTC (permalink / raw) To: tom.barbette, Richardson, Bruce; +Cc: dev Hi Tom, > > That also leave the question of how to HASH only on the IP tuple for TCP and UDP packets? The use case is that I want all packets from the > same IP src/dst pair to be hashed to the same queue. This cannot be enforced with a complete hash on TCP/UDP fields. > That's for IPv4 only? It was a while ago, when I looked at it, but as I remember you can achieve that by filling first 64 bits of RSS hash with some meaningful values, and keeping remaining RSS bits as zeroes. You probably can give it a quick try with testpmd. There is a nice article about similar subject: http://www.ndsl.kaist.edu/~kyoungsoo/papers/TR-symRSS.pdf Konstantin ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] buf->hash.rss always empty with i40e 2017-02-06 12:25 ` Ananyev, Konstantin @ 2017-02-06 15:07 ` tom.barbette 2017-02-07 1:59 ` Zhang, Helin 2017-02-08 1:24 ` Wu, Jingjing 0 siblings, 2 replies; 9+ messages in thread From: tom.barbette @ 2017-02-06 15:07 UTC (permalink / raw) To: Konstantin Ananyev; +Cc: Bruce Richardson, dev, helin.zhang, jingjing.wu Hi Konstantin, It seems a little overkill to play with the key... The XL710 seems to be able to hash on IP fields only. It seems only a configuration issue, I'm adding i40e maintainers in CC so they can confirm? I think the i40e driver should configure XL710 to hash on IP fields for TCP and UDP when only ETH_RSS_IP is given instead of hashing to 0. That would mimic ixgbe behaviour btw. Tom ----- Mail original ----- De: "Konstantin Ananyev" <konstantin.ananyev@intel.com> À: "tom barbette" <tom.barbette@ulg.ac.be>, "Bruce Richardson" <bruce.richardson@intel.com> Cc: dev@dpdk.org Envoyé: Lundi 6 Février 2017 13:25:59 Objet: RE: buf->hash.rss always empty with i40e Hi Tom, > > That also leave the question of how to HASH only on the IP tuple for TCP and UDP packets? The use case is that I want all packets from the > same IP src/dst pair to be hashed to the same queue. This cannot be enforced with a complete hash on TCP/UDP fields. > That's for IPv4 only? It was a while ago, when I looked at it, but as I remember you can achieve that by filling first 64 bits of RSS hash with some meaningful values, and keeping remaining RSS bits as zeroes. You probably can give it a quick try with testpmd. There is a nice article about similar subject: http://www.ndsl.kaist.edu/~kyoungsoo/papers/TR-symRSS.pdf Konstantin ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] buf->hash.rss always empty with i40e 2017-02-06 15:07 ` tom.barbette @ 2017-02-07 1:59 ` Zhang, Helin 2017-02-08 1:24 ` Wu, Jingjing 1 sibling, 0 replies; 9+ messages in thread From: Zhang, Helin @ 2017-02-07 1:59 UTC (permalink / raw) To: tom.barbette, Ananyev, Konstantin; +Cc: Richardson, Bruce, dev, Wu, Jingjing Hi Tom Sorry, by default, i40e HW is a bit different from ixgbe HW. It will not treat UDP as an IP packet, when setting hash enable flags. But, a feature of configuring 'input set' can help to change the default HW behavior. Please refer to testpmd input set part to understand how to use that. Thanks! Regards, Helin -----Original Message----- From: tom.barbette@ulg.ac.be [mailto:tom.barbette@ulg.ac.be] Sent: Monday, February 6, 2017 11:08 PM To: Ananyev, Konstantin <konstantin.ananyev@intel.com> Cc: Richardson, Bruce <bruce.richardson@intel.com>; dev@dpdk.org; Zhang, Helin <helin.zhang@intel.com>; Wu, Jingjing <jingjing.wu@intel.com> Subject: Re: buf->hash.rss always empty with i40e Hi Konstantin, It seems a little overkill to play with the key... The XL710 seems to be able to hash on IP fields only. It seems only a configuration issue, I'm adding i40e maintainers in CC so they can confirm? I think the i40e driver should configure XL710 to hash on IP fields for TCP and UDP when only ETH_RSS_IP is given instead of hashing to 0. That would mimic ixgbe behaviour btw. Tom ----- Mail original ----- De: "Konstantin Ananyev" <konstantin.ananyev@intel.com> À: "tom barbette" <tom.barbette@ulg.ac.be>, "Bruce Richardson" <bruce.richardson@intel.com> Cc: dev@dpdk.org Envoyé: Lundi 6 Février 2017 13:25:59 Objet: RE: buf->hash.rss always empty with i40e Hi Tom, > > That also leave the question of how to HASH only on the IP tuple for > TCP and UDP packets? The use case is that I want all packets from the same IP src/dst pair to be hashed to the same queue. This cannot be enforced with a complete hash on TCP/UDP fields. > That's for IPv4 only? It was a while ago, when I looked at it, but as I remember you can achieve that by filling first 64 bits of RSS hash with some meaningful values, and keeping remaining RSS bits as zeroes. You probably can give it a quick try with testpmd. There is a nice article about similar subject: http://www.ndsl.kaist.edu/~kyoungsoo/papers/TR-symRSS.pdf Konstantin ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] buf->hash.rss always empty with i40e 2017-02-06 15:07 ` tom.barbette 2017-02-07 1:59 ` Zhang, Helin @ 2017-02-08 1:24 ` Wu, Jingjing 2017-02-08 14:19 ` Thomas Monjalon 1 sibling, 1 reply; 9+ messages in thread From: Wu, Jingjing @ 2017-02-08 1:24 UTC (permalink / raw) To: tom.barbette, Ananyev, Konstantin; +Cc: Richardson, Bruce, dev, Zhang, Helin > -----Original Message----- > From: tom.barbette@ulg.ac.be [mailto:tom.barbette@ulg.ac.be] > Sent: Monday, February 6, 2017 11:08 PM > To: Ananyev, Konstantin <konstantin.ananyev@intel.com> > Cc: Richardson, Bruce <bruce.richardson@intel.com>; dev@dpdk.org; Zhang, > Helin <helin.zhang@intel.com>; Wu, Jingjing <jingjing.wu@intel.com> > Subject: Re: buf->hash.rss always empty with i40e > > Hi Konstantin, > > It seems a little overkill to play with the key... The XL710 seems to be able to > hash on IP fields only. It seems only a configuration issue, I'm adding i40e > maintainers in CC so they can confirm? I think the i40e driver should > configure XL710 to hash on IP fields for TCP and UDP when only ETH_RSS_IP > is given instead of hashing to 0. That would mimic ixgbe behaviour btw. > > Tom > Yes, the behavior of XL710 is different from ixgbe on that. If only enable ETH_RSS_IP, rss will not work on TCP and UDP packets. So you need To set ETH_RSS_IP | ETH_RSS_UDP |ETH_RSS_TCP Thanks Jingjing ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] buf->hash.rss always empty with i40e 2017-02-08 1:24 ` Wu, Jingjing @ 2017-02-08 14:19 ` Thomas Monjalon 0 siblings, 0 replies; 9+ messages in thread From: Thomas Monjalon @ 2017-02-08 14:19 UTC (permalink / raw) To: Wu, Jingjing Cc: dev, tom.barbette, Ananyev, Konstantin, Richardson, Bruce, Zhang, Helin 2017-02-08 01:24, Wu, Jingjing: > Yes, the behavior of XL710 is different from ixgbe on that. > If only enable ETH_RSS_IP, rss will not work on TCP and UDP packets. So you need > To set ETH_RSS_IP | ETH_RSS_UDP |ETH_RSS_TCP Where is it documented? ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2017-02-08 14:20 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <1845201442.14836426.1485600385431.JavaMail.zimbra@ulg.ac.be> 2017-01-28 10:48 ` [dpdk-dev] buf->hash.rss always empty with i40e tom.barbette 2017-01-30 10:46 ` Bruce Richardson 2017-01-30 12:59 ` tom.barbette 2017-02-06 9:25 ` tom.barbette 2017-02-06 12:25 ` Ananyev, Konstantin 2017-02-06 15:07 ` tom.barbette 2017-02-07 1:59 ` Zhang, Helin 2017-02-08 1:24 ` Wu, Jingjing 2017-02-08 14:19 ` Thomas Monjalon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).