- Andrea Campanella / ONF (firstname.lastname@example.org)
- Yi Tseng / ONF (email@example.com)
- Jonghwan Hyun / ONF (firstname.lastname@example.org)
- Wu Shaoyong / ZTE (email@example.com)
Jian Tian / ZTE (firstname.lastname@example.org)
Ke Zhiyong / ZTE (email@example.com)
- Frank Wang / Inspur (firstname.lastname@example.org)
- Minh Pham / UTS (email@example.com)
- Tom Tofigh / AT&T (firstname.lastname@example.org)
- Uyen Chau / ONF (email@example.com)
- Brian O'Connor / ONF (firstname.lastname@example.org)
- Esin Karaman / Netsia (email@example.com)
Brigade Mailing List:
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.
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.
Southbound support forP4RuntimeMinimal amendments to P4 RuntimeDONE - 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 northbound APIs to support protocol-independence (e.g. support for non-standard match/actions in flow rules)DONE - Available starting from ONOS 1.11
New use cases:
- 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 flowing.
- Possibility to optimize
Optimize existing P4 programs or auto-generate new ones based on application needs and traffic workload.
Here are some pointers lo learn more about the work of this brigade and current support for P4 in ONOS:
- P4Runtime in ONOS architecture overview (Demo presented at L123 SDN NFV World Congress)
- P4 support in ONOS deep dive (Presented at ONOS Build 2017)
- ONOS+P4 tutorial exercises (ONOS-P4 Brigade Work Days 2017)
- P4 support via BMv2 and P4Runtime
- Controlling P4Runtime-enabled Tofino-based devices with ONOS
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 (firstname.lastname@example.org) or David Boswell (email@example.com) if you are interested.