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

Andy Fingerhut andy.fingerhut at gmail.com
Wed Oct 25 14:27:17 EDT 2017

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.


On Wed, Oct 25, 2017 at 11:12 AM, Debobroto Das Robin <drobin at kent.edu>

> 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/695719a6/attachment-0002.html>

More information about the P4-discuss mailing list