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, SET, and SUBSCRIBE gRPCs. gNMI version 0.10.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 that acts as the owner of the data that is being manipulated or reported on. Typically this will be a netconfd-pro server that communicates with the client with the 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

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 on 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

Using the gNMI Server