From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id BAAFD8E7A for ; Tue, 18 Aug 2015 12:34:52 +0200 (CEST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga103.jf.intel.com with ESMTP; 18 Aug 2015 03:34:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,701,1432623600"; d="scan'208";a="543996605" Received: from irsmsx152.ger.corp.intel.com ([163.33.192.66]) by FMSMGA003.fm.intel.com with ESMTP; 18 Aug 2015 03:34:50 -0700 Received: from irsmsx108.ger.corp.intel.com ([169.254.11.22]) by IRSMSX152.ger.corp.intel.com ([169.254.6.88]) with mapi id 14.03.0224.002; Tue, 18 Aug 2015 11:34:49 +0100 From: "Dumitrescu, Cristian" To: "Singh, Jasvinder" , "Yeddula, Avinash" , "Richardson, Bruce" Thread-Topic: [dpdk-dev] [ 2nd try ] Lookup mechanim in DPDK HASH table. Thread-Index: AdDWEC6OvyssoEwzRkW/rjWnlKZeIQAWoiAAAKCu8WAABs0O8AADVACAACLdtIA= Date: Tue, 18 Aug 2015 10:34:49 +0000 Message-ID: <3EB4FA525960D640B5BDFFD6A3D89126478A45B3@IRSMSX108.ger.corp.intel.com> References: <20150814092502.GA8916@bricha3-MOBL3> <54CBAA185211B4429112C315DA58FF6DD265C4@IRSMSX103.ger.corp.intel.com> <54CBAA185211B4429112C315DA58FF6DD266EF@IRSMSX103.ger.corp.intel.com> In-Reply-To: <54CBAA185211B4429112C315DA58FF6DD266EF@IRSMSX103.ger.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.180] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Cc: "dev@dpdk.org" , "Bly, Mike" Subject: Re: [dpdk-dev] [ 2nd try ] Lookup mechanim in DPDK 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: Tue, 18 Aug 2015 10:34:53 -0000 > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Singh, Jasvinder > Sent: Monday, August 17, 2015 7:14 PM > To: Yeddula, Avinash; Richardson, Bruce > Cc: dev@dpdk.org; Bly, Mike > Subject: Re: [dpdk-dev] [ 2nd try ] Lookup mechanim in DPDK HASH table. >=20 > Hi, >=20 > > -----Original Message----- > > From: Yeddula, Avinash [mailto:ayeddula@ciena.com] > > Sent: Monday, August 17, 2015 5:35 PM > > To: Singh, Jasvinder; Richardson, Bruce > > Cc: dev@dpdk.org; Bly, Mike > > Subject: RE: [dpdk-dev] [ 2nd try ] Lookup mechanim in DPDK HASH table. > > > > + Mike ( My team mate) > > Hi Jasvinder, It's not a bidirectional packet flow. The pipeline looks > something > > like this. > > > > Ingress port-----Table 1 ----Table-2 ----- Mac_Table ----- Table4 ---- = Egress > > port. > > > > Before the frame goes reaches table 4, we do 2 lookups at the mac table= . > > 1. src lookup ( To learn the MAC on the bridge) 2. dst lookup ( Floodin= g if > dst > > MAC look up fails else Unicast/forward if dst lookup success). > > > > Here are the keys we are using. > > Src lookup key - Src MAC (src MAC in the frame) + Bridge ID ( Bridge = on > > which it arrived). > > Dst lookup key - Dst MAC (dst MAC in the frame) + Bridge ID ( Bridge o= n > > which it arrived) > > >=20 > There is as such no mechanism to support double lookup on the same table > for the packet. However, alternative approach could be- first perform > destination lookup and invoke action handler ( in both table hit & miss = case). > In action handler, Src MAC + bridge ID key can be added to the table > (rte_pipeline_table_entry_add) . If a new entry is successfully added to= the > hash for the specified key, or there is already an entry in the hash for = the > specified key, then the position of the entry is returned. In this way, t= able > entries will be updated with incoming packets. >=20 Yes, the two lookups are really one lookup and one add/update operation. > > > Thanks > > -Avinash > > > > -----Original Message----- > > From: Singh, Jasvinder [mailto:jasvinder.singh@intel.com] > > Sent: Monday, August 17, 2015 7:00 AM > > To: Richardson, Bruce; Yeddula, Avinash > > Cc: dev@dpdk.org > > Subject: RE: [dpdk-dev] [ 2nd try ] Lookup mechanim in DPDK HASH table. > > > > > > > > > -----Original Message----- > > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Bruce > Richardson > > > Sent: Friday, August 14, 2015 10:25 AM > > > To: Yeddula, Avinash > > > Cc: dev@dpdk.org > > > Subject: Re: [dpdk-dev] [ 2nd try ] Lookup mechanim in DPDK HASH tabl= e. > > > > > > On Thu, Aug 13, 2015 at 05:37:21PM -0400, Yeddula, Avinash wrote: > > > > Any comments on this question ? > > > > > > > > Thanks > > > > -Avinash > > > > > > > > -----Original Message----- > > > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Yeddula, > > > > Avinash > > > > Sent: Wednesday, August 12, 2015 3:04 PM > > > > To: dev@dpdk.org > > > > Subject: [dpdk-dev] Lookup mechanim in DPDK HASH table. > > > > > > > > Hello All, > > > > > > > > I'm using DPDK extendable hash tables. This question is with respec= t > > > > to the > > > lookup aspect of the hash table. > > > > I see that there is just one "t->key_offset" that is pre-defined fo= r > > > > the hash > > > table. I also understand that the frame needs to carry the "lookup_ke= y > > > / keys" in the meta data. > > > > > > > > Here is my question: How to support more than one lookup with > > > > different > > > keys on the same frame on the same table. > > > > Use case: Src mac lookup and dst mac lookup on the same mac table. > > > > > > > > Thanks > > > > -Avinash > > > > > > Just to confirm: this is using the extensible bucket hash in the > > > rte_table library of packet framework, rather than the standalone > > > rte_hash library, right? > > > > > > /Bruce > > > > Could you share detail on the two different keys used for lookups. In c= ase if > > you are considering bidirectional packet flow between the source and > > destination, symmetric hash can be used- > > http://www.ndsl.kaist.edu/~kyoungsoo/papers/TR-symRSS.pdf > > > > Jasvinder