Difference between revisions of "Sweetcomb/gNMIServer"
From fd.io
m (→Testing gNMI server functionalities) |
m (→Testing gNMI server functionalities) |
||
Line 16: | Line 16: | ||
* Openconfig [https://github.com/openconfig/gnmi gnmi_cli]: | * Openconfig [https://github.com/openconfig/gnmi gnmi_cli]: | ||
+ | |||
+ | * Openconfig [https://github.com/openconfig/gnmi/tree/master/cmd/gnmi_collector gnmi_collector] | ||
* Google [https://github.com/google/gnxi/tree/master/gnmi_capabilities gnmi_capabilities], [https://github.com/google/gnxi/tree/master/gnmi_get gnmi_get], [https://github.com/google/gnxi/tree/master/gnmi_set gnmi_set] | * Google [https://github.com/google/gnxi/tree/master/gnmi_capabilities gnmi_capabilities], [https://github.com/google/gnxi/tree/master/gnmi_get gnmi_get], [https://github.com/google/gnxi/tree/master/gnmi_set gnmi_set] |
Revision as of 09:30, 4 April 2019
Contents
gNMI Server
gNMI stands for gRPC Network Management Interface, it works like a client server protocol offering a set of 4 RPCs:
- Capabilities
- Get
- Set
- Subscribe
A demo of gNMI server can be found here FD.io's vpp meets gNMI
Testing gNMI server functionalities
There are multiple gNMI clients available:
- Arista gnmi: Support capabilities, get, set, subscribe RPCs only with IETF JSON encoding.
- Openconfig gnmi_cli:
- Openconfig gnmi_collector
- Google gnmi_capabilities, gnmi_get, gnmi_set
- Nokia pygnmi: Support subscribe RPC only
- Cisco pipeline-gnmi: For telemetry (subscribe) only
Arista gNMI client
gnmi -addr localhost:50051 update /ietf-interfaces:interfaces/interface[name="GigabitEthernet0/9/0"]/enabled true
Google gNMI client
gnmi_capabilities -notls -target_addr localhost:50051
gnmi_get -notls -target_addr localhost:50051 -xpath "/ietf-interfaces/interface-state"
NB: Please note that google gnmi client don't work with ":" separator in xpath. They only use "/".
NB2: default encoding is JSON IETF encoding.