-- Changes for RFC 1471 (PPP LCP MIB) -- ** No changes needed ** -- dperkins@scruznet.com PPP-LCP-MIB DEFINITIONS ::= BEGIN IMPORTS Counter FROM RFC1155-SMI ifIndex, transmission FROM RFC1213-MIB OBJECT-TYPE FROM RFC-1212; -- PPP MIB ppp OBJECT IDENTIFIER ::= { transmission 23 } pppLcp OBJECT IDENTIFIER ::= { ppp 1 } -- The individual groups within the PPP-LCP-MIB pppLink OBJECT IDENTIFIER ::= { pppLcp 1 } pppLqr OBJECT IDENTIFIER ::= { pppLcp 2 } pppTests OBJECT IDENTIFIER ::= { pppLcp 3 } -- 4.1. PPP Link Group -- -- The PPP Link Group. Implementation of this -- group is mandatory for all PPP entities. -- -- The following object reflect the values of the option -- parameters used in the PPP Link Control Protocol -- pppLinkStatusLocalMRU -- pppLinkStatusRemoteMRU -- pppLinkStatusLocalToPeerACCMap -- pppLinkStatusPeerToLocalACCMap -- pppLinkStatusLocalToRemoteProtocolCompression -- pppLinkStatusRemoteToLocalProtocolCompression -- pppLinkStatusLocalToRemoteACCompression -- pppLinkStatusRemoteToLocalACCompression -- pppLinkStatusTransmitFcsSize -- pppLinkStatusReceiveFcsSize -- -- These values are not available until after the PPP Option -- negotiation has completed, which is indicated by the link -- reaching the open state (i.e., ifOperStatus is set to -- up). -- -- Therefore, when ifOperStatus is not up -- the contents of these objects is undefined. The value -- returned when accessing the objects is an implementation -- dependent issue. pppLinkStatusTable OBJECT-TYPE SYNTAX SEQUENCE OF PppLinkStatusEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table containing PPP-link specific variables for this PPP implementation." ::= { pppLink 1 } pppLinkStatusEntry OBJECT-TYPE SYNTAX PppLinkStatusEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Management information about a particular PPP Link." INDEX { ifIndex } ::= { pppLinkStatusTable 1 } PppLinkStatusEntry ::= SEQUENCE { pppLinkStatusPhysicalIndex INTEGER, pppLinkStatusBadAddresses Counter, pppLinkStatusBadControls Counter, pppLinkStatusPacketTooLongs Counter, pppLinkStatusBadFCSs Counter, pppLinkStatusLocalMRU INTEGER, pppLinkStatusRemoteMRU INTEGER, pppLinkStatusLocalToPeerACCMap OCTET STRING, pppLinkStatusPeerToLocalACCMap OCTET STRING, pppLinkStatusLocalToRemoteProtocolCompression INTEGER, pppLinkStatusRemoteToLocalProtocolCompression INTEGER, pppLinkStatusLocalToRemoteACCompression INTEGER, pppLinkStatusRemoteToLocalACCompression INTEGER, pppLinkStatusTransmitFcsSize INTEGER, pppLinkStatusReceiveFcsSize INTEGER } pppLinkStatusPhysicalIndex OBJECT-TYPE SYNTAX INTEGER(0..2147483647) ACCESS read-only STATUS mandatory DESCRIPTION "The value of ifIndex that identifies the lower-level interface over which this PPP Link is operating. This interface would usually be an HDLC or RS-232 type of interface. If there is no lower-layer interface element, or there is no ifEntry for the element, or the element can not be identified, then the value of this object is 0. For example, suppose that PPP is operating over a serial port. This would use two entries in the ifTable. The PPP could be running over `interface' number 123 and the serial port could be running over `interface' number 987. Therefore, ifSpecific.123 would contain the OBJECT IDENTIFIER ppp pppLinkStatusPhysicalIndex.123 would contain 987, and ifSpecific.987 would contain the OBJECT IDENTIFIER for the serial-port's media- specific MIB." ::= { pppLinkStatusEntry 1 } pppLinkStatusBadAddresses OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of packets received with an incorrect Address Field. This counter is a component of the ifInErrors variable that is associated with the interface that represents this PPP Link." REFERENCE "Section 3.1, Address Field, of RFC1331." ::= { pppLinkStatusEntry 2 } pppLinkStatusBadControls OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of packets received on this link with an incorrect Control Field. This counter is a component of the ifInErrors variable that is associated with the interface that represents this PPP Link." REFERENCE "Section 3.1, Control Field, of RFC1331." ::= { pppLinkStatusEntry 3 } pppLinkStatusPacketTooLongs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of received packets that have been discarded because their length exceeded the MRU. This counter is a component of the ifInErrors variable that is associated with the interface that represents this PPP Link. NOTE, packets which are longer than the MRU but which are successfully received and processed are NOT included in this count." ::= { pppLinkStatusEntry 4 } pppLinkStatusBadFCSs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of received packets that have been discarded due to having an incorrect FCS. This counter is a component of the ifInErrors variable that is associated with the interface that represents this PPP Link." ::= { pppLinkStatusEntry 5 } pppLinkStatusLocalMRU OBJECT-TYPE SYNTAX INTEGER(1..2147483648) ACCESS read-only STATUS mandatory DESCRIPTION "The current value of the MRU for the local PPP Entity. This value is the MRU that the remote entity is using when sending packets to the local PPP entity. The value of this object is meaningful only when the link has reached the open state (ifOperStatus is up)." ::= { pppLinkStatusEntry 6 } pppLinkStatusRemoteMRU OBJECT-TYPE SYNTAX INTEGER(1..2147483648) ACCESS read-only STATUS mandatory DESCRIPTION "The current value of the MRU for the remote PPP Entity. This value is the MRU that the local entity is using when sending packets to the remote PPP entity. The value of this object is meaningful only when the link has reached the open state (ifOperStatus is up)." ::= { pppLinkStatusEntry 7 } pppLinkStatusLocalToPeerACCMap OBJECT-TYPE SYNTAX OCTET STRING (SIZE (4)) ACCESS read-only STATUS mandatory DESCRIPTION "The current value of the ACC Map used for sending packets from the local PPP entity to the remote PPP entity. The value of this object is meaningful only when the link has reached the open state (ifOperStatus is up)." ::= { pppLinkStatusEntry 8 } pppLinkStatusPeerToLocalACCMap OBJECT-TYPE SYNTAX OCTET STRING (SIZE (4)) ACCESS read-only STATUS mandatory DESCRIPTION "The ACC Map used by the remote PPP entity when transmitting packets to the local PPP entity. The value of this object is meaningful only when the link has reached the open state (ifOperStatus is up)." ::= { pppLinkStatusEntry 9 } pppLinkStatusLocalToRemoteProtocolCompression OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } ACCESS read-only STATUS mandatory DESCRIPTION "Indicates whether the local PPP entity will use Protocol Compression when transmitting packets to the remote PPP entity. The value of this object is meaningful only when the link has reached the open state (ifOperStatus is up)." ::= { pppLinkStatusEntry 10 } pppLinkStatusRemoteToLocalProtocolCompression OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } ACCESS read-only STATUS mandatory DESCRIPTION "Indicates whether the remote PPP entity will use Protocol Compression when transmitting packets to the local PPP entity. The value of this object is meaningful only when the link has reached the open state (ifOperStatus is up)." ::= { pppLinkStatusEntry 11 } pppLinkStatusLocalToRemoteACCompression OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } ACCESS read-only STATUS mandatory DESCRIPTION "Indicates whether the local PPP entity will use Address and Control Compression when transmitting packets to the remote PPP entity. The value of this object is meaningful only when the link has reached the open state (ifOperStatus is up)." ::= { pppLinkStatusEntry 12 } pppLinkStatusRemoteToLocalACCompression OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } ACCESS read-only STATUS mandatory DESCRIPTION "Indicates whether the remote PPP entity will use Address and Control Compression when transmitting packets to the local PPP entity. The value of this object is meaningful only when the link has reached the open state (ifOperStatus is up)." ::= { pppLinkStatusEntry 13 } pppLinkStatusTransmitFcsSize OBJECT-TYPE SYNTAX INTEGER (0..128) ACCESS read-only STATUS mandatory DESCRIPTION "The size of the Frame Check Sequence (FCS) in bits that the local node will generate when sending packets to the remote node. The value of this object is meaningful only when the link has reached the open state (ifOperStatus is up)." ::= { pppLinkStatusEntry 14 } pppLinkStatusReceiveFcsSize OBJECT-TYPE SYNTAX INTEGER (0..128) ACCESS read-only STATUS mandatory DESCRIPTION "The size of the Frame Check Sequence (FCS) in bits that the remote node will generate when sending packets to the local node. The value of this object is meaningful only when the link has reached the open state (ifOperStatus is up)." ::= { pppLinkStatusEntry 15 } pppLinkConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF PppLinkConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table containing the LCP configuration parameters for this PPP Link. These variables represent the initial configuration of the PPP Link. The actual values of the parameters may be changed when the link is brought up via the LCP options negotiation mechanism." ::= { pppLink 2 } pppLinkConfigEntry OBJECT-TYPE SYNTAX PppLinkConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Configuration information about a particular PPP Link." INDEX { ifIndex } ::= { pppLinkConfigTable 1 } PppLinkConfigEntry ::= SEQUENCE { pppLinkConfigInitialMRU INTEGER, pppLinkConfigReceiveACCMap OCTET STRING, pppLinkConfigTransmitACCMap OCTET STRING, pppLinkConfigMagicNumber INTEGER, pppLinkConfigFcsSize INTEGER } pppLinkConfigInitialMRU OBJECT-TYPE SYNTAX INTEGER(0..2147483647) ACCESS read-write STATUS mandatory DESCRIPTION "The initial Maximum Receive Unit (MRU) that the local PPP entity will advertise to the remote entity. If the value of this variable is 0 then the local PPP entity will not advertise any MRU to the remote entity and the default MRU will be assumed. Changing this object will have effect when the link is next restarted." REFERENCE "Section 7.2, Maximum Receive Unit of RFC1331." DEFVAL { 1500 } ::= { pppLinkConfigEntry 1 } pppLinkConfigReceiveACCMap OBJECT-TYPE SYNTAX OCTET STRING (SIZE (4)) ACCESS read-write STATUS mandatory DESCRIPTION "The Asynchronous-Control-Character-Map (ACC) that the local PPP entity requires for use on its receive side. In effect, this is the ACC Map that is required in order to ensure that the local modem will successfully receive all characters. The actual ACC map used on the receive side of the link will be a combination of the local node's pppLinkConfigReceiveACCMap and the remote node's pppLinkConfigTransmitACCMap. Changing this object will have effect when the link is next restarted." REFERENCE "Section 7.3, page 4, Async-Control-Character- Map of RFC1331." DEFVAL { 'ffffffff'h } ::= { pppLinkConfigEntry 2 } pppLinkConfigTransmitACCMap OBJECT-TYPE SYNTAX OCTET STRING (SIZE (4)) ACCESS read-write STATUS mandatory DESCRIPTION "The Asynchronous-Control-Character-Map (ACC) that the local PPP entity requires for use on its transmit side. In effect, this is the ACC Map that is required in order to ensure that all characters can be successfully transmitted through the local modem. The actual ACC map used on the transmit side of the link will be a combination of the local node's pppLinkConfigTransmitACCMap and the remote node's pppLinkConfigReceiveACCMap. Changing this object will have effect when the link is next restarted." REFERENCE "Section 7.3, page 4, Async-Control-Character- Map of RFC1331." DEFVAL { 'ffffffff'h } ::= { pppLinkConfigEntry 3 } pppLinkConfigMagicNumber OBJECT-TYPE SYNTAX INTEGER {false (1), true (2)} ACCESS read-write STATUS mandatory DESCRIPTION "If true(2) then the local node will attempt to perform Magic Number negotiation with the remote node. If false(1) then this negotiation is not performed. In any event, the local node will comply with any magic number negotiations attempted by the remote node, per the PPP specification. Changing this object will have effect when the link is next restarted." REFERENCE "Section 7.6, Magic Number, of RFC1331." DEFVAL { false } ::= { pppLinkConfigEntry 4 } pppLinkConfigFcsSize OBJECT-TYPE SYNTAX INTEGER (0..128) ACCESS read-write STATUS mandatory DESCRIPTION "The size of the FCS, in bits, the local node will attempt to negotiate for use with the remote node. Regardless of the value of this object, the local node will comply with any FCS size negotiations initiated by the remote node, per the PPP specification. Changing this object will have effect when the link is next restarted." DEFVAL { 16 } ::= { pppLinkConfigEntry 5 } -- 4.2. PPP LQR Group -- -- The PPP LQR Group. -- Implementation of this group is mandatory for all -- PPP implementations that implement LQR. -- pppLqrTable OBJECT-TYPE SYNTAX SEQUENCE OF PppLqrEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Table containing the LQR parameters and statistics for the local PPP entity." ::= { pppLqr 1 } pppLqrEntry OBJECT-TYPE SYNTAX PppLqrEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "LQR information for a particular PPP link. A PPP link will have an entry in this table if and only if LQR Quality Monitoring has been successfully negotiated for said link." INDEX { ifIndex } ::= { pppLqrTable 1 } PppLqrEntry ::= SEQUENCE { pppLqrQuality INTEGER, pppLqrInGoodOctets Counter, pppLqrLocalPeriod INTEGER, pppLqrRemotePeriod INTEGER, pppLqrOutLQRs Counter, pppLqrInLQRs Counter } pppLqrQuality OBJECT-TYPE SYNTAX INTEGER { good(1), bad(2), not-determined(3) } ACCESS read-only STATUS mandatory DESCRIPTION "The current quality of the link as declared by the local PPP entity's Link-Quality Management modules. No effort is made to define good or bad, nor the policy used to determine it. The not-determined value indicates that the entity does not actually evaluate the link's quality. This value is used to disambiguate the `determined to be good' case from the `no determination made and presumed to be good' case." ::= { pppLqrEntry 1 } pppLqrInGoodOctets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The LQR InGoodOctets counter for this link." REFERENCE "Section 2.2, Counters, of RFC1333." ::= { pppLqrEntry 2 } pppLqrLocalPeriod OBJECT-TYPE SYNTAX INTEGER(1..2147483648) ACCESS read-only STATUS mandatory DESCRIPTION "The LQR reporting period, in hundredths of a second that is in effect for the local PPP entity." REFERENCE "Section 2.5, Configuration Option Format, of RFC1333." ::= { pppLqrEntry 3 } pppLqrRemotePeriod OBJECT-TYPE SYNTAX INTEGER(1..2147483648) ACCESS read-only STATUS mandatory DESCRIPTION "The LQR reporting period, in hundredths of a second, that is in effect for the remote PPP entity." REFERENCE "Section 2.5, Configuration Option Format, of RFC1333." ::= { pppLqrEntry 4 } pppLqrOutLQRs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The value of the OutLQRs counter on the local node for the link identified by ifIndex." REFERENCE "Section 2.2, Counters, of RFC1333." ::= { pppLqrEntry 5 } pppLqrInLQRs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The value of the InLQRs counter on the local node for the link identified by ifIndex." REFERENCE "Section 2.2, Counters, of RFC1333." ::= { pppLqrEntry 6 } -- -- The PPP LQR Configuration table. -- pppLqrConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF PppLqrConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Table containing the LQR Configuration parameters for the local PPP entity." ::= { pppLqr 2 } pppLqrConfigEntry OBJECT-TYPE SYNTAX PppLqrConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "LQR configuration information for a particular PPP link." INDEX { ifIndex } ::= { pppLqrConfigTable 1 } PppLqrConfigEntry ::= SEQUENCE { pppLqrConfigPeriod INTEGER, pppLqrConfigStatus INTEGER } pppLqrConfigPeriod OBJECT-TYPE SYNTAX INTEGER(0..2147483647) ACCESS read-write STATUS mandatory DESCRIPTION "The LQR Reporting Period that the local PPP entity will attempt to negotiate with the remote entity, in units of hundredths of a second. Changing this object will have effect when the link is next restarted." REFERENCE "Section 2.5, Configuration Option Format, of RFC1333." DEFVAL { 0 } ::= { pppLqrConfigEntry 1 } pppLqrConfigStatus OBJECT-TYPE SYNTAX INTEGER {disabled (1), enabled (2)} ACCESS read-write STATUS mandatory DESCRIPTION "If enabled(2) then the local node will attempt to perform LQR negotiation with the remote node. If disabled(1) then this negotiation is not performed. In any event, the local node will comply with any magic number negotiations attempted by the remote node, per the PPP specification. Changing this object will have effect when the link is next restarted. Setting this object to the value disabled(1) has the effect of invalidating the corresponding entry in the pppLqrConfigTable object. It is an implementation-specific matter as to whether the agent removes an invalidated entry from the table. Accordingly, management stations must be prepared to receive tabular information from agents that corresponds to entries not currently in use." REFERENCE "Section 7.6, Magic Number, of RFC1331." DEFVAL { enabled } ::= { pppLqrConfigEntry 2 } -- 4.3. PPP LQR Extensions Group -- -- The PPP LQR Extensions Group. -- Implementation of this group is optional. -- -- The intent of this group is to allow external -- implementation of the policy mechanisms that -- are used to declare a link to be "bad" or not. -- -- It is not practical to examine the MIB objects -- which are used to generate LQR packets since -- LQR policies tend to require synchronization of -- the values of all data used to determine Link -- Quality; i.e. the values of the relevant counters -- must all be taken at the same instant in time. -- pppLqrExtnsTable OBJECT-TYPE SYNTAX SEQUENCE OF PppLqrExtnsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Table containing additional LQR information for the local PPP entity." ::= { pppLqr 3 } pppLqrExtnsEntry OBJECT-TYPE SYNTAX PppLqrExtnsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Extended LQR information for a particular PPP link. Assuming that this group has been implemented, a PPP link will have an entry in this table if and only if LQR Quality Monitoring has been successfully negotiated for said link." INDEX { ifIndex } ::= { pppLqrExtnsTable 1 } PppLqrExtnsEntry ::= SEQUENCE { pppLqrExtnsLastReceivedLqrPacket OCTET STRING(SIZE(68)) } pppLqrExtnsLastReceivedLqrPacket OBJECT-TYPE SYNTAX OCTET STRING(SIZE(68)) ACCESS read-only STATUS mandatory DESCRIPTION "This object contains the most recently received LQR packet. The format of the packet is as described in the LQM Protocol specificiation. All fields of the packet, including the `save' fields, are stored in this object. The LQR packet is stored in network byte order. The LAP-B and PPP headers are not stored in this object; the first four octets of this variable contain the Magic-Number field, the second four octets contain the LastOutLQRs field and so on. The last four octets of this object contain the SaveInOctets field of the LQR packet." REFERENCE "Section 2.6, Packet Format, of RFC1333" ::= { pppLqrExtnsEntry 1 } -- 4.4. PPP Tests -- The extensions to the interface table in RFC1229 define a -- table through which the network manager can instruct the -- managed object to perform various tests of the interface. This -- is the ifExtnsTestTable. -- The PPP MIB defines two such tests. -- 4.4.1. PPP Echo Test -- The PPP Echo Test is defined as pppEchoTest OBJECT IDENTIFIER ::= { pppTests 1 } -- Invoking this test causes a PPP Echo Packet to be sent on the -- line. ifExtnsTestResult returns success(2) if the echo -- response came back properly. It returns failed(7) if the -- response did not properly return. The definition of "proper" -- in this context is left to the discretion of the implementor. -- 4.4.2. PPP Discard Test -- The PPP Discard Test is defined as pppDiscardTest OBJECT IDENTIFIER ::= { pppTests 2 } -- Invoking this test causes a PPP Discard Packet to be sent on -- the line. ifExtnsTestResult returns success(2) if the discard -- packet was successfully transmitted and failed(7) if an error -- was detected on transmission. The definition of "transmission -- error" in this context is left to the discretion of the -- implementor. END