P4 Hackathon at NSDI

An event organized by the P4 Education Working Group and the Cornell-Princeton Network Programming Initiative, in conjunction with NSDI 2019

Held in Boston, MA, USA on March 1, 2019

The P4 Hackathon aims to develop novel, proof-of-concept data plane applications, and to support the open-source community through the development of tools and infrastructure.

The hackathon is intended for P4 users of all levels – from beginners to experts.

We are keen to meet new people, see new faces, and create new collaborations between (and within) academia and industry!


Sheraton Boston 39 Dalton St Boston, MA 02199 USA Public Garden Room

The event is co-located with NSDI 2019.


Click here to register.

Please note that there are a limited number of spaces.


This agenda is tentative, please check closer to the date!

  • 8:00 – 10:00am
    • Registration

  • 8:30 – 10:00am
    • P4 crash course for beginners

  • 10:00 – 10:15
    • Welcome and Introductions, finding common interests to work on

  • 10:15 – 17:25
    • Breaking into groups, hack!

  • 17:25 – 17:55
    • Project presentations

  • 17:55 – 18:00
    • Closing

Diversity and inclusivity

The P4 hackathon aims to increase the diversity and inclusivity of the P4 community. Everyone should feel welcome taking part in the event, and we will enforce a strict no-harrasement code of conduct.

Participants who are attending NSDI 2019, can apply for NSDI’s student and diversity travel grants. P4 specific information is coming soon!




  • To install the Docker image:
    1. Install Docker
      • Follow the instructions on the Docker website: https://docs.docker.com/install/
      • Alternatively, you can use a package manager. For example, on OSX, you can install Docker with Homebrew$ brew cask install docker-toolbox
    2. Clone the repository $ git clone --branch p4app --recurse-submodules https://github.com/p4lang/tutorials
    3. Change into an exercise directory
      $ cd tutorials/p4app-exercises/basic.p4app
    4. Run an example to start the image download
      $ make run

Virtual Machine

You can either download a virtual machine image or build it from source. Note that both of these procedures can take around 45 minutes depending on the speed of your network connection.

  • To download the virtual machine image
    1. Install VirtualBox
    2. Download virtual machine image
      P4 Tutorial 2018-06-01.ova
    3. Import virtual machine into VirtualBox
      Open VirtualBox, select “File > Import Appliance”, and navigate to the downloaded file.
    4. Boot virtual machine
      Select “P4 Tutorial 2018-06-01”, and click “Start”.
  • To build the virtual machine from source
    1. Install VirtualBox
    2. Install Vagrant
    3. Clone the tutorial repository
      $ git clone https://github.com/p4lang/tutorials
    4. Navigate to the vm directory
      $ cd tutorials/vm/
    5. Build the virtual machine
      $ vagrant up
  • Final steps
    After the machine boots, you should have a graphical desktop with all required software pre-installed, logged in as username “p4” (with password “p4”).

Special Thanks to our Sponsors:

Contact the organizers for sponsorship opportunities.

This is not a USENIX event, but we would like to thank the support of USENIX.

Share the Post: