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.
| Labs |
|---|
| Lab 1: Introduction to Mininet |
| Exercise 1: Building a Basic Topology |
| Lab 2: Introduction to P4 and BMv2 |
| Exercise 2: Compiling and Running a P4 Program |
| Lab 3: P4 Program Building Blocks |
| Lab 4: Parser Implementation |
| Exercise 3: Parsing UDP and RTP |
| Lab 5: Introduction to Match-action Tables (Part 1) |
| Lab 6: Introduction to Match-action Tables (Part 2) |
| Exercise 4: Implementing NAT using Match-action Tables |
| Lab 7: Populating and Managing Match-action Tables at Runtime |
| Exercise 5: Configuring Match-action Tables at Runtime |
| Lab 8: Checksum Recalculation and Packet Deparsing |
| Exercise 6: Building a Packet Reflector |