8000 GitHub - mcnevesinf/p4box
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

mcnevesinf/p4box

 
 

Build Status

p4box

p4box is a system for deploying runtime monitors in programmable data planes. It extends the P4_16 prototype compiler.

Getting started

  1. Clone the repository. It includes submodules, so be sure to use --recursive to pull them in:
  git clone --recursive https://github.com/mcnevesinf/p4box.git

If you forgot --recursive, you can update the submodules at any time using:

  git clone --recursive https://github.com/mcnevesinf/p4box.git
  1. Install dependencies (p4box was tested on Ubuntu 16.04).

Most dependencies can be installed using apt-get install:

sudo apt-get install cmake g++ git automake libtool libgc-dev bison flex libfl-dev libgmp-dev libboost-dev libboost-iostreams-dev libboost-graph-dev llvm pkg-config python python-scapy python-ipaddr python-ply tcpdump

An exception is Google Protocol Buffers; p4box depends on version 3.0 or higher, which is not available until Ubuntu 16.10. For earlier releases of Ubuntu, you'll need to install from source. You can find instructions here. We recommend that you use version 3.2.0. After cloning protobuf and before you build, check-out version 3.2.0.

  git checkout v3.2.0
  1. Build. Building should also take place in a subdirectory named build.
mkdir build
cd build
cmake ..
make -j4
  1. Install p4box and its shared headers globally.
  sudo make install
  1. You're ready to go! See examples/ to start experimenting with p4box.

More details coming soon.

About

No description, website, or topics provided.

Resources

License

Apache-2.0, Apache-2.0 licenses found

Licenses found

Apache-2.0
LICENSE
Apache-2.0
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 87.3%
  • Python 4.3%
  • P4 3.2%
  • CMake 2.5%
  • LLVM 1.0%
  • C 0.9%
  • Other 0.8%
0