The P4 Language Consortium is becoming a project of the Open Networking Foundation (ONF) and, by extension, a project of the Linux Foundation to which the ONF belongs. The P4 Consortium has been a non-profit organization dedicated to writing the P4 programming language since 2013.
P4 describe how packets are forwarded by networking devices such as switches, routers, and network interface cards (NICs). P4 takes software-defined networking (SDN) to the next level by bringing programmability to the forwarding plane.
The P4 language was originally created by a group of engineers and researchers from Google, Intel, Microsoft Research, Barefoot Networks, Princeton, and Stanford. P4 was designed to be target-independent, meaning a program written in P4 could be compiled, without modification, to run on a variety of targets, such as ASICs, FPGAs, CPUs, NPUs, and GPUs.
The language has gained a lot of popularity. The P4 Consortium now counts over 100 members with contributions coming from some big names, including Alibaba, AT&T, Cisco, Juniper Networks, Netronome, VMware, Xilinx, and ZTE.
Nick McKeown, a professor of computer science at Stanford and a P4 board member, told SDxCentral, “P4.org is a free membership organization. It’s amazing such a functioning, large organization has been able to get this far without any membership fees.”
P4 will remain open and free as part of ONF and the Linux Foundation. “P4 has now grown into such a large community. This reflects a coming-of-age of P4,” said McKeown. “It really needs the help of these larger umbrella organizations,” referring to the ONF and the Linux Foundation.
P4 and SONiC
Today’s announcement is timely given that the Open Compute Project (OCP) is holding its annual summit in San Jose, California, next week, where one of the topics will be the Software for Open Networking in the Cloud (SONiC) open-source switch, which is used by Microsoft.
Since P4 can be used for both programmable and fixed-function devices alike, it can be used in SONiC environments, which are usually more simple, fixed-function. P4 can accurately capture the switch pipeline behavior under the Switch Abstraction Interface (SAI) APIs, used by SONiC.
“In any switching chip, the packets are processed by a pipeline,” said McKeown. “P4 is a way of describing that pipeline. It tells the switch how to process packets. In SONiC you have a slightly more static view – with SAI — of how the pipeline works. SAI is essentially a description of a particular pipeline behavior. It assumes the pipeline operates in a very simple way, which is very appropriate for big data centers.”
Besides big data centers, P4 boasts enthusiastic support from service providers, network equipment vendors, chip vendors, and enterprises.
“AT&T was an early supporter of P4, having been one of the first to use P4 to specify the behavior we want in our networks and using P4’s programmable forwarding plane devices in our network,” said Andre Fuetsch, CTO and president of AT&T Labs, in a statement. “As one of the operator members at ONF, and as a member of P4.org., we look forward to using and contributing to the synergies created by P4.org joining ONF and Linux Foundation.”