The Definitions of Managed Objects for the Link Control Protocol of the Point-to-Point Protocol
Extracted elements (24)
Configuration tables are split from status tables in both the PPP Link Group and LQR Group so that configuration objects can be placed in a separate MIB View for security purposes, allowing operators to restrict write access without hiding status information.
Object selection for this MIB applied four explicit criteria: require objects essential for fault or configuration management (excluding debug-only objects), consider evidence of current use, limit total object count, and exclude objects derivable from other MIBs. This reflects IAB directives toward minimal MIBs.
The LQR Extensions Group stores the last received LQR packet as a unit because LQR quality policies require all relevant counters to be sampled at the same instant; examining individual MIB objects in sequence would not provide a synchronized snapshot, making external policy implementations impractical without this group.
ifSpecific for a PPP interface entry must contain the OID 'ppp' (transmission 23). The lower-layer interface is linked via pppLinkStatusPhysicalIndex, allowing management of layered interfaces such as PPP over RS-232.
The PPP MIB extends the MIB-2 interface group (RFC 1213) and the Interface Extensions MIB (RFC 1229). A PPP interface has a single ifTable entry, and all PPP packets are counted as non-unicast (broadcast) packets in ifTable counters ifInNUcastPkts, ifOutNUCastPkts, ifExtnsBroadcastsReceivedOks, and ifExtnsBroadcastsTransmittedOks.
Implementation of the PPP Link Group is mandatory for all PPP implementations. If the semantics of a MIB group are applicable to an implementation, all objects in that group must be implemented.
Implementation of the PPP LQR Extensions Group is optional, as the information it contains may not be efficiently maintained on all PPP implementations.
Implementation of the PPP LQR Group is mandatory for all PPP implementations that implement LQR. This group provides MIB access to information required for LQR processing.
When the LCP Finite State Machine attains the Opened state, a linkUp trap should be sent. When the FSM leaves the Opened state, a linkDown trap should be sent.
Four error counters are defined as components of ifInErrors: pppLinkStatusBadAddresses (incorrect Address Field), pppLinkStatusBadControls (incorrect Control Field), pppLinkStatusPacketTooLongs (packets discarded for exceeding MRU), and pppLinkStatusBadFCSs (incorrect FCS).
pppLinkConfigTable provides read-write LCP configuration objects representing initial link parameters: pppLinkConfigInitialMRU (default 1500), pppLinkConfigReceiveACCMap and pppLinkConfigTransmitACCMap (default 0xFFFFFFFF), pppLinkConfigMagicNumber (default false), and pppLinkConfigFcsSize (default 16 bits). Changes take effect when the link is next restarted.
pppLinkStatusLocalMRU and pppLinkStatusRemoteMRU report the negotiated Maximum Receive Unit for each direction; pppLinkStatusTransmitFcsSize and pppLinkStatusReceiveFcsSize report the negotiated FCS size in bits (range 0..128) for each direction.
pppLinkStatusLocalToPeerACCMap and pppLinkStatusPeerToLocalACCMap are 4-octet OCTET STRING objects reporting the negotiated Asynchronous-Control-Character Map in each direction of the link.
pppLinkStatusLocalToRemoteProtocolCompression, pppLinkStatusRemoteToLocalProtocolCompression, pppLinkStatusLocalToRemoteACCompression, and pppLinkStatusRemoteToLocalACCompression indicate whether Protocol Compression and Address-and-Control Compression are enabled in each direction.
pppLinkStatusPhysicalIndex identifies the lower-level interface (e.g., RS-232 port) over which the PPP link operates, containing the ifIndex value of the lower-layer interface entry. A value of 0 indicates no lower-layer interface is identifiable.
pppLinkStatusTable contains per-link status objects including pppLinkStatusPhysicalIndex, error counters (BadAddresses, BadControls, PacketTooLongs, BadFCSs), MRU values, ACC Maps, compression flags, and FCS sizes. Values are meaningful only when the link is in the open state (ifOperStatus is up).
pppLqrConfigTable provides read-write LQR configuration: pppLqrConfigPeriod (reporting period in hundredths of a second, default 0) and pppLqrConfigStatus (enabled/disabled, default enabled). Setting pppLqrConfigStatus to disabled invalidates the entry; agents may or may not remove it.
pppLqrQuality uses an enumeration {good(1), bad(2), not-determined(3)} to disambiguate a link determined to be good from one where no determination was made and the link is merely presumed good.
pppLqrTable contains per-link LQR status: pppLqrQuality (good/bad/not-determined), pppLqrInGoodOctets, pppLqrLocalPeriod and pppLqrRemotePeriod (reporting periods in hundredths of a second), pppLqrOutLQRs, and pppLqrInLQRs. An entry exists if and only if LQR has been successfully negotiated.
The PPP Discard Test (pppDiscardTest, pppTests 2) causes a PPP Discard Packet to be transmitted; ifExtnsTestResult returns success(2) if the packet was successfully transmitted, or failed(7) if a transmission error was detected. These tests do not place ifOperStatus in the testing state and do not interrupt normal data transmission.
The PPP Echo Test (pppEchoTest, pppTests 1) causes a PPP Echo Packet to be sent; ifExtnsTestResult returns success(2) if the echo response is received properly, or failed(7) otherwise. The definition of 'proper' is left to implementor discretion.
The PPP MIB allows operators to configure and control PPP links, representing a security risk. Three mitigations are described: (1) security-sensitive variables are placed in separate optional MIB Groups that implementors may omit; (2) those variables may be implemented as read-only, though this still exposes authentication data; (3) SNMPv2 MIB views with authentication and privacy can protect sensitive tables, which are segregated into separate tables to ease view subtree identification.
Setting ifAdminStatus to 'up' injects an administrative open event into the LCP finite state machine; setting it to 'down' injects an administrative close event. ifOperStatus reflects the FSM state: 'up' when in the Opened state, 'down' otherwise.
pppLqrExtnsLastReceivedLqrPacket is a fixed 68-octet OCTET STRING storing the most recently received LQR packet in network byte order. The first four octets contain the Magic-Number field, the next four the LastOutLQRs field, and the last four octets contain the SaveInOctets field. PPP and LAP-B headers are not stored.