[P4-dev] 2 questions
antonin at barefootnetworks.com
Mon Jun 12 14:19:06 EDT 2017
The example that Nate sent is written in P4_14, so no it will not compile
with a P4_16 compiler.
v1model does include a clone primitive (https://github.com/p4lang/
p4c/blob/master/p4include/v1model.p4#L138), but I do not know how well it
works. I found an example P4_16 program in the p4c repo (
16_samples/clone-bmv2.p4#L30) that uses clone, but based on the comment in
the file ("this causes a crash in bmv2"), it is unlikely that it works...
Support in the p4c bmv2 backend may be incomplete, but more importantly I
am not sure v1model is sufficient to replicate the P4_14 cloning abilities.
You may have to wait for the new Portable Switch Architecture (PSA), which
is meant to provide more complete packet forwarding abstractions, and is
supposed to be a more natural architecture for P4_16 programs (than
On Mon, Jun 12, 2017 at 9:34 AM, Garegin Grigoryan <grigorg at clarkson.edu>
> 1) Is this example is compatible with P4_16?
> It gives me an error (“could not find declaration for “
> Garegin Grigoryan
> grigorg at clarkson.edu
> On Jun 8, 2017, at 2:42 AM, Nate Foster <jnfoster at cs.cornell.edu> wrote:
> 1) You can see an example of packet cloning here:
> 2) See the P4 tutorial slides, starting around page 91, for a description
> of the "PD" API.
> On Sun, Jun 4, 2017 at 1:08 PM, Garegin Grigoryan <grigorg at clarkson.edu>
>> Thank you!
>> 1) Could you give a code example (or a reference) for P4_16 standard
>> regarding packet cloning?
>> 2) What kind of control plane API for bmv2 model is available?
>> On Fri, Jun 2, 2017 at 2:21 PM, Nate Foster <jnfoster at cs.cornell.edu>
>>> 1) Is it possible to clone packets at the data plane and forward a
>>>> cloned packet through the pipeline to the egress and then output it?
>>> Yes, although the details of how cloning works are architecture specific.
>>>> 2) How can I print the contents of a table and registers in P4?
>>> You need to write a program against the control-plane API for your P4
>>> program to do this.
>> Garegin Grigoryan
> P4-dev mailing list
> P4-dev at lists.p4.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the P4-dev