Esempio n. 1
0
func methodBulkWalk(s *gosnmp.GoSNMP, oid string) {
	fmt.Println("Bulk Walk", oid)
	res, err := s.BulkWalk(uint8(cmdBulkSize), oid)
	if err != nil {
		fmt.Printf("Error Bulk Walk: %v\n", err)
	}
	for idx, r := range res {
		//			fmt.Printf("(%d) name: %v, t: %v, v: %v\n", idx, r.Name, r.Type, r.Value)
		if oid, err := parseOID(r.Name); err == nil {
			if prefix, suffix, err := TranslateOIDFromCache(oid); err == nil {
				// fmt.Printf("(%d) prefix: %s, suffix: %s -> value: %v (oid:%v)\n", idx, prefix, suffix, r.Value, r.Name)
				fmt.Printf("BulkWalk: (%d) prefix: %s, suffix: %s -> value: %v\n", idx, prefix, suffix, r.Value)
			} else if prefix != "" {
				fmt.Printf("BulkWalk: (%d) prefix: %s, suffix: ---, err: %v -> value: %v\n", idx, prefix, err, r.Value)
			} else {
				fmt.Printf("BulkWalk: (%d) oid: %v -> value: %s  err: %v\n", idx, r.Name, r.Value, err)
			}
		} else {
			fmt.Printf("BulkWalk: ERROR: %v\n", err)
		}
	}
}