Generates the JSON configuration for the behavioral-model (bmv2), as well as the C/C++ PD code
Branch: master
Clone or download
#1 Compare This branch is 4 commits ahead, 44 commits behind p4lang:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Initial commit Aug 7, 2015
p4c_bm
tests
.editorconfig
.gitignore
.gitmodules
.travis.yml
AUTHORS.rst
CONTRIBUTING.rst
HISTORY.rst
LICENSE
MANIFEST.in
README.rst added some information to README and removed pkgdatadir CLI option wh… Apr 29, 2016
requirements.txt Initial commit Aug 7, 2015
requirements_v1_1.txt added a v1.1 test P4 program and updated README Feb 24, 2016
setup.cfg
setup.py
tox.ini

README.rst

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