gNOI Services Overview
SUMMARY Junos devices support the gNOI services and RPCs outlined in this topic.
The gRPC Network Operations Interface (gNOI) defines services for performing operational commands on network devices. OpenConfig defines the operations (RPCs) and data structures (messages) for each service in proto definition files. The proto files with the full list of gNOI RPCs are located in the OpenConfig gNOI GitHub repository at https://github.com/openconfig/gnoi. Junos devices support a subset of the services and RPCs as described in the following sections.
Supported Services Overview
Table 1 outlines the gNOI services supported on Junos devices. The table lists the release in which support starts for the given version of the proto file.
Service | Release Starting Support | Proto File Version |
---|---|---|
|
Junos OS Evolved Release 22.2R1 |
0.2.0 |
|
Junos OS Evolved Release 22.2R1 |
0.1.0 |
|
Junos OS Evolved Release 22.2R1 |
0.1.0 |
Layer2 |
Junos OS and Junos OS Evolved Release 24.2R1 |
0.1.0 |
|
Junos OS Evolved Release 22.2R1 |
0.1.1 |
|
Junos OS Evolved Release 22.2R1 |
1.0.0 |
CertificateManagement Service
RPC | Description | Introduced in Release |
---|---|---|
CanGenerateCSR() |
Query the target device to determine if it can generate a certificate signing request (CSR) with the specified key type, key size, and certificate type. Supported values:
Returns |
Junos OS Evolved 23.1R1 |
GenerateCSR() |
Generate and return a certificate signing request (CSR). |
Junos OS Evolved 22.2R1 |
GetCertificates() |
Return the local certificates loaded on the target device. |
Junos OS Evolved 22.2R1 |
Install() |
Load a new certificate on the target device by creating a CSR request, generating a certificate based on the CSR, and loading the certificate using a new certificate ID. |
Junos OS Evolved 22.2R1 |
LoadCertificate() |
Load a certificate signed by a Certificate Authority (CA) on the target device. |
Junos OS Evolved 22.2R1 |
LoadCertificateAuthorityBundle() |
Load a CA certificate bundle on the target device. |
Junos OS Evolved 22.2R1 |
RevokeCertificates() |
Revoke the certificates with the specified certificate IDs on the target device. |
Junos OS Evolved 23.1R1 |
Rotate() |
Replace an existing certificate on the target device by creating a CSR request, generating a certificate based on the CSR, and loading the certificate using an existing certificate ID. |
Junos OS Evolved 22.2R1 |
Diagnostic (Diag) Service
RPC | Description | Introduced in Release |
---|---|---|
StartBERT() |
Start a BERT on a set of ports. Junos devices support the following PRBS patterns for gNOI BERTs:
|
Junos OS Evolved 22.2R1 |
StopBert() |
Stop an already in-progress BERT on a set of ports. |
Junos OS Evolved 22.2R1 |
GetBERTResult() |
Get BERT results during the BERT or after it completes. |
Junos OS Evolved 22.2R1 |
File Service
RPC | Description | Introduced in Release |
---|---|---|
Get() |
Read and stream the contents of a file from the target. The file is streamed by sequential messages, each message containing up to 64KB of data. A final message is sent prior to closing the stream that contains the hash of the data sent. The operation returns an error if the file does not exist or there is an error reading the file. |
Junos OS Evolved 22.2R1 |
Put() |
Stream data to a file on the target. The file is sent in sequential messages, each message containing up to 64KB of data. A final message must be sent that includes the hash of the data. The operation returns an error if the location does not exist or there is an error writing the data. If no checksum is received, the target removes the partially transmitted file. A failure will not alter any existing file of the same name. |
Junos OS Evolved 22.2R1 |
Remove() |
Remove the specified file from the target. The operation returns an error if the file does not exist, if the file path resolves to a directory, or if the remove operation encounters an error. |
Junos OS Evolved 22.2R1 |
Stat() |
Return metadata about a file on the target device. The operation returns an error if the file does not exist or there is an error accessing the metadata. |
Junos OS Evolved 22.2R1 |
Layer 2 Service
RPC | Description | Introduced in Release |
---|---|---|
ClearLLDPInterface() |
Clear all LLDP neighbors of the specified interface. |
Junos OS and Junos OS Evolved 24.2R1 |
Operating System (OS) Service
RPC | Description | Introduced in Release |
---|---|---|
Activate() |
Set the OS version that is used at the next reboot.
Note:
Junos devices do not support the |
Junos OS Evolved 22.2R1 |
Install() |
Transfer a software image onto the target. Note:
Junos devices do not support the |
Junos OS Evolved 22.2R1 |
Verify() |
Check the running OS version. This RPC may be called multiple times while the target boots until successful. Note:
Junos devices do not support |
Junos OS Evolved 22.2R1 |
System Service
- System Service (Ping and Traceroute)
- System Service (Reboot)
- System Service (Software Upgrade)
- System Service (Routing Engine Switchover)
System Service (Ping and Traceroute)
RPC | Description | Introduced in Release |
---|---|---|
Ping() |
Ping a device. The Default number of packets: 5 |
Junos OS Evolved 22.2R1 |
Traceroute() |
Execute the traceroute command on the target device and stream back the results. Default hop count: 30 |
Junos OS Evolved 22.2R1 |
System Service (Reboot)
RPC | Description | Introduced in Release |
---|---|---|
Reboot() |
Reboot the target. You can only execute one reboot request on a target at a time. You can optionally configure a delay to reboot in the future, reboot subcomponents individually, and add a message when the reboot initiates. The delay is configured in nanoseconds. Junos devices support the following reboot methods:
|
Junos OS Evolved 22.2R1 |
RebootStatus() |
Return the status of the reboot. | Junos OS Evolved 22.2R1 |
CancelReboot() |
Cancel a pending reboot request. | Junos OS Evolved 22.2R1 |
System Service (Software Upgrade)
RPC | Description | Introduced in Release |
---|---|---|
SetPackage() |
Install a software image on the target device. |
Junos OS Evolved 22.2R1 |
System Service (Routing Engine Switchover)
RPC | Description | Introduced in Release |
---|---|---|
SwitchControlProcessor() |
Switch from the current Routing Engine to the specified Routing Engine. If the current and specified Routing Engines are the same, it is a NOOP. If the target does not exist, the RPC returns an error. Note:
Junos devices do not support |
Junos OS Evolved 22.2R1 |