DPK-02 · Packet Processing with DPDK
Write your own TCP stack and serve a web page on it.
Implement the parts of TCP/IP that matter, then run an HTTP proxy on the stack you wrote.
You build: a user-space TCP/IP stack and an HTTP proxy that runs on it.
Promise
Write a working user-space TCP/IP stack and put an HTTP proxy on top of it.
Prerequisites
DPK-01 (or equivalent DPDK basics); TCP/IP.
Units
1. Foundations ch 01–05
the goal, DPDK basics, memory, the packet-processing core.
2. Protocol layers ch 06–15
link layer, IP, ICMP, UDP, TCP connection management, data path, flow control, congestion control.
3. Services ch 16–18
timers, a socket compatibility layer, threading.
4. Data-plane features ch 19–23
route lookup, firewall and ACL, NAT, tunnels, performance.
5. Operations ch 24–28
statistics, logging, kernel interoperation, advanced features, test frameworks.
6. Projects ch 29–30
HTTP proxy, programmable load balancer.
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 |
|---|---|---|
| DPK-02ach 09 | ICMP echo reply from your stackPass check: `ping` gets replies | sim60 min |
| DPK-02bch 10 | UDP echo servicePass check: Echo matches on 1,000 messages | sim60 min |
| DPK-02cch 12 | TCP three-way handshakePass check: `tcpdump` shows SYN, SYN-ACK, ACK | sim120 min |
| DPK-02dch 21 | NAT for outbound flowsPass check: Replies return to the right client | sim120 min |
Capstone project · CAP-02
Programmable Load Balancer on DPDK · 3 weeks
A service needs a layer-4 balancer that can change its algorithm at runtime.
Build a DPDK balancer with consistent hashing, health checks, and runtime reconfiguration. Target rate and packet sizes are set by the reviewer.
Deliverables: Source, test suite, benchmark report with variance.
Outcomes
- I can answer an ICMP echo request from a DPDK port.
- I can run a UDP echo service and a basic TCP handshake on my own stack.
- I can implement NAT for outbound connections.
- I can run the stack's tests and explain each failure.
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.