Page tree

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

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