With businesses transforming their IT infrastructures to cloud environments, there has been a need for tools to gain more control over their networks. This challenge was partly tackled by Software Defined Networking (SDN), enabling the physical separation of data and control planes to simplify network management and provisioning. However, the SDN’s potential has been limited by the inflexibility of the switching hardware. This has encouraged the networking community to replace traditional fixed-function switches with programmable devices, where packet forwarding planes can be defined using the P4 programming language.
What is P4
P4 (Programming Protocol-Independent Packet Processors) is an open-source networking domain-specific language intended to describe the behavior of the data plane for different networking use cases. Although P4 was initially designed for network switch forwarding plane programming, its scope has been extended to cover other programmable network elements, such as hardware or software switches, network interface cards (NICs), routers, and network appliances.
The SDN evolution started from decoupling of data and control planes and transfer of the control plane from network hardware to software. The OpenFlow protocol is a successful example of this approach, allowing for organizing switch network operations through a centralized controller. P4 programmability is the next step in the evolution path, enabling the definition of device functionality outside a device itself, while the control of operations is still available via P4Runtime interface.
PLVision helps our customers to effectively implement future-proof product development strategies. Explore our P4 compilation and management solution for Telco-grade networking equipment, enabling an FPGA-based smartNIC manufacturer to significantly enhance the user experience for their end clients.
With P4, the set of network protocols required for the specific use case can be easily installed onto the network device, whereas unused protocols can be removed, freeing up space and improving resource utilization.
P4 programs are designed to be implementation-independent, which means that one and the same program can be run on different hardware targets – CPUs, NPUs, ASICs or FPGAs.
P4 enables network engineers to create a tag for each packet as it passes through a router or switch, providing a unique level of visibility over the routing paths.
Our technology expertise
At PLVision, we enable semiconductor and network equipment vendors to stay on top of industry trends and boost their competitive advantage by embedding P4 support in their core products. We help our customers develop vendor-specific P4 compilers for different hardware targets, as well as P4 applications aimed at defining the functionality of network devices and configuring their run-time parameters via P4Runtime interface.
As a member of the Open Networking Foundation (ONF), PLVision had started exploring P4 technology long before it was adopted and popularized in the industry, having contributed to early implementations of P4 programming in a networking project for a large global semiconductor vendor.
Get expert consultation
Contact us to get a quick assessment on how P4 compatibility can help your product gain tangible benefits.
Networking Solutions Architect