[P4-dev] Query Regarding Range Table

Debobroto Das debobrotodasrobin at gmail.com
Tue May 26 14:44:31 EDT 2020


Dear all,
thanks for your replies. It seems the question may not be appropriate for
the forum.
The question was  related to a research project. At this moment, I do not
want to express the details here.

Sorry for the confusion.

On Sun, May 24, 2020 at 3:57 PM <hemant at mnkcg.com> wrote:

> Debobroto,
>
>
>
> Please clarify what is the lookup key as a P4 code example.  After that,
> what should the lookup return?
>
>
>
> Thanks,
>
>
>
> Hemant
>
>
>
> *From:* Andy Fingerhut <andy.fingerhut at gmail.com>
> *Sent:* Sunday, May 24, 2020 3:23 PM
> *To:* hemant at mnkcg.com
> *Cc:* ch.sa.ganesh at gmail.com; p4-dev at lists.p4.org;
> debobrotodasrobin at gmail.com
> *Subject:* Re: [P4-dev] Query Regarding Range Table
>
>
>
> Except they asked a different looking question to me.  In their original
> question, each poet had a single delay value associated with it, not a
> range of value.  They wanted a lookup to provide a min and max value, not a
> single value.
>
>
>
> Perhaps they were not asking for what they actually wanted, but if that is
> the case. I hope they clarify what they are looking for.
>
> Andy
>
>
>
> Sent from my iPhone
>
>
> On May 24, 2020, at 11:54 AM, <hemant at mnkcg.com> <hemant at mnkcg.com> wrote:
>
> Andy,
>
>
>
> I think the original question was how to setup a range for match_kind in a
> p4-16 table.
>
>
>
> Hemant
>
>
>
> *From:* P4-dev <p4-dev-bounces at lists.p4.org> *On Behalf Of *Andy Fingerhut
> *Sent:* Sunday, May 24, 2020 12:14 AM
> *To:* Ganesh C S <ch.sa.ganesh at gmail.com>
> *Cc:* p4-dev <p4-dev at lists.p4.org>; Debobroto Das <
> debobrotodasrobin at gmail.com>
> *Subject:* Re: [P4-dev] Query Regarding Range Table
>
>
>
> I agree that someone should avoid discussing proprietary or trade secret
> details here.
>
>
>
> There are some people working on university research, class exercises, or
> hobby projects, too, and are willing to discuss ideas like these in a
> public forum.
>
>
>
> Which this one is, depends upon what the original questioner is working on.
>
>
>
> Andy
>
>
>
> On Sat, May 23, 2020 at 9:42 AM Ganesh C S <ch.sa.ganesh at gmail.com> wrote:
>
> [Sorry this is bit off the topic]
>
>
>
> Quick check: Do OEMs discuss their futuristic use cases on a public forum
> ? I have worked for OEMs and based on that this is a strict "No".
>
>
>
> Probably, someone coming to this group is building a p4 implementation for
> furthering their research or business. Disclosing the use case in public
> can be detrimental to both these objectives. This is something you all
> already know.
>
>
>
> This discussion thread scope is beyond the usual developer forum
> discussion.
>
>
>
> my 2 cents
>
>
>
> regs
>
> Ganesh
>
>
>
> On Fri, May 22, 2020 at 10:06 PM Andy Fingerhut <andy.fingerhut at gmail.com>
> wrote:
>
> Suppose you implement this behavior: Always pick the port with the minimum
> estimated delay.
>
>
>
> Is there a reason why you would sometimes want to pick a port other than
> the one with minimum delay?
>
>
>
> If there is such a reason, then it would help if you could be more precise
> under what conditions you might pick a port that didn't have the minimum
> delay.
>
>
>
> Andy
>
>
>
> On Fri, May 22, 2020 at 8:28 PM Debobroto Das <debobrotodasrobin at gmail.com>
> wrote:
>
> Sorry for my poor explanation.
>
> What I am trying to do is following,  a switch (s1)  have 10 ports,
> through all the 10 ports we can reach destination  "2001:1:1::0". Now using
> INT, I have calculated what are the average delay to reach destination
> "2001:1:1::0" from s1. Currently, to select a path from multiple possible
> path we can use selector (with combination of P4 action group). But in case
> of selector, we can not use specific criteria to select which path we
> should choose. So, I was planning to build a table where we will, populate
> a table where we can keep 2 piece of information 1) port number 2)
> corresponding  delay to reach "2001:1:1::0" from S1. Instead of keeping the
> delay in exact value, I want to keep them in few predefined values. for
> example, if the maximum delay is 100 ms . we can keep a range of 0 to 8
> (12.5 ms gap ) .
>
>
>
> So when we want to select a port through wich we can reach to
> destination "2001:1:1::0", within delay 50 ms, we will match the delay
> field as 50/12.5 = 4. Which means any port that have delay 4, that should
> be a valid match for my use case. Obviously in tcam, multiple match can
> happen. on that case I assume that, either the lowest or highest index ed
> entry among multiple matched entries will be returned.
>
>
>
> (As far as my understanding, the V1model.p4 only returns a single matched
> entry. I am working based on this assumption)
>
>
>
> On Fri, May 22, 2020 at 10:27 PM Ganesh C S <ch.sa.ganesh at gmail.com>
> wrote:
>
> Hi Debobroto,
>
>
>
> You should be able to use tcam match kind to achieve this. If the delay
> values are nicely aligned on bit boundary like 4,8 then it is easy.
> Otherwise will need multiple entries in tcam.
>
>
>
> For 0-5 you can split it into two ranges: 0-3 (bit equivalent 00**) and
> 4-5 (bit equivalent 010*).  You must order more specific entries before the
> less specific ones.
>
>
>
> For example, I created the below entries to consider the first two delay
> ranges 0-5->1 and 6-10->2 with 6 bits.
>
>
>
> For 4-5 entry  00010* -> 1
>
> For 6-7 entry 00011* -> 2
>
> For 8-9  entry 0010*0 -> 2
>
> For 8-10 entry 0010*0 -> 2
>
> For 0-3 entry 0000** -> 1
>
>
>
> regs
>
> Ganesh
>
>
>
> On Fri, May 22, 2020 at 3:44 PM Debobroto Das <debobrotodasrobin at gmail.com>
> wrote:
>
> Hello Everyone,
>
>
>
> I want to implement a multipath routing in data plane.
>
> For example, assume in a device I have 4 ports. Each ports have a metrics
> which should be in range format. For example: this metrics is a delay value
> through this port. So, if  these 4 ports have following delay values
>
>
>
> port   | delay
>
> ==========
>
> 1       |    5
>
> ==========
>
> 2       |   50
>
> ==========
>
> 3        |  25
>
> ===========
>
> 4        |  10
>
> =============
>
>
>
> So if I want to select the port to forward a packet depending on the
> "delay" value, what type of match_kind  I should use here.
>
> An example query is, select a port that have delay value within rage
> 15-30. so clearly here the port 3 should be selected.
>
> how to achieve this kind of behavior in P4?
>
>
>
> On Fri, May 22, 2020 at 6:39 PM Debobroto Das <debobrotodasrobin at gmail.com>
> wrote:
>
> Hello Everyone,
>
>
>
> I want to implement a multipath routing in data plane.
>
> For example, assume in a device I have 4 ports. Each ports have a metrics
> which should be in range format. For example: this metrics is a delay value
> through this port. So, if  these 4 ports have following delay values
>
>
>
> port   | delay
>
> ==========
>
> 1       |    5
>
> ==========
>
> 2       |   50
>
> ==========
>
> 3        |  25
>
> ===========
>
> 4        |  10
>
> =============
>
>
>
> So if I want to select the port to forward a packet depending on the
> "delay" value, what type of match_kind  I should use here.
>
>
>
>
>
> _______________________________________________
> P4-dev mailing list
> P4-dev at lists.p4.org
> http://lists.p4.org/mailman/listinfo/p4-dev_lists.p4.org
>
> _______________________________________________
> P4-dev mailing list
> P4-dev at lists.p4.org
> http://lists.p4.org/mailman/listinfo/p4-dev_lists.p4.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.p4.org/pipermail/p4-dev_lists.p4.org/attachments/20200526/834c5d1b/attachment.html>


More information about the P4-dev mailing list