Workshop on P4 Programmable Switches

       

 

Workshop on P4 Programmable Switches

                                       

   Tuesday August 22, Tuesday August 29, 2023 - Online

Organizers

  •  
  • University of South Carolina

    Energy Sciences Network (ESnet)


    The Engagement and Performance Operations Center (EPOC)

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
  • Leverage stateful elements (registers) to store arbitrary data in the data plane
  • Monitor queue occupancy and packets interarrival times with high granularity

 

Agenda

 

DAY 1: Tuesday August 22, 2023
Time (ET) Topic Presenter
01:00 - 01:10 Welcome, agenda [PDF, PPT] Jorge Crichigno [Bio] (University of SC), Jason Zurawski [Bio] (ESnet and EPOC)
01:10 – 02:00 FABRIC, the programmable research infrastructure [PDF, PPT] Ilya Baldin [Bio] (RENCI), Paul Ruth [Bio] (RENCI)
02:00 – 02:45 Hands-on labs over FABRIC [PDF, PPT] Elie Kfoury [Bio] (University of SC)
02:45 – 03:00 Break  
03:00 – 03:50 Hands on Session 1: P4 Program Building Blocks [PDF, PPT] Jose Gomez [Bio] (University of SC)
03:50 – 04:00 Break  
04:00 – 04:50 Hands on Session 2: Parser Implementation [PDF, PPT] Ali AlSabeh [Bio] (University of SC)
04:50 – 05:00 Summary day 1  
Day 1 Video

 

DAY 2: Tuesday August 29, 2023
Time (ET) Topic Presenter
01:00 – 01:10 Day 2 agenda [PDF, PPT] Jorge Crichigno (University of SC), Jason Zurawski (EPOC), Mariam Kiran [Bio] (Oak Ridge National Laboratory)
01:10 – 01:45 Science DMZ, Congestion Control and Buffer Sizing [PDF, PPT] Doug Southworth [Bio] (Texas Advanced Computing Center (TACC))
01:45 – 02:30 BBR Congestion Control - Fundamentals and Updates [PDF] Neal Cardwell [Bio] (Google)
02:30 – 02:45 Break  
02:45 – 03:30 Hands-on Session 3: Monitoring Buffer Occupancy in P4 Switches [PDF, PPT] Elie Kfoury (University of SC)
03:30 – 03:45 Break  
03:45 – 04:30 Hands-on Session 4: Calculating Packets Interarrival Times with P4 Switches [PDF, PPT] Ali AlSabeh (University of SC)
04:30 – 05:00 Summary workshop event  

 

 

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