Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

P4 allows programming of many devices in a target-independent manner, using high-level constructs. In principle, P4 programs should be portable. The same program, when compiled for different targets, should produce the same forwarding behavior. Finally, P4 allows for reconfigurability in the field. In other words, once deployed, devices can be reconfigured with a new P4 program to provide support for new forwarding capabilities. 

Why should ONOS care about a data plane programming language?

In ONOS we are ultimately interested in the capabilities of networking devices and ways to ease the configuration and control of such capabilities. P4 is becoming the common language spoken by switch vendors and operators to agree on what the data plane can or should do. Indeed, P4 is meant as both a specification language, e.g. to formally specify how a fixed-function switch ASIC works, and a programming language. In its mission to ease the life of operators, and to promote faster innovation in the network, ONOS should be able to understand and potentially speak P4. Understand, to be aware of the capabilities of a given device and to expose higher-level APIs to control them. Speak, to deploy new capabilities, e.g. generating or modifying existing P4 programs, that can be later controlled to satisfy application needs.

...