Definitions of Managed Objects for Extensible SNMP Agents
Extracted elements (27)
agentxConnIndex values are specified never to be reused after a connection closes, and agentxSessionIndex values are similarly non-reusable, avoiding ambiguity in management applications that cache table entries by index.
The MIB is organized into four groups—agentxGeneral, agentxConnection, agentxSession, agentxRegistration—reflecting the natural layering of AgentX: a session is carried over a connection, and registrations belong to sessions. Shared indices (agentxConnIndex, agentxSessionIndex) express the many-to-one relationships between these tables.
The master agent must allow interaction with subagents running earlier AgentX protocol versions, not only those matching agentxMasterAgentXVer.
A compliant agent may implement all objects in this MIB module as read-only; write access to agentxSessionAdminStatus is not required for compliance.
agentxSessionAgentXVer must be less than or equal to the value of agentxMasterAgentXVer, ensuring a session never claims a higher protocol version than the master supports.
agentxConnectionTable tracks all current AgentX transport connections, each identified by agentxConnIndex. A single connection may carry zero, one, or more AgentX sessions; entries are created on connection establishment and destroyed on termination.
agentxConnIndex is an Unsigned32 (1..4294967295) that uniquely identifies an open transport connection. Values must not be reused and remain constant for the lifetime of the connection.
agentxConnTransportAddress holds the AgentxTAddress of the remote (subagent) end of a connection. It may be zero-length for unix-domain sockets or other transport types where the subagent does not bind a filename.
agentxDefaultTimeout (agentxGeneral 1) is a system-wide read-only INTEGER (0..255 seconds, default 5) representing the master agent's fallback timeout when waiting for a subagent response, overriding per-session or per-region timeout values of zero.
agentxMasterAgentXVer (agentxGeneral 2) reports the AgentX protocol version supported by the master agent; the current protocol version is 1.
agentxRegContext (OCTET STRING) identifies the SNMP context in which the session supports objects in the registered region. A zero-length value denotes the default context.
agentxRegInstance (TruthValue) is 'true' when the INSTANCE_REGISTRATION flag was set in the corresponding registration PDU, indicating the registration is for a specific object instance rather than a subtree.
agentxRegistrationTable records all currently registered MIB regions, indexed by { agentxConnIndex, agentxSessionIndex, agentxRegIndex }. Entries are destroyed when the region is unregistered, the session closes, or the connection closes.
agentxRegPriority (Unsigned32) encodes registration priority taken from r.priority in the register PDU; lower numeric values indicate higher priority. The recommended default value is 127.
agentxRegRangeSubId (Unsigned32) specifies which sub-identifier position in agentxRegStart defines the range; if zero, no range is specified. When non-zero, agentxRegUpperBound gives the upper-bound value substituted at that position.
agentxRegStart (OBJECT IDENTIFIER) is the inclusive lower bound of the registered OID region; it may identify an object type, object instance, or partial object instance.
agentxRegTimeout (INTEGER 0..255 seconds) is a per-region timeout taken from r.timeout in the agentx-Register-PDU. A value of zero means the per-session or system-wide default applies.
agentxSessionAdminStatus is a read-write INTEGER { up(1), down(2) }; setting it to down(2) causes the master agent to close the subagent session with c.reason set to 'reasonByManager'. This is the only writable object in the MIB.
agentxSessionDescr (SnmpAdminString) is taken from the o.descr field of the agentx-Open-PDU, analogous to sysDescr; it is zero-length for subagents that do not supply a description.
agentxSessionIndex is an Unsigned32 (0..4294967295) equal to h.sessionID from the AgentX PDU header. A value of zero is permitted for compatibility. Session index values must not be reused after a session closes.
agentxSessionObjectID reports the o.id field from the agentx-Open-PDU identifying the subagent; subagents that do not supply an object identifier report '0.0'.
agentxSessionTable contains one entry per open AgentX session, indexed by { agentxConnIndex, agentxSessionIndex }. An entry is created on successful session establishment and destroyed when the transport connection terminates or the session is explicitly closed.
agentxSessionTimeout (INTEGER 0..255 seconds) is taken from the o.timeout field of the agentx-Open-PDU. A value of zero indicates the master agent's default timeout (agentxDefaultTimeout) applies; non-zero values may be overridden by per-region agentxRegTimeout.
The AGENTX-MIB module is assigned OID { mib-2 74 } and is implemented by the master agent to expose management information about AgentX subagent connections, sessions, and registrations.
The AgentxTAddress textual convention denotes a transport service address as an OCTET STRING (SIZE 0..255). It differs from TAddress in that zero-length values are explicitly permitted, accommodating unix-domain sockets.
agentxSessionAdminStatus is the sole read-write object and is sensitive: setting it to an inappropriate value can prevent access to management information or expose inappropriate information. Even GET access should be controlled, and encryption of values over the network is advised.
SNMPv1 alone does not provide a secure environment; even on an IPsec-secured network there is no per-principal access control. Implementers are recommended to use SNMPv3 with the User-based Security Model (RFC 2574) and View-based Access Control Model (RFC 2575).