sgnmi_cli
This is a basic gNMI client that can be used for testing and sending
messages to a gNMI server such as infrap4d
. A YANG path needs to be
specified with the key and value.
sgnmi_cli
is a version of the Stratum gNMI tool (gnmi_cli
) that operates
in secure mode by default. It uses TLS certificates to establish the
connection. You must create a certificate and install it to the server
in order to operate.
The tool may be run in insecure mode by specifying --grpc_use_insecure_mode=true
on the command line. infrap4d
must be started in insecure mode for this to
work.
For more information, see the Security Guide.
Usage
sgnmi_cli: usage: sgnmi_cli [--help] [Options] COMMAND PATH
Secure gNMI CLI
positional arguments:
COMMAND gNMI command
(get,set,cap,del,sub-onchange,sub-sample)
PATH gNMI path
optional arguments:
--helpshort show help message and exit
--help show help on all flags and exit
--grpc_addr GRPC_ADDR gNMI server address
--ca_cert_file FILE CA certificate file
--client_cert_file FILE Client certificate file
--client_key_file FILE Client key file
--grpc_use_insecure_mode Insecure mode (default: false)
[get request only]
--get-type TYPE Use specific data type for get request
(ALL,CONFIG,STATE,OPERATIONAL)
[set request only]
--bool_val BOOL_VAL Set boolean value
--int_val INT_VAL Set int value (64-bit)
--uint_val UINT_VAL Set uint value (64-bit)
--string_val STRING_VAL Set string value
--float_val FLOAT_VAL Set float value
--proto_bytes PROTO_VAL Set protobuf bytes value
--bytes_val_file FILE Send file as bytes value
--replace Replace instead of updating
[sample subscribe only]
--interval INTERVAL Sample subscribe poll interval in ms
Flags
Command-line flags are processed using the Google gflags library.
Flag names may be prefixed with one or two hyphens.
-help
is the same as --help
.
Underscores (_
) and hyphens (-
) may be used interchangeably within a
flag name. -ca_cert_file
is the same as -ca-cert-file
.
There are a great many built-in flags in addition to the ones listed above.
-help
or -helpfull
will list all the flags. -helpshort
will list only
the flags that are specific to the current program.
Boolean flags may be specified several different ways:
-detach
,-detach=yes
,-detach=true
(enable)-nodetach
,-detach=no
,-detach=false
(disable)
Examples
Get port index
sgnmi_cli get /interfaces/interface[name=1/1/1]/state/ifindex
Set Config SADB entry in ipsec-offload
sgnmi_cli --proto_bytes="`cat /tmp/sadconfig.txt`" \
set "/ipsec-offload/sad/sad-entry[name=1]/config"
Subscribe to ipsec-offload notifications
sgnmi_cli sub-onchange /ipsec-offload
Use insecure mode
sgnmi_cli get /interfaces/interface[name=1/1/1]/state/ifindex \
--grpc_use_insecure_mode=true
Specify alternate certificate file paths
sgnmi_cli get /interfaces/interface[name=1/1/1]/state/ifindex \
--ca-cert-file=/tmp/ca.crt \
--client-cert=file=/tmp/client.crt \
--client-key-file=/tmp/client.key