A Survey on Data Plane Programming with P4: Fundamentals, Advances, and Applied Research

by   Frederik Hauser, et al.

With traditional networking, users can configure control plane protocols to match the specific network configuration, but without the ability to fundamentally change the underlying algorithms. With SDN, the users may provide their own control plane, that can control network devices through their data plane APIs. Programmable data planes allow users to define their own data plane algorithms for network devices including appropriate data plane APIs which may be leveraged by user-defined SDN control. Thus, programmable data planes and SDN offer great flexibility for network customization, be it for specialized, commercial appliances, e.g., in 5G or data center networks, or for rapid prototyping in industrial and academic research. Programming protocol-independent packet processors (P4) has emerged as the currently most widespread abstraction, programming language, and concept for data plane programming. It is developed and standardized by an open community and it is supported by various software and hardware platforms. In this paper, we survey the literature from 2015 to 2020 on data plane programming with P4. Our survey covers 497 references of which 367 are scientific publications. We organize our work into two parts. In the first part, we give an overview of data plane programming models, the programming language, architectures, compilers, targets, and data plane APIs. We also consider research efforts to advance P4 technology. In the second part, we analyze a large body of literature considering P4-based applied research. We categorize 241 research papers into different application domains, summarize their contributions, and extract prototypes, target platforms, and source code availability.


Toward an Abstract Model of Programmable Data Plane Devices

SDN divides the networking landscape into 2 parts: control and data plan...

A Survey on Data Plane Flexibility and Programmability in Software-Defined Networking

Software-defined networking (SDN) attracts the attention of the research...

P4-CoDel: Experiences on Programmable Data Plane Hardware

Fixed buffer sizing in computer networks, especially the Internet, is a ...

Design and Implementation of SMARTHO – A Network Initiated Handover mechanism in NG-RAN, on P4-based Xilinx NetFPGA switches

This report deals with the design of handover schemes for radio access n...

YANG2UML: Bijective Transformation and Simplification of YANG to UML

Software Defined Networking is currently revolutionizing computer networ...

Lucid: A Language for Control in the Data Plane

Programmable switch hardware makes it possible to move fine-grained cont...

Dynamic Recompilation of Software Network Services with Morpheus

State-of-the-art approaches to design, develop and optimize software pac...

Please sign up or login with your details

Forgot password? Click here to reset