gNxI
A collection of tools for Network Management that use the gNMI and gNOI protocols
About gNxI
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 1to 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
- This is not an official Google product.
- See how to contribute.
Frequently Asked Questions
What is gNxI?
gNxI is a Networking library for the Go programming language. A collection of tools for Network Management that use the gNMI and gNOI protocols
How do I install gNxI?
Install gNxI with the Go module system using `go get google/gnxi`. Check the repository for the current installation instructions.
What category does gNxI belong to?
gNxI is listed under Networking, specifically Networking.