Versions Compared

Key

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

...

P4 is not a protocol or device API for runtime control, i.e. once a P4 program is deployed to a device, P4 doesn’t tell us how that device can be controlled, for example to add or remove entries in match+action tables, or to read the value of a counter. How can ONOS control a P4-enabled device? There is no standard control protocol/API yet specifically targeted for P4, so far it is up to the switch target to expose a suitable API. P4Runtime is an effort in the P4 community to create a standard control-plane API portable across targets, they propose a gRPC-based APIs (p4runtime.proto).

oweverThe brigade will focus on P4Runtime as a southbound control protocol, however, different devices supporting P4 might expose different APIs. Similarly to how ONOS today deals with different flavors of OpenFlow exposed by different device vendors/models, heterogeneity of control protocol/APIs should be abstracted from applicationapplications.

Roadmap

[work in progress]

Short-term focus in 2017:

  •  support Design and implement southbound support for P4Runtime (via BMv2)
  • Define and implement use cases to assess P4 southbound support

How to get involved:

Support for P4, and protocol-independence in general, will affect the whole ONOS platform, fromt the southbound to the northbound. The P4 brigade is looking for members willing to contribute! Contact Carmelo Cascone (carmelo@onalb.us) or David Boswell (david@onlab.us) if you are interested.