Please Whitelist This Site?
I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)
If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.
If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on tcpipguide.com". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||tcpipguide.com^$document". Then just click OK.
Thanks for your understanding!
Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide
|
NOTE: Using software to mass-download the site degrades the server and is prohibited. If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.
|
|
|
|
SNMP Version 2 (SNMPv2) Message Formats
(Page 5 of 6)
SNMPv2 PDU Formats
The format of protocol data units
in SNMPv2 is described in RFC 1905, and is similar to that of SNMPv1.
The format for all PDUs in SNMPv2 is the same, except for the GetBulkRequest-PDU
message. (Oddly, this includes the Trapv2-PDU message, even though
the Trap-PDU message in SNMPv1 used a distinct format).
SNMPv2 Common PDU Format
Table 218
and Figure 283
show this common PDU format. Table 219
contains a listing of the different values for the Error Status
field and how they are interpreted.
Table 218: SNMP Version 2 (SNMPv2) Common PDU Format
Field
Name
|
Syntax
|
Size (bytes)
|
Description
|
PDU Type
|
Integer
(Enumerated)
|
4
|
|
Request
ID
|
Integer
|
4
|
Request
Identifier: A number used to match requests with replies. It
is generated by the device that sends a request and copied into this
field in a Response-PDU by the responding SNMP entity.
|
Error
Status
|
Integer
(Enumerated)
|
4
|
Error Status: An
integer value that is used in a Response-PDU to tell the requesting
SNMP entity the result of its request. A value of zero indicates that
no error occurred; the other values indicate what sort of error happened.
Note that the first six values (0 to 5) are maintained as used in SNMPv1
for compatibility, but SNMPv2 adds many new error codes that provide
more specific indication of the exact nature of an error in a request.
The genErr code is still used only when none of specific error
types (either the old codes or the new ones) apply.
Since there are so many different Error Status codes, I have
listed them separately in Table 219.
|
Error
Index
|
Integer
|
4
|
Error
Index: When Error Status is non-zero, this field contains
a pointer that specifies which object generated the error. Always zero
in a request.
|
Variable
Bindings
|
Variable
|
Variable
|
Variable Bindings:
A set of name-value pairs identifying the MIB objects in the PDU, and
in the case of messages other than requests, containing their values.
See
the general message format topic for more on these bindings.
|
Table 219: SNMP Version 2 (SNMPv2) PDU Error Status Field Values
Error
Status Value
|
Error
Code
|
Description
|
0
|
noError
|
No error occurred. This code
is also used in all request PDUs, since they have no error status to
report.
|
1
|
tooBig
|
The size of
the Response-PDU would be too large to transport.
|
2
|
noSuchName
|
The name of a requested object
was not found.
|
3
|
badValue
|
A value in
the request didn't match the structure that the recipient of the request
had for the object. For example, an object in the request was specified
with an incorrect length or type.
|
4
|
readOnly
|
An attempt was made to set a
variable that has an Access value indicating that it is read-only.
|
5
|
genErr
|
An error occurred
other than one indicated by a more specific error code in this table.
|
6
|
noAccess
|
Access was denied to the object
for security reasons.
|
7
|
wrongType
|
The object
type in a variable binding is incorrect for the object.
|
8
|
wrongLength
|
A variable binding specifies
a length incorrect for the object.
|
9
|
wrongEncoding
|
A variable
binding specifies an encoding incorrect for the object.
|
10
|
wrongValue
|
The value given in a variable
binding is not possible for the object.
|
11
|
noCreation
|
A specified
variable does not exist and cannot be created.
|
12
|
inconsistentValue
|
A variable binding specifies
a value that could be held by the variable but cannot be assigned to
it at this time.
|
13
|
resourceUnavailable
|
An attempt
to set a variable required a resource that is not available.
|
14
|
commitFailed
|
An attempt to set a particular
variable failed.
|
15
|
undoFailed
|
An attempt
to set a particular variable as part of a group of variables failed,
and the attempt to then undo the setting of other variables was not
successful.
|
16
|
authorizationError
|
A problem occurred in authorization.
|
17
|
notWritable
|
The variable
cannot be written or created.
|
18
|
inconsistentName
|
The name in a variable binding
specifies a variable that does not exist.
|
|