Skip to content

P4Pi Hackathon SIGCOMM22

Damu Ding edited this page Jul 18, 2022 · 25 revisions

Welcome to the P4Pi Hackathon at SIGCOMM 2022!

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

Time and Location

Friday, August 26, 2022 13:30-18:00 CET

Beurs van Berlage conference venue, Amsterdam Details

The exact room is TBA.

Agenda

Time CET Session
13:30 - 13:45 Introduction
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

Audience Expectations and Prerequisites

This hackathon 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.

Communication

Information will be sent by email to registered participants, as well as posted here.

A Slack channel (TBA) will be used before and during the hackathon. Post your questions there!

Equipment

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.

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.

Alternatively, we will provide a virtual machine (VM) so that participants can also enjoy the P4Pi environment on their own laptop if they do not have a Raspberry Pi.

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, it is helpful to go through the tutorial exercises on Github.

Getting started with P4Pi

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

Tracks and Projects

Tracks

As P4Pi is useful to different groups of users, there will be 3 project tracks:

  • 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.
  • 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.
  • 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 group can work on a project that applies to more than one track.

Proposed Projects

If you are participating in the hackathon, you can propose a project:

TBA

FAQ

  • Q: Can I contribute to more than one track?

    A: Yes, if your project applies to more than one track.

  • 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. As P4Pi is still a puppy, the examples are focused on P4.

References

Please reference the following papers when citing P4Pi:

  • https://github.com/p4lang/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 hackathon:

Damu Ding (Oxford), Xinpeng Hong (Oxford), Sandor Laki (ELTE), Fernando Ramos (IST Lisbon), Salvatore Signorello (Lisbon), Robert Soulé (Yale), Mingyuan Zang (DTU), Noa Zilberman (Oxford)

Clone this wiki locally