PySNMP: Protocol: RFC 1902

### Structure of Management Information for Version 2 of SNMPv2 (RFC 1902)

The pysnmp.proto.rfc1902 module implements data structures and operations on them as defined by the RFC 1902.

The following classes implement simple, universal ASN.1 types in RFC 1902 context.

class Integer([value])
class Integer32([value])

  Instances of these classes represent primitive ASN.1 INTEGER/Integer32 objects used in RFC 1902 context. These are the subclasses of rfc1155.Integer class, with the following deviations from the base class:

  - Value range constraint is set to (-2147483648L, 2147483647L)

class OctetString([value])

  Instance of this class represent primitive ASN.1 OCTETSTRING object used in RFC 1902 context. This is a subclass of rfc1155.OctetString class, with the following deviations from the base class:

  - Size constraint is set to (0, 65535) octets

class ObjectIdentifier([value])

  Instance of this class represent primitive ASN.1 OBJECT IDENTIFIER object used in RFC 1902 context. This is a subclass of rfc1155.ObjectIdentifier class.

class Null([value])

  Instance of this class represent primitive ASN.1 NULL object used in RFC 1902 context. This is a subclass of rfc1155.Null class.

The following classes implement constructed, universal ASN.1 types used in RFC 1902 context.

class Sequence([**kwargs])

  Instances of this class represent primitive, constructed ASN.1 SEQUENCE type used in RFC 1902 context. This is a subclass of rfc155.Sequence class.

class SequenceOf([args])

  Instances of this class represent primitive, constructed ASN.1 SEQUENCE OF type used in RFC 1902 context. This is a subclass of rfc155.Sequence class.

class Choice([**kwargs])

  Instances of this class represent primitive, constructed ASN.1 CHOICE type used in RFC 1902 context. This is a subclass of rfc155.Choice class.

The following classes implement simple, application-wide ASN.1 types:

class IpAddress([value])

  Instances of this class represent application-wide ASN.1 type used for handling IP numbers in RFC 1902 context. This is a subclass of rfc1155.IpAddress class.

class Counter32([value])

  Instances of this class represent application-wide ASN.1 type used for handling wrapping counters in RFC 1902 context. This is a subclass of rfc1155.Counter class.

class Gauge32([value])

  Instances of this class represent application-wide ASN.1 type used for handling non-wrapping counters in RFC 1902 context. This is a subclass of rfc1155.Gauge class.

class Unsigned32([value])

  Instances of this class represent application-wide ASN.1 type used for handling 32-bit unsigned integers in RFC 1902 context. This is a subclass of Gauge class.

class TimeTicks([value])

  Instances of this class represent application-wide ASN.1 type used for handling time intervals in RFC 1902 context. This is a subclass of rfc1155.TimeTicks class.

class Opaque([value])

  Instances of this class represent application-wide ASN.1 type used for passing an arbitrary syntax inside an OCTET STRING in RFC 1902 context. This is a subclass of rfc1155.Opaque class, with the following deviations from the base class:

  - ASN.1 tag category set to 'IMPLICIT'

class Counter64([value])

  Instances of this class represent application-wide ASN.1 type used for handling 64-bit counters in RFC 1902 context. This is a subclass of rfc1155.Counter class, with the following deviations from the base class:

  - ASN.1 tag identifier set to 0x06
  - Value range constraint set to (0, 18446744073709551615L)

The following classes implement constructed, application-wide ASN.1 types used in RFC 1902 context.

class ObjectName([value])

  Instances of this class represent application-wide ASN.1 type used for names of MIB objects in RFC 1902 context. This is a subclass of ObjectIdentifier class.

class SimpleSyntax([**kwargs])

  Instances of this class represent a subset of allowed universal ASN.1 types used by SNMP v.2c SMI (RFC 1902). This is a subclass of Choice class, with the following deviations from the base class:

  - Embedded value name is restricted to either of 'integer_value', 'string_value' and 'objectID_value' and type restricted to either of Integer, OctetString and ObjectIdentifier respectively.

class ApplicationSyntax([**kwargs])

  Instances of this class represent a subset of allowed application-wide ASN.1 types used by SNMP v.2c SMI (RFC 1902). This is a subclass of Choice class, with the following deviations from the base class:

  - Embedded value name is restricted to either of 'ipAddress_value', 'counter_value', 'timeticks_value', 'arbitrary_value', 'big_counter_value', and 'unsigned_integer_value' while type restricted to either of IpAddress,, Counter32, TimeTicks, Opaque, Counter64 and Unsigned32 or Gauge32 objects respectively.

class ObjectSyntax([**kwargs])

  Instances of this class represent syntax of MIB objects used by SNMP v.2c SMI (RFC 1902). This is a subclass of Choice class, with the following deviations from the base class:

  - Embedded value name is restricted to either of 'simple_syntax' or 'application_syntax' while type restricted to either of SimpleSyntax, ApplicationSyntax objects respectively.

Methods of the above classes may raise exceptions based on error.SnmpError base class as well as ASN.1 and BER specific exceptions.

Subsections

- Example of rfc1902 module usage