P4Inv: Inferring Packet Invariants for Verification of Stateful P4 Programs
Authors:
- 20 May 2024
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 2129-2138
Abstract
P4 is widely adopted for programming data planes in software-defined networking. Formal verification of P4 programs is essential to ensure network reliability and security. However, existing P4 verifiers overlook the stateful nature of packet processing, rendering them inadequate for verifying complex stateful P4 programs.In this paper, we introduce a novel concept called packet invariants to address the stateful aspects of P4 programs. We present an automated verification tool specifically designed for stateful P4 programs. This algorithm efficiently discovers and validates packet invariants in a data-driven manner, offering a novel and effective verification approach for stateful P4 programs. To the best of our knowledge, this approach represents the first attempt to generate and leverage domain-specific invariants for P4 program verification. We implement our approach in a prototype tool called P4Inv. Experimental results demonstrate its effectiveness in verifying stateful P4 programs.Keywords
Funding Information
- National Natural Science Foundation of China
This publication has 32 references indexed in Scilit:
- ICE-Based Refinement Type Discovery for Higher-Order Functional ProgramsJournal of Automated Reasoning, 2020
- P4NIS: Improving network immunity against eavesdropping with programmable data planes2020
- Sorcar: Property-Driven Algorithms for Learning Conjunctive Invariants2019
- Applying big data technologies to manage QoS in an SDN2016
- SDN-based cloud computing networking2013
- Z3: An Efficient SMT Solver2008
- Boogie: A Modular Reusable Verifier for Object-Oriented Programs2006
- A Practical and Complete Approach to Predicate Refinement2006
- The SLAM Toolkit2001
- Houdini, an Annotation Assistant for ESC/Java2001