DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Singh, Jasvinder" <jasvinder.singh@intel.com>
To: "Yeddula, Avinash" <ayeddula@ciena.com>,
	"Richardson, Bruce" <bruce.richardson@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>, "Bly, Mike" <mbly@ciena.com>
Subject: Re: [dpdk-dev] [ 2nd try ] Lookup mechanim in DPDK HASH table.
Date: Mon, 17 Aug 2015 18:13:42 +0000	[thread overview]
Message-ID: <54CBAA185211B4429112C315DA58FF6DD266EF@IRSMSX103.ger.corp.intel.com> (raw)
In-Reply-To: <A1E50D8AD6310E47A6C10F075AEDC0220375505B43@ONWVEXCHMB01.ciena.com>

Hi,

> -----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 ( Flooding 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 on
> which it arrived)
> 

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, table entries will be updated with incoming packets.

 
> 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 table.
> >
> > 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 respect
> > > to the
> > lookup aspect of the hash table.
> > > I see that there is just one "t->key_offset" that is pre-defined for
> > > the hash
> > table. I also understand that the frame needs to carry the "lookup_key
> > / 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 case 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

  parent reply	other threads:[~2015-08-17 18:13 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-13 21:37 Yeddula, Avinash
2015-08-14  9:25 ` Bruce Richardson
2015-08-14 16:28   ` Yeddula, Avinash
2015-08-17 14:00   ` Singh, Jasvinder
2015-08-17 16:35     ` Yeddula, Avinash
2015-08-17 18:06       ` Venkateswara Rao Thummala
2015-08-17 18:29         ` Bly, Mike
2015-08-18 10:34         ` Dumitrescu, Cristian
2015-08-17 18:13       ` Singh, Jasvinder [this message]
2015-08-18 10:34         ` Dumitrescu, Cristian
2015-08-18 10:32 ` Dumitrescu, Cristian

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=54CBAA185211B4429112C315DA58FF6DD266EF@IRSMSX103.ger.corp.intel.com \
    --to=jasvinder.singh@intel.com \
    --cc=ayeddula@ciena.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=mbly@ciena.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).