Bapi_V_Headshot.jpg

Netronome and P4: A Brief History and a Roadmap

By Bapi Vinnakota | Jun 28, 2016

Timeline

Figure: P4 programming on COTS server networking hardware: Netronome and P4 timeline

Approximately one year ago, Netronome joined The P4 Language Consortium (p4.org) and almost immediately began actively contributing to the language’s growth. An anniversary is usually a good time for some introspection.

Netronome directed significant engineering resources to support the new language. The efforts focused on making it possible to conceive, develop and debug P4 code on production networking hardware. In turn, this would allow developers and researchers to easily explore the new flexibility afforded by P4 and its value in enabling new types of applications in real networks. We were also interested in lowering the barriers to data plane research in the academic community, a likely source of these new ideas and applications.

When we joined p4.org, Netronome demonstrated that its software and hardware architecture was already well aligned with the vision of P4. This alignment enabled the company to produce and offer a preview version of a tool chain that compiled and executed P4 programs on Agilio intelligent server adapters (ISAs) less than two quarters after joining P4.org and while the P4 language 1.0 specification was still under development. (The P4 1.0 specification was actually released in March 2015.) Netronome provided developers access to the preview toolset at the P4 DevCon Workshop held in November 2015. At this workshop, developers from thirty universities and companies were able to write and compile P4 code to Agilio CX ISAs.

At the workshop, Netronome also announced the formation of Open-NFP (open-nfp.org), an organization to support open network function processing research in universities and companies. The organization started with projects from three universities. Early in Q1 2016, Netronome made deeply discounted Agilio hardware available to the academic community through Open-NFP. In addition, researchers had immediate access to the P4 toolchain used in the workshop.

In May 2016, Netronome announced the general availability of the first-ever P4 IDE. Netronome joined other companies in sponsoring P4 Developer Day and the P4 Workshop. Netronome again offered developers a hands-on lab at P4 Developer Day, giving developers the ability to write and test P4 code on hardware. At the workshop, Netronome presented papers and demos including a joint talk with AT&T on using P4 for Dynamic Analytics and the application of P4 to Network Functions Virtualization.

In June, Open-NFP will make the cloud-access technology used at the P4 Developer Day available for remote access. Developers can now use cloud-based IDEs to develop and download P4 code to remote servers. Since its inception, universities, labs and companies from around the world have joined Open-NFP. It has grown to 20 research projects on SDN and NFV applications from universities, research institutions and companies around the world. Many of them use P4 for research on a wide range of topics. Going forward, Netronome looks to continue to engage with and grow P4’s adoption and use, with the focus growing from easy access to easily reusable research, development for P4 on hardware in universities and companies.