MountainShan / p4c-bm

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

p4c-bm

https://travis-ci.org/p4lang/p4c-bm.svg?branch=develop

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

License:Apache License 2.0


Languages

Language:Python 33.7%Language:C++ 24.4%Language:P4 19.8%Language:C 17.5%Language:Thrift 4.5%