...
Brigade Status
Active. Find here the JIRA tasks we are currently working on:
INACTIVE
P4 development for ONOS is now happening as part of the SD-Fabric project: https://jiraopennetworking.onosproject.org/secure/RapidBoard.jspa?rapidView=32&view=planning.nodetailsd-fabric/
Weekly meetings
Every Tuesday at alternate times: 9:00 AM PST and 10:00 PM US Pacific time.
...
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 gNMIDONE - Initial support for OpenConfig Interfaces model available starting from ONOS 1.14New use cases:
Fabric.p4 (CORD fabric with P4 switches)DONE - Available starting from ONOS 1.14Support for In-band Network Telemetry (INT)DONE - Available starting from ONOS 1.14CORD VNFs offloading to HW P4 switches
Mobile Serving and Packet Gateway (spgw.p4)DONE - Integrated with fabric.p4Residential BNG with PPPoEterminationterminationDONE - Integrated with fabric.p4
- 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.
...
Here are some pointers to learn more about the work of this brigade and current support for P4 in ONOS:
- ONOS+P4 tutorial for beginners Next-Gen SDN Tutorial (with hands-on exercises):
- Learn about the building blocks of the NG-SDN architecture, such as data plane programming and control via P4 and P4Runtime; configuration via YANG, OpenConfig, and gNMI; Stratum, and ONOS.
- Organized around a sequence of hands-on exercises that show how to build an IPv6-based leaf-spine data center fabric using P4, Stratum, and ONOS.
- Updated May 2020
- Advanced ONOS+P4 Tutorial: Building an SRv6-enabled fabric with P4 and ONOS
- Requires intermediate knowledge of the P4 language
- Updated April 2019
- Includes an introduction to P4Runtime, ONOS, and use cases (fabric.p4 and spgw.p4)
- Updated December 2018
- P4 support in ONOS deep dive (presented at ONF Connect 2018 - video)
- 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)
- Trellis+P4 tutorial (with hands-on exercises) (presented at ONF Connect 2018)
- Disaggregating the BNG in SEBA with P4:
- Offloading S/PGW VNF Offloading VNFs to programmable switches using P4 (talk at ONS North America 2018)
- Disaggregating the BNG in SEBA with P4:
- 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)
- [OUTDATED] ONOS+P4 tutorial for beginners (with hands-on exercises)
- Includes an introduction to P4Runtime, ONOS, and use cases (fabric.p4 and spgw.p4)
- Updated December 2018
ONOS support for P4 targets
- Controlling P4RuntimeUsing ONOS to control Stratum-enabled Intel/Barefoot Tofino-based devices with ONOSswitches
- Controlling P4Runtime-enabled Mellanox Spectrum switch with ONOS
...