rfc-1443

Textual Conventions for version 2 of the Simple Network Management Protocol (SNMPv2)

J. Case, K. McCloghrie, M. Rose, S. Waldbusser
date1993-04 streamIETF areamgt wgsnmpv2 statusPROPOSED STANDARD pages31 canonicalhttps://www.rfc-editor.org/rfc/rfc1443 doi10.17487/RFC1443
It is the purpose of this document to define the initial set of textual conventions available to all MIB modules. [STANDARDS-TRACK]

obsoleted by

Extracted elements (26)

design-rationale §2

For tables expecting large numbers of entries, a MIB object returning an acceptable index for creation is recommended; for small tables, pseudo-random index selection is recommended. This balances the efficiency of collision avoidance against the overhead of an auxiliary index object.

snmp

design-rationale §2

RowStatus provides two row-creation modes: createAndGo (single atomic transaction) and createAndWait (multi-step negotiated creation). createAndWait exists to allow management stations to iteratively populate required columns when they cannot determine all column requirements in advance.

snmp

design-rationale §2

TestAndIncr is designed to provide atomic check-and-increment semantics over SNMP SET operations, which are not inherently atomic. By requiring the manager to echo the current value, concurrent conflicting writes are detected and rejected, enabling safe coordination without locking primitives.

snmp

design-rationale §3

Textual conventions are defined as ASN.1 macro expansions that happen conceptually at implementation time, not at run-time. This design allows MIB modules to define human-readable named types with precise semantics while preserving the on-wire encoding of the underlying primitive type.

snmp

interoperability-note §2

MacAddress is encoded least significant bit first (canonical IEEE 802.1a order) even though 802.5 (Token Ring), in contrast to other 802.x protocols, requires MAC addresses to be transmitted most significant bit first. Implementations must account for this bit-order discrepancy.

snmp

normative-requirement §2 MUST

An agent must detect conceptual rows that have been in 'notInService' or 'notReady' state for an abnormally long time and remove them. It is suggested this period be approximately 5 minutes, long enough to allow for human response time between row creation and activation.

snmp

normative-requirement §1 REQUIRED

For all textual conventions defined in an information module, the name shall be unique and mnemonic, and shall not exceed 64 characters in length. All names used for textual conventions in all 'standard' information modules shall be unique.

snmp

normative-requirement §3.3 MUST

The DESCRIPTION clause must be present and contains a textual definition providing all semantic information necessary for implementation. The entire value must be enclosed in double quotation marks and therefore cannot itself contain double quotation marks.

snmp

normative-requirement §3 MUST NOT

The hyphen is not allowed as a character in the name of any textual convention. Descriptors in an information module shall be unique and mnemonic, and shall not exceed 64 characters in length.

snmp

normative-requirement §3.2 MUST

The STATUS clause must be present and indicates whether the textual convention is 'current', 'deprecated', or 'obsolete'. A 'deprecated' textual convention is obsolete but implementors may wish to support it to foster interoperability with older implementations.

snmp

normative-requirement §3.5 MUST

The SYNTAX clause must be present and defines the abstract data structure for the textual convention. The data structure must be one of the alternatives defined in the ObjectSyntax CHOICE. Sub-typing is not allowed for Counter32 or Counter64 derived types, but is allowed for Gauge32 derived types.

snmp

protocol-element §2

AutonomousType represents an independently extensible type identification value using OBJECT IDENTIFIER syntax. It may indicate a particular MIB sub-tree or define a type of protocol or hardware.

snmp

protocol-element §2

DisplayString represents textual information from the NVT ASCII character set as defined in RFC 854. Any object defined using this syntax may not exceed 255 characters in length; syntax is OCTET STRING (SIZE (0..255)) with DISPLAY-HINT '255a'.

snmp

protocol-element §3.1

For OCTET STRING, the DISPLAY-HINT consists of one or more octet-format specifications, each with five parts: optional repeat indicator ('*'), octet length, display format (x/d/o/a), optional separator character, and optional repeat terminator. Multi-octet numeric fields use big-endian (network byte order) encoding.

snmp

protocol-element §2

InstancePointer is a pointer to a specific instance of a conceptual row in a MIB table, represented as OBJECT IDENTIFIER. By convention it is the name of the particular instance of the first columnar object in the conceptual row.

snmp

protocol-element §2

MacAddress represents an 802 MAC address as OCTET STRING (SIZE (6)) in the 'canonical' order defined by IEEE 802.1a, i.e., as if transmitted least significant bit first.

snmp

protocol-element §2

RowStatus is an INTEGER with six defined values: active(1), notInService(2), notReady(3) — which are readable states — and createAndGo(4), createAndWait(5), destroy(6) — which are write-only action values. It is used as the SYNTAX of the status column for conceptual row management.

snmp

protocol-element §2

TestAndIncr represents an integer value (0..2147483647) used for atomic operations. A management protocol SET must supply the exact current value; on mismatch the operation fails with 'inconsistentValue'. On success, the value wraps to zero at 2^31-1, otherwise increments by one.

snmp

protocol-element §3.1

The DISPLAY-HINT clause conveys a hint for displaying object values and may only be present when the underlying primitive type is INTEGER or OCTET STRING. For INTEGER it is a single character: 'x' (hex), 'd' (decimal), 'o' (octal), or 'b' (binary).

snmp

protocol-element §2

The TEXTUAL-CONVENTION macro defines new types with unique names (max 64 characters, no hyphens) that have similar syntax to SMI types but more precise semantics. Objects defined using a textual convention are always encoded by means of the rules that define their primitive type.

snmp

protocol-element §2

TimeInterval represents a period of time measured in units of 0.01 seconds, as INTEGER (0..2147483647).

snmp

protocol-element §2

TimeStamp holds the value of MIB-II's sysUpTime at which a specific occurrence happened, using TimeTicks as its underlying type. The specific occurrence must be defined in the DESCRIPTION of each object using this type.

snmp

protocol-element §2

TruthValue represents a boolean value as INTEGER { true(1), false(2) }.

snmp

security-consideration §6

The RFC explicitly states that security issues are not discussed in this memo. RFC 1443 defines textual conventions only; security considerations are deferred to the broader SNMPv2 framework documents.

snmp, security

state-machine §2

RowStatus defines four states for a conceptual row: (A) does not exist, (B) notReady, (C) notInService, (D) active. Transitions are driven by SET operations using the action values createAndGo, createAndWait, active, notInService, and destroy. Only three values (notReady, notInService, active) are returned on GET; the action values are write-only.

snmp

wire-format §2

DateAndTime is encoded as OCTET STRING (SIZE (8 | 11)): octets 1-2 year (0..65536), octet 3 month (1..12), octet 4 day (1..31), octet 5 hour (0..23), octet 6 minutes (0..59), octet 7 seconds (0..60, 60 for leap-second), octet 8 deci-seconds (0..9). The optional 3-octet UTC offset (octets 9-11) contains direction ('+'/'-'), hours (0..11), and minutes (0..59); omitted when only local time is known.

snmp