Write a Blog >>

P4 www.p4.org is a new programming language for describing how network packets should be processed on a variety of targets ranging from general-purpose CPUs to network processors, FPGAs, and custom ASICs. P4 was designed with three goals in mind:

  • Protocol independence: devices should not “bake in” specific protocols;
  • field reconfigurability: programmers should be able to modify the behavior of devices after they have been deployed; and
  • portability: programs should not be tied to specific hardware targets.

The P4 community has created – and continues to maintain and develop – a language specification, a set of open-source tools (compilers, debuggers, code analyzers, libraries, software P4 switches, etc.), and sample P4 programs with the goal of making it easy for P4 users to quickly and correctly author new data-plane behaviors. New ideas are being developed in P4, prototyped as new forwarding behaviors, and published at some of the top conferences in networking. Existing data- plane features typically realized in a fixed-function logic are also being authored in P4.

Sun 18 Jun

pldi-2017-workshops-and-tutorials
08:30 - 10:30: PLDI Tutorials - P4: Programming the Network Data Plane at Vertex WS215
pldi-2017-workshops-and-tutorials08:30 - 10:30
Other
Nate FosterCornell University, Cole SchlesingerSamsung Research America, Calin CascavalBarefoot Networks
pldi-2017-workshops-and-tutorials
11:00 - 12:30: PLDI Tutorials - P4: Programming the Network Data Plane (cont'd) at Vertex WS215
pldi-2017-workshops-and-tutorials11:00 - 12:30
Other
Nate FosterCornell University, Cole SchlesingerSamsung Research America, Calin CascavalBarefoot Networks