> -----Original Message----- > From: Su, Simei > Sent: Monday, September 30, 2019 2:34 PM > To: Andrew Rybchenko <arybche...@solarflare.com>; Shahaf Shuler > <shah...@mellanox.com>; Adrien Mazarguil <adrien.mazarg...@6wind.com> > Cc: Zhang, Qi Z <qi.z.zh...@intel.com>; Wu, Jingjing <jingjing...@intel.com>; > dev@dpdk.org > Subject: RE: [dpdk-dev] [PATCH 1/2] ethdev: add symmetric toeplitz hash > support > > Hi, Andrew > > > -----Original Message----- > > From: Andrew Rybchenko [mailto:arybche...@solarflare.com] > > Sent: Monday, September 30, 2019 2:15 PM > > To: Su, Simei <simei...@intel.com>; Shahaf Shuler > > <shah...@mellanox.com>; Adrien Mazarguil <adrien.mazarg...@6wind.com> > > Cc: Zhang, Qi Z <qi.z.zh...@intel.com>; Wu, Jingjing > > <jingjing...@intel.com>; dev@dpdk.org > > Subject: Re: [dpdk-dev] [PATCH 1/2] ethdev: add symmetric toeplitz > > hash support > > > > Hi Simei, > > > > On 9/30/19 6:12 AM, Su, Simei wrote: > > > Hi, Andrew > > > > > >> -----Original Message----- > > >> From: Andrew Rybchenko [mailto:arybche...@solarflare.com] > > >> Sent: Sunday, September 29, 2019 7:51 PM > > >> To: Shahaf Shuler <shah...@mellanox.com>; Adrien Mazarguil > > >> <adrien.mazarg...@6wind.com> > > >> Cc: Su, Simei <simei...@intel.com>; Zhang, Qi Z > > >> <qi.z.zh...@intel.com>; Wu, Jingjing <jingjing...@intel.com>; > > >> dev@dpdk.org > > >> Subject: Re: [dpdk-dev] [PATCH 1/2] ethdev: add symmetric toeplitz > > >> hash support > > >> > > >> On 7/31/19 4:43 PM, Shahaf Shuler wrote: > > >>> Wednesday, July 31, 2019 3:31 PM, Adrien Mazarguil: > > >>>> Subject: Re: [dpdk-dev] [PATCH 1/2] ethdev: add symmetric > > >>>> toeplitz hash support > > >>>> > > >>>> On Wed, Jul 31, 2019 at 03:08:19PM +0300, Andrew Rybchenko wrote: > > >>>>> On 7/25/19 7:57 AM, simei wrote: > > >>>>>> From: Simei Su <simei...@intel.com> > > >>>>>> > > >>>>>> Currently, there are DEFAULT,TOEPLITZ and SIMPLE_XOR hash > funtion. > > >>>>>> To support symmetric hash by rte_flow RSS action, this patch > > >>>>>> adds new hash function "Symmetric Toeplitz" which is supported > > >>>>>> by some > > >>>> hardware. > > >>>>> Isn't it a question of key to achieve symmetry? > > >>>>> I.e. hash algorithm (function) is still the same - Toeplitz, but > > >>>>> hash key makes the result symmetric (i.e. equal for flows in > > >>>>> both directions - swap transport ports and IPv4/6 addresses). > > >>>> This is only an option when src/dst are known in advance. > > >>>> > > >>>> When doing RSS, HW implementations (such as Mellanox's) implement > > >>>> a modified Toeplitz XOR'ing src with dst resulting in the same > > >>>> hash both ways regardless of the key. > > >>> Just to stand correct it was a bug on Mellanox kernel driver that > > >>> was fixed. Now > > >> the RSS is spec complaint (non-symmetric). > > >>> Andrew is correct one can have a special key that will make the > > >>> RSS symmetric, > > >> however it is good to have this option for the user to explicitly > > >> request symmetric function (w/o any restriction on the key). > > >> > > >> I think we need a definition what is behind SYMMETRIC_TOEPLITZ here. > > >> If I'd like to test it and check, I need to know an algorithm in > > >> order to know what to expect. > > >> Also it is important to make it the same for all NIC vendors: what > > >> should algorithm be in order to say that it is symmetric Toeplitz? > > > The symmetric toeplitz is: src, dst will be replaced by xor(src, dst). > > > It is expected to get the same hash value when swapping src/dst ip or > > > port. > > > > Are both replaced by XOR or just one is replaced by XOR and another > > one removed from Toeplitz input? If later, how does it coexist with src/dst > only flags? > > > > Anyway, please, add it to the patch in Doxygen comments. > > > In our case, src and dst are both replaced by XOR. For example, src ip and > dst ip or src port and dst port are swapped, the hash value is the same. > SRC/DST only flags is another thing, it covers input set change.
For the case with dst / src only, src or dst address will XOR with zero pair, so it result same value as simple Toeplitz > > Br > Simei > > > Thanks, > > Andrew.