SNMP MIB Extension for the X.25 Packet Layer
Extracted elements (26)
Optional timer objects use the sentinel value 2147483647 to indicate the timer is not in use (applied to T24 window timer, T25 data retransmission, T26 interrupt, T27 reject, and T28 registration timers). This avoids requiring a separate boolean object per optional feature.
PVC creation is accomplished by setting x25CircuitStatus to pvc on a non-existing instance; the instance identifier supplies both the PLE index and the channel number, so a single set operation provides sufficient information. DEFVAL clauses on all other circuit table objects provide appropriate defaults.
The MIB separates configuration into an Administration table (read-write) and an Operational table (read-only). The admin table holds values set by the administrator; the oper table reflects values actually in use. This allows inspection of running state independently of pending configuration.
The X.25 MIB objects are designed to closely parallel those in draft ISO 10733, minimizing the instrumentation burden for systems that must support both OSI and TCP/IP management protocols simultaneously.
A complete X.25 stack over a synchronous line requires at least two MIB-II ifTable entries: one for LAPB and one for the X.25 packet layer. x25OperDataLinkId points to the lapbAdmnIndex instance for the LAPB interface beneath the X.25 PLE; lapbOperPortId in turn identifies the RS-232 sync line.
MIB-II ifInUcastPkts counts X.25 packets with a clear M-bit delivered to higher layers; ifOutUcastPkts counts such packets received from higher layers. ifInUnknownProtos counts packets with unknown circuit identifiers; ifInErrors counts packets received containing protocol errors.
X.25 interfaces of type ddn-x25(4) translate between X.121 and IP addresses algorithmically; interfaces of type rfc877-x25(5) use a configuration table for that translation. The ifSpecific variable for both types is set to the x25 OID { transmission 5 }.
All implementations are required to load values from the x25AdmnTable when initializing a PLE. Changes to administrative values may not take effect until the interface is restarted, though some implementations may apply them immediately.
All objects defined in the MIB are mandatory. To claim conformance, an implementation must support all objects. For optional features not supported, the agent must return the defined 'not supported' value and reject set requests.
An existing x25CircuitStatus instance can only be set to startClear, startPvcResetting, or invalid. The values startClear and startPvcResetting will never be returned by an agent. Any attempt to set an unsupported value results in an error.
For optional features with multiple associated objects, any single object returning the 'not supported' value is sufficient to indicate the entire optional feature is unsupported; the values of the other related objects are undefined.
The x25AdmnTable contains administratively configured parameters for a PLE: interface mode (DTE/DCE/DXE), max active circuits, packet sequencing, eight timers T20–T28 in milliseconds, retransmission counts R20–R28, number of PVCs, default call parameter reference, local X.121 address, and protocol version OID.
The x25CallParmTable holds named sets of X.25 call parameters referenced by OID from x25AdmnDefCallParamId, x25CircuitCallParamId, and potentially other MIBs. This indirection allows multiple entities to share a common call parameter definition.
The x25ChannelTable defines logical channel number ranges: lowest/highest incoming channel (LIC/HIC), lowest/highest two-way channel (LTC/HTC), and lowest/highest outgoing channel (LOC/HOC), each 0..4095. A high-channel value of zero indicates no channels in that range.
The x25CircuitTable is indexed by ifIndex and channel number and contains per-circuit state, establish time, direction, data flow counters (octets, PDUs, interrupts), reset and timer expiry counters, a call parameter OID reference, and called/calling/originally-called X.121 addresses.
The x25ClearedCircuitTable records termination information from circuits that cleared abnormally. The number of entries retained is controlled by x25ClearedCircuitEntriesRequested (read-write).
The x25OperTable mirrors x25AdmnTable but is read-only and reflects currently active operating parameters. It adds x25OperDataLinkId, which identifies the instance index of the most device-specific MIB for the data link interface beneath this X.25 PLE.
The x25StatTable provides read-only per-PLE counters including: incoming/outgoing calls, call refusals, provider-initiated clears and resets, restarts, data packets, interrupt packets, active circuit gauges (outgoing, incoming, two-way), and timer expiry counters for T20–T26 plus retry count exceeded events.
X121Address is a textual convention defined as OCTET STRING (SIZE(0..17)) containing ASCII characters [0-9], each octet holding one digit of the X.121 address. A zero-length value is valid and may be returned by PLEs that only support PVCs.
x25AdmnInterfaceMode and x25OperInterfaceMode specify DTE(1), DCE(2), or DXE(3) mode. A value of dxe in the oper table indicates that XID negotiation at the link layer has not yet taken place to determine the actual role.
x25AdmnNumberPVCs specifies how many PVCs are configured for the PLE; PVCs use channel numbers 1 through this value. The value range is 0..4096.
x25AdmnPacketSequencing specifies the modulus of the packet sequence number space: modulo8(1) for normal mode or modulo128(2) for extended packet sequencing, referencing ISO 8208 Section 7.1.1.
x25AdmnProtocolVersionSupported and x25OperProtocolVersionSupported identify the X.25 protocol version as an OBJECT IDENTIFIER from the x25ProtocolVersion subtree, enabling management of interfaces running different X.25 protocol versions.
x25CircuitEstablishTime records sysUpTime at circuit establishment: for outgoing SVCs it is when the first call packet was sent; for incoming SVCs when the call indication was received; for PVCs when the PVC became able to pass data to a higher layer without loss.
The MIB defines numerous read-write objects (including x25AdmnTable, x25ChannelTable, and x25CircuitStatus) whose unauthorized modification could alter or disrupt X.25 communications. Access control relies on the community-based authentication mechanisms of SNMP.
x25CircuitStatus defines ten circuit states: invalid(1), closed/p1(2), calling/p2-p3-p5(3), open/p4(4), clearing/p6-p7(5), pvc(6), pvcResetting(7), startClear(8), startPvcResetting(9), other(10). Setting startClear on a calling or open circuit initiates clearing; setting startPvcResetting or invalid on a PVC resets or deletes it respectively.