Definitions of Managed Objects for Character Stream Devices
obsoleted by
- rfc-1658 — Definitions of Managed Objects for Character Stream Devices using SMIv2
Extracted elements (26)
charSessConnectionId points to the highest available related MIB (e.g., Telnet MIB rather than TCP MIB when both exist) to give management applications the richest available protocol-specific information.
ctsRts(4) and dsrDtr(5) flow control values are included in charPortInFlowType and charPortOutFlowType despite being RS-232-specific and not architecturally pure at the Character MIB layer, explicitly for simplicity's sake.
The Character MIB is designed as one layer in a MIB stack, sitting above physical-layer MIBs (RS-232-like, Parallel-printer-like) and below or alongside application-layer MIBs (Telnet MIB, PPP MIB), enabling complementary use across layers.
The MIB intentionally contains no distinction between permanent and operational (volatile) data; handling of such distinctions is left implementation-specific to avoid over-constraining implementations.
Session indexes may be reused across different ports (e.g., port 1 and port 3 may simultaneously have a session 2), and indexes within a port need not be sequential; the index value space is implementation-defined.
When a character port runs a network protocol (SLIP or PPP), a corresponding Interfaces table entry must exist with ifOperStatus 'off' when not running a protocol and 'on' when running one; charPortOperStatus is 'down' during network use and Character MIB operational counters are inactive.
charPortIndex must remain constant at least from one re-initialization of the network management agent to the next; by convention hardware port numbers come first with a direct mapping.
Implementation of the Character MIB is mandatory for all systems that offer character ports, including terminal servers, general-purpose time-sharing hosts, and systems with virtual console ports.
charNumber (char 1) is a read-only INTEGER giving the total number of entries in charPortTable regardless of their current state.
charPortAdminOrigin controls allowed session origin: dynamic(1) permits network or local, network(2) permits only network-originated, local(3) permits only locally-originated, none(4) disallows all session establishment.
charPortAdminStatus controls desired port state with values: enabled (pass characters and form sessions), disabled (pass characters but not form sessions), off (no characters or sessions), maintenance (exclusive test mode).
charPortHardware is an AutonomousType OID pointing to a hardware-specific MIB sub-tree (e.g., RS-232 MIB) for the physical connector; agents without such values return nullHardware ::= { 0 0 }.
charPortInCharacters and charPortOutCharacters are Counters of total characters since system re-initialization while port is up/active/maintenance, including framing, XON/XOFF, BREAK occurrences, and all session traffic.
charPortInFlowState and charPortOutFlowState report current operational flow control state as none(1), unknown(2), stop(3), or go(4), reflecting real-time flow allowance on the port.
charPortInFlowType and charPortOutFlowType specify flow control with values: none(1), xonXoff(2), hardware(3), ctsRts(4), dsrDtr(5), controlling input and output character flow respectively.
charPortReset is a read-write control object with values ready(1) and execute(2); writing execute forces the port to a clean initial state and disconnects all sessions. GET always returns ready.
charPortSessionMaximum is a read-write INTEGER for maximum concurrent sessions; -1 indicates no maximum. Behavior when set below current session count is explicitly unspecified.
charPortTable (char 2) is the central port management table; charPortEntry is indexed by charPortIndex and contains status and parameter values for each character port.
charSessConnectionId is an InstancePointer OID referencing the highest available related MIB instance (e.g., tcpConnState for TCP); agents without such values return nullConnectionId ::= { 0 0 }.
charSessKill is a read-write control with values ready(1) and execute(2); writing execute terminates the session. GET always returns ready.
charSessProtocol is an AutonomousType OID identifying the session's network protocol. The MIB defines wellKnownProtocols (char 4) with OIDs for other, Telnet, Rlogin, LAT, X.29, and VTP.
charSessStartTime records the value of sysUpTime when the session entered the connecting state, providing session age information.
charSessTable (char 3) is indexed by {charSessPortIndex, charSessIndex} and holds status and parameter values for each character port session.
Security issues are not discussed in this memo (Section 8 explicitly states this).
charPortOperStatus represents actual port state with five values: up (normal function), down (administrative or operational failure), maintenance (test mode), absent (hardware not present), active (up with user logged in).
charSessState defines three session states: connecting(1) — moving toward connected, connected(2) — character data can flow on the network side, disconnecting(3) — moving from connected or connecting to nonexistent.