FP4: Line-rate Greybox Fuzz Testing for P4 Switches

07/26/2022
by   Nofel Yaseen, et al.
0

Compared to fixed-function switches, the flexibility of programmable switches comes at a cost, as programmer mistakes frequently result in subtle bugs in the network data plane. In this paper, we present the design and implementation of FP4, a fuzz-testing framework for P4 switches that achieves high expressiveness, coverage, and scalability. FP4 directly tests running switches by generating semi-random input packets and observing their resulting execution in the data plane. To achieve high coverage and scalability, at runtime, FP4 leverages P4 itself with another "tester" switch that generates and mutates billions of test packets per second entirely in the dataplane. Because testing some program branches requires navigating complex semantic input requirements, FP4 additionally leverages the programmability of P4 by instrumenting the tested program to pass coverage information back to the tester through the packet header. We present case studies showing that FP4 can validate both safety and stateful properties, improves efficiency over existing random packet generation baselines, and reaches 100 examples.

READ FULL TEXT

page 4

page 6

research
04/22/2020

Towards Runtime Verification of Programmable Switches

Is it possible to patch software bugs in P4 programs without human invol...
research
05/19/2023

Lifting Network Protocol Implementation to Precise Format Specification with Security Applications

Inferring protocol formats is critical for many security applications. H...
research
04/30/2018

Concolic Testing for Deep Neural Networks

Concolic testing alternates between CONCrete program execution and symbO...
research
04/28/2018

A Resource Pooling Switch Architecture with High Performance Scheduler

With the rapid development of network-based services and applications, c...
research
06/17/2019

How to Avoid Making a Billion-Dollar Mistake: Type-Safe Data Plane Programming with SafeP4

The P4 programming language offers high-level, declarative abstractions ...
research
07/13/2021

MVPipe: Enabling Lightweight Updates and Fast Convergence in Hierarchical Heavy Hitter Detection

Finding hierarchical heavy hitters (HHHs) (i.e., hierarchical aggregates...
research
09/26/2022

Test Coverage for Network Configurations

We develop NetCov, the first tool to reveal which network configuration ...

Please sign up or login with your details

Forgot password? Click here to reset