Safe, modular packet pipeline programming
Devon Loehr, David Walker
Abstract
The P4 language and programmable switch hardware, like the Intel Tofino, have made it possible for network engineers to write new programs that customize operation of computer networks, thereby improving performance, fault-tolerance, energy use, and security. Unfortunately, possible does not mean easy —there are many implicit constraints that programmers must obey if they wish their programs to compile to specialized networking hardware. In particular, all computations on the same switch must access data structures in a consistent order, or it will not be possible to lay that data out along the switch’s packet-processing pipeline. In this paper, we define Lucid 2.0, a new language and type system that guarantees programs access data in a consistent order and hence are pipeline-safe . Lucid 2.0 builds on top of the original Lucid language, which is also pipeline-safe, but lacks the features needed for modular construction of data structure libraries. Hence, Lucid 2.0 adds (1) polymorphism and ordering constraints for code reuse; (2) abstract, hierarchical pipeline locations and data types to support information hiding; (3) compile-time constructors, vectors and loops to allow for construction of flexible data structures; and (4) type inference to lessen the burden of program annotations. We develop the meta-theory of Lucid 2.0, prove soundness, and show how to encode constraint checking as an SMT problem. We demonstrate the utility of Lucid 2.0 by developing a suite of useful networking libraries and applications that exploit our new language features, including Bloom filters, sketches, cuckoo hash tables, distributed firewalls, DNS reflection defenses, network address translators (NATs) and a probabilistic traffic monitoring service.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers4
- eHDL: Turning eBPF/XDP Programs into Hardware Designs for the NICAlessandro Rivitti, Roberto Bifulco, Angelo Tulumello, Marco Bonola et al.ASPLOS 2023 · 16 citations
- Sequence Abstractions for Flexible, Line-Rate Network MonitoringAndrew Johnson, Ryan Beckett, Xiaoqi Chen, Ratul Mahajan et al.NSDI 2024 · 4 citations
- Remote Direct Memory IntrospectionHongyi Liu, Jiarong Xing, Yibo Huang, Danyang Zhuo et al.USENIX Security 2023
- VeriLucid: A Verification-aware Data-plane Programming LanguageJohn Sonchack, Pamela Zave, Jennifer RexfordSIGCOMM 2026
Builds on5
- Jaqen: A High-Performance Switch-Native Approach for Detecting and Mitigating Volumetric DDoS Attacks with Programmable SwitchesZaoxing Liu, Hun Namkung, Georgios Nikolaidis, Jeongkeun Lee et al.USENIX Security 2021 · 221 citations
- Contra: A Programmable System for Performance-aware RoutingKuo-Feng Hsu, Ryan Beckett, Ang Chen, Jennifer Rexford et al.NSDI 2020 · 104 citations
- Lyra: A Cross-Platform Language and Compiler for Data Plane Programming on Heterogeneous ASICsJiaqi Gao, Ennan Zhai, Hongqiang Harry Liu, Rui Miao et al.SIGCOMM 2020 · 82 citations
- Switch Code Generation Using Program SynthesisXiangyu Gao, Taegyun Kim, Michael D. Wong, Divya Raghunathan et al.SIGCOMM 2020 · 51 citations
- Lucid: a language for control in the data planeJohn Sonchack, Devon Loehr, Jennifer Rexford, David WalkerSIGCOMM 2021 · 45 citations
Related papers
- P4runpro: Enabling Runtime Programmability for RMT Programmable SwitchesYifan Yang, Lin He, Jiasheng Zhou, Xiaoyi Shi et al.SIGCOMM 2024 · 12 citations
- P4BID: information flow control in p4Karuna Grewal, Loris D'Antoni, Justin HsuPLDI 2022 · 5 citations
- Composing Dataplane Programs with μP4Hardik Soni, Myriana Rifai, Praveen Kumar, Ryan Doenges et al.SIGCOMM 2020 · 54 citations
- SwiSh: Distributed Shared State Abstractions for Programmable SwitchesLior Zeno, Dan R. K. Ports, Jacob Nelson, Daehyeok Kim et al.NSDI 2022 · 38 citations
- Modular Switch Programming Under Resource ConstraintsMary Hogan, Shir Landau Feibish, Mina Tahmasbi Arashloo, Jennifer Rexford et al.NSDI 2022
