Southbound support for 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 non-standard match/actions in flow rules)DONE - Available starting from ONOS 1.11
New use cases:
Fabric.p4 (CORD fabric with P4 switches)DONE - Available starting from ONOS 1.14 Support for In-band Network Telemetry (INT)DONE - Available starting from ONOS 1.14
CORD VNFs offloading to HW P4 switches
Mobile Serving and Packet Gateway (spgw.p4)DONE - Integrated with fabric.p4 Residential BNG with PPPoEtermination terminationDONE - 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)
- Includes an introduction to P4Runtime, ONOS, and use cases (fabric.p4 and spgw.p4) Updated December 2018:
- 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 September 2019
- Advanced ONOS+P4 Tutorial: Building an SRv6-enabled fabric with P4 and ONOS
- Requires intermediate knowledge of the P4 language
- Updated April 2019
- 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 VNFs
- Offloading S/PGW VNF 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