P4: programming protocol-independent packet processors

By P. Bosshart, Dan Daly, Glen Gibb, M. Izzard, Nick McKeown, Jennifer Rexford, Cole Schlesinger, Daniel E. Talayco, Amin Vahdat, George Varghese and 1 more. CCRV, 2013

3,052 citations recorded by the source corpus.

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.

Subfields: Computer Networks and Communications, Electrical and Electronic Engineering

View Paper: https://www.semanticscholar.org/paper/463e7d2a62b1f15cc2daba34230297827e7c6757

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Computer Networks and Communications

  1. Jennifer Rexford
  2. Hari Balakrishnan
  3. Ion Stoica
  4. Scott Shenker
  5. Mohammad Alizadeh
  6. Sylvia Ratnasamy
  7. Changhoon Kim
  8. Ian F. Akyildiz

In Electrical and Electronic Engineering

  1. Hari Balakrishnan
  2. Jennifer Rexford
  3. Shuai Nie
  4. Ian F. Akyildiz
  5. Martin Reisslein
  6. Scott Shenker
  7. George Varghese
  8. Sajal K. Das

Citations in the corpus