SwitchLog: A Logic Programming Language for Network Switches
summary
Introduces a restricted logic DSL that compiles to Lucid then P4 and targets Intel Tofino; programs use key-value tables with per-key merge operators (min, count, recent) to avoid arbitrary iteration. Rules require all RHS predicates to share keys except one optional location key, permit at most two distinct location specifiers, and forbid the same relation at the same location twice. Demonstrated concise implementations of routing, MAC learning, firewall and telemetry; uses ~20% of each stage on a 12-stage Tofino and achieves no recirculation for the telemetry examples.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 1:44Traditional switch challenges
- 4:56Programmable switch constraints
- 7:24NDLog limitations for hardware
- 11:21SwitchLog design
- 15:15Avoiding packet recirculation
- 19:52SwitchLog to Lucid and P4
- 22:01Integrating SwitchLog with Lucid
- 23:44Evaluating with real apps
- 24:49Conclusion
- 25:10Q&A
related talks
01h 08mThe Network is the Computer: A Programming Language Perspective
28mSafe, Modular Packet Pipeline Programming
47mDeep Programmability: A New Lens on Networking
20mContra: A Programmable System for Performance aware Routing
18mLiveness Verification of Stateful Network Functions
14mModular Switch Programming Under Resource Constraints
18mMaking Logic a First-Class Citizen in Generative ML for Networking
15mEnabling In-situ Programmability in Network Data Plane: From Architecture to Language
