⚡ VPP Mastery
A structured, hands-on curriculum for engineers who want to go deep on FD.io Vector Packet Processor - from core architecture through plugin development and control-plane automation. Built for engineers with DPDK background, running on Docker + AMD + Mellanox.
LEARNING PHASES
Foundation & Environment
Scalar vs vector processing, VPP layer taxonomy, build from source, Docker + Mellanox setup, startup.conf, vppctl CLI, first packet trace.
Core VPP Internals
vppinfra data structures, vlib dispatch loop and buffers, vnet interface abstraction, FIB, feature arcs, multi-threading.
Interface Technologies
DPDK plugin internals, memif zero-copy shared memory, TAP v2, linux-cp, vhost-user, AF_XDP, AF_PACKET - every VPP interface type.
Plugin Development
Writing graph nodes, dual/quad-loop pattern, binary API (.api files), CLI commands, feature arc registration, VPP test framework.
Control Plane & Advanced
GoVPP binary API client, Stats API, vpp_papi Python bindings, observability, performance tuning, NUMA awareness, production patterns. Bonus: VPP Host Stack — TCP/Session layer, VCL, application namespaces.
MINI-PROJECTS OVERVIEW
| # | Project | Phase | Core Skill |
|---|---|---|---|
| 1 | VPP Container Lab - First Packet | P1 | Build, startup.conf, packet trace |
| 2 | Graph Node Inspector | P2B | vlib dispatch loop, show run |
| 3 | Custom Buffer Inspector Node | P2B | First plugin, dual-loop, tracing |
| 4 | Interface Technology Comparison | P3 | DPDK vs memif vs TAP throughput |
| 5 | memif vSwitch | P3B | Multi-container topology, L2 bridge |
| 6 | Packet Classifier Plugin | P4 | bihash, feature arc, binary API |
| 7 | Stateful Connection Tracker | P4 | Per-flow state, thread safety |
| 8 | GoVPP Control Plane Agent | P5 | GoVPP, Stats API, REST |
| 9 | End-to-End Production Topology | P5 | Integration of all phases |
REFERENCES