P4 (programming language): Difference between revisions

Content deleted Content added
Line 29:
====Target independence====
 
P4 programs are designed to be '''implementation-independent''', meaning they can be compiled against many different types of execution machines such as general-purpose CPUs, [[Field-programmable gate array|FPGAs]], [[System on a chip|system(s)-on-chip]], network processors, and ASICs. These different types of machines are known as P4 '''targets''', and each target must be provided along with a [[compiler]] that maps the P4 source code into a target switch model. The compiler may be embedded in the target device, an externally running software, or even a cloud service. As many of the initial targets for P4 programs were used for simple packet switching it is very common to hear the term “P4 switch” used, even though “P4 target” is more formally correct.
 
====Protocol independence====