Skip to content

P4Pi Tutorial NetSoft 2022

Damu Ding edited this page Jun 21, 2022 · 12 revisions

Welcome to the P4Pi Tutorial at NetSoft 2022!

A half day in person tutorial for P4 educators, enthusiasts and newcomers.

Location

Aula B in Politenico di Milano Details

Schedule

Monday, June 27, 2022

14:00 - 15:00 Introduction to P4 and P4Pi

  1. Introduction to P4
  • A brief overview of research that lead to the design of P4
  • What are the problems that P4 addresses?
  • P4 language walkthrough
  • Introduction to BMv2
  1. Introduction to P4Pi
  • What is P4Pi?
  • Platform Overview
  • Design flow

15:00 - 16:10 Hands-on exercises part I: L2 switching

16:10 - 16:30 Coffee break

16:30 - 17:20 Hands-on exercises part II: calculator

17:20 - 17:30 Applications using P4Pi & Conclusion

  1. Build an Internet router with P4Pi
  • Background
  • Data plane design
  • Control plane design
  • Evaluation and interoperability testing

Intended audiences and required background

This tutorial is suitable for both P4 newcomers and existing practitioners. We expect the audiences to have basic knowledge in computer networking, programming skills, and UNIX-based operating system. For the hands-on exercises, the audience is expected to use their own laptop. They can also either use a Raspberry PI, or a P4app project that will be provided by the team to run on their laptop.

Tutorial materials

  1. Training Materials
  • Introduction to the P4 programming language
  • Introduction to the P4PI platform
  • Build an Internet router with P4Pi
  1. P4Pi open repository
  • P4Pi source code
  • Wiki
  • Tools
  • Sample Programs
  • An pre-prepared image

All materials will be available in a GitHub repository both before and after the tutorial. The attendees will use BMv2 to write the P4 logic onto a Raspberry PI platform (or an image), and they will have opportunities to customize the data and control planes.

Clone this wiki locally