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.

Intermediate≈ 30 h 6 units4 labs
p4sdnp4runtimeswitchfirewall

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.

LabWhat you doEnvironment
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.