https://github.com/damianoneill/net
Management Protocol Network implementations in Go; NETCONF, SNMP, CLI
https://github.com/damianoneill/net
cli go golang library netconf snmp ssh yang
Last synced: 4 days ago
JSON representation
Management Protocol Network implementations in Go; NETCONF, SNMP, CLI
- Host: GitHub
- URL: https://github.com/damianoneill/net
- Owner: damianoneill
- License: mit
- Created: 2018-09-24T13:45:26.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-03-05T15:31:42.000Z (almost 2 years ago)
- Last Synced: 2025-08-14T18:41:26.706Z (6 months ago)
- Topics: cli, go, golang, library, netconf, snmp, ssh, yang
- Language: Go
- Homepage:
- Size: 1.02 MB
- Stars: 17
- Watchers: 6
- Forks: 1
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Management Network Library
[](https://github.com/damianoneill/net/releases)
[](https://goreportcard.com/report/github.com/damianoneill/net)
[](https://github.com/damianoneill/net/blob/master/LICENSE)
[](https://pkg.go.dev/github.com/damianoneill/net/v2?tab=overview)
Management Protocol Network implementations in Go
This package includes:
- Client side support of the NETCONF Protocol defined in [(rfc6241)](https://tools.ietf.org/html/rfc6241).
- Client side support for NETCONF Notifications defined in [(rc5277)](https://tools.ietf.org/html/rfc5277).
- GetSchemas and GetSchema from NETCONF Monitoring defined in [(rfc6022)](https://tools.ietf.org/html/rfc6022).
- Client side support of the SNMP Protocol defined in [(rfc3416)](https://tools.ietf.org/html/rfc3416).
The library includes support for the following cross-cutting concerns through dependency injection:
- Logging
- Metrics
- Configuration
The transport layer is externalized from the Library using dependency injection, allowing the user to choose and configure as their specific environment requires. [Go Examples](https://github.com/damianoneill/net/blob/master/v2/netconf/client/example_test.go) are included for demonstration purposes.
The package can be downloaded with the following command, note the v2 in the module path.
```bash
go get -u github.com/damianoneill/net/v2/...
```
## Credits
The implementation of the framing codec in the rfc6242 package has been adapted from an implementation by [Andrew Fort](https://github.com/andaru) - https://github.com/andaru/netconf.
The implementation of the ber encoding has been leveraged from the implementation by [Geoff Garside](http://geoffgarside.co.uk/) - https://github.com/geoffgarside/ber.