gNMI Map#
Lately I've been involved in project that required quite a deep understanding of OpenConfig gRPC Network Management Interface (gNMI). Going over the gNMI specification multiple times made me realize that I can't fully build a mental map of all the messages and encapsulations without having a visual representation of it. So I've made one, lets see what it has to offer.
gNMI Map is essentially a visual guide to the gNMI service.
It lays out the protobuf data types that compose the gNMI service and provides the references to the relevant sections of the reference guide and code definitions. For example, if you wondered what are the messages the client sends when it needs to query the Capabilites of the remote gNMI target, you can easily zoom into the Capabilities RPC and identify all the messages and types involved in this RPC:
The visual connectors help you unwrap the nested messages and collect the whole picture.
Moreover, each message and type "card"0 has a link to a relevant documentation piece of the reference along with the link to its definition in the gnmi.proto
file:
allowing you to quickly jump either to the explanation paragraph of the spec or dive into the proto definition code piece.
Currently the latest gNMI version (0.7.0.) has been "mapped", my intention is to release another map when a new version of the gNMI will be available, keeping the old ones versioned. That will allow having a map for each release after 0.7.0.
The map comes in a PDF format and is stored at hellt/gnmi-map, you can quickly access the latest version with a shortcut: https://bit.ly/gnmi-map.
Happy mapping!