DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jim Thompson <jim@netgate.com>
To: Kamraan Nasim <knasim@sidebandnetworks.com>
Cc: dev@dpdk.org, Steve Noble <snoble@sidebandnetworks.com>,
	Jeriel Smith <sjeriel2@gmail.com>
Subject: Re: [dpdk-dev] Symmetric RSS Hashing in DPDK
Date: Thu, 18 Dec 2014 00:55:41 -0600	[thread overview]
Message-ID: <D70412DC-061D-4878-A3EF-B7D2DBF407AF@netgate.com> (raw)
In-Reply-To: <CAPrTski86XsoTVWeWfyWMGauMz=unr5ODYmgy-V79RZchJJA0A@mail.gmail.com>


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@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@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@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@sidebandnetworks.com>
>>>> Date: Tue, Dec 16, 2014 at 11:52 AM
>>>> Subject: [dpdk-dev] Symmetric RSS Hashing in DPDK
>>>> To: dev@dpdk.org
>>>> Cc: Steve Noble <snoble@sidebandnetworks.com>, Jun Du <
>>>> jdu@sidebandnetworks.com>, Ashish Juneja <ajuneja@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
>>>> 
>>> 

  reply	other threads:[~2014-12-18  6:55 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-16 19:52 Kamraan Nasim
     [not found] ` <CAOhi=LGc68UAe3tK2XPrCZVRAYWxzo5tZp5wtStpd5qdy=-qfw@mail.gmail.com>
     [not found]   ` <CABmQaND9TYt8cenMR-3Bqhxq42hid9_GHMf+t-nR9HoND7uJ5g@mail.gmail.com>
2014-12-17 19:12     ` Kamraan Nasim
2014-12-18  1:28       ` Kamraan Nasim
2014-12-18  6:55         ` Jim Thompson [this message]
2014-12-18  7:41           ` Zhang, Helin
2014-12-18  9:08           ` Franck Baudin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D70412DC-061D-4878-A3EF-B7D2DBF407AF@netgate.com \
    --to=jim@netgate.com \
    --cc=dev@dpdk.org \
    --cc=knasim@sidebandnetworks.com \
    --cc=sjeriel2@gmail.com \
    --cc=snoble@sidebandnetworks.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).