Message ::= SEQUENCE { version INTEGER ({snmp_version}), community OCTET STRING, pdu PDUs } ObjectName ::= OBJECT IDENTIFIER ObjectSyntax ::= CHOICE { simple SimpleSyntax, application-wide ApplicationSyntax } SimpleSyntax ::= CHOICE { integer-value INTEGER, string-value OCTET STRING, objectID-value OBJECT IDENTIFIER } ApplicationSyntax ::= CHOICE { ipAddress-value IpAddress, counter-value Counter32, timeticks-value TimeTicks, arbitrary-value Opaque, big-counter-value Counter64, unsigned-integer-value Unsigned32 } IpAddress ::= [APPLICATION 0] IMPLICIT OCTET STRING OPTIONAL ({snmp_helper}) Counter32 ::= [APPLICATION 1] IMPLICIT INTEGER OPTIONAL Unsigned32 ::= [APPLICATION 2] IMPLICIT INTEGER OPTIONAL Gauge32 ::= Unsigned32 OPTIONAL TimeTicks ::= [APPLICATION 3] IMPLICIT INTEGER OPTIONAL Opaque ::= [APPLICATION 4] IMPLICIT OCTET STRING OPTIONAL Counter64 ::= [APPLICATION 6] IMPLICIT INTEGER OPTIONAL PDUs ::= CHOICE { get-request GetRequest-PDU, get-next-request GetNextRequest-PDU, get-bulk-request GetBulkRequest-PDU, response Response-PDU, set-request SetRequest-PDU, inform-request InformRequest-PDU, snmpV2-trap SNMPv2-Trap-PDU, report Report-PDU } GetRequest-PDU ::= [0] IMPLICIT PDU OPTIONAL GetNextRequest-PDU ::= [1] IMPLICIT PDU OPTIONAL Response-PDU ::= [2] IMPLICIT PDU OPTIONAL SetRequest-PDU ::= [3] IMPLICIT PDU OPTIONAL -- [4] is obsolete GetBulkRequest-PDU ::= [5] IMPLICIT PDU OPTIONAL InformRequest-PDU ::= [6] IMPLICIT PDU OPTIONAL SNMPv2-Trap-PDU ::= [7] IMPLICIT PDU OPTIONAL Report-PDU ::= [8] IMPLICIT PDU OPTIONAL PDU ::= SEQUENCE { request-id INTEGER, error-status INTEGER, error-index INTEGER, variable-bindings VarBindList } VarBind ::= SEQUENCE { name ObjectName, CHOICE { value ObjectSyntax, unSpecified NULL, noSuchObject [0] IMPLICIT NULL, noSuchInstance [1] IMPLICIT NULL, endOfMibView [2] IMPLICIT NULL } } VarBindList ::= SEQUENCE OF VarBind