📚 gNxI - Awesome Go Library for Networking
A collection of tools for Network Management that use the gNMI and gNOI protocols.
🏷️ Networking
📂 Libraries for working with various layers of the network.
⭐ 258 stars
Detailed Description of 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 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
- This is not an official Google product.
- See how to contribute.