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

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

08:30 - 10:30
P4: Programming the Network Data PlanePLDI Tutorials at Vertex WS215
08:30
2h
Other
P4: Programming the Network Data Plane
PLDI Tutorials
Nate Foster Cornell University, Cole Schlesinger Samsung Research America, Calin Cascaval Barefoot Networks
11:00 - 12:30
P4: Programming the Network Data Plane (cont'd)PLDI Tutorials at Vertex WS215
11:00
90m
Other
P4: Programming the Network Data Plane
PLDI Tutorials
Nate Foster Cornell University, Cole Schlesinger Samsung Research America, Calin Cascaval Barefoot Networks