In this blog series, we are presenting the five P4 projects accepted for this year’s Google Summer of Code (GSoC). The second one is BMv2 Packet Trace Support.
GSoC Project
BMv2 Packet Trace Support
BMv2 currently provides only textual logs for tracing packets through a P4 pipeline, which must be parsed with brittle regex hacks and cannot be easily consumed by automated tools. This project aims to replace that with a structured, programmatic trace API — recording per-packet events such as applied tables, matched entries, and executed actions — and exposing them in a machine-readable format such as protobuf (with JSON serialization support), enabling use cases ranging from human debugging to automated test coverage measurement, test generation, and root cause analysis.
Project Mentors: Matthew Lam and Bili Dong
Contributor: Yuao Ma
Yuao is a system programmer, open source enthusiast, and committer to GCC and LLVM.