Table of Contents absoluteUrl true
Brigade Members:
- Carmelo Cascone / ONF (carmelo@opennetworking.org) (brigade lead)
- Andrea Campanella / ONF (andrea@opennetworking.org)
- Yi Tseng / ONF (yi@opennetworking.org)
- Jonghwan Hyun / ONF (jonghwan@opennetworking.org)
- Wu Shaoyong / ZTE (wu.shaoyong@zte.com.cn)
Jian Tian / ZTE (tian.jian@zte.com.cn)
Ke Zhiyong / ZTE (ke.zhiyong@zte.com.cn)
- Frank Wang / Inspur (wangpeihui@inspur.com)
- Minh Pham / UTS (mngpham@gmail.com)
- Tom Tofigh / AT&T (tofigh@att.com)
- Uyen Chau / ONF (uyen@opennetworking.org)
- Brian O'Connor / ONF (brian@opennetworking.org)
- Esin Karaman / Netsia (esin.karaman@netsia.com)
Serkant Uluderya / Netsia (serkant.uluderya@netsia.com)
Mehmed Mustafa / Netsia (mehmed.mustafa@netsia.com)
Ekber Aziz / Netsia (ekber.aziz@netsia.com)
Kevin Chuang / NCTU (cachuang@cs.nctu.edu.tw)
Nate Tang / NCTU (tangching1204@gmail.com)
Iver Liu / NCTU (iver.quest@gmail.com)
Brigade Mailing List
...
Brigade Status
...
Active. Find here the JIRA epic tasks we are currently working on:
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
Jira | ||||||
---|---|---|---|---|---|---|
|
Jira | ||||||
---|---|---|---|---|---|---|
|
...
https://jira.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 William Quiviger (william@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 is abstracted from applications.
Scope
...
Short-term focus:
Southbound support for P4 RuntimeDONE - Available starting from ONOS 1.11Enable support for existing applications with any P4 program (via manual ONOS-to-P4 mapping)DONE - Available starting from ONOS 1.11Extend northbound APIs to support protocol-independence (e.g non-standard match/actions in flow rules)DONE - Available starting from ONOS 1.11Switch configuration via OpenConfig over gNMI
New use cases:
Fabric.p4 (CORD fabric with P4 switches)DONESupport for In-band Network Telemetry (INT)
CORD VNFs offloading to HW P4 switches
45/5G Serving and Packet Gateway (spgw.p4)DONEBNG with PPPoE termination
...
- Rethink northbound APIs to capture enhanced capabilities of programmable data planes
- Services to support incremental reprogramming, i.e. deploy a new P4 program to devices while traffic is flowing.
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+P4 tutorial (with hands-on exercises)
- Includes introduction to P4Runtime, ONOS, and use cases (fabric.p4 and spgw.p4)
- Updated April 2018
- P4 support in ONOS deep dive (presented at ONOS Build 2017)
- Developer VM and walkthrough of P4Runtime support in ONOS via BMv2
- P4-based Trellis (CORD fabric), AKA fabric.p4 (with instructions to test on BMv2)
- Offloading VNFs to programmable switches using P4 P4 (talk at ONS North America 2018)
- P4Runtime demo with Google's tor.p4 (presented at L123 SDN NFV World Congress 2017 - video here)
- ONOS-P4 Brigade Work Days 2017 (past event)
ONOS support for P4 targets
...
- Controlling P4Runtime-enabled Barefoot Tofino-based devices with ONOS
- Controlling P4Runtime-enabled Mellanox Spectrum switch with ONOS
To learn more about P4Runtime
...
- Announcing P4Runtime – A contribution by the P4 API Working Group (Blog post)
- Other P4Runtime resources
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 William Quiviger (william@opennetworking.org) if if you are interested.