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|