All Projects → p4lang → p4c-bm

p4lang / p4c-bm

Licence: Apache-2.0 License
Generates the JSON configuration for the behavioral-model (bmv2), as well as the C/C++ PD code

Programming Languages

python
139335 projects - #7 most used programming language
C++
36643 projects - #6 most used programming language
P4
22 projects
c
50402 projects - #5 most used programming language
Thrift
134 projects

p4c-bm

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

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

NOTE: This repository is no longer under active development or maintenance. We recommend that you instead consider using the currently developed open source P4 tools, which are p4c and behavioral-model.

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].