PDP-04 · Programmable Data Planes
Your own switch, defined in code.
Describe a packet pipeline in P4, control it at runtime through P4Runtime, and see it do exactly what you wrote and nothing else.
You build: a firewall and a load balancer on a programmable switch model.
Promise
Write a P4 pipeline, control it through P4Runtime, and build a firewall and a load balancer on a programmable switch model.
Prerequisites
basic networking; a little Python.
Units
1. Concepts ch 01–05
network programmability, SDN, P4 and its uses, environment setup.
2. Language ch 06–13
program structure, syntax in six parts, control flow, a first program.
3. Advanced features ch 14–19
feature set and architecture models.
4. Control plane ch 20–21
P4Runtime and programming with it.
5. Network functions ch 22–26
a firewall and a simple load balancer.
6. Debugging and ecosystem ch 27–30
testing, hardware targets, community, summary.
Labs
Each lab names its environment and a pass check. Labs are not marked complete on "it ran" — the pass check has to hold.
| Lab | What you do | Environment |
|---|---|---|
| PDP-04ach 13 | First P4 program on bmv2: forward by destinationPass check: Packets exit the expected port | sim90 min |
| PDP-04bch 21 | Control a table from a P4Runtime clientPass check: Table entries appear and take effect | sim90 min |
| PDP-04cch 23 | Stateless firewall rules in P4Pass check: Blocked rule drops, others pass | sim90 min |
| PDP-04dch 25 | Simple load balancer in P4Pass check: Flows split across two ports | sim90 min |
Capstone project · CAP-06
Telemetry-Driven Test Pipeline · 2 weeks
A team's network changes ship without automated performance checks.
Build a pipeline: traffic test, metrics collection, regression detection, and a promotion gate.
Deliverables: Pipeline code, a seeded-regression demo, report template.
Outcomes
- I can write a P4 program that parses headers and applies match-action tables.
- I can populate tables from a P4Runtime controller.
- I can implement and test a stateless firewall rule set.
- I can explain which parts of P4 map to hardware targets.
Also in
How it runs
Work through the units in order. Each unit groups the chapters of the study guide with its share of the labs. You can start any time; there is no cohort date and nothing expires.
Labs run in a VM, a container, a simulator or on real hardware, and the card above names which. Where a lab needs hardware — an RDMA NIC, a programmable switch model, an FPGA — there is a simulator fallback so you are never blocked by equipment.
Questions
Do I get a certificate?
You get a completion record for the course. Path badges and project credentials are earned by passing the labs and the project review, not by attendance.
Can my team take this together?
Yes — and if you would rather have it delivered live, with the instructor in the room, this course also exists as a scheduled live cohort. See the live dates.
How long does it take?
≈ 30 h of study including the labs. Most engineers take it part-time over a few weeks.