Skip to content

Instantly share code, notes, and snippets.

@metalgrid
Created July 12, 2021 11:47
Show Gist options
  • Save metalgrid/3e9f95d2ae19009075db9a10de20ae5d to your computer and use it in GitHub Desktop.
Save metalgrid/3e9f95d2ae19009075db9a10de20ae5d to your computer and use it in GitHub Desktop.
package main
import (
"flag"
"log"
smi "github.com/sleepinggenius2/gosmi"
smitypes "github.com/sleepinggenius2/gosmi/types"
)
func main() {
flag.Parse()
smi.Init()
defer smi.Exit()
smi.AppendPath("/usr/share/snmp/mibs")
smi.AppendPath("/usr/share/snmp/mibs/ietf")
smi.AppendPath("/usr/share/snmp/mibs/iana")
smi.AppendPath("./mibs")
smi.LoadModule("RFC1213-MIB")
smi.LoadModule("TIMETRA-SUBSCRIBER-MGMT-MIB")
nodeStr := flag.Arg(0)
if node, err := smi.GetNode(nodeStr); err == nil {
if node.Kind != smitypes.NodeTable {
log.Fatalf("%s: not a table", nodeStr)
}
for _, subnode := range node.GetSubtree() {
log.Printf("%s: %s", subnode.Name, subnode.Kind)
}
} else {
log.Fatalf("%s", err)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment