[P4-dev] Extending P4Runtime demo to support multiple P4 programs
mcneves at inf.ufrgs.br
Sat Oct 21 15:24:43 EDT 2017
Thanks for your reply. I tried to run the demo compiling P4 programs
from the P4D2_2017_Spring tutorial. There was a segmentation fault for
every bmv2 JSON when trying to read a table specification.
More specifically, I think the issue is in the "read_tables" function at
the "bmv2_json_reader.c" file (
On 10/17/2017 01:13 PM, Antonin Bas wrote:
> Hi Miguel,
> I believe that you are confusing the bmv2 JSON with the P4Info message
> in JSON format:
> - the bmv2 JSON: a JSON description of the forwarding pipeline, which
> is required by the bmv2 simple_switch packet-processing binary
> - the P4Info message: a protobuf message which describes the
> data-model to be used by the control-plane when generating P4 Runtime
> requests. Although the compiler lets you generate this in JSON format
> by using "--p4runtime-format json", we scarcely use JSON for this: we
> usually prefer the "text" format.
> You should try running:
> p4c-bm2-ss <p4_program> --p4-16 -o out.json
> and use out.json instead in SimpleRouterMgr.
> Unfortunately, this demo is not super recent, so it's still trying to
> generate the P4Info from the bmv2 JSON instead of using the one
> generated by the compiler (which is why I didn't include
> --p4runtime-file in the compiler invocation above). It should work
> anyway, but please do let us know if you run into an issue, and
> hopefully the demo will be updated in the upcoming weeks.
> On Mon, Oct 16, 2017 at 10:33 AM, Miguel Neves <mcneves at inf.ufrgs.br
> <mailto:mcneves at inf.ufrgs.br>> wrote:
> I'm trying to extendthe P4Runtime demo (
> <https://github.com/p4lang/PI/tree/master/proto/demo_grpc> ) to
> supportother P4 programs in addition to the ones provided. I'm
> aware that I need to modify the SimpleRouterMgr class (
> to insert a separate configuration for each program.
> The problem raises when I try to assign a new device
> configuration. I'm getting a “Json version requirement not
> satisfied”message independently of the program I try to install.
> After that, I cannot install any table entry.
> I've generated the necessary P4 info using the following command:
> |p4c-bm2-ss <p4_program> --p4-16 -o <output_file>
> |I compared the generated jsons against the simple_router
> ||example (
> )||, and in fact the compiler doesn't add a version tag to the file.|
> |Any idea?|Should the compiler add that tag?
> P4-dev mailing list
> P4-dev at lists.p4.org <mailto:P4-dev at lists.p4.org>
PhD student in Computer Science
Federal University of Rio Grande do Sul (UFRGS)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the P4-dev