P4 Programmable Data Planes - Applications, Stateful Elements, and Custom Packet Processing

UofSC and NSF

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). 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 P4 Programmable Data Planes - Applications, Stateful Elements, and Custom Packet Processing labs are supported using the P4 Programmable Data Planes ASECPP Pod.

Supported Labs

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

To enable the P4 Programmable Data Planes - Applications, Stateful Elements, and Custom Packet Processing labs, install the UofSC – P4 Programmable Data Planes: Applications, Stateful Elements, and Custom Packet Processing – v1.0 course using the Course Manager. See the Course Manager section of the NETLAB+ VE Admin Guide for details. The course content will then be available to be added to classes.

pod