P4 language

With increasing complexity of current computer networks, it is necessary to accommodate more complex and flexible ways of control mechanisms to forward and route traffic. Software-defined networking (SDN) tried to solve the situation by splitting network traffic between control and data plane. However, it soon became limited in terms of flexibility, mainly of data plane that is realized in hardware.
P4 language was designed in order to overcome these limitations and allow data plane on network devices to be configured according to current needs and workload.


P4, as a high-level programming language for description of packet forwarding planes, is defined as target independent, protocol independent and field reconfigurable. It supports many both software and hardware platforms to be used on, it allows to use custom protocol stacks and change the functionality of a device without its replacement. P4 features specialized constructs for manipulating network traffic including parser, match and action tables, deparser, support of extern blocks to incorporate custom algorithms and many others.

Read whitepapers:

The topic that is currently being discussed a lot is the interaction between data plane and control plane. There are a couple of types of APIs. Local APIs serve for interaction within a device. They are not standardized and are either auto-generated, i.e. specific for a particular P4 program, or program-independent, i.e. they are stable and do not change with the change of the P4 program. Another group are remote APIs for data plane and control plane being separate on different devices. In order to satisfy this need, P4 Language Consortium works on P4 Runtime.

Explore more Netcope products

Netcope P4

Netcope P4

P4 is a high-level language for programming protocol-independent packet processing. It has been d...

Netcope Session Filter (NSF)

Netcope Session Filter (NSF)

Learn more about Netcope's powerful session-oriented packet capture solution.

Netcope Development Kit (NDK)

Netcope Development Kit (NDK)

NDK enables rapid design, prototyping and evaluation of hardware-accelerated applications.

Netcope Success Stories


NSF-100G2-Picomass-Netcope Network Traffic Monitoring

Picomass uses Netcope Session Filter in the IPS200 DPI solution because NSF is capable of offloading traffic to hardware. This makes real-time DPI on 100G networks possible.

Flowmon Networks

Flowmon Networks Network Traffic Monitoring

Flowmon Networks aims to develop a new generation of NetFlow/IPFIX probes that can monitor and process traffic of 100GE high-speed networks. Because of that, Flowmon Networks needs to find a network card that would be able of handling 100 GE monitoring requirements.

U.S. trading firm deploys Tradecope

U.S. trading firm deploys Tradecope Electronic Stock Trading

For successful trading on electronic exchanges today, it is not enough to come up with the smartest strategy anymore. Learn more about how U.S trading firm deployed FPGA-based Tradecope solution to increase hit rate of the trading strategy.