Versions Compared

Key

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

...

Table of Contents

...

titleP4 Brigade Work Days

...

We will hold a 2-day event of collaborative work on 18-19 September 2017 in Seoul, South Korea.

This is a great opportunity either if you are already an active member of the brigade, or if you are simply thinking to join. Indeed, as part of the agenda, we will give an extensive tutorial on the P4 support in ONOS. Moreover, ONOS Build 2017 (the annual conference dedicated to ONOS developers) takes place the same week in Seoul, meaning that you can make the most out of your travel by attending to both events!

More information about this event here.

absoluteUrltrue

Brigade Members

...

...

Brigade Mailing List

...

Brigade Status

...

Active. Find here the JIRA epic tasks we are currently working on:

https://jira

serverONOS
columnskey,summary,type,created,updated,assignee,reporter,priority,status,resolution
serverId5d1f0fc4-df4d-33d0-b9b3-55f48bcc614d
keyONOS-3969

...

.onosproject.org/secure/RapidBoard.jspa?rapidView=32&view=planning.nodetail

Weekly meetings

Every Tuesday at alternate times: 9:00 AM PST and 10:00 PM US Pacific time.

Find here the next meeting time and agenda.

...

Contacts

For any information or to join the brigade please contact Carmelo Cascone (carmelo@opennetworking.org) or David Boswell (david@opennetworking.org).

Background

...

P4 is a domain-specific language (DSL) designed to allow the programming of packet forwarding devices. P4 can be used to program different targets such as software switches, FPGA-based NICs or switches based on reconfigurable ASICs. P4 enables protocol-independent programmability at different levels, for example:

...

P4 is not a protocol or device API for runtime control or configuration, 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? 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). The 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, heterogeneity of control protocol/APIs should be is abstracted from applications.

Scope

...

The scope of this brigade is to make ONOS aware of this new dimension of programmability, in which support for new forwarding/processing capabilities can be added by writing and deploying P4 programs.

Short-term focus

...

:

  • Southbound support for P4RuntimeP4 Runtime DONE - Available starting from ONOS 1.11
  • Enable support for existing applications with any P4 program (via manual ONOS-to-P4 mapping) DONE - Available starting from ONOS 1.11
  • Extend Minimal amendments to northbound APIs to support protocol-independence (e.g . support for non-standard match/actions in flow rules) DONE - Available starting from ONOS 1.11
  • Switch configuration via OpenConfig over gNMI

  • New use cases:


Long-term focus:
  • Rethink northbound APIs to capture P4 enhanced capabilities, e.g. more visibility (via inband network telemetry) and stateful processing.enhanced capabilities of programmable data planes
  • Services to support incremental reprogramming, i.e. deploy a new P4 program to devices while traffic in is flowing.
  • Possibility to optimize

    Optimize existing P4 programs or auto-generate new ones based on application needs and traffic workload.

Learn more

Here are some pointers to learn more about the work of this brigade and current support for P4 in ONOS:

ONOS support for P4 targets

To learn more about P4Runtime

How to get involved

...

Support for P4 will affect the whole ONOS platform, from the southbound to the northbound. The P4 brigade is looking for members willing to contribute! Subscribe to the P4 mailing list and introduce yourself or contact Carmelo Cascone (carmelo@opennetworking.org) or David Boswell (david@opennetworking.org) if if you are interested.