Skip to content
/ gnxi Public

gNXI Tools - gRPC Network Management/Operations Interface Tools

License

Notifications You must be signed in to change notification settings

google/gnxi

Folders and files

NameName
Last commit message
Last commit date
Aug 19, 2020
May 12, 2023
Apr 23, 2021
Oct 26, 2023
Mar 14, 2022
Mar 14, 2022
Jan 12, 2022
Apr 11, 2023
Mar 1, 2021
Jul 16, 2021
Nov 18, 2020
Apr 23, 2021
Jul 16, 2021
Nov 18, 2020
Oct 26, 2023
May 8, 2020
Sep 12, 2024
Aug 10, 2022
Nov 18, 2020
Sep 26, 2017
Sep 26, 2017
Nov 18, 2020
Sep 26, 2017
Oct 31, 2023
Oct 31, 2023
Sep 26, 2017

License GoDoc Go Report Card Build Status Code coverage master

gNxI Tools

  • gNMI - gRPC Network Management Interface
  • gNOI - gRPC Network Operations Interface

A collection of tools for Network Management that use the gNMI and gNOI protocols.

Summary

Notes about these tools:

  • They are intended for testing and as reference implementation of the protocol.
  • They log to stderr by default, disable with -logtostderr=false.
  • They use glog's log levels, use -v 1 to log proto message exchanges.

gNMI Clients:

gNMI Targets:

gNOI Clients

gNOI Targets

Helpers

Documentation

Getting Started

These instructions will get you a copy of the project up and running on your local machine.

Prerequisites

Install go in your system https://golang.org/doc/install. Requires golang1.14+.

Download sources

go get github.com/google/gnxi
ls $GOPATH/src/github.com/google/gnxi

Building and installing binaries

cd $GOPATH
mkdir bin
# This reads the go modules dependencies for installation
cd src/github.com/google/gnxi
go install ./...
ls -la $GOPATH/bin

Generating certificates

cd $GOPATH/bin
./../src/github.com/google/gnxi/certs/generate.sh

Running a client

cd $GOPATH/bin
./gnoi_reset \
    -target_addr localhost:9339 \
    -target_name target.com \
    -rollback_os \
    -zero_fill \
    -key client.key \
    -cert client.crt \
    -ca ca.crt

Optionally define $GOBIN as $GOPATH/bin and add it to your path to run the binaries from any folder.

export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN

Disclaimer