Using gNMI

This section describes the gNMI (gRPC Network Management Interface) integration within the netconfd-pro server and ypgnmi-app application. The model-driven configuration and retrieval of operational data using the gNMI CAPABILITIES, GET and SET gRPCs. gNMI version 0.4.0 is supported.

Throughout this specification the following terminology is used:

  • Telemetry - refers to streaming data relating to underlying characteristics of the device - either operational state or configuration

  • Configuration - elements within the data schema which are read/write and can be manipulated by the client

  • Target - the device within the protocol which acts as the owner of the data that is being manipulated or reported on. Typically this will be a netconfd-pro server that communicate with the client with help of ypgnmi-app application

  • Client - the device or system using the protocol and the service described in this document to query/modify data on the target, or act as a collector for streamed data. Typically this will be a network management system. The client will contact the ypgnmi-app application to query/modify data on the target

yp-gNMI Features

The main gNMI service functionality contains the following requests (gRPC):

  • Capabilities - used by the client and target as an initial handshake to exchange capability information

  • Get - used to retrieve snapshots of the data on the target by the client

  • Set - used by the client to modify the state of the target

  • Subscribe - used to control subscriptions to data on the target by the client

Future revisions of the gNMI specification MAY result in additional services being introduced, and hence an implementation MUST NOT make assumptions that limit to a single service definition.

The ypgnmi-app application is capable of handling these requests and transferring them to the netconfd-pro server for further processing as well as handle replies from the netconfd-pro server and transmit them back to the gNMI clients. The following sections will describe in more details how these requests are handled internally in the netconfd-pro and how ypgnmi-app application transform original gNMI requests and how they are transmitted to and from the netconfd-pro.

Restrictions for gNMI Protocol

The YumaPro gNMI protocol has the following restrictions:

  • Only JSON encoding options

  • In a SetRequest, wildcards and all keys are not supported. Only fully-specified paths are supported

  • In Subscribe, only supported mode is ONCE

Using the gNMI Server