Interpreting SNMP Error Messages
This section lists and explains certain common error status values that can appear in SNMP messages.
SNMP PDU
Within the SNMP PDU, the
third
field can include an error-status integer that refers to a specific problem.
The integer zero (0) means that no errors were detected.
When the error field is anything other than 0, the next field includes an error-index value that identifies the variable, or object, in the variable-bindings list that caused the error.
This table lists the error status codes and their meanings:
Within the SNMP PDU, the
fourth
field, contains the error index when the error-status field is nonzero.
That is, when the error-status field returns a value other than zero, which indicates that an error occurred. The error-index value identifies the variable, or object, in the variable-bindings list that caused the error. The first variable in the list has index 1, the second has index 2, and so on.
Within the SNMP PDU, the
fifth
field, is the variable-bindings field.
This field consists of a sequence of pairs:
The first element in a pair is the identifier.
The second element in a pair is one of these options:
value
,
unSpecified
,
noSuchOjbect
,
noSuchInstance
, or
EndofMibView
.
This table describes the elements:
If the size of the message that encapsulates the generated response PDU exceeds a local limitation or the maximum message size of the request's source party, then the response PDU is discarded and a new response PDU is constructed. The new response PDU has an error-status of
tooBig
, an
error-index
of zero, and an empty
variable-bindings
field.
GetNextRequest
The only values that can be returned as the second element in the variable-bindings field to a
GetNextRequest
when an error-status code occurs are
unSpecified
or
endOfMibView
.
GetBulkRequest
The
GetBulkRequest
minimizes the number of protocol exchanges and lets the SNMPv2 manager request that the response is large as possible.
The
GetBulkRequest
PDU has two fields that do not appear in the other PDUs: non-repeaters and max-repetitions. The non-repeaters field specifies the number of variables in the variable-bindings list, for which a single-lexicographic successor is to be returned. The max-repetitions field specifies the number of lexicographic successors to be returned for the remaining variables in the variable-bindings list.
If at any point in the process, a lexicographic successor does not exist, the
endofMibView
value is returned with the name of the last lexicographic successor, or, if there were no successors, the name of the variable in the request.
If the processing of a variable name fails for any reason other than
endofMibView
, no values are returned. Instead, the responding entity returns a response PDU with an error-status of
genErr
and a value in the error-index field that is the index of the problem object in the variable-bindings field.