[P4-dev] what is "action_calls" in P4Objects::init_pipelines?

Antonin Bas antonin at barefootnetworks.com
Mon Aug 14 14:58:38 EDT 2017

I believe this is documented in the bmv2 JSON format specification:

- `action_calls`: a JSON array of JSON objects. It is used for direct action
calls from a control flow which are not wrapped into a table


Unlike P4_14, P4_16 allows the programmer to call actions directly from the
control flow (as opposed to only tables). In the past, the only way for a
compiler to generate bmv2 JSON for this was to synthesize an empty table,
configure the default action to be the action you are calling from the
control flow and replace the action call by a table apply. This would
clutter the JSON and make debugging harder. This kind of transformation is
no longer needed with recent bmv2 versions.

On Sat, Aug 12, 2017 at 8:08 AM, Hardik Soni <hardik.soni at inria.fr> wrote:

> Hello,
> What does "action_calls"
> <https://github.com/p4lang/behavioral-model/blob/master/src/bm_sim/P4Objects.cpp#L1636> tag
> in json format represent according to P4 language of this
> <https://p4lang.github.io/p4-spec/docs/P4-16-v1.0.0-spec.html> spec?
> Best Regards,
> Hardik Soni
> _______________________________________________
> 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/20170814/98d8378b/attachment-0002.html>

More information about the P4-dev mailing list