gnmi

module
v0.11.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 20, 2024 License: Apache-2.0

README

gNMI - gRPC Network Management Interface

This repository contains reference Go implementations for gNMI.

Note: This is not an official Google product.

The implementations include:

  • client library implementation using gnmi.proto
  • CLI for interacting with a gNMI service
  • Caching collector that connects to multiple gNMI targets and makes the data available over a single gNMI Subscribe RPC to clients

Installing

To install the CLI, run

go get -u github.com/openconfig/gnmi/cmd/gnmi_cli

Client libraries

The main entry point for using the client libraries is in github.com/openconfig/gnmi/client.

See godoc pages for documentation and usage examples.

Directories

Path Synopsis
Package cache is a tree-based cache of timestamped state provided from one or more gNMI targets.
Package cache is a tree-based cache of timestamped state provided from one or more gNMI targets.
Package cli provides the query capabilities for streaming telemetry.
Package cli provides the query capabilities for streaming telemetry.
Package client provides a generic access layer for streaming telemetry providers.
Package client provides a generic access layer for streaming telemetry providers.
fake
Package client implements a fake client implementation to be used with streaming telemetry collection.
Package client implements a fake client implementation to be used with streaming telemetry collection.
flags
Package flags defines extra flag types for use in command line flag parsing.
Package flags defines extra flag types for use in command line flag parsing.
gnmi
Package client contains transport implementation for the parent client library using gnmi.proto.
Package client contains transport implementation for the parent client library using gnmi.proto.
cmd
gnmi_cli
The gnmi_cli program implements the GNMI CLI.
The gnmi_cli program implements the GNMI CLI.
gnmi_collector
The gnmi_collector program implements a caching gNMI collector.
The gnmi_collector program implements a caching gNMI collector.
Package coalesce provides an in-order queue for collecting outputs from a producer to provide inputs to a consumer.
Package coalesce provides an in-order queue for collecting outputs from a producer to provide inputs to a consumer.
Package collector provides a gRPC interface to reconnect targets in a gNMI collector.
Package collector provides a gRPC interface to reconnect targets in a gNMI collector.
Package connection manages cached client connections to gRPC servers.
Package connection manages cached client connections to gRPC servers.
Package ctree implements a Tree container whose methods are all thread-safe allowing concurrent access for multiple goroutines.
Package ctree implements a Tree container whose methods are all thread-safe allowing concurrent access for multiple goroutines.
Package errdiff makes it easy to compare Error by code, substring or exact match in tests.
Package errdiff makes it easy to compare Error by code, substring or exact match in tests.
Package errlist implents an error type that contains a list of other errors.
Package errlist implents an error type that contains a list of other errors.
Package latency supports exporting latency stats (avg/max/min) of a set of time windows as metadata.
Package latency supports exporting latency stats (avg/max/min) of a set of time windows as metadata.
Package manager provides functions to start or stop monitoring of a target.
Package manager provides functions to start or stop monitoring of a target.
Package match builds a tree of active subscriptions that is matched against all incoming updates.
Package match builds a tree of active subscriptions that is matched against all incoming updates.
Package metadata describes metadata paths stored in the cache per target.
Package metadata describes metadata paths stored in the cache per target.
Package path provides utility functions to convert a given gnmi.Path into index strings.
Package path provides utility functions to convert a given gnmi.Path into index strings.
proto
Package subscribe implements the gnmi.proto Subscribe service API.
Package subscribe implements the gnmi.proto Subscribe service API.
Package target has utility functions for working with target configuration proto messages in target.proto.
Package target has utility functions for working with target configuration proto messages in target.proto.
testing
fake/gnmi
Package gnmi implements a gRPC gNMI agent for testing against a collector implementation.
Package gnmi implements a gRPC gNMI agent for testing against a collector implementation.
fake/gnmi/cmd/fake_server
The fake_server is a simple gRPC gnmi agent implementation which will take a configuration and start a listening service for the configured target.
The fake_server is a simple gRPC gnmi agent implementation which will take a configuration and start a listening service for the configured target.
fake/gnmi/cmd/gen_fake_config
The gen_fake_config command converts a hardcoded fake.proto message into a textual protobuf.
The gen_fake_config command converts a hardcoded fake.proto message into a textual protobuf.
fake/queue
Package queue implements an update queue for use in testing a telemetry stream.
Package queue implements an update queue for use in testing a telemetry stream.
fake/testing/grpc/config
Package config provides gRPC configuration methods used by tests to facilitate easier setup of gRPC clients and servers.
Package config provides gRPC configuration methods used by tests to facilitate easier setup of gRPC clients and servers.
fake/testing/tls
Package tls provides helpers for generation of local tls.Certificates for use in testing.
Package tls provides helpers for generation of local tls.Certificates for use in testing.
Package value provides utility functions for working with gNMI TypedValue messages.
Package value provides utility functions for working with gNMI TypedValue messages.
Package watch detects raw changes to files.
Package watch detects raw changes to files.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL