The Petr4 project is developing the formal semantics of the P4 Language backed by an independent reference implementation.
-
Install OPAM.
sudo apt-get install opam opam init eval `opam env`
-
Install external dependencies:
sudo apt-get install m4 libgmp-dev
- Install petr4 from the opam repository. This will take a while the first time
because it installs OPAM dependencies.
opam install petr4
-
Check the installed version of OCaml:
ocamlc -v
If the version is less than 4.08.0, upgrade:
opam switch 4.08.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 <path to root of petr4 repo>
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.