February 2022, P4 Workshop, Online

        

 

 

Programmable Switches Workshop

 

Registration is now closed

Organizer
  • University of South Carolina
  • Energy Sciences Network (ESnet)
  • The Engagement and Performance Operations Center (EPOC)
  • Great Plains Network

 

 

Overview

Traditionally, the data plane has been designed with fixed functions to forward packets using a small set of protocols (e.g., IP, Ethernet). This closed-design paradigm has limited the capability of the switches to proprietary implementations which are hard-coded by vendors. Recently, data plane programmability has attracted significant attention from both the research community and the industry, permitting programmers to run customized packet processing functions in the data plane. This workshop provides Information Technology (IT) professionals with a motivation and an introduction to P4 programmable data plane switches. The workshop will include sessions discussing FABRIC national cyberinfrastructure, fundamentals of P4, applications of P4 switches, and hands-on sessions with P4 switches covering: P4 building blocks, parser implementation in the data plane, populating match-action tables, and others.

 

Audience

IT educators, practitioners, and professionals in general (network engineers, system administrators, etc.) with basic background in networking.

 

Required Equipment

No specialized equipment is required. All material will be accessible via web browsing. Presentations will be conducted via Zoom. For hands-on sessions, attendees will access a virtual platform deployed for the workshop.

 

Outcomes

By the end of this workshop, attendees will:

  • Describe the elements of the Protocol Independent Switch Architecture (PISA)
  • Define protocol headers and header fields in P4
  • Write simple parsers using P4
  • Define match-action tables
  • Populate and manage match-action tables at runtime

 

Agenda

 
DAY 1: Wednesday February 16, 2022
Time Topic Presenter
01:00 – 01:10 Welcome, agenda [PDF, PPT] Jorge Crichigno [Bio] (University of SC), Jason Zurawski [Bio] (ESnet and EPOC), James Deaton (GPN) [Bio]
01:10 – 02:00 FABRIC, the programmable research infrastructure [PDF] KC Wang [Bio] (Clemson), Paul Ruth [Bio] (RENCI)
02:00 – 02:45 Overview of P4 and programmable switches [PDF] Vladimir Gurevich [Bio] (Barefoot Networks - Intel)
02:45 – 03:00 Break  
03:00 – 03:50 Hands on Session 1: intro to P4 and BMv2; writing, compiling, and downloading P4 code to the switch [PDF, PPT] Elie Kfoury [Bio], Jose Gomez (University of SC) [Bio]
03:50 – 04:00 Break  
04:00 – 04:50 Hands on Session 2: parser implementation; writing a parser for IPv4 and IPv6 [PDF, PPT] Elie Kfoury
04:50 – 05:00 Summary day 1  
Workshop Video Chat
 
DAY 2: Wednesday February 23, 2022
Time Topic Presenter
01:00 – 01:05 Day 2 agenda Jorge Crichigno (University of SC), Jason Zurawski (ESnet and EPOC)
01:05 – 01:45 Routers, buffers, and other considerations for netwok performance [PDF] Hans Addleman [Bio] and Brenna Meade [Bio] (International Networks at Indiana University)
01:45 – 02:30 P4 Campus [PDF] Hyojoon Kim [Bio] (Princeton)
02:30 – 02:45 Break  
02:45 – 03:00 Tofino pods for teaching and research [PDF, PPT] Jorge Crichigno, Elie Kfoury, Jose Gomez (University of SC)
03:00 – 03:50 Hands-on Session 3: introduction to match-action tables; using exact matching and longest-prefix matching [PDF, PPT] Elie Kfoury (University of SC)
03:50 – 04:00 Break  
04:00 – 04:50 Hands-on Session 4: populating and managing match-action tables at runtime [PDF, PPT] Elie Kfoury (University of SC)
04:50 – 05:00 Summary workshop event  
Workshop Video Chat

 

 

Award Information

This activity is supported by NSF award 2118311. Link to official webpage: NSF-2118311

 

Resources

Item Note
VM for P4 Labs: Link VM containing lab exercises
Cybertraining Material: Link List of virtual labs on P4, SDN, network tools and protocols, ...
P4 Campus: Link P4 applications for campus networks
FABRIC: Link A programmable research infrastructure
Behavioral Model version 2 (BMv2): Link Reference P4 software switch used as a tool for developing, testing and debugging P4 data planes
Software-Defined Networks: A Systems Approach: Link A book that explores the key principles of Software-Defined Networking (SDN)
Mininet: Link Virtual testbed enabling the development and testing of network tools and protocols
Containernet: Link Mininet fork that allows to use Docker containers as hosts in emulated networks
Mininet Installation: Link A guide that describes the steps to install Mininet on Linux
Wireshark: Link Packet analyzer used for network troubleshooting, analysis, protocol development, and education