The Petr4 project is developing the formal semantics of the P4 Language, backed by an independent referene implementation.
The Petr4 reference implementation is implemented in OCaml. To install from source, perform the following steps.
-
Install OPAM
-
Install external dependencies:
sudo apt-get install m4 libgmp-dev
-
Check the installed version of OCaml:
ocamlc -v
If the version is less than 4.06.0, upgrade:
opam switch 4.06.0
-
Use OPAM to build and install Petr4. This will take a while the first time because it installs OPAM dependencies.
opam pin add petr4 .
Currently petr4
is merely a P4 front-end. By default, it will parse
a source program to an abstract syntax tree and print it out, either
as P4 or encoded into JSON.
Run petr4 -help
to see the list of currently-supported options.
Petr4 is an open-source project. We encourage contributions! Please file issues on Github
See the list of contributors.
Petr4 is released under the Apache2 License.