SwitchV: automated SDN switch validation with P4 models
Kinan Dak Albab, Jonathan DiLorenzo, Stefan Heule, Ali Kheradmand, Steffen Smolka, Konstantin Weitz, Muhammad Timarzi, Jiaqi Gao, Minlan Yu
Abstract
Increasing demand on computer networks continuously pushes manufacturers to incorporate novel features and capabilities into their switches at an ever-accelerating pace. However, the traditional approach to switch development relies on informal specifications and handcrafted tests to ensure reliability, which are tedious and slow to maintain and update, effectively putting feature velocity at odds with reliability.
This work describes our experiences following a new approach during the development of switch software stacks that extend fixedfunction ASICs with SDN capabilities. Specifically, we focus on SwitchV, our system for automated end-to-end switch validation using fuzzing and symbolic analysis, that evolves effortlessly with the switch specification. Our approach is centered around using the P4 language to model the data plane behavior of the switch as well as its control plane API. Such P4 models are then used as a formal specification by SwitchV, as well as a switch-agnostic contract by SDN controllers, and a living documentation by engineers.
SwitchV found a total of 154 bugs spanning all switch layers. The majority of bugs were highly relevant and fixed within 14 days.
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 papers9
- Pinolo: Detecting Logical Bugs in Database Management Systems with Approximate Query SynthesisZongyin Hao, Quanfeng Huang, Chengpeng Wang, Jianfeng Wang et al.USENIX ATC 2023 · 26 citations
- P4Testgen: An Extensible Test Oracle For P4-16Fabian Ruffy, Jed Liu, Prathima Kotikalapudi, Vojtech Havel et al.SIGCOMM 2023 · 20 citations
- Hydra: Effective Runtime Network VerificationSundararajan Renganathan, Benny Rubin, Hyojoon Kim, Pier Luigi Ventre et al.SIGCOMM 2023 · 11 citations
- MeshTest: End-to-End Testing for Service Mesh Traffic ManagementNaiqian Zheng, Tianshuo Qiao, Xuanzhe Liu, Xin JinNSDI 2025 · 7 citations
- Active Learning of Symbolic NetKAT AutomataMark Moeller, Tiago Ferreira, Thomas Lu, Nate Foster et al.PLDI 2025 · 4 citations
Builds on4
- Skyfire: Data-Driven Seed Generation for FuzzingJunjie Wang, Bihuan Chen, Lei Wei, Yang LiuS&P 2017 · 382 citations
- Plankton: Scalable network configuration verification through model checkingSanthosh Prabhu, Kuan-Yen Chou, Ali Kheradmand, Brighten Godfrey et al.NSDI 2020 · 130 citations
- Orion: Google's Software-Defined Networking Control PlaneAndrew D. Ferguson, Steve D. Gribble, Chi-Yao Hong, Charles Killian et al.NSDI 2021 · 95 citations
- Probabilistic profiling of stateful data planes for adversarial testingQiao Kang, Jiarong Xing, Yiming Qiu, Ang ChenASPLOS 2021 · 21 citations
Related papers
- Fix with P6: Verifying Programmable Switches at RuntimeApoorv Shukla, Kevin Nico Hudemann, Zsolt Vági, Lily Hügerich et al.INFOCOM 2021 · 13 citations
- Gauntlet: Finding Bugs in Compilers for Programmable Packet ProcessingFabian Ruffy, Tao Wang, Anirudh SivaramanOSDI 2020 · 34 citations
- Sequence Abstractions for Flexible, Line-Rate Network MonitoringAndrew Johnson, Ryan Beckett, Xiaoqi Chen, Ratul Mahajan et al.NSDI 2024 · 4 citations
- Towards Model Checking Real-World Software-Defined NetworksVasileios Klimis, George Parisis, Bernhard ReusCAV 2020 · 1 citation
- AudiSDN: Automated Detection of Network Policy Inconsistencies in Software-Defined NetworksSeungsoo Lee, Seungwon Woo, Jinwoo Kim, Vinod Yegneswaran et al.INFOCOM 2020 · 13 citations
