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
Refer to the Running Ypgnmi-app section for details on starting the ypgnmi-app program.
Refer to the Running gNMI Client Applications section for details on running the ypgnmi-app program.
Refer to the Closing ypgnmi-app section for details on closing the ypgnmi-app program.