Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Add pointers to NG-SDN Tutorial and BNG disaggregation

...

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.

...

  • Southbound support for P4 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 northbound APIs to support protocol-independence (e.g non-standard match/actions in flow rules) DONE - Available starting from ONOS 1.11
  • Switch configuration via OpenConfig over gNMI DONE - Initial support for OpenConfig Interfaces model available starting from ONOS 1.14

  • 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 PPPoE terminationtermination DONE - Integrated with fabric.p4 


Long-term focus:
  • 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 support for P4 targets

...