Computing Precise Control Interface Specifications
Eric Hayden Campbell, Hossein Hojjat, Nate Foster
Abstract
Verifying network programs is challenging because of how they divide labor: the control plane computes high level routes through the network and compiles them to device configurations, while the data plane uses these configurations to realize the desired forwarding behavior. In practice, the correctness of the data plane often assumes that the configurations generated by the control plane will satisfy complex specifications. Consequently, validation tools such as program verifiers, runtime monitors, fuzzers, and test-case generators must be aware of these control interface specifications (ci-specs) to avoid raising false alarms. In this paper, we propose the first algorithm for computing precise ci-specs for network data planes. Our specifications are designed to be efficiently monitorable —concretely, checking that a fixed configuration satisfies a ci-spec can be done in polynomial time. Our algorithm, based on modular program instrumentation, quantifier elimination, and a path-based analysis, is more expressive than prior work, and is applicable to practical network programs. We describe an implementation and show that ci-specs computed by our tool are useful for finding real bugs in real-world data plane programs.
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.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext ff7f7e20-1c22-4d8f-9c71-958e798e0656Cited by top-tier papers1
Ask how each one uses itBuilds on9
- Config2Spec: Mining Network Specifications from Network ConfigurationsRüdiger Birkner, Dana Drachsler-Cohen, Laurent Vanbever, Martin T. VechevNSDI 2020 · 67 citations
- bf4: towards bug-free P4 programsDragos Dumitrescu, Radu Stoenescu, Lorina Negreanu, Costin RaiciuSIGCOMM 2020 · 38 citations
- Aquila: a practically usable verification system for production-scale programmable data planesBingchuan Tian, Jiaqi Gao, Mengqi Liu, Ennan Zhai et al.SIGCOMM 2021 · 28 citations
- P4Testgen: An Extensible Test Oracle For P4-16Fabian Ruffy, Jed Liu, Prathima Kotikalapudi, Vojtech Havel et al.SIGCOMM 2023 · 20 citations
- Avenir: Managing Data Plane Diversity with Control Plane SynthesisEric Hayden Campbell, William T. Hallahan, Priya Srikumar, Carmelo Cascone et al.NSDI 2021 · 17 citations
Related papers
- Differential Network AnalysisPeng Zhang, Aaron Gember-Jacobson, Yueshang Zuo, Yuhao Huang et al.NSDI 2022
- VeriLucid: A Verification-aware Data-plane Programming LanguageJohn Sonchack, Pamela Zave, Jennifer RexfordSIGCOMM 2026
- Tiramisu: Fast Multilayer Network VerificationAnubhavnidhi Abhashkumar, Aaron Gember-Jacobson, Aditya AkellaNSDI 2020 · 146 citations
- Meissa: scalable network testing for programmable data planesNaiqian Zheng, Mengqi Liu, Ennan Zhai, Hongqiang Harry Liu et al.SIGCOMM 2022 · 17 citations
- P4Inv: Inferring Packet Invariants for Verification of Stateful P4 ProgramsDelong Zhang, Chong Ye, Fei HeINFOCOM 2024 · 3 citations
