NDG Online Courses and Labs
Partner Logo

USC P4 Programmable Data Planes

Hands-on practice with a variety of applications, stateful elements, and custom packet processing using P4 Programmable Data Plane switches.

Lab Details

These labs provide hands-on practice with a variety of applications, stateful elements, and custom packet processing using P4 Programmable Data Plane switches in a Software-defined Networking (SDN) paradigm.

The development of this lab series was supported with funding from the National Science Foundation Award 2118311, “Cybertraining on P4 Programmable Devices using an Online Scalable Platform with Physical and Virtual Switches and Real Protocol Stacks” at the University of South Carolina (UofSC).

Features

Module List

Labs
Lab 1: Introduction to Mininet
Lab 2: Introduction to P4 and BMv2
Lab 3: P4 Program Building Blocks
Lab 4: Defining and Processing Custom Headers
Lab 5: Monitoring the Switch Queue using Standard Metadata
Lab 6: Collecting Queueing Statistics using a Header Stack
Lab 7: Measuring Flow Statistics using Direct and Indirect Counters
Lab 8: Rerouting Traffic using Meters
Lab 9: Storing Arbitrary Data using Registers
Lab 10: Calculaint Packets Interarrival Times using Hashes and Registers
Lab 11: Generating Notification Messages from the Data Plane using Digests