Andy Fingerhut
Nate Foster
Stefan Heule
Larry Peterson
Robert Soulé
Amin Vahdat


P4 Blog Posts

P4 (named for “Programming Protocol-independent Packet Processors”) is a language for expressing how packets are processed by the data plane of a forwarding element such as a hardware or software switch, network interface card, router, or network appliance.Many targets (in particular targets following an SDN architecture) implement a separate control plane and a data plane. P4 is designed to specify only the data plane functionality of the target. P4 programs do not specify the behavior of the control plane.

Separately, P4 programs can also be used along with P4Runtime to partially define the interface by which the control plane and the data-plane communicate. In this scenario, P4 is first used to describe the forwarding behavior and this in turn is converted by a P4 compiler into the metadata needed for the control plane and data plane to communicate. The data plane need not be programmable for P4 and P4Runtime to be of value in unambiguously defining the capabilities of the data plane and how the control plane can control these capabilities.

P4 is an open source community led by members and it follows a well structured, high quality, merit-based governance model. 

To learn more about P4 and the community, please check out these resources:

P4 Wiki

P4 YouTube

P4 Code

Introduction to P4

Learn about P4 and the value of using P4 programming in this short video featuring well-know networking industry luminaries: John Hennessey, Ben Horowitz, Martin Casado, Nick McKeown, Andre Fuetsch and John Vrionis.

P4 Architecture

2020 P4 Expert Roundtable Series
To learn more about about how P4 is making an impact on the industry, check out the on-demand video presentations and slidesfrom the recent P4-focused event.It includes industry-level presentations and deep-divetechnical content from across the P4 ecosystem.

P4 Ecosystem

The P4 ecosystem is a reference map to help understand and visualize the companies, universities and projects leverage the P4 programming language to build a wide variety of solutions.

Programmable Switch

P4 Working Groups

Language Design Working Group
API Working Group
Architecture Working Group
Applications Working Group
Education Working Group

Project Resources

Subscribe to ONF newsletter

Use corporate email account for access to ONF member-only content icon i email png