TECHNICAL STEERING TEAM (TST)
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:
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.
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.