Skip to content

P4Pi Tutorial NetSoft 2022

Damu Ding edited this page Jul 13, 2022 · 12 revisions

Welcome to the P4Pi Tutorial at NetSoft 2022!

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

Time and Location

Monday, June 27, 2022 14:00-17:30

Aula B in Politenico di Milano Details

Agenda

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: In-Network Calculator

17:20 - 17:30 Using P4Pi for Teaching & Conclusion

Intended audience

This tutorial is suitable for both P4 newcomers and existing practitioners. You should have basic knowledge in computer networking, some programming skills, and basic knowledge of UNIX-based operating system.

Preparing for the Tutorial

Communication

Information will be sent by email to registered participants, appear on the conference platform (Whova) as well as posted here.

Equipment

The tutorial requires participants to bring and use their own laptop.

It is recommended (but not mandatory) to have a Raspberry Pi platform ready for the tutorial. Please refer to our Required Equipment page.

If you don't have a Raspberry Pi platform, you can use instead P4App. The instructions are here.

P4Pi Image

We strongly recommend preparing a microSD card with the latest P4Pi image prior to the hackathon, as downloading the image and copying it can take significant time.

To do so, follow the instructions on the Installing P4Pi page.

I want to know more!

If after the tutorial you would like to learn more about P4 and P4Pi, the following resources can be useful.

Learning P4

If you are new to P4, we strongly recommend the P4 Learn page.

The following four short videos by Stephen Ibanez are also recommended:

In addition, there are tutorial exercises on Github.

Getting started with P4Pi

Start with P4Pi Getting Started Page.

The P4Pi videos playlist also provides an introduction to P4Pi, and shows how to use it.

If you are reading this page, then you have already found the P4Pi repository and Wiki!

References

Please reference the following papers when citing P4Pi:

"P4Pi: P4 on Raspberry Pi for Networking Education". Sándor Laki, Radostin Stoyanov, Dávid Kis, Robert Soulé, Péter Vörös and Noa Zilberman. ACM SIGCOMM Computer Communication Review, Volume 51, Number 3, July 2021

"Building an Internet Router with P4Pi". Radostin Stoyanov, Adam Wolnikowski, Robert Soulé, Sándor Laki, and Noa Zilberman. 4th P4 Workshop in Europe (EuroP4) 2021, December 2021.

Organizers

The following have contributed to the organization of this tutorial (in alphabetic order):

Damu Ding (Oxford), Fernando Ramos (IST Lisbon), Salvatore Signorello (Lisbon), Robert Soulé (Yale), Noa Zilberman (Oxford)

Slides

The slides are available here

Clone this wiki locally