[P4-discuss] Can we start a new flow from p4 switch?

Debobroto Das Robin drobin at kent.edu
Wed Oct 25 14:43:43 EDT 2017

Andy, Thanks a lot for the reply.

1) The digest mechanism is obviously a new direction to me. I was reading
the P4_16 specs and there was no "digest" keyword. Then i moved to version
1.0.3 and found the digest mechanism. Is the digest mechanism available in
P4 16? In case of digest, generate_digest  will not initiate a new flow. It
basically generates a reply after processing a packet. (if my understanding
are correct)

2) I know about clone based mechanism.

Let me explain my question a little bit more detail. Think about an
openflow like protocol. Here both the controller and switch can initiate
communication toward each other. Now if we want to achieve this kind of
switch initiated communication (i.e. new flow), what would be the best
technique in P4  ?


On Wed, Oct 25, 2017 at 2:27 PM, Andy Fingerhut <andy.fingerhut at gmail.com>

> The digest mechanism is intended to send a 'record' containing a
> P4-program-specified collection of field values to the control plane, as
> the result of processing a received packet.  The prototypical example is if
> the P4 program was implementing Ethernet learning bridge functionality, if
> the source MAC address of the received packet was not currently in the MAC
> address table, then the P4 program would send a digest containing the
> packet's source MAC address and ingress port it arrived on (and perhaps
> other field values, too).
> In addition to processing the received packet 'normally' (whatever that
> means for your application), the clone mechanism can be used to create
> another copy of the received packet, and then your P4 program can process
> it differently before sending it to a different destination than the
> 'normal' copy.  That clone could be sent to the control plane, to a
> different port, be tunnel-encapsulated, etc.
> The P4 language is probably not the best fit for trying to implement the
> behavior of a TCP endpoint, with all of the data buffering and packet
> retransmission behavior that requires.  Not sure if you were even thinking
> along those lines, but wanted to mention it.
> Andy
> On Wed, Oct 25, 2017 at 11:12 AM, Debobroto Das Robin <drobin at kent.edu>
> wrote:
>> Hello All,
>> Is there any option to start a new flow from p4 switch? For example based
>> on certain event at switch we want to send a notification to control plane
>> or some other destination. Is it possible?
>> _______________________________________________
>> P4-discuss mailing list
>> P4-discuss at lists.p4.org
>> http://lists.p4.org/mailman/listinfo/p4-discuss_lists.p4.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.p4.org/pipermail/p4-discuss_lists.p4.org/attachments/20171025/b12bbd13/attachment-0002.html>

More information about the P4-discuss mailing list