~/talk

Petr4: Formal Foundations for P4 Data Planes

Talkat POPL 2021 · 2021-01-17..01-22· [networking]
links:none on file
name:Amanda Xu
links:none on file
links:none on file
links:none on file
links:none on file
name:Newton Ni
links:none on file
links:none on file
links:none on file
slides:none on file

Petr4 provides a clean‑slate definitional interpreter and a compact core calculus that models a P4 fragment, validated by running over 750 tests from the P4 reference suite. The interpreter is about 10KLoC OCaml interpreter, parameterized by an architecture interface; the paper proves a type‑preserving termination theorem for the calculus. Development finds and reports dozens of bugs in the 160‑page spec and the 40KLoC C++ reference implementation, and includes a web demo that evaluates P4 programs end to end.

AI-written summary · about

  1. 0:00Intro
  2. 1:03The Data Plane
  3. 1:54Networking has Flown the IETF Nest
  4. 2:22Languages for Data Plane Programming
  5. 2:34P4 Unifies Data Planes
  6. 2:53This Work: Foundations for P4 Data Planes
  7. 3:21Example: Source Routing + ACL
  8. 3:53Packet-Processing Phases
  9. 4:24P4 Header Types
  10. 4:37Packet Parsing in P4 type
  11. 5:47Packet Transformations in P4 metadata
  12. 6:38Deparsing in P4
  13. 6:59A Subtle Bug...
  14. 8:26Some Benefits of Foundations
  15. 9:08The Petr 4 System
  16. 11:07P4 in situ
  17. 11:36Excavating the P4 Type System
  18. 13:32The Final Result
  19. 13:52What is P4's Type System?
  20. 14:41The Petr4 Solution
  21. 15:27Returning to Our Dig: Evaluation
  22. 16:38What is P4's Operational Behavior?
  23. 18:13The Petr4 Implementation
  24. 19:13Core Calculus
  25. 19:54Metatheory
  26. 20:18Case Study: Adding Type-Safe Unions
  27. 20:48Tested Semantics
  28. 25:35Ongoing and Future Work
  29. 26:32Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.