From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ob0-f177.google.com (mail-ob0-f177.google.com [209.85.214.177]) by dpdk.org (Postfix) with ESMTP id 27E4E3F9 for ; Thu, 18 Dec 2014 07:55:43 +0100 (CET) Received: by mail-ob0-f177.google.com with SMTP id va2so1900679obc.8 for ; Wed, 17 Dec 2014 22:55:42 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:content-type:mime-version:subject:from :in-reply-to:date:cc:content-transfer-encoding:message-id:references :to; bh=/kFapMtyvgq5pgXpJKYeStzXwHCIylsShX4tw+o7wbM=; b=Lpx6Wbl4Q/JCxVTiqxFqhWrfST1KYOJdXllNgxVyo3dp6VEFtHXZ54m5CYxIlnqudh YIarkW6P3bZkh/M5UFhtSqyqNfvshYshekdeom3QTIcfDMuyy+5pYw37qcsiKKx1Qx31 aQGqIsfbD22zpY3iP7q/zAJ02E8NL+7iZJ4zp1CDjHT3M0/tz2LWhLM/KpIMm1nMW8Im GIMnCRqNZBBTdMcnU613LVeZM89wFbtT24ITzKO8J4VgJs5aHz89IaV1rza7OpXGdxij G7sHQcD6dkM7BhYoh9NIyHpZWL3qazlVv5NSdaTd+QFAIJZT7wPaRrdeJRYJYWLTBBRt xxCA== X-Gm-Message-State: ALoCoQmeHhIZ8BQ2Mlgk6wBIehVbOwSvXNR1tUQwa0kMbakrPNsHTwFVUaL/kpPebC1XfEIvJc3f X-Received: by 10.60.103.172 with SMTP id fx12mr305812oeb.81.1418885742408; Wed, 17 Dec 2014 22:55:42 -0800 (PST) Received: from [172.21.0.26] (65-36-83-120.static.grandenetworks.net. [65.36.83.120]) by mx.google.com with ESMTPSA id y201sm2869269oie.9.2014.12.17.22.55.41 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 17 Dec 2014 22:55:41 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2064\)) From: Jim Thompson In-Reply-To: Date: Thu, 18 Dec 2014 00:55:41 -0600 Content-Transfer-Encoding: quoted-printable Message-Id: References: To: Kamraan Nasim X-Mailer: Apple Mail (2.2064) Cc: dev@dpdk.org, Steve Noble , Jeriel Smith Subject: Re: [dpdk-dev] Symmetric RSS Hashing in DPDK X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 06:55:43 -0000 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 = wrote: >=20 > Hi DPDK community, >=20 > Any better RSS hash keys out there? >=20 > --Kam >=20 > On Wed, Dec 17, 2014 at 2:12 PM, Kamraan Nasim = > wrote: >>=20 >> 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. >>=20 >> Will let you know if I find a better alternative. >>=20 >> --Kam >>=20 >> On Tue, Dec 16, 2014 at 5:17 PM, Jeriel Smith = wrote: >>>=20 >>> 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 >>>=20 >>>=20 >>>> ---------- Forwarded message ---------- >>>> From: Kamraan Nasim >>>> Date: Tue, Dec 16, 2014 at 11:52 AM >>>> Subject: [dpdk-dev] Symmetric RSS Hashing in DPDK >>>> To: dev@dpdk.org >>>> Cc: Steve Noble , Jun Du < >>>> jdu@sidebandnetworks.com>, Ashish Juneja = >>>>=20 >>>> Hello, >>>>=20 >>>> My DPDK application requires bidirectional TCP flows to have the = same RSS >>>> hash however default RSS hashing is *asymmetric*. >>>>=20 >>>>=20 >>>> There are posts such as: >>>> http://dpdk.info/ml/archives/dev/2014-February/001460.html >>>>=20 >>>> 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. >>>>=20 >>>> Have others come across this? What other options are available(I = presume >>>> S/W hashing)? >>>>=20 >>>> Appreciate any help I can get on this :) >>>>=20 >>>> #define RSS_HASH_KEY_LENGTH 40 >>>> static uint8_t hash_key[RSS_HASH_KEY_LENGTH] =3D { >>>> 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 =3D { >>>> .rxmode =3D { >>>> .mq_mode =3D ETH_MQ_RX_RSS, >>>> .split_hdr_size =3D 0, >>>> .header_split =3D 0, /**< Header Split disabled */ >>>> .hw_ip_checksum =3D 1, /**< IP checksum offload enabled */ >>>> .hw_vlan_filter =3D 0, /**< VLAN filtering disabled */ >>>> .jumbo_frame =3D 0, /**< Jumbo Frame Support disabled */ >>>> .hw_strip_crc =3D 0, /**< CRC stripped by hardware */ >>>> }, >>>> .rx_adv_conf =3D { >>>> .rss_conf =3D { >>>> .rss_key =3D hash_key, >>>> .rss_hf =3D ETH_RSS_PROTO_MASK, >>>> }, >>>> }, >>>> .txmode =3D { >>>> .mq_mode =3D ETH_MQ_TX_NONE, >>>> }, >>>> }; >>>>=20 >>>>=20 >>>> Thanks, >>>> Kam >>>>=20 >>>=20