Gets one or more snmp entries via the snmp_getone command returning either the value or the error message.
- #***************
- # snmpGetOne --
- #
- # Gets one or more snmp entries via the snmp_getone command.
- #
- # Arguments:
- # oidList (required) list of one or more OID's
- #
- # Results:
- # list of snmp values returned
- proc snmpGetOne {oidList} {
- set communityStr tcl
- set oidResult [list]
- #set oidList [join $oidList]
- foreach oid $oidList {
- set snmpResult [snmp_getone $communityStr $oid]
- if [string match "*snmp error*" $snmpResult] {
- regexp {text='(.*)'} $snmpResult regexAll bRefValue
- lappend oidResult "Error: $bRefValue"
- } elseif [string match "*NO_SUCH_I*" $snmpResult] {
- regexp {val='(.*)'} $snmpResult regexExp bRefVal
- lappend oidResult "Error: $bRefVal"
- } else {
- regexp {val='(.*)'} $snmpResult regexExp bRefVal
- lappend oidResult $bRefVal
- }
- }
- return $oidResult
- }