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.
Networking
NDG
About this course
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).
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
What's in this course
Lab Exercises