2.1 KiB
2.1 KiB
P4 Tutorial
Introduction
Welcome to the P4 Tutorial!
We've prepared a set of exercises to help you get started with P4 programming, organized into four modules:
- Introduction
- Monitoring and Debugging
- Advanced Data Structures
- Dynamic Behavior
Obtaining required software
If you are starting this tutorial at SIGCOMM 2017, then we've already provided you with a virtual machine that has all of the required software installed.
Otherwise, to complete the exercises, you will need to either build a virtual machine or install several dependencies.
To build the virtual machine:
- Install Vagrant and VirtualBox
cd vmvagrant up- Log in with username
p4and passwordp4and issue the commandsudo shutdown -r now - When the machine reboots, you should have a graphical desktop machine with the required software pre-installed.
To install dependences by hand:
git clone https://github.com/p4lang/behavioral-model.gitgit clone https://github.com/p4lang/p4cgit clone https://github.com/p4lang/tutorialsThen follow the instructions for how to build each package. Each of these repositories come with dependencies, which can be installed using the supplied instructions. The first repository (behavioral-model) contains the P4 behavioral model. It is a C++ software switch that will implement the functionality specified in your P4 program. The second repository (p4c) is the compiler for the behavioral model. It takes P4 program and produces a JSON file which can be loaded by the behavioral model. The third repository (tutorial) is the P4 Tutorial itself. You will also need to installmininet. On Ubuntu, it would look like this:
$ sudo apt-get install mininet