Navigation Menu

Skip to content

krambn/p4c-bm

 
 

Repository files navigation

p4c-bm

image

Generates the JSON configuration for the behavioral-model (bmv2).

Important: the PD has been moved out of this repository and split between the bmv2 repository (for fixed part of the PD) and the new p4-build repository (build infrastructure for the auto-generated / program-dependent part of the PD).

Usage

  • To install p4c-bm on your machine:
    • sudo pip install -r requirements.txt
    • sudo pip install -r requirements_v1_1.txt if you are interested in compiling P4 v1.1 programs
    • sudo python setup.py install
  • Using p4c-bm
    • Try p4c-bmv2 -h
    • --json to generate a JSON representation of the P4 program
    • --pd to generate the PD C++ code
    • --p4-v1.1 if your input program is a P4 v1.1 program
  • To install in a non-default location, you can use:
    • python setup.py build install --prefix <your_path> [--single-version-externally-managed] --record install_files.txt
    • cat install_files.txt | xargs rm -rf if you need to uninstall later on

About

Generates the JSON configuration for the behavioral-model (bmv2), as well as the C/C++ PD code

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 43.4%
  • C++ 38.2%
  • C 10.4%
  • Thrift 8.0%