A Hands-on Tutorial on P4 Programmable Data Planes

 

 

A Hands-on Tutorial on P4 Programmable Data Planes

Internet2 Technology Exchange

Monday December 5, 01:30-04:30pm

 
Organizers
  • The Cyberinfrastructure Lab at UofSC
  • Energy Sciences Network (ESnet)
Venue
  • Sheraton Denver Downtown Hotel
  • Denver, Colorado
  •  

Overview

This tutorial provides Information Technology (IT) professionals with hands-on exercises on P4 programmable data plane switches, covering from introductory to advanced topics. Programmable data plane switches have recently emerged, attracting significant attention from the industry and the academia. They permit operators and programmers in general to run customized packet processing functions in the data plane at terabit rates, thus paving the way for an unprecedented wave of innovation and experimentation by reducing the time of designing, testing, and adopting new protocols; enabling a customized, top-down approach to develop network applications; providing granular visibility of packet events defined by the programmer; reducing complexity and enhancing resource utilization of the programmable switches; and drastically improving the performance of applications that are offloaded to the data plane. This tutorial will permit each attendee to execute virtual laboratory experiments, covering a wide range of features and topics related to P4 programmable switches, from introductory to advanced levels.

 

Outcomes

By the end of this tutorial, attendees will:

 
P4 Programmable Data Plane Switches:
  • 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
  • Define register arrays
  • Calculate the interarrival times of packets

Intended Audience

The tutorial is targeted to IT educators and professionals such as system administrators, network engineers, practitioners. The content is suitable for instructors who want to incorporate advanced material into their networking classes. The content is available for NETLAB systems.
 

Pre-requisites

Attendees are expected to know basic networking (IPv4, local area networks, OSI model). Training activities will be conducted using a virtual platform. Attendees will be provided with a username and a password.

 

Agenda

Monday, December 5
Time Topic Presenter
01:30 - 01:55 Overview of P4 and programmable data plane switches [PPT, PDF]
Introduction to packet parsing [PPT, PDF]
Jorge Crichigno [Bio]
01:55 - 02:30 Hands-on Session 1: intro to P4 and BMv2; writing a parser, compiling, and downloading P4 code to the switch [PPT, PDF] Elie Kfoury [Bio], Jorge Crichigno
02:30 - 02:45 Break  
02:45 - 03:05 Using registers to store arbitrary data [PPT, PDF] Jorge Crichigno
03:05 - 03:40 Hands-on Session 2: Calculating packets interarrival times using hashes and registers [PPT, PDF] Elie Kfoury, Jorge Crichigno
03:40 - 03:55 Break  
03:55 - 04:20 Hands-on Session 2 (continue): Calculating packets interarrival times using hashes and registers Elie Kfoury, Jorge Crichigno
04:20 - 04:30 Tofino POD [PPT, PDF] Jorge Crichigno, Elie Kfoury
Survey [PPT, PDF]