Gets one or more snmp entries via the snmp_getone command returning either the value or the error message.


  1. #***************
  2. # snmpGetOne --
  3. #
  4. # Gets one or more snmp entries via the snmp_getone command.
  5. #
  6. # Arguments:
  7. # oidList (required) list of one or more OID's
  8. #
  9. # Results:
  10. # list of snmp values returned
  11. proc snmpGetOne {oidList} {
  12. set communityStr tcl
  13. set oidResult [list]
  14. #set oidList [join $oidList]
  15. foreach oid $oidList {
  16. set snmpResult [snmp_getone $communityStr $oid]
  17. if [string match "*snmp error*" $snmpResult] {
  18. regexp {text='(.*)'} $snmpResult regexAll bRefValue
  19. lappend oidResult "Error: $bRefValue"
  20. } elseif [string match "*NO_SUCH_I*" $snmpResult] {
  21. regexp {val='(.*)'} $snmpResult regexExp bRefVal
  22. lappend oidResult "Error: $bRefVal"
  23. } else {
  24. regexp {val='(.*)'} $snmpResult regexExp bRefVal
  25. lappend oidResult $bRefVal
  26. }
  27. }
  28. return $oidResult
  29. }