-
Notifications
You must be signed in to change notification settings - Fork 31
P4Pi Hackathon SIGCOMM22
A half day, in-person hackathon for P4 educators, enthusiasts and newcomers.
Information will be sent by email to registered participants, as well as posted here. The Slack channel SIGCOMM #sigcomm22-hackathon will be used before and during the hackathon. Post your questions there!
Friday, August 26, 2022 13:30-18:00 CET
Beurs van Berlage conference venue, Amsterdam Details
The room is Graanbeurszaal.
Time CET | Session |
---|---|
13:30 - 13:45 | Introduction - (slides1, slides2) |
13:45 - 14:00 | Projects brainstorming and forming groups |
14:00 - 17:00 | Hacking! |
17:00 - 17:45 | Project presentations |
17:45 - 18:00 | Closing |
This hackathon is suitable for both P4 newcomers and existing practitioners. We expect the audience to have at least basic knowledge in computer networking, programming skills, and UNIX-based operating system.
If you are new to P4, we will provide you with the necessary assitance. Still, we strongly advise you to check the resources available on the P4 Learn page before the hackathon.
The following four short videos by Stephen Ibanez are also recommended:
- Part 1 - Introduction to Data Plane Programming
- Part 2 - Basics Part I
- Part 3 - Basics Part II
- Part 4 - Basic Tunneling Application
In addition, it is helpful to go through the tutorial exercises on Github.
The hackathon 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.
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.
The P4Pi videos playlist provides an introduction to P4Pi, and shows how to use it.
If you don't have a Raspberry Pi, but you want to participate in the hackathon, we recommend you to start with p4app
.
p4app
is a docker-based tool that can be used to develop, run, debug, and test P4 programs. It is easy to install and simple to use. p4app
uses a software switch to run the developed P4 program, and mininet
can be used for testing in an emulation environment.
Our team has prepared two p4app
examples that will help you to quickly get started. The instructions related to p4app
are available here.
As P4Pi is useful to different groups of users, there will be 3 project tracks:
- Contributors - for participants with previous knowledge in P4 who want to port their code to P4PI or to develop better tools, more applications or other target specific projects.
- Educators - for participants who aim to use P4PI in their classroom and that will use the hackathon to practice using the platform and develop additional contents.
- Hackers - for participants with expert knowledge in P4 who wish to use the platform for research and development purposes, explore new use cases and come up with cool ideas.
A hackathon project can belong to one or more of the tracks above. No restrictions!
Some proposed project ideas (contact us to suggest more!):
Track | Topic |
---|---|
Contributors | Network configuration |
Contributors | P4Pi platform enhancements (e.g., enable table manipulation via the web interface) |
Contributors / Hackers | Port P4 examples to P4Pi |
Educators | Teaching enhancements |
Hackers | P4-based games (e.g., Tic-tac, Wordle) |
Hackers | Network monitoring |
Hackers | IoT use cases (we have a box with light sensor and an acuator with leds) |
... | ... |
-
Q: I don't have a group. Can I still participate?
A: Yes! we will be forming groups during the hackathon
-
Q: I am only starting with P4. Can I still participate?
A: Yes! beyond the tutorials mentioned above, we will have mentors that will help during the hackathon. The best way to learn P4 is through hands-on experience.
-
Q: Is P4Pi just for teaching P4 or networking at large?
A: We envision P4Pi as a platform for teaching networking at large, and it was already used this way in course. As P4Pi is still a puppy, the examples are focused on P4.
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.
The following have contributed to the organization of this hackathon (in alphabetic order):
Damu Ding (Oxford), Xinpeng Hong (Oxford), Sandor Laki (ELTE), David Kis (ELTE), Fernando Ramos (IST Lisbon), Salvatore Signorello (FCUL Lisbon), Robert Soulé (Yale), Mingyuan Zang (DTU), Noa Zilberman (Oxford).
-
Bmv2 Exercises