Publication | Closed Access
P4
2.7K
Citations
14
References
2014
Year
Strawman ProposalEngineeringSoftware-defined NetworkingSdn ControlComputer EngineeringComputer ArchitectureProtocol IndependenceComputer ScienceTransport LayerFormal VerificationSystem SoftwareProgrammable Data Plane
P4 is a high‑level language that enables programming of protocol‑independent packet processors and is designed to work with SDN control protocols such as OpenFlow, which currently specifies a growing set of protocol headers but lacks flexibility to add new ones. The authors propose using P4 as a future evolution of OpenFlow, aiming to achieve field reconfigurability, protocol independence, and target independence for packet‑processing switches. They illustrate the approach by showing how P4 can be used to configure a switch to add a new hierarchical label.
P4 is a high-level language for programming protocol-independent packet processors. P4 works in conjunction with SDN control protocols like OpenFlow. In its current form, OpenFlow explicitly specifies protocol headers on which it operates. This set has grown from 12 to 41 fields in a few years, increasing the complexity of the specification while still not providing the flexibility to add new headers. In this paper we propose P4 as a strawman proposal for how OpenFlow should evolve in the future. We have three goals: (1) Reconfigurability in the field: Programmers should be able to change the way switches process packets once they are deployed. (2) Protocol independence: Switches should not be tied to any specific network protocols. (3) Target independence: Programmers should be able to describe packet-processing functionality independently of the specifics of the underlying hardware. As an example, we describe how to use P4 to configure a switch to add a new hierarchical label.
| Year | Citations | |
|---|---|---|
Page 1
Page 1