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). This lab series introduces programmable data plane switches and their role in the Software-defined Networking (SDN) paradigm.
This lab series introduces programmable data plane switches and their role in the Software-defined Networking (SDN) paradigm. The labs provide a hands-on introduction to the Programming Protocol-independent Packet Processors (P4), the de facto programming language used to describe the behavior of the data planes of programmable switches. The labs are supported using the Introduction to P4 Programmable Data Planes Pod.
Lab | Title |
---|---|
1 | Introduction to Mininet |
Exercise 1 | Building a Basic Topology |
2 | Introduction to P4 and BMv2 |
Exercise 2 | Compiling and Running a P4 Program |
3 | P4 Program Building Blocks |
4 | Parser Implementation |
Exercise 3 | Parsing UDP and RTP |
5 | Introduction to Match-action Tables (Part 1) |
6 | Introduction to Match-action Tables (Part 2) |
Exercise 4 | Implementing NAT using Match-action Tables |
7 | Populating and Managing Match-action Tables at Runtime |
Exercise 5 | Configuring Match-action Tables at Runtime |
8 | Checksum Recalculation and Packet Deparsing |
Exercise 6 | Building a Packet Reflector |
To enable the Introduction to P4 Programmable Data Planes labs, install the Introduction to P4 Programmable Data Planes 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.