Skip to content

gRPC

gRPC configuration manages the gRPC agent on NX-OS devices, which provides the gNMI (gRPC Network Management Interface) service for model-driven configuration and streaming telemetry. Settings include the TLS certificate and client root certificate trustpoints, the listening port, the VRF used for gRPC communication, and gNMI tuning such as the maximum number of concurrent calls, the keepalive timeout and subscription behavior. The gRPC agent requires feature grpc; use feature openconfig to enable the OpenConfig YANG models.

Diagram
NameTypeConstraintMandatoryDefault Value
devicesListdevicesNo
device_groupsListdevice_groupsNo
globalClassglobalNo
templatesListtemplatesNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
systemClasssystemNo

NameTypeConstraintMandatoryDefault Value
grpcClassgrpcNo

NameTypeConstraintMandatoryDefault Value
certificateStringNo
client_root_certificateStringNo
portIntegermin: 1024, max: 65535No
use_vrfStringNo
gnmi_keepalive_timeoutIntegermin: 600, max: 86400No
gnmi_max_concurrent_callsIntegermin: 1, max: 16No
gnmi_subscription_filter_fileStringNo
gnmi_subscription_filter_file_md5StringNo
gnmi_subscription_mergeBooleantrue, falseNo
gnmi_subscription_query_conditionChoicekeep-data-timestampNo
gnmi_subscription_target_defined_min_intervalIntegermin: 1, max: 65535No

Example 1: gRPC agent with a custom port and TLS certificate

nxos:
devices:
- name: LEAF1
configuration:
feature:
grpc: true
system:
grpc:
certificate: grpc-trustpoint
port: 50051
use_vrf: default

Example 2: gRPC with mutual TLS and tuned gNMI subscriptions

nxos:
devices:
- name: SPINE1
configuration:
feature:
grpc: true
openconfig: true
system:
grpc:
certificate: grpc-trustpoint
client_root_certificate: grpc-root-trustpoint
port: 50052
use_vrf: default
gnmi_max_concurrent_calls: 12
gnmi_keepalive_timeout: 900
gnmi_subscription_target_defined_min_interval: 20
gnmi_subscription_query_condition: keep-data-timestamp
gnmi_subscription_merge: true