Skip to content

P4Pi Hackathon SIGCOMM21

noaz edited this page Aug 24, 2021 · 13 revisions

Welcome to the P4Pi Hackathon at SIGCOMM 2021!

A one day virtual hackathon for P4 educators, enthusiasts and newcomers.

Registration

Registration to the hackathon is included in the SIGCOMM'21 (low!) registration fee, and there is an aggressive fee waiver process.

Please register here.

Time & Location

The P4Pi hackathon will take place virtually on Monday, August 23rd. The hackathon will run from 10am ET / 4pm CET to 5pm ET / 11pm CET.

We will be using Gather.town for the hackathon. The hackathon room is located at the top of the screen.

Agenda Overview

Time ET/CET Session
10:00/16:00 Introduction
10:15/16:15 Projects brainstorming and forming groups
10:30/16:30 Hacking!
12:30/18:30 Status update
13:00/19:00 Lunch/Dinner break
13:30/19:30 Hacking!
16:00/22:00 Project presentations
16:45/22:35 Closing

Preparing for the Hackathon

Communication

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

The SIGCOMM #sigcomm2021-hackathon-p4pi Slack channel will be used before and during the hackathon. Post your questions there!

Equipment

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

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

If you have registered before July 30th, and requested a P4Pi platform, your platform has been shipped.

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.

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:

Proposer Track Topic
Theo Jepsen Hackers IP scrambling
Peter Voros Contributors / Hackers Advanced firewall
Radostin Stoyanov Contributors Multicast support
Radostin Stoyanov Hackers Learning tags for classification
Radostin Stoyanov Contributors / Educators Web interface improvements
Radostin Stoyanov Contributors PSA support enhancements
Noa Zilberman Contributors Porting P4 examples to P4Pi
Noa Zilberman Educators Teaching enhancements
Sandor Laki Contributors T4P4S Enhancements
Sandor Laki Contributors / Hackers Another P4 backend on P4Pi: eBPF or BMv2
Sandor Laki Contributors / Hackers T4P4S with other DPDK PMDs
Sahil Gupta Hackers TCP state machine in the data plane

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.

Supporters

We thank Network Programming Initiative for their generous support of the hackathon.

Organizers

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

David Kis (ELTE), Sandor Laki (ELTE), Radostin Stoyanov (Oxford), Robert Soulé (Yale), Peter Voros (ELTE), Noa Zilberman (Oxford)

Clone this wiki locally