Search papers, labs, and topics across Lattice.
This paper introduces Octopus, a tool that translates P4 packet parsers into automata for efficient symbolic equivalence checking. By leveraging a novel approach, Octopus can verify the equivalence of complex parsers within minutes on standard consumer hardware, significantly improving upon previous methods. The tool produces either a bisimulation to confirm equivalence or a counterexample to highlight behavioral discrepancies, enhancing the reliability of protocol-independent packet processing.
Octopus can verify complex P4 packet parsers' equivalence in minutes, making it a game-changer for networking reliability.
P4 is a domain-specific language for programming protocol-independent packet processors, where packet parsers describe how incoming bit-streams are structured into headers and fields. Building on work by Doenges et al. (2022), we present Octopus, a tool that translates P4 packet parsers into automata and then attempts to (symbolically) check their equivalence. Octopus produces evidence, either in the form of a bisimulation demonstrating equivalence, or a counterexample bit-stream witnessing a behavioral difference between the two parsers. In contrast with earlier work, our tool can check equivalence between non-trivial parsers within minutes, on consumer hardware. We report on the tool's implementation and evaluate its usability in networking contexts.