Hi guys I40e has hardware offload of symmetric hashing. Patch set has been sent out during R1.8 time slot, but it will be in R2.0.
Regards, Helin > -----Original Message----- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jim Thompson > Sent: Thursday, December 18, 2014 2:56 PM > To: Kamraan Nasim > Cc: dev at dpdk.org; Steve Noble; Jeriel Smith > Subject: Re: [dpdk-dev] Symmetric RSS Hashing in DPDK > > > The issues are outlined in this paper: > http://www.ndsl.kaist.edu/~shinae/papers/TR-symRSS.pdf > > > On Dec 17, 2014, at 7:28 PM, Kamraan Nasim > <knasim at sidebandnetworks.com> wrote: > > > > Hi DPDK community, > > > > Any better RSS hash keys out there? > > > > --Kam > > > > On Wed, Dec 17, 2014 at 2:12 PM, Kamraan Nasim > > <knasim at sidebandnetworks.com> > > wrote: > >> > >> Thank you Jeriel. 0x00 0x01 works and I can get bi-directional > >> symmetry but you are right, it compromises the packet distribution. I > >> am seeing vastly different 5 tuples hashed with the same value. > >> > >> Will let you know if I find a better alternative. > >> > >> --Kam > >> > >> On Tue, Dec 16, 2014 at 5:17 PM, Jeriel Smith <sjeriel2 at gmail.com> > >> wrote: > >>> > >>> Hi Kamraan, > >>> Even i noticed it with "0x6d5a". Currently, I use a continuous > >>> pattern of "0x00 0x01" which helps in getting a symmetrical hashing. > >>> But, the packet spraying is not that good as "0x6d5a". Please let me > >>> know if you find a alternative. > >>> Thanks, > >>> Jeriel > >>> > >>> > >>>> ---------- Forwarded message ---------- > >>>> From: Kamraan Nasim <knasim at sidebandnetworks.com> > >>>> Date: Tue, Dec 16, 2014 at 11:52 AM > >>>> Subject: [dpdk-dev] Symmetric RSS Hashing in DPDK > >>>> To: dev at dpdk.org > >>>> Cc: Steve Noble <snoble at sidebandnetworks.com>, Jun Du < > >>>> jdu at sidebandnetworks.com>, Ashish Juneja > >>>> <ajuneja at sidebandnetworks.com> > >>>> > >>>> Hello, > >>>> > >>>> My DPDK application requires bidirectional TCP flows to have the > >>>> same RSS hash however default RSS hashing is *asymmetric*. > >>>> > >>>> > >>>> There are posts such as: > >>>> http://dpdk.info/ml/archives/dev/2014-February/001460.html > >>>> > >>>> which point to a symmetric RSS key(0x6d5a). I have tried using it > >>>> but it is still hashing bi-directional flows separately. I am using > >>>> an 82599 NIC. > >>>> > >>>> Have others come across this? What other options are available(I > >>>> presume S/W hashing)? > >>>> > >>>> Appreciate any help I can get on this :) > >>>> > >>>> #define RSS_HASH_KEY_LENGTH 40 > >>>> static uint8_t hash_key[RSS_HASH_KEY_LENGTH] = { > >>>> 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, > >>>> 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, > >>>> 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, > >>>> 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, > >>>> 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, }; // > >>>> ethernet rx config static struct rte_eth_conf port_conf = { > >>>> .rxmode = { > >>>> .mq_mode = ETH_MQ_RX_RSS, > >>>> .split_hdr_size = 0, > >>>> .header_split = 0, /**< Header Split disabled */ > >>>> .hw_ip_checksum = 1, /**< IP checksum offload enabled */ > >>>> .hw_vlan_filter = 0, /**< VLAN filtering disabled */ > >>>> .jumbo_frame = 0, /**< Jumbo Frame Support disabled */ > >>>> .hw_strip_crc = 0, /**< CRC stripped by hardware */ > >>>> }, > >>>> .rx_adv_conf = { > >>>> .rss_conf = { > >>>> .rss_key = hash_key, > >>>> .rss_hf = ETH_RSS_PROTO_MASK, > >>>> }, > >>>> }, > >>>> .txmode = { > >>>> .mq_mode = ETH_MQ_TX_NONE, > >>>> }, > >>>> }; > >>>> > >>>> > >>>> Thanks, > >>>> Kam > >>>> > >>>