Page tree

Have questions? Stuck? Please check our FAQ for some common questions and answers.

This wiki documents the current development version of ONOS (master). Refer to the Wiki Archives for documentation for all previous versions of ONOS.

Skip to end of metadata
Go to start of metadata

What is gRPC?

gRPC is a Google open-source project which provides efficient language-agnostic communication.  It utilizes two key technologies: protocol buffers to provide efficient serialization for transmission, and http/2 for asynchronous communication.  The result is highly efficient communication that enables off-platform applications to interact with ONOS with minimal cost.


gRPC guide

Protocol Buffer guide (NOTE: we will be using proto3)

http/2 guide (RFC) (NOTE: only a basic understanding of http/2 is required to work on this)

Design Document (Currently draft)

Meeting notes

Weekly meeting:

Weekly meeting time is Tuesday from 10am to 11am Korea Standard Time (Monday 6pm - 7pm Pacific Standard Time).

Mailing list

Join the brigade for discussions on the gRPC mailing list at:!forum/brigade-grpc

Why gRPC?

gRPC will enable more ONOS apps to be moved off-platform consuming fewer system resources and providing a degree of isolation to reduce the chances of a fault in an application effecting the system as a whole.

Brigade Leads:

Aaron Kruglikov - Fujitsu

Jian Li - ONF

Active Brigade Members:

Inactive Brigade Members:

Brigade Status:

Some service implemented, many models implemented.

Brigade Members:

We are seeking a group of 3 or 4 members.

Contact the brigade:

We have a google group which can be found here.

We also have a slack channel within ONOS slack.


Short Term:

  • Support gRPC as a northbound interface.
  • Create handcrafted message types to provide access to system services (similar to the current REST API's but with improved performance via HTTP/2 multiplexing and improved encoding efficiency).
  • Create thorough test suites.

Long Term:

  • Create language packs for other languages to enable use of more complicated models (i.e. topology)
  • Add support for automatic code generation from ONOS service API's.
  • Explore the possibility of enabling gRPC for East/West communication.

How to get involved:

Contact Jian at (please include "gRPC" in the subject).

  • No labels