From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgw.gov.kz (mgw.gov.kz [89.218.88.242]) by dpdk.org (Postfix) with ESMTP id 427FB7F11 for ; Sat, 15 Nov 2014 08:00:57 +0100 (CET) Received: from mgw.gov.kz (mx.ctsat.kz [178.89.4.95]) by mgw.gov.kz with ESMTP id sAF7B2nj003987-sAF7B2nl003987 (version=TLSv1.0 cipher=AES128-SHA bits=128 verify=NO); Sat, 15 Nov 2014 13:11:02 +0600 Received: from EXCASHUB1.rgp.local (192.168.40.51) by EdgeForefront.rgp.local (192.168.40.59) with Microsoft SMTP Server (TLS) id 14.2.247.3; Sat, 15 Nov 2014 13:10:53 +0600 Received: from [192.168.35.15] (192.168.35.15) by excashub1.rgp.local (192.168.40.48) with Microsoft SMTP Server (TLS) id 14.2.247.3; Sat, 15 Nov 2014 13:10:50 +0600 Message-ID: <5466FC4D.1060405@sts.kz> Date: Sat, 15 Nov 2014 13:10:05 +0600 From: Yerden Zhumabekov User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Matt Laswell References: <2601191342CEEE43887BDE71AB977258213ADDFA@IRSMSX105.ger.corp.intel.com> <54662C64.9040500@sts.kz> <2601191342CEEE43887BDE71AB977258213ADEA6@IRSMSX105.ger.corp.intel.com> In-Reply-To: X-Originating-IP: [192.168.35.15] X-FEAS-SYSTEM-WL: e_zhumabekov@sts.kz Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] Load-balancing position field in DPDK load_balancer sample app vs. Hash table 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: Sat, 15 Nov 2014 07:00:57 -0000 Hello Matt, You can specify RSS configuration through rte_eth_dev_configure() function supplied with this structure: struct rte_eth_conf port_conf =3D { .rxmode =3D { .mq_mode =3D ETH_MQ_RX_RSS, ... }, .rx_adv_conf =3D { .rss_conf =3D { .rss_key =3D NULL, .rss_hf =3D ETH_RSS_IPV4 | ETH_RSS_IPV6, }, }, ..... }; In this case, RSS-hash is calculated over IP addresses only and with default RSS key. Look at lib/librte_ether/rte_ethdev.h for other definitions. 15.11.2014 0:49, Matt Laswell =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > Hey Folks, > > This thread has been tremendously helpful, as I'm looking at adding > RSS-based load balancing to my application in the not too distant > future. Many thanks to all who have contributed, especially regarding > symmetric RSS. > > Not to derail the conversation too badly, but could one of you point > me to some example code that demonstrates the steps needed to > configure RSS? We're using Niantic NICs, so I assume that this is > pretty standard stuff, but having an example to study is a real leg up.= > > Again, thanks for all of the information. > > -- > Matt Laswell > laswell@infiniteio.com > infinite io, inc. > > On Fri, Nov 14, 2014 at 10:57 AM, Chilikin, Andrey > > wrote: > > Fortville supports symmetrical hashing on HW level, a patch for > i40e PMD was submitted a couple of weeks ago. For Niantic you can > use symmetrical rss key recommended by Konstantin. > > Regards, > Andrey > > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org > ] On Behalf Of Ananyev, Konstantin > Sent: Friday, November 14, 2014 4:50 PM > To: Yerden Zhumabekov; Kamraan Nasim; dev@dpdk.org > > Cc: Yuanzhang Hu > Subject: Re: [dpdk-dev] Load-balancing position field in DPDK > load_balancer sample app vs. Hash table > > > -----Original Message----- > > From: Yerden Zhumabekov [mailto:e_zhumabekov@sts.kz > ] > > Sent: Friday, November 14, 2014 4:23 PM > > To: Ananyev, Konstantin; Kamraan Nasim; dev@dpdk.org > > > Cc: Yuanzhang Hu > > Subject: Re: [dpdk-dev] Load-balancing position field in DPDK > > load_balancer sample app vs. Hash table > > > > I'd like to interject a question here. > > > > In case of flow classification, one might possibly prefer for > packets > > from the same flow to fall on the same logical core. With this '%= ' > > load balancing, it would require to get the same RSS hash value f= or > > packets with direct (src to dst) and swapped (dst to src) IPs and= > > ports. Am I correct that hardware RSS calculation cannot provide > this symmetry? > > As I remember, it is possible but you have to tweak rss key values.= > Here is a paper describing how to do that: > http://www.ndsl.kaist.edu/~shinae/papers/TR-symRSS.pdf > > > Konstantin > > > > > 14.11.2014 20:44, Ananyev, Konstantin =D0=BF=D0=B8=D1=88=D0=B5=D1= =82: > > > If you have a NIC that is capable to do HW hash computation, th= en > > > you can do your load balancing based on that value. > > > Let say ixgbe/igb/i40e NICs can calculate RSS hash value based = on > > > different combinations of dst/src Ips, dst/src ports. > > > This value can be stored inside mbuf for each RX packet by PMD > RX function. > > > Then you can do: > > > worker_id =3D mbuf->hash.rss % n_workersl > > > > > > That might to provide better balancing then using just one byte= > > > value, plus should be a bit faster, as in that case your > balancer code don't need to touch packet's data. > > > > > > Konstantin > > > > -- > > Sincerely, > > > > Yerden Zhumabekov > > State Technical Service > > Astana, KZ > > > > --=20 Sincerely, Yerden Zhumabekov State Technical Service Astana, KZ