Definitions of Managed Objects for the Point-to-Point Protocol 30 March 1992 Frank J. Kastenholz Clearpoint Research Corp 35 Parkwood Drive Hopkinton, Mass 01748 USA kasten@europa.clearpoint.com Status of this Memo This document will be submitted to the Internet Activities Board as a Draft Standard. This document defines an experimental extension to the SNMP MIB. Upon publication as a Draft Standard, a new MIB number will be assigned. This is a working document only, it should neither be cited nor quoted in any formal document. This document will expire before 30 September 1992. Distribution of this document is unlimited. Please send comments to kasten@europa.clearpoint.com. 1. Abstract This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in TCP/IP-based internets. In particular, it describes managed objects used for managing subnetwork interfaces using the family of Point-to-Point Protocols[8, 9, 10, 11, & 12]. Internet Draft PPP MIB March 1992 This memo does not specify a standard for the Internet community. Frank J. Kastenholz [Page 2] Internet Draft PPP MIB March 1992 2. Changes This section will be deleted from the standardized version of the MIB. At the IETF meeting in San Diego it was decided that the MIB was too large. The previous version of the MIB had almost 200 objects in it, making it larger than MIB-2. As a result of the discussion at the IETF Meeting, the following changes have been made in the MIB: (1) The PPP Extended Link Group was deleted. It was decided that this Broup primarily was useful for implementation debug. This group contained the following significant variables: pppLinkExtendedLastUnknownProtocol, pppLinkExtendedLastInvalidProtocol, pppLinkExtendedLastBadAddress, and pppLinkExtendedLastBadControl. (2) The groups that applied to the Finite State Machine were deleted. It was decided that this Broup primarily was useful for debugging implementations. These groups contained the following significant variables: pppFsmCurrentState, pppFsmStatusChangeTime, pppFsmLogChangeTime, pppFsmLogPreviousState, pppFsmLogNewState, pppFsmLogEvent, pppFsmExtnsOutCRs, pppFsmExtnsInCRs, pppFsmExtnsOutCAs, pppFsmExtnsInCAs, pppFsmExtnsOutCNs,, pppFsmExtnsInCNs, pppFsmExtnsCOutRejs, pppFsmExtnsCInRejs, pppFsmExtnsOutTRs, pppFsmExtnsInTRs, pppFsmExtnsOutTAs, pppFsmExtnsInTAs, pppFsmExtnsOutCodeRejs, pppFsmExtnsInCodeRejs, pppFsmExtnsOutEchoReqs, pppFsmExtnsInEchoReqs, pppFsmExtnsOutEchoReps, pppFsmExtnsInEchoReps, pppFsmExtnsOutDiscReqs, and pppFsmExtnsInDiscReqs. The current state of the FSM, along with its change time may be approximated by ifOperStatus. If ifOperStatus is up, then the state of the corresponding FSM is opened, if ifOperStatus is down then the state of the corresponding FSM is not opened. This granularity of FSM monitoring was deemed sufficient by the working group. ifLastChangeTime matches pppFsmStatusChangeTime. Frank J. Kastenholz [Page 3] Internet Draft PPP MIB March 1992 It was realized that the FSM Log is really only useful when looking at an implementation that is looping in an option negotiation that does not converge and does not fall back to the default values. This is debugging an implementation. (3) The PPP IP Network Protocol Group and the PPP Bridge Network Protocol Group were deleted. These groups contained no useful variables. (4) The counters in the CHAP group were deleted. These counters were deemed to contain no information that was essential to the management of the network. The deleted counters are: pppChapInChallenges, pppChapOutChallenges, pppChapInResponses, pppChapOutResponses, pppChapInSuccesses, pppChapOutSuccesses, pppChapInFailures, and pppChapOutFailures. (5) The variables defining the last transmitted LQR packet (from the LQR Extensions group) were deleted. These variables were not deemed to be particularly useful in managing a network. The deleted variables are: pppLqrExtnsXmtMagicNumber, pppLqrExtnsXmtLastOutLQRs, pppLqrExtnsXmtLastOutPackets, pppLqrExtnsXmtLastOutOctets, pppLqrExtnsXmtPeerInLQRs, pppLqrExtnsXmtPeerInPackets, pppLqrExtnsXmtPeerInDiscards, pppLqrExtnsXmtPeerInErrors, pppLqrExtnsXmtPeerInOctets, pppLqrExtnsXmtPeerOutLQRs, pppLqrExtnsXmtPeerOutPackets, pppLqrExtnsXmtPeerOutOctets, pppLqrExtnsXmtSaveInLQRs, pppLqrExtnsXmtSaveInPackets, pppLqrExtnsXmtSaveInDiscards, pppLqrExtnsXmtSaveInErrors, and pppLqrExtnsXmtSaveInOctets. (6) The working group recognized that breaking the last received LQR packet out into separate MIB objects was not very useful. If a manager station wished to access the data in the LQR packet, it would most likely want to examine the entire packet. Therefore, the working group decided to eliminate the separate variables that described the last received LQR packet and replace them with an OCTET STRING which contained the entire last received LQR packet. The deleted variables are: pppLqrExtnsRcvMagicNumber, pppLqrExtnsRcvLastOutLQRs, pppLqrExtnsRcvLastOutPackets, Frank J. Kastenholz [Page 4] Internet Draft PPP MIB March 1992 pppLqrExtnsRcvLastOutOctets, pppLqrExtnsRcvPeerInLQRs, pppLqrExtnsRcvPeerInPackets, pppLqrExtnsRcvPeerInDiscards, pppLqrExtnsRcvPeerInErrors, pppLqrExtnsRcvPeerInOctets, pppLqrExtnsRcvPeerOutLQRs, pppLqrExtnsRcvPeerOutPackets, pppLqrExtnsRcvPeerOutOctets, pppLqrExtnsRcvSaveInLQRs, pppLqrExtnsRcvSaveInPackets, pppLqrExtnsRcvSaveInDiscards, pppLqrExtnsRcvSaveInErrors, and pppLqrExtnsRcvSaveInOctets. (7) The pppLcpStatusConfigureRequestTimeouts and pppLcpStatusTerminateRequestTimeouts objects were deleted as they do not provide any critical information. (8) pppLcpConfigRestartTimerValue has been deleted. Changing this variable is primarily a debugging function and therefore it is not appropriate to include it in the standard mib. (9) pppLcpConfigMaxTerminateValue has been deleted. Changing this variable is primarily a debugging function and therefore it is not appropriate to include it in the standard mib. (10) pppLcpConfigMaxConfigureValue has been deleted. Changing this variable is primarily a debugging function and therefore it is not appropriate to include it in the standard mib. (11) pppLcpConfigMaxFailureValue has been deleted. Changing this variable is primarily a debugging function and therefore it is not appropriate to include it in the standard mib. (12) The pppLinkInvalidProtocols object was deleted. This count will be subsumed in the ifInUnknownProtos counter that applies to the PPP-Link layer. It was not felt to be sufficiently useful to differntiate this count and the unknown protocol count. (13) The variables for configuring MRU negotiation have been rearranged. Proper MRU values can be determined by examination of the protocols that are to operate over the link. pppLcpConfigLocalMinMRU, pppLcpConfigLocalMaxMRU, pppLcpConfigRemoteMinMRU, and pppLcpConfigRemoteMaxMRU Frank J. Kastenholz [Page 5] Internet Draft PPP MIB March 1992 have been deleted. (14) pppLcpConfigAuthenticationProtocol and pppLcpConfigQualityProtocol have been deleted. The capabilities provided by these variables are now in the PPP Authentication and LQM tables. (15) The variables for configuring protocol and address/control field compression were deleted. These variables were deemed useful only for debugging implementations, The purpose of the configuration option is merely to inform the remote note that the local node can do the compression, if desired by the remote node. However, if the noeds can not agree to perform a type of compression, then the compression is not done. If this negotiation fails then one, or both, implementations are broken. The deleted variables are: pppLcpConfigAcceptProtocolCompression, pppLcpConfigRequestProtocolCompression,, pppLcpConfigRequireProtocolCompression, pppLcpConfigAcceptACCompression, pppLcpConfigRequestACCompression, and pppLcpConfigRequireACCompression. (16) The pppLcpConfigMagicNumberLoopCount variable has been deleted. The function instrumented by this variable is the Max-Configure value. This variable is redundant and unnecessary. (17) The semantics of the pppLcpConfigMagicNumber variable have been changed. It now determines whether magic number negotiation is attempted by the local node or not. (18) The configuration of the 32 bit FCS has changed. The old variables (pppLcpConfigAccept32BitFCS, pppLcpConfigRequest32BitFCS and pppLcpConfigRequire32BitFCS) have been deleted. They have been replaced with pppLcpConfig32BitFCS which indicates whether the local node will attempt to negotiate use of the 32 bit FCS or not. (19) The pppLqrTable has been split into two tables, one for configuration and one for status and monitoring. This is in keeping with the practice used in other parts of the MIB and was an oversight in the original version. Frank J. Kastenholz [Page 6] Internet Draft PPP MIB March 1992 (20) The pppIpcpTable has been split into two tables, one for configuration and one for status and monitoring. This is in keeping with the practice used in other parts of the MIB and was an oversight in the original version. (21) The pppBncpTable has been split into two tables, one for configuration and one for status and monitoring. This is in keeping with the practice used in other parts of the MIB and was an oversight in the original version. (22) The pppBncpAcceptRingId, pppBncpAcceptLineId, pppBncpAcceptTinygram, and pppBncpAcceptLanId variables have been deleted. If an implementation can accept these parameters in the packets then it should. (23) The security-related objects have been restructured to admit a more flexible scheme of defining which protocols are to be used and the order in which they are to be tried. (24) Adding mib variables for defining IP addresses to be used in address negotiation was considered and rejected. There were two reasons. If a node has received an IP Address from some sort of "dial up network access device" then that address is obtainable via the IP Address MIB table. If the node is the "dial up network access device" then the list of available addresses is really a subset of dynamic host configuration and really is not a function of the PPP. (25) Adding mib variables for the "old" style of IP address negotiation was considered and rejected on the basis that the "old" style of negotiation was not to be done due to severe technical flaws. (26) Minor editorial changes have been made. (27) Many variables have been deleted from the previous version of the MIB. Some of these variables may, in fact, be useful in certain circumstances. Implementors are encouraged to experiment by adding these variables to their private mibs, with a view towards considering these variables' utility and possible addition to the MIB in the future. Frank J. Kastenholz [Page 7] Internet Draft PPP MIB March 1992 3. The Network Management Framework The Internet-standard Network Management Framework consists of three components. They are: RFC 1155 which defines the SMI, the mechanisms used for describing and naming objects for the purpose of management. RFC 1212 defines a more concise description mechanism, which is wholly consistent with the SMI. RFC 1156 which defines MIB-I, the core set of managed objects for the Internet suite of protocols. RFC 1213, defines MIB-II, an evolution of MIB-I based on implementation experience and new operational requirements. RFC 1157 which defines the SNMP, the protocol used for network access to managed objects. The Framework permits new objects to be defined for the purpose of experimentation and evaluation. Frank J. Kastenholz [Page 8] Internet Draft PPP MIB March 1992 4. Objects Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the subset of Abstract Syntax Notation One (ASN.1) [3] defined in the SMI. In particular, each object has a name, a syntax, and an encoding. The name is an object identifier, an administratively assigned name, which specifies an object type. The object type together with an object instance serves to uniquely identify a specific instantiation of the object. For human convenience, we often use a textual string, termed the OBJECT DESCRIPTOR, to also refer to the object type. The syntax of an object type defines the abstract data structure corresponding to that object type. The ASN.1 language is used for this purpose. However, the SMI [1] purposely restricts the ASN.1 constructs which may be used. These restrictions are explicitly made for simplicity. The encoding of an object type is simply how that object type is represented using the object type's syntax. Implicitly tied to the notion of an object type's syntax and encoding is how the object type is represented when being transmitted on the network. The SMI specifies the use of the basic encoding rules of ASN.1 [4], subject to the additional requirements imposed by the SNMP. 4.1. Format of Definitions Section 5 contains the specification of all object types contained in this MIB module. The object types are defined using the conventions defined in the SMI, as amended by the extensions specified in [5,6]. Frank J. Kastenholz [Page 9] Internet Draft PPP MIB March 1992 5. Overview 5.1. Object Selection Criteria To be consistent with IAB directives and good engineering practice, an explicit attempt was made to keep this MIB as simple as possible. This was accomplished by applying the following criteria to objects proposed for inclusion: (1) Require objects be essential for either fault or configuration management. In particular, objects for which the sole purpose was to debug applications ware explicitly excluded from the MIB. (2) Consider evidence of current use and/or utility. (3) Limit the total of objects. (4) Exclude objects which are simply derivable from others in this or other MIBs. (5) Avoid causing critical sections to be heavily instrumented. The guideline that was followed is one counter per critical section per layer. 5.2. Structure of the PPP This section describes the basic model of PPP used in developing the PPP MIB. This information should be useful to the implementor in understanding some of the basic design decisions of the MIB. The PPP is not one single protocol but a large family of protocols. Each of these is, in itself, a fairly complex protocol. The PPP protocols may be divided into three rough categroies: Control Protocols The Control Protocols are used to control the operation of the PPP. The Control Protocols include the Link Control Protocol (LCP), the Password Authentication Protocol (PAP), the Link Quality Report (LQR), and the Challenge Handshake Authentication Protocol (CHAP). Frank J. Kastenholz [Page 10] Internet Draft PPP MIB March 1992 Network Protocols The Network Protocols are used to move the network traffic over the PPP interface. A Network Protocol encapsulates the datagrams of a specific higher-layer protocol that is using the PPP as a data link. Note that within the context of PPP, the term "Network Protocol" does not imply an OSI Layer-3 protocol; for instance, there is a Bridging network protocol. Network Control Protocols (NCPs) The NCPs are used to control the operation of the Network Protocols. Generally, each Network Protocol has its own Network Control Protocol; thus, the IP Network Protocol has its IP Control Protocol, the Bridging Network Protocol has its Bridging Network Control Protocol and so on. 5.3. Structure of the PPP MIB The multiplicity of protocols internal to the PPP, along with the need for the PPP to be layered above some physical interface (such as a synchronous line) poses an interesting problem to the MIB developer: How should the MIB be structured in order to reflect the richness of PPP implementations. In order to properly represent the layering and dependencies of all of the components of a PPP entity, a multi-layered interface model is adopted. In this model, each of the PPP Network Protocols and Network Control protocols of the PPP "interface" will be represented as a separate interface as defined in MIB-II[2]. Thus, each component of the PPP "interface" will have its own entry in the MIB-II interface table (ifTable) and the interface extensions table (ifExtnsTable). For the purposes of network management, a PPP Link Layer is also defined. This layer contains the Link Control Protocol, as well as the ancilliary control protocols (for authentication and link quality monitoring). This layer is an "interface", as defined in the previous paragraph, and therefore has its own entry in the ifTable and the ifExtnsTable. The Link Layer is logically placed beneath the Network and Network Control protocols. This placement is necessary in order to provide the proper MIB hooks for showing Frank J. Kastenholz [Page 11] Internet Draft PPP MIB March 1992 the relationship between the several Network and Network Control protocols, and the lower layer MIBs (e.g., LAP-B). The MIB objects defined in this document reside in the media- specific portion of the mib (i.e. in the transmission sub-tree of MIB-2). The relationship between the PPP MIB objects of a particular sub-layer and the interface table entry for that same sub- layer is established by two MIB objects: 1) the ifSpecific object in the interface table entry, which identifies the appropriate subtree in the PPP MIB and 2) the ifIndex object in the interface table entry, which identifies which instance of a PPP MIB table pertains to the interface table entry. Thus, a PPP implementation's MIBs might have the following rough structure: +------------+---------+ +--------------+---------+ | PPP-IP MIB | ifEntry | | PPP-IPCP MIB | ifEntry | +------------+---------+ +--------------+---------+ +--------------+---------+ | PPP Link MIB | ifEntry | +--------------+---------+ +------------+---------+ | LAP-B MIB | ifEntry | +------------+---------+ +------------+---------+ | RS-232 MIB | ifEntry | +------------+---------+ 5.4. MIB Groups Objects in this MIB are arranged into groups. Each group is organized as a set of related objects. The overall structure of the groups is described in following sections. Several of the MIB groups are "media-specific" MIBs which are "hung off" of an ifEntry. The common use of some of the ifTable variables when applied to one of the PPP MIB Groups is presented here. These are all clarifications or additional conventions with respect to the text in MIB-II[2]. Variables not discussed here or in following sub-sections have usage as described in MIB-II[2]. Frank J. Kastenholz [Page 12] Internet Draft PPP MIB March 1992 ifType This variable contains the enumerated value ppp, which identifies this ifTable entry as a component of a PPP interface. Further classification may be determined by examining ifSpecific. ifMtu This variable represents the actual MTU of the local PPP entity. The local MTU may be different than the remote's MRU for implementation reasons. ifPhysAddress This variable should contain the HDLC address used on this link. The default value is 0xFF, per [8]. Note that this is a broadcast address. ifInOctets This variable maintains a count of octets received by the PPP sub-entity to which this entry in the ifTable applies. For example, if an entry applies to the PPP- IPCP sub-entity, then this count would represent the number of PPP-IPCP bytes received. ifInUcastPkts Normally, this variable should be zero as the default HDLC address used by the PPP is 0xFF, the broadcast address. Only if a link has been locally configured to use a non-broadcast address should this variable be non- 0. ifInNUcastPkts This variable maintains a count of the packets received by the PPP sub-entity to which this entry in the ifTable applies. For example, if an entry applies to the PPP-IP sub-entity, then this count would represent the number of packets received by the PPP-IP sub-entity. ifOutOctets This variable maintains a count of octets transmitted by the PPP sub-entity to which this entry in the ifTable applies. For example, if an entry applies to the PPP-LQR sub-entity, then this count would represent the number of PPP-LQR bytes transmitted. Frank J. Kastenholz [Page 13] Internet Draft PPP MIB March 1992 ifOutUcastPkts Normally, this variable should be zero as the default HDLC address used by the PPP is 0xFF, the broadcast address. Only if a link has been locally configured to use a non-broadcast address should this variable be non- 0. ifOutNUcastPkts This variable maintains a count of the packets transmitted by the PPP sub-entity to which this entry in the ifTable applies. For example, if an entry applies to the PPP-LCP sub-entity, then this count would represent the number of packets transmitted by the PPP-LCP sub- entity. Group-specific semantics of interface group variables are described in the following sections as needed. 5.4.1. The PPP Link Group This PPP Link group represents the lowest level of the PPP protocol. The PPP Link Group is primarily a "convergence" layer which acts as a common point for non-protocol-specific processing (e.g., detecting unknown protocols). The PPP Link Group contains one table, the pppLinkTable. This table contains: (1) Counters for a number of PPP link level errors, such as FCS errors and the like. These counters provide a more specific breakdown of the types of errors that are occuring on the link. The value of ifInErrors is the sum of all of these specific error counts plus any other receive errors. (2) The ifIndex value of the ifTable entry for the physical layer interface. (3) The ifIndex values of the ifTable entries for all of the higher interface sub-layers that make up the PPP Mib. Implementation of this group is mandatory for all PPP implementations. Frank J. Kastenholz [Page 14] Internet Draft PPP MIB March 1992 5.4.1.1. Relation to MIB-II interface Group ifInOctets ifInNUcastPkts ifOutOctets ifOutNUcastPkts These variables represent the counts of ALL octets/packets received or sent on the PPP link. These counts are the sum of all the individual PPP modules' traffic. ifSpecific This variable contains the OBJECT-IDENTIFIER pppLink, identifying this interface as a PPP Link. ifOperStatus Reflects the overall state of the LCP Finite State Machine (FSM). If the state of LCP FSM is opened then the value of ifOperStatus is up, otherwise, the value of ifOperStatus is down or testing, whichever is appropriate. ifAdminStatus Allows the network manager to inject open and close events into the LCP FSM. Setting ifAdminStatus to down will inject a close event into the FSM. Setting ifAdminStatus to up will inject an open event into the FSM. 5.4.2. The PPP LCP Group The PPP LCP Group contains basic MIB variables that pertain to the configuration, status, and control of the PPP LCP entity. This group contains two tables. The pppLcpStatusTable table contains current LCP status information. This reflects the current state of the LCP, including the final negotiated values of the options. The pppLcpConfigTable table contains configuration information for the LCP. This table is split off of the pppLcpStatusTable so that it may be placed in a separate MIB View for security purposes. Frank J. Kastenholz [Page 15] Internet Draft PPP MIB March 1992 Implementation of this group is mandatory for all PPP implementations. 5.4.3. The PPP LQR Group This group provides the basic MIB variables that apply to the PPP LQR Protocol. This group provides MIB access to the information required for LQR processing. This group contains two tables, one containing status information and the other configuration information. The configuration table is split off of the status so that it may be placed in a separate MIB View for security purposes. Implementation of the PPP LQR Group is mandatory for all PPP implementations that implement LQR. 5.4.4. The PPP LQR Extensions Group The PPP LQR Extensions group contains the most recently received LQR packet. This is done in order to facilitate external implementations of the Link Quality determination policies. It is not practical to examine the relevant MIB objects which are used to generate LQR packets since LQR policies may require synchronization of the values of all data used to determine Link Qualitiy; i.e., the values of the relevant counters must all be taken at the same instant in time. Thus, by recording the last received LQR packet, a synchronized record of the relevant data is available. As this information may not be efficiently maintained on all PPP implementations, implementation of this group is optional. 5.4.5. The PPP IPCP Group The PPP IPCP Group contains configuration, status, and control variables that apply to the PPP IPCP. Implementation of this group is mandatory for all implementations of PPP that support the IP Control Protocol. Frank J. Kastenholz [Page 16] Internet Draft PPP MIB March 1992 5.4.5.1. Relation to MIB-II interface Group ifSpecific This variable contains the OBJECT-IDENTIFIER pppIpcp, identifying this interface as a PPP IPCP entity. ifOperStatus Reflects the overall state of the IPCP Finite State Machine (FSM). If the state of IPCP FSM is opened then the value of ifOperStatus is up, otherwise, the value of ifOperStatus is down or testing, whichever is appropriate. ifAdminStatus Allows the network manager to inject open and close events into the IPCP FSM. Setting ifAdminStatus to down will inject a close event into the FSM. Setting ifAdminStatus to up will inject an open event into the FSM. 5.4.6. The PPP IP Network Protocol There is no MIB Group for the instrumentation of this protocol. However, there IS an ifEntry for this protocol. The MIB-II interface group variables have the following specific usage: ifSpecific This variable contains the OBJECT-IDENTIFIER pppIp, identifying this interface as a PPP IP entity. ifOperStatus Reflects the overall state of the IP Network Protocol Finite State Machine (FSM). If the state of IP Network Protocol FSM is opened then the value of ifOperStatus is up, otherwise, the value of ifOperStatus is down or testing, whichever is appropriate. ifAdminStatus Allows the network manager to inject open and close events into the FSM. Setting ifAdminStatus to down will inject a close event into the FSM. Setting ifAdminStatus to up will inject an open event into the FSM. Frank J. Kastenholz [Page 17] Internet Draft PPP MIB March 1992 5.4.7. The PPP Bridge NCP Group The PPP Brodge NCP Group (Bridge Network Control Protocol) contains configuration, status, and control variables that apply to the PPP Bridge NCP. Implementation of this group is mandatory for all implementations of PPP that support the Bridge Network Control Protocol. 5.4.7.1. Relation to MIB-II interface Group ifSpecific This variable contains the OBJECT-IDENTIFIER pppBridgeNCP, identifying this interface as a PPP Bridge NCP Entity. ifOperStatus Reflects the overall state of the BNCP Finite State Machine (FSM). If the state of BNCP FSM is opened then the value of ifOperStatus is up, otherwise, the value of ifOperStatus is down or testing, whichever is appropriate. ifAdminStatus Allows the network manager to inject open and close events into the FSM. Setting ifAdminStatus to down will inject a close event into the FSM. Setting ifAdminStatus to up will inject an open event into the FSM. 5.4.8. The PPP Bridge Network Protocol There is no MIB Group for the instrumentation of this protocol. However, there IS an ifEntry for this protocol. The MIB-II interface group variables have the following specific usage: ifSpecific This variable contains the OBJECT-IDENTIFIER pppBridge, identifying this interface as a PPP Bridging entity. ifOperStatus Reflects the overall state of the Bridge Network Protocl Finite State Machine (FSM). If the state of Bridge Network Protocl FSM is opened then the value of Frank J. Kastenholz [Page 18] Internet Draft PPP MIB March 1992 ifOperStatus is up, otherwise, the value of ifOperStatus is down or testing, whichever is appropriate. ifAdminStatus Allows the network manager to inject open and close events into the FSM. Setting ifAdminStatus to down will inject a close event into the FSM. Setting ifAdminStatus to up will inject an open event into the FSM. 5.4.9. The PPP CHAP Group The PPP CHAP Group contains configuration, status, and control variables that apply to the PPP Challange Authentication Protocol. Implementation of this group is mandatory for all implementations of PPP that support the PPP CHAP. 5.4.10. The PPP PAP Group The PPP PAP Group contains configuration, status, and control variables that apply to the PPP Password Authentication Protocol. Implementation of this group is mandatory for all implementations of PPP that support the PPP PAP. Frank J. Kastenholz [Page 19] Internet Draft PPP MIB March 1992 6. Definitions RFCppp-MIB DEFINITIONS ::= BEGIN IMPORTS experimental, Counter FROM RFC1155-SMI OBJECT-TYPE FROM RFC-1212 TRAP-TYPE FROM RFC-1215; -- PPP MIB ppp OBJECT IDENTIFIER ::= { experimental 18 } -- The individual Groups within the PPP MIB pppLink OBJECT IDENTIFIER ::= { ppp 1 } pppLcp OBJECT IDENTIFIER ::= { ppp 2 } pppLqr OBJECT IDENTIFIER ::= { ppp 3 } pppIpcp OBJECT IDENTIFIER ::= { ppp 4 } pppIp OBJECT IDENTIFIER ::= { ppp 5 } pppBridgeNCP OBJECT IDENTIFIER ::= { ppp 6 } pppBridge OBJECT IDENTIFIER ::= { ppp 7 } pppSecurity OBJECT IDENTIFIER ::= { ppp 8 } pppTests OBJECT IDENTIFIER ::= { ppp 9 } Frank J. Kastenholz [Page 20] Internet Draft PPP MIB March 1992 6.1. PPP Link Group -- -- The PPP Link Group. Implementation of this -- group is mandatory for all PPP entities. -- pppLinkTable OBJECT-TYPE SYNTAX SEQUENCE OF PppLinkEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table containing PPP-link specific variables for this PPP implementation." ::= { pppLink 1 } pppLinkEntry OBJECT-TYPE SYNTAX PppLinkEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Management information about a particular PPP Link." INDEX { pppLinkIndex } ::= { pppLinkTable 1 } PppLinkEntry ::= SEQUENCE { pppLinkIndex INTEGER, pppLinkPhysicalIndex INTEGER, pppLinkBadAddresses Counter, pppLinkBadControls Counter, pppLinkPacketTooLongs Counter, pppLinkBadFCSs Counter, pppLinkIpcpIndex INTEGER, pppLinkIpIndex INTEGER, Frank J. Kastenholz [Page 21] Internet Draft PPP MIB March 1992 pppLinkBncpIndex INTEGER, pppLinkBridgeIndex INTEGER } pppLinkIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "A unique value for each PPP link. Its value ranges between 1 and the value of ifNumber. The interface identified by a particular value of this index is that identified by the same value of an ifIndex object instance. The value for each link must remain constant at least from one re-initialization of the entity's network management system to the next re-initialization." ::= { pppLinkEntry 1 } pppLinkPhysicalIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of ifNumber that identifies the interface over which this PPP Link is operating. This interface would usually be an HDLC or RS-232 type of interface." ::= { pppLinkEntry 2 } pppLinkBadAddresses 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 Frank J. Kastenholz [Page 22] Internet Draft PPP MIB March 1992 "Section 3.1, Address Field, of [8]." ::= { pppLinkEntry 3 } pppLinkBadControls 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, Flag Sequence, of [8]." ::= { pppLinkEntry 4 } pppLinkPacketTooLongs 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." ::= { pppLinkEntry 5 } pppLinkBadFCSs 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." ::= { pppLinkEntry 6 } Frank J. Kastenholz [Page 23] Internet Draft PPP MIB March 1992 pppLinkIpcpIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of ifIndex that identifies the entry in the interface table that is associated with the PPP-IPCP entity for this link. If IPCP is not in use or not available on this link then the value of this object will be 0." ::= { pppLinkEntry 7 } pppLinkIpIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of ifIndex that identifies the entry in the interface table that is associated with the PPP-IP entity for this link. If IP is not in use or not available on this link then the value of this object will be 0." ::= { pppLinkEntry 8 } pppLinkBncpIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of ifIndex that identifies the entry in the interface table that is associated with the PPP Bridge Network Control Protocol entity for this link. If the BNCP is not in use or not available on this link then the value of this object will be 0." ::= { pppLinkEntry 9 } pppLinkBridgeIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION Frank J. Kastenholz [Page 24] Internet Draft PPP MIB March 1992 "The value of ifIndex that identifies the entry in the interface table that is associated with the PPP Bridging entity for this link. If Bridging is not in use or not available on this link then the value of this object will be 0." ::= { pppLinkEntry 10 } Frank J. Kastenholz [Page 25] Internet Draft PPP MIB March 1992 6.2. PPP LCP Group -- -- The PPP LCP Group. Implementation of this -- group is mandatory for all PPP entities. -- pppLcpStatusTable OBJECT-TYPE SYNTAX SEQUENCE OF PppLcpStatusEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table containing the operational LCP parameters for this PPP Link." ::= { pppLcp 1 } pppLCPStatusEntry OBJECT-TYPE SYNTAX PppLCPStatusEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Configuration information about a particular PPP Link." INDEX { pppLcpStatusIndex } ::= { pppLcpStatusTable 1 } PppLcpStatusEntry ::= SEQUENCE { pppLcpStatusIndex INTEGER, pppLcpLinkIndex INTEGER, pppLcpStatusLocalMRU INTEGER, pppLcpStatusRemoteMRU INTEGER, pppLcpStatusLocalToPeerACCMap OCTET STRING, pppLcpStatusPeerToLocalACCMap OCTET STRING, pppLcpStatusLocalToRemoteProtocolCompression INTEGER, pppLcpStatusRemoteToLocalProtocolCompression INTEGER, Frank J. Kastenholz [Page 26] Internet Draft PPP MIB March 1992 pppLcpStatusLocalToRemoteACCompression INTEGER, pppLcpStatusRemoteToLocalACCompression INTEGER } pppLcpStatusIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "A unique value for each PPP link. Its value ranges between 1 and the value of ifNumber. The interface identified by a particular value of this index is that identified by the same value of an ifIndex object instance. The value for each link must remain constant at least from one re-initialization of the entity's network management system to the next re-initialization." ::= { pppLcpStatusEntry 1 } pppLcpStatusLinkIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of ifIndex that identifies the entry in the interface table that is associated with the Link entity over which this LCP instance is operating." ::= { pppLcpStatusEntry 2 } pppLcpStatusLocalMRU OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The final negotiated MRU value for the local PPP Entity. This value is the MRU that the remote entity has accepted for the local PPP entity." ::= { pppLcpStatusEntry 3 } Frank J. Kastenholz [Page 27] Internet Draft PPP MIB March 1992 pppLcpStatusRemoteMRU OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The final negotiated MRU value for the remote PPP Entity." ::= { pppLcpStatusEntry 4 } pppLcpStatusLocalToPeerACCMap OBJECT-TYPE SYNTAX OCTET STRING (SIZE (4)) ACCESS read-only STATUS mandatory DESCRIPTION "The ACC Map used by the local PPP entity when transmitting packets to the remote PPP entity." ::= { pppLcpStatusEntry 5 } pppLcpStatusPeerToLocalACCMap 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." ::= { pppLcpStatusEntry 6 } pppLcpStatusLocalToRemoteProtocolCompression 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. This is the Protocol Compression option that the remote PPP entity has advertised to the local entity and that the local PPP entity has accepted." Frank J. Kastenholz [Page 28] Internet Draft PPP MIB March 1992 ::= { pppLcpStatusEntry 7 } pppLcpStatusRemoteToLocalProtocolCompression 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. This is the Protocol Compression option that the local PPP entity has advertised to the remote entity and that the remote PPP entity has accepted." ::= { pppLcpStatusEntry 8 } pppLcpStatusLocalToRemoteACCompression 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. This is the Address and Control Compression option that the remote PPP entity has advertised to the local entity and that the local PPP entity has accepted." ::= { pppLcpStatusEntry 9 } pppLcpStatusRemoteToLocalACCompression OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } ACCESS read-only STATUS mandatory Frank J. Kastenholz [Page 29] Internet Draft PPP MIB March 1992 DESCRIPTION "Indicates whether the remote PPP entity will use Address and Control Compression when transmitting packets to the local PPP entity. This is the Address and Control Compression option that the local PPP entity has advertised to the remote entity and that the remote PPP entity has accepted." ::= { pppLcpStatusEntry 10 } pppLcpConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF PppLcpConfigEntry 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." ::= { pppLcp 2 } pppLCPConfigEntry OBJECT-TYPE SYNTAX PppLCPConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Configuration information about a particular PPP Link." INDEX { pppLcpConfigIndex } ::= { pppLcpConfigTable 1 } PppLcpConfigEntry ::= SEQUENCE { pppLcpConfigIndex INTEGER, pppLcpConfigInitialMRU INTEGER, pppLcpConfigACCMap OCTET STRING, pppLcpConfigMagicNumber Frank J. Kastenholz [Page 30] Internet Draft PPP MIB March 1992 INTEGER, pppLcpConfig32BitFCS INTEGER } pppLcpConfigIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "A unique value for each PPP link. Its value ranges between 1 and the value of ifNumber. The interface identified by a particular value of this index is that identified by the same value of an ifIndex object instance. The value for each link must remain constant at least from one re-initialization of the entity's network management system to the next re-initialization." ::= { pppLcpConfigEntry 1 } pppLcpConfigInitialMRU OBJECT-TYPE SYNTAX INTEGER 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 [8]." DEFVAL { 1500 } ::= { pppLcpConfigEntry 2 } pppLcpConfigReceiveACCMap OBJECT-TYPE SYNTAX OCTET STRING (SIZE (4)) ACCESS read-write STATUS mandatory DESCRIPTION Frank J. Kastenholz [Page 31] Internet Draft PPP MIB March 1992 "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 pppLcpConfigReceiveACCMap and the remote node's pppLcpConfigXmitACCMap. Changing this object will have effect when the link is next restarted." REFERENCE "Section 7.3, page 4, Async-Control-Character- Map of [8]." DEFVAL { 'ffffffff'h } ::= { pppLcpConfigEntry 3 } pppLcpConfigXmitACCMap 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 pppLcpConfigXmitACCMap and the remote node's pppLcpConfigReceiveACCMap. Changing this object will have effect when the link is next restarted." REFERENCE "Section 7.3, page 4, Async-Control-Character- Map of [8]." DEFVAL { 'ffffffff'h } ::= { pppLcpConfigEntry 4 } pppLcpConfigMagicNumber OBJECT-TYPE SYNTAX INTEGER {false (1), true (2)} ACCESS read-write Frank J. Kastenholz [Page 32] Internet Draft PPP MIB March 1992 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 [8]." DEFVAL { false } ::= { pppLcpConfigEntry 5 } pppLcpConfig32BitFCS 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 32 Bit FCS negotiation with the remote node. If false(1) then this negotiation is not performed. In any event, the local node will comply with any 32 Bit FCS 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.9, 32 Bit FCS, of [8]." DEFVAL { false } ::= { pppLcpConfigEntry 6 } Frank J. Kastenholz [Page 33] Internet Draft PPP MIB March 1992 6.3. 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 { pppLqrLinkIndex } ::= { pppLqrTable 1 } PppLqrEntry ::= SEQUENCE { pppLqrLinkIndex INTEGER, pppLqrQuality INTEGER, pppLqrInGoodOctets Counter, pppLqrLocalPeriod INTEGER, pppLqrRemotePeriod INTEGER, pppLqrInLQRs Counter, pppLqrInLQRs Frank J. Kastenholz [Page 34] Internet Draft PPP MIB March 1992 Counter } pppLqrLinkIndex OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The value of ifIndex that identifies the entry in the interface table that is associated with the PPP Link entity over which this LQR is operating." ::= { pppLqrTable 2 } pppLqrQuality OBJECT-TYPE SYNTAX INTEGER { good(1), bad(2) } 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." ::= { 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 [12]." ::= { pppLqrEntry 2 } pppLqrLocalPeriod OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory Frank J. Kastenholz [Page 35] Internet Draft PPP MIB March 1992 DESCRIPTION "The LQR reporting period that is in effect for the local PPP entity. The local entity received a configure-ack for this value from the remote PPP entity." REFERENCE "Section 2.5, Configuration Option Format, of [12]." ::= { pppLqrEntry 3 } pppLqrRemotePeriod OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The LQR reporting period that is in effect for the remote PPP entity. The local entity sent a configure-ack for this value in response to the configure-req from the remote PPP entity." REFERENCE "Section 2.5, Configuration Option Format, of [12]." ::= { 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 pppLqrLinkIndex." REFERENCE "Section 2.2, Counters, of [12]." ::= { pppLqrEntry 5 } pppLqrInLQRs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The value of the InLQRs counter on the local Frank J. Kastenholz [Page 36] Internet Draft PPP MIB March 1992 node for the link identified by pppLqrLinkIndex." REFERENCE "Section 2.2, Counters, of [12]." ::= { 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 { pppLqrConfigIndex } ::= { pppLqrConfigTable 1 } PppLqrConfigEntry ::= SEQUENCE { pppLqrConfigIndex INTEGER, pppLqrConfigPeriod INTEGER, pppLqrConfigStatus INTEGER } pppLqrConfigIndex OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory Frank J. Kastenholz [Page 37] Internet Draft PPP MIB March 1992 DESCRIPTION "A unique value which ranges between 1 and the value of ifNumber. The interface identified by a particular value of this value is that identified by the same value of an ifIndex object instance. The value for each link must remain constant at least from one re-initialization of the entity's network management system to the next re-initialization. This object identifies the ifTable entry that is associated with this instance of the LQR Protocol." ::= { pppLqrConfigEntry 1 } pppLqrConfigPeriod OBJECT-TYPE SYNTAX INTEGER(0..2147483648) 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 seconds. Changing this object will have effect when the link is next restarted." REFERENCE "Section 2.5, Configuration Option Format, of [12]." DEFVAL { WHAT IS THE DEFAULT } ::= { pppLqrConfigEntry 2 } 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. Frank J. Kastenholz [Page 38] Internet Draft PPP MIB March 1992 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 [8]." DEFVAL { enabled } ::= { pppLqrConfigEntry 3 } Frank J. Kastenholz [Page 39] Internet Draft PPP MIB March 1992 6.4. 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 -- Qualitiy; 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 extended LQR parameters 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 { pppLqrExtnsIndex } ::= { pppLqrExtnsTable 1 } PppLqrExtnsEntry ::= SEQUENCE { pppLqrExtnsIndex Frank J. Kastenholz [Page 40] Internet Draft PPP MIB March 1992 INTEGER, pppLqrExtnsLastReceivedLqrPacket OCTET STRING(SIZE(68)) } pppLqrExtnsIndex OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "A unique value which ranges between 1 and the value of ifNumber. The interface identified by a particular value of this value is that identified by the same value of an ifIndex object instance. The value for each link must remain constant at least from one re-initialization of the entity's network management system to the next re-initialization." ::= { pppLqrExtnsEntry 1 } 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. 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." ::= { pppLqrExtnsEntry 2 } Frank J. Kastenholz [Page 41] Internet Draft PPP MIB March 1992 6.5. PPP IPCP Group -- -- The PPP IPCP Group. -- Implementation of this group is mandatory for all -- PPP implementations that support operating IP over PPP. -- pppIpcpTable OBJECT-TYPE SYNTAX SEQUENCE OF PppIpcpEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Table containing the IPCP parameters and statistics for the local PPP entity." ::= { pppIpcp 1 } pppIpcpEntry OBJECT-TYPE SYNTAX PppIpcpEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "IPCP information for a particular PPP link. A PPP link will have an entry in this table if and only if running IP over the PPP link has been successfully negotiated for said link." INDEX { pppIpcpIndex } ::= { pppIpcpTable 1 } PppIpcpEntry ::= SEQUENCE { pppIpcpIndex INTEGER, pppIpcpLinkIndex INTEGER, pppIpcpLocalToRemoteCompressionProtocol INTEGER, pppIpcpRemoteToLocalCompressionProtocol INTEGER, pppIpcpRemoteMaxSlotId INTEGER, pppIpcpLocalMaxSlotId INTEGER Frank J. Kastenholz [Page 42] Internet Draft PPP MIB March 1992 } pppIpcpIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of ifIndex that identifies the entry in the ifTable that is associated with the local IPCP entity." ::= { pppIpcpEntry 1 } pppIpcpLinkIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of ifIndex that identifies the entry in the ifTable that is associated with the PPP Link over which this IPCP entity is operating." ::= { pppIpcpEntry 2 } pppIpcpLocalToRemoteCompressionProtocol OBJECT-TYPE SYNTAX INTEGER { none(1), vj-tcp(2) } ACCESS read-only STATUS mandatory DESCRIPTION "The IP compression protocol that the local PPP-IP entity uses when sending packets to the remote PPP-IP entity." ::= { pppIpcpEntry 3 } pppIpcpRemoteToLocalCompressionProtocol OBJECT-TYPE SYNTAX INTEGER { none(1), vj-tcp(2) } ACCESS read-only STATUS mandatory Frank J. Kastenholz [Page 43] Internet Draft PPP MIB March 1992 DESCRIPTION "The IP compression protocol that the remote PPP-IP entity uses when sending packets to the local PPP-IP entity." ::= { pppIpcpEntry 4 } pppIpcpRemoteMaxSlotId OBJECT-TYPE SYNTAX INTEGER(0..255) ACCESS read-only STATUS mandatory DESCRIPTION "The Max-Slot-Id parameter that the remote node has advertised and that is in use on the link." ::= { pppIpcpEntry 5 } pppIpcpLocalMaxSlotId OBJECT-TYPE SYNTAX INTEGER(0..255) ACCESS read-only STATUS mandatory DESCRIPTION "The Max-Slot-Id parameter that the local node has advertised and that is in use on the link." ::= { pppIpcpEntry 6 } Frank J. Kastenholz [Page 44] Internet Draft PPP MIB March 1992 -- -- The PPP IPCP Configuration table. -- This is a separate table in order to facilitate -- placing these variables in a separate MIB view. -- pppIpcpConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF PppIpcpConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Table containing the IPCP parameters and statistics for the local PPP entity." ::= { pppIpcp 2 } pppIpcpConfigEntry OBJECT-TYPE SYNTAX PppIpcpConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "IPCP information for a particular PPP link. A PPP link will have an entry in this table if and only if running IP over the PPP link has been successfully negotiated for said link." INDEX { pppIpcpConfigIndex } ::= { pppIpcpConfigTable 1 } PppIpcpConfigEntry ::= SEQUENCE { pppIpcpConfigIndex INTEGER, pppIpcpConfigCompression INTEGER, pppIpcpConfigStatus INTEGER } pppIpcpConfigIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of ifIndex that identifies the entry Frank J. Kastenholz [Page 45] Internet Draft PPP MIB March 1992 in the ifTable that is associated with the local IPCP entity." ::= { pppIpcpConfigEntry 1 } ppIpcpConfigCompression OBJECT-TYPE SYNTAX INTEGER { none(1), vj-tcp(2) } ACCESS read-write STATUS mandatory DESCRIPTION "If none(1) then the local node will not attempt to negotiate any IP Compression option. Otherwise, the local node will attempt to negotiate compression mode indicated by the enumerated value Changing this object will have effect when the link is next restarted." REFERENCE "Section 4.0, Van Jacobson TCP/IP Header Compression of [9]." DEFVAL { none } ::= { pppIpcpConfigEntry 2 } ppIpcpConfigStatus OBJECT-TYPE SYNTAX INTEGER { disabled(1), enabled(2) } ACCESS read-write STATUS mandatory DESCRIPTION "If enabled(2) then the local node will allow IP traffic to flow across the link. If disabled(1) then IP traffic will not be allowed to flow across the link. Setting this object to the value disabled(1) has the effect of invalidating the corresponding entry in the pppIpcpConfigTable 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 Frank J. Kastenholz [Page 46] Internet Draft PPP MIB March 1992 agents that corresponds to entries not currently in use." ::= { pppIpcpConfigEntry 3 } Frank J. Kastenholz [Page 47] Internet Draft PPP MIB March 1992 6.6. PPP Bridge NCP Group -- -- The PPP Bridge NCP Group. -- Implementation of this group is mandatory for all -- PPP implementations that support MAC Bridging over -- PPP (RFC1220). -- pppBncpTable OBJECT-TYPE SYNTAX SEQUENCE OF PppBncpEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Table containing the parameters and statistics for the local PPP entity that are related to the operation of Bridging over the PPP." ::= { pppBridgeNCP 1 } pppBncpEntry OBJECT-TYPE SYNTAX PppBncpEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Bridging NCP information for a particular PPP link. A PPP link will have an entry in this table if and only if Bridging over PPP has been successfully negotiated for said link." INDEX { pppBncpIndex } ::= { pppBncpTable 1 } PppBncpEntry ::= SEQUENCE { pppBncpIndex INTEGER, pppBncpLinkIndex INTEGER, pppBncpLocalToRemoteTinygramCompression INTEGER, pppBncpRemoteToLocalTinygramCompression INTEGER, pppBncpLocalToRemoteLanId INTEGER, pppBncpRemoteToLocalLanId Frank J. Kastenholz [Page 48] Internet Draft PPP MIB March 1992 INTEGER } pppBncpIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of ifIndex that identifies the entry in the interface table that is associated with the local PPP Bridging NCP entity." ::= { pppBncpEntry 1 } pppBncpLinkIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of ifIndex that identifies the entry in the interface table that is associated with the PPP-Link entity over which this PPP-Bridge NCP instance is operating." ::= { pppBncpEntry 2 } pppBncpLocalToRemoteTinygramCompression OBJECT-TYPE SYNTAX INTEGER { false(1), true(2) } ACCESS read-only STATUS mandatory DESCRIPTION "Indicates whether the local node will perform Tinygram Compression when sending packets to the remote entity. If false then the local entity will not perform Tinygram Compression. If true then the local entity will perform Tinygram Compression." REFERENCE "Section 6.7, Tinygram Compression Option, of [10]" ::= { pppBncpEntry 3 } pppBncpRemoteToLocalTinygramCompression OBJECT-TYPE SYNTAX INTEGER { false(1), true(2) } Frank J. Kastenholz [Page 49] Internet Draft PPP MIB March 1992 ACCESS read-only STATUS mandatory DESCRIPTION "Indicates what the local node believes to be the remote node will perform Tinygram Compression when sending packets to the local node. If false then the remote entity is not expected to perform Tinygram Compression. If true then the remote entity is expected to perform Tinygram Compression." REFERENCE "Section 6.7, Tinygram Compression Option, of [10]" ::= { pppBncpEntry 4 } pppBncpLocalToRemoteLanId OBJECT-TYPE SYNTAX INTEGER { false(1), true(2) } ACCESS read-only STATUS mandatory DESCRIPTION "Indicates whether the local node will include the LAN Identification field in transmitted packets or not. If false(1) then the local node will not transmit this field, true(2) means that the field will be transmitted." REFERENCE "Section 6.8, LAN Identification Option, of [10]" ::= { pppBncpEntry 5 } pppBncpRemoteToLocalLanId OBJECT-TYPE SYNTAX INTEGER { false(1), true(2) } ACCESS read-only STATUS mandatory DESCRIPTION "Indicates whether the remote node has indicated that it will include the LAN Identification field in transmitted packets or not. If false(1) then the field will not be transmitted, if true(2) then the field will be transmitted." REFERENCE "Section 6.8, LAN Identification Option, of Frank J. Kastenholz [Page 50] Internet Draft PPP MIB March 1992 [10]" ::= { pppBncpEntry 6 } Frank J. Kastenholz [Page 51] Internet Draft PPP MIB March 1992 -- -- The PPP Bridge NCP Configuration table -- pppBncpConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF PppBncpConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Table containing the parameters and statistics for the local PPP entity that are related to the operation of Bridging over the PPP." ::= { pppBridgeConfigNCP 2 } pppBncpConfigEntry OBJECT-TYPE SYNTAX PppBncpConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Bridging NCP information for a particular PPP link. A PPP link will have an entry in this table if and only if Bridging over PPP has been successfully negotiated for said link." INDEX { pppBncpConfigIndex } ::= { pppBncpConfigTable 1 } PppBncpEntry ::= SEQUENCE { pppBncpConfigIndex INTEGER, pppBncpConfigTinygram INTEGER, pppBncpConfigRingId INTEGER, pppBncpConfigLineId INTEGER, pppBncpConfigLanId" INTEGER } pppBncpConfigIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory Frank J. Kastenholz [Page 52] Internet Draft PPP MIB March 1992 DESCRIPTION "The value of ifIndex that identifies the entry in the interface table that is associated with the local PPP Bridging NCP entity." ::= { pppBncpConfigEntry 1 } pppBncpConfigTinygram OBJECT-TYPE SYNTAX INTEGER { false(1), true(2) } ACCESS read-write STATUS mandatory DESCRIPTION "If false then the local BNCP entity will not initiate the Tinygram Compression Option Negotiation. If true then the local BNCP entity will initiate negotiation of this option." REFERENCE "Section 6.7, Tinygram Compression Option, of [10]" DEFVAL { true } ::= { pppBncpConfigEntry 2 } pppBncpConfigRingId OBJECT-TYPE SYNTAX INTEGER { false(1), true(2) } ACCESS read-write STATUS mandatory DESCRIPTION "If false then the local PPP Entity will not initiate a Remote Ring Identification Option negotiation. If true then the local PPP entity will intiate this negotiation. This MIB object is relevant only if the interface is for 802.5 Token Ring bridging." REFERENCE "Section 6.4, IEEE 802.5 Remote Ring Identification Option, of [10]" DEFVAL { false } ::= { pppBncpConfigEntry 3 } pppBncpConfigLineId OBJECT-TYPE SYNTAX INTEGER { false(1), true(2) } ACCESS read-write STATUS mandatory Frank J. Kastenholz [Page 53] Internet Draft PPP MIB March 1992 DESCRIPTION "If false then the local PPP Entity is not to initiate a Line Identification Option negotiation. If true then the local PPP entity will intiate this negotiation. This MIB object is relevant only if the interface is for 802.5 Token Ring bridging." REFERENCE "Section 6.5, IEEE 802.5 Line Identification Option, of [10]" DEFVAL { false } ::= { pppBncpConfigEntry 4 } pppBncpConfigLanId OBJECT-TYPE SYNTAX INTEGER { false(1), true(2) } ACCESS read-write STATUS mandatory DESCRIPTION "If false then the local BNCP entity will not initiate the LAN Identification Option Negotiation. If true then the local BNCP entity will initiate negotiation of this option." REFERENCE "Section 6.8, LAN Identification Option, of [10]" DEFVAL { false } ::= { pppBncpConfigEntry 5 } Frank J. Kastenholz [Page 54] Internet Draft PPP MIB March 1992 6.7. PPP Security Configuration Group -- -- The PPP Security Configuration Group -- Implementation of this group is mandatory for all -- PPP implementations that support a PPP security -- protocol. -- -- The table in this group allows the network manager -- to configure which security protocols are to be -- used on which link and in what order of preference -- each protocol is to be tried. -- pppSecurityConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF PppSecurityConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Table containing the configuration and preference parameters for PPP Security." ::= { pppSecurity 1 } pppSecurityConfigEntry OBJECT-TYPE SYNTAX PppSecurityConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "CHAP information for a particular PPP link." INDEX { pppSecurityConfigLink, pppSecurityConfigPreference } ::= { pppSecurityConfigTable 1 } PppSecurityConfigEntry ::= SEQUENCE { pppSecurityConfigLink INTEGER, pppSecurityConfigPreference INTEGER, pppSecurityConfigProtocol INTEGER } Frank J. Kastenholz [Page 55] Internet Draft PPP MIB March 1992 pppSecurityConfigLink OBJECT-TYPE SYNTAX INTEGER(0..2147483648) ACCESS read-write STATUS mandatory DESCRIPTION "The value of ifIndex that identifies the entry in the interface table that is associated with the local PPP entity's link for which this particular security algorithm shall be attempted." ::= { pppSecurityConfigEntry 1 } pppSecurityConfigPreference OBJECT-TYPE SYNTAX INTEGER(0..2147483648) ACCESS read-write STATUS mandatory DESCRIPTION "The relative preference of the security protocol identified by pppSecurityConfigProtocol. Security protocols with lower values of pppSecurityConfigPreference are tried before protocols with higher values of pppSecurityConfigPreference." ::= { pppSecurityConfigEntry 2 } pppSecurityConfigProtocol OBJECT-TYPE SYNTAX OBJECT-IDENTIFIER ACCESS read-write STATUS mandatory DESCRIPTION "Identifies the security protocol to be attempted on the link identified by pppSecurityConfigLink at the preference level identified by pppSecurityConfigPreference. Setting this object to the OBJECT IDENTIFIER { 0 0 }, which is a syntatically valid object identifier, has the effect of invalidating the corresponding entry in this table. 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 Frank J. Kastenholz [Page 56] Internet Draft PPP MIB March 1992 agents that corresponds to entries not currently in use." ::= { pppSecurityConfigEntry 3 } Frank J. Kastenholz [Page 57] Internet Draft PPP MIB March 1992 6.8. PPP CHAP Group -- -- The PPP CHAP Group. -- Implementation of this group is mandatory for all -- PPP implementations that support the CHAP protocol. -- -- pppSecurityConfigProtocol takes the OBJECT IDENTIFIER -- pppChap to indicate that the Challenge Handshake -- Authentication Protocol is to be used. -- pppChap OBJECT IDENTIFIER ::= { pppSecurity 2 } pppChapTable OBJECT-TYPE SYNTAX SEQUENCE OF PppChapEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Table containing the Chap parameters and statistics for the local PPP entity." ::= { pppChap 1 } pppChapEntry OBJECT-TYPE SYNTAX PppChapEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "CHAP information for a particular PPP link and preference level." INDEX { pppChapIndex } ::= { pppChapTable 1 } PppChapEntry ::= SEQUENCE { pppChapLink INTEGER, pppChapPreference INTEGER, pppChapDigestType INTEGER } pppChapLink OBJECT-TYPE SYNTAX INTEGER(0..2147483648) Frank J. Kastenholz [Page 58] Internet Draft PPP MIB March 1992 ACCESS read-write STATUS mandatory DESCRIPTION "The value of pppSecurityConfigLink that identifies the entry in the pppSecurityConfig table to which this entry in the pppChapTable applies." ::= { pppChapEntry 1 } pppChapPreference OBJECT-TYPE SYNTAX INTEGER(0..2147483648) ACCESS read-write STATUS mandatory DESCRIPTION "The value of pppSecurityConfigPreference that identifies the entry in the pppSecurityConfig table to which this entry in the pppChapTable applies." ::= { pppChapEntry 2 } pppChapDigestType OBJECT-TYPE SYNTAX INTEGER { md5-chap-digest(1), } ACCESS read-write STATUS mandatory DESCRIPTION "The CHAP Digest format to use in attempting the CHAP authtentication as defined by the corresponding entry in the pppSecurityConfig table." REFERENCE "Section 4.1, Configuration Option Format, of [11]" DEFVAL { md5-chap-digest } ::= { pppChapEntry 3 } pppChapSecretsTable OBJECT-TYPE SYNTAX SEQUENCE OF PppChapSecretsEntry ACCESS not-accessible STATUS mandatory Frank J. Kastenholz [Page 59] Internet Draft PPP MIB March 1992 DESCRIPTION "Table containing the secret CHAP parameters for the local PPP entity. As this table contains secret information, it is expected that access to this table be limited to those SNMP Party-Pairs for which a privacy protocol is in use for all SNMP messages that the parties exchange. This table contains a Name and its associated Digest secret. The parameters in this table are used by the local entity when generating CHAP Response packets. The table allows for multiple name/secret pairs to be specified for a particular link by using the pppChapSecretIdIndex object. These parameters are used by a node when it attempts to authenticate itself." ::= { pppChap 2 } pppChapSecretsEntry OBJECT-TYPE SYNTAX PppChapSecretsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Secret CHAP information to generate a single response." INDEX { pppChapSecretsIndex, pppChapSecretsIdIndex } ::= { pppChapSecretsTable 1 } PppChapSecretsEntry ::= SEQUENCE { pppChapSecretsLinkIndex INTEGER, pppChapSecretIdIndex INTEGER, pppChapSecretsName OCTET STRING, pppChapSecretsSecret OCTET STRING } pppChapSecretsIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory Frank J. Kastenholz [Page 60] Internet Draft PPP MIB March 1992 DESCRIPTION "The value of ifIndex that identifies the entry in the interface table that is associated with the local PPP CHAP Entity." ::= { pppChapSecretsEntry 1 } pppChapSecretsIdIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "A unique value for each Name/Secret pair that has been defined for use on this link. This allows multiple Name/Secret pairs to be defined for each link. How the local entity selects which pair to use is a local implementation decision." ::= { pppChapSecretsEntry 2 } pppChapSecretsName OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "A name." ::= { pppChapSecretsEntry 3 } pppChapSecretsSecret OBJECT-TYPE SYNTAX OCTET STRING -- (SIZE(16)) when MD5 ACCESS read-write STATUS mandatory DESCRIPTION "The digest secret to be associated with the name." ::= { pppChapSecretsEntry 4 } pppChapPeerSecretsTable OBJECT-TYPE SYNTAX SEQUENCE OF PppChapPeerSecretsEntry ACCESS not-accessible STATUS mandatory Frank J. Kastenholz [Page 61] Internet Draft PPP MIB March 1992 DESCRIPTION "Table containing the secret PAP parameters that are expected of remotes that may attempt to authenticate themselves to the local PPP entity. Received CHAP Responses are expected to match one of the entries in this table. As this table contains secret information, it is expected that access to this table be limited to those SNMP Party-Pairs for which a privacy protocol is in use for all SNMP messages that the parties exchange." ::= { pppChap 3 } pppChapPeerSecretsEntry OBJECT-TYPE SYNTAX PppChapPeerSecretsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Secret remote CHAP information for a particular Peer Name/Secret and link." INDEX { pppChapPeerSecretsLink, pppChapPeerSecretsIndex } ::= { pppChapPeerSecretsTable 1 } PppChapSecretsEntry ::= SEQUENCE { pppChapPeerSecretsLink INTEGER, pppChapPeerSecretIndex INTEGER, pppChapPeerSecretsName OCTET STRING, pppChapPeerSecretsSecret OCTET STRING } pppChapPeerSecretsLink OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The value of ifIndex that identifies the entry in the interface table that is associated with the local PPP Link for which this Name/Secret Frank J. Kastenholz [Page 62] Internet Draft PPP MIB March 1992 pair will be evaluated as valid. A particular Name/Secret pair is valid only for the link(s) for which there is a pppChapPeerSecretsTable entry containing said Name/Secret pair. By convention, a value of 0 for this object indicates all links on the local PPP entity." ::= { pppChapPeerSecretsEntry 1 } pppChapPeerSecretsIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "A unique value for each Name/Secret pair that has been defined for use on this link. This allows multiple Name/Secret pairs to be defined for each link." ::= { pppChapPeerSecretsEntry 2 } pppChapPeerSecretsName OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "A Peer-Name which may attempt to connect over the link identified by pppChapPeerSecretsLink." ::= { pppChapPeerSecretsEntry 3 } pppChapPeerSecretsSecret OBJECT-TYPE SYNTAX OCTET STRING -- (SIZE(16)) when using MD5 ACCESS read-write STATUS mandatory DESCRIPTION "The Secret associated with the Peer-Name identified in pppChapPeerSecretsName." ::= { pppChapPeerSecretsEntry 4 } Frank J. Kastenholz [Page 63] Internet Draft PPP MIB March 1992 6.9. PPP PAP Group -- -- The PPP PAP Group. -- Implementation of this group is mandatory for all -- PPP implementations that support the PAP protocol. -- -- pppSecurityConfigProtocol takes the OBJECT IDENTIFIER -- pppPap to indicate that the Password -- Authentication Protocol is to be used. -- -- pppPap OBJECT IDENTIFIER ::= { pppSecurity 3 } pppPapSecretsTable OBJECT-TYPE SYNTAX SEQUENCE OF PppPapSecretsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Table containing the secret PAP parameters for the local PPP entity. As this table contains secret information, it is expected that access to this table be limited to those SNMP Party- Pairs for which a privacy protocol is in use for all SNMP messages that the parties exchange. This table contains the Peer-ID and Password that this PPP entity will advertise to the remote entity when sending PAP Authenticate Request packets. The table allows for multiple id/password pairs to be specified for a particular link by using the pppPapSecretIdIndex object." ::= { pppPap 1 } pppPapSecretsEntry OBJECT-TYPE SYNTAX PppPapSecretsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Secret PAP information." INDEX { pppPapSecretsIndex, pppPapSecretsIdIndex } ::= { pppPapSecretsTable 1 } Frank J. Kastenholz [Page 64] Internet Draft PPP MIB March 1992 PppPapSecretsEntry ::= SEQUENCE { pppPapSecretsLinkIndex INTEGER, pppPapSecretIdIndex INTEGER, pppPapSecretsId OCTET STRING, pppPapSecretsPassword OCTET STRING } pppPapSecretsIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of ifIndex that identifies the entry in the interface table that is associated with the local PPP Password Authentication Protocol Entity." ::= { pppPapSecretsEntry 1 } pppPapSecretsIdIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "A unique value for each ID/Password pair that has been defined for use on this link. This allows multiple ID/Password pairs to be defined for each link. How the local entity selects which pair to use is a local implementation decision." ::= { pppPapSecretsEntry 2 } pppPapSecretsId OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "A Peer ID." ::= { pppPapSecretsEntry 3 } Frank J. Kastenholz [Page 65] Internet Draft PPP MIB March 1992 pppPapSecretsPassword OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "The password to be associated with the Peer ID." ::= { pppPapSecretsEntry 4 } pppPapPeerSecretsTable OBJECT-TYPE SYNTAX SEQUENCE OF PppPapPeerSecretsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Table containing the secret PAP parameters that are expected of remotes that may attempt to authenticate themselves to the local PPP entity. As this table contains secret information, it is expected that access to this table be limited to those SNMP Party-Pairs for which a privacy protocol is in use for all SNMP messages that the parties exchange." ::= { pppPap 3 } pppPapPeerSecretsEntry OBJECT-TYPE SYNTAX PppPapPeerSecretsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Secret remote PAP information for a particular remote ID/password and link." INDEX { pppPapPeerSecretsLink, pppPapPeerSecretsIndex } ::= { pppPapPeerSecretsTable 1 } PppPapSecretsEntry ::= SEQUENCE { pppPapPeerSecretsLink INTEGER, pppPapPeerSecretIndex INTEGER, Frank J. Kastenholz [Page 66] Internet Draft PPP MIB March 1992 pppPapPeerSecretsId OCTET STRING, pppPapPeerSecretsPassword OCTET STRING } pppPapPeerSecretsLink OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The value of ifIndex that identifies the entry in the interface table that is associated with the local PPP Link for which this ID/Password pair will be evaluated as valid. A particular ID/Password pair is valid only for the link(s) for which there is a pppPapPeerSecretsTable entry containing said ID/Password pair. By convention, a value of 0 for this object indicates all links on the local PPP entity." ::= { pppPapPeerSecretsEntry 1 } pppPapPeerSecretsIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "A unique value for each ID/Password pair that has been defined for use on this link. This allows multiple ID/Password pairs to be defined for each link." ::= { pppPapPeerSecretsEntry 2 } pppPapPeerSecretsId OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "A Peer-ID which may attempt to connect over the link identified by pppPapPeerSecretsLink." ::= { pppPapPeerSecretsEntry 3 } Frank J. Kastenholz [Page 67] Internet Draft PPP MIB March 1992 pppPapPeerSecretsPassword OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "The Password associated with the Peer-ID identified in pppPapPeerSecretsId." ::= { pppPapPeerSecretsEntry 4 } END Frank J. Kastenholz [Page 68] Internet Draft PPP MIB March 1992 6.10. PPP Tests The extensions to the interface table in [7] 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 one such test. 6.10.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. Frank J. Kastenholz [Page 69] Internet Draft PPP MIB March 1992 7. Acknowledgements This document was produced by the PPP working group. In addition to the working group, the author wishes to thank the following individuals for their comments and contributions: Bill Simpson Glenn McGregor Jesse Walker -- DEC Chris Gunner -- DEC Frank J. Kastenholz [Page 70] Internet Draft PPP MIB March 1992 8. References [1] M.T. Rose and K. McCloghrie, Structure and Identification of Management Information for TCP/IP-based internets, Internet Working Group Request for Comments 1155. Network Information Center, SRI International, Menlo Park, California, (May, 1990). [2] K. McCloghrie and M.T. Rose, Management Information Base for Network Management of TCP/IP-based internets - MIB-2, Internet Working Group Request for Comments 1213. Network Information Center, SRI International, Menlo Park, California, (March, 1991). [3] Information processing systems - Open Systems Interconnection - Specification of Abstract Syntax Notation One (ASN.1), International Organization for Standardization. International Standard 8824, (December, 1987). [4] Information processing systems - Open Systems Interconnection - Specification of Basic Encoding Rules for Abstract Notation One (ASN.1), International Organization for Standardization. International Standard 8825, (December, 1987). [5] Rose, M., and K. McCloghrie, Editors, Concise MIB Definitions, RFC 1212, Performance Systems International, Hughes LAN Systems, March 1991. [6] Rose, M., Editor, A Convention for Defining Traps for use with the SNMP, RFC 1215, Performance Systems International, March 1991. [7] K. McCloghrie, Extensions to the Generic-Interface MIB, RFC1229, Hughes LAN Systems, May 1991. [8] PPP-LCP [9] PPP-IPCP [10] F. Baker, Point-to-Point Protocol Extensions for Bridging, RFC1220, ACC, April 1991. Frank J. Kastenholz [Page 71] Internet Draft PPP MIB March 1992 [11] PPP Authentication Protocols. [12] PPP Link Quality Monitoring. [13] New SNMP Administrative Model [14] SNMP Security Protocols Frank J. Kastenholz [Page 72] Internet Draft PPP MIB March 1992 9. Security Considerations The PPP MIB affords the network operator the ability to configure and control the PPP links of a particular system, including the PPP authentication protocols. This represents a security risk. These risks are addressed in the following manners: (1) All variables which represent a significant security risk are placed in separate, optional, MIB Groups. As the MIB Group is the quantum of implementation within a MIB, the implementor of the MIB may elect not to implement these groups. (2) The implementor may choose to implement the variables which present a security risk so that they may not be written, i.e., the variables are READ-ONLY. This method still presents a security risk, and is not recommended, in that the variables, specifically the PPP Authentication Protocols' variables, may be easily read. (3) Using the new SNMP administrative framework[13,14], the operator can place the variables into MIB views which are protected in that the parties which have access to those MIB views use authentication and privacy protocols, or the operator may elect to make these views not accessible to any party. In order to facilitate this placement, all security-related variables are placed in separate MIB Tables. This eases the identification of the necessary MIB View Subtree. Frank J. Kastenholz [Page 73] Internet Draft PPP MIB March 1992 Table of Contents Status of this Memo .................................... 1 1 Abstract .............................................. 1 2 Changes ............................................... 3 3 The Network Management Framework ...................... 8 4 Objects ............................................... 9 4.1 Format of Definitions ............................... 9 5 Overview .............................................. 10 5.1 Object Selection Criteria ........................... 10 5.2 Structure of the PPP ................................ 10 5.3 Structure of the PPP MIB ............................ 11 5.4 MIB Groups .......................................... 12 5.4.1 The PPP Link Group ................................ 14 5.4.1.1 Relation to MIB-II interface Group .............. 15 5.4.2 The PPP LCP Group ................................. 15 5.4.3 The PPP LQR Group ................................. 16 5.4.4 The PPP LQR Extensions Group ...................... 16 5.4.5 The PPP IPCP Group ................................ 16 5.4.5.1 Relation to MIB-II interface Group .............. 17 5.4.6 The PPP IP Network Protocol ....................... 17 5.4.7 The PPP Bridge NCP Group .......................... 18 5.4.7.1 Relation to MIB-II interface Group .............. 18 5.4.8 The PPP Bridge Network Protocol ................... 18 5.4.9 The PPP CHAP Group ................................ 19 5.4.10 The PPP PAP Group ................................ 19 6 Definitions ........................................... 20 6.1 PPP Link Group ...................................... 21 6.2 PPP LCP Group ....................................... 26 6.3 PPP LQR Group ....................................... 34 6.4 PPP LQR Extensions Group ............................ 40 6.5 PPP IPCP Group ...................................... 42 6.6 PPP Bridge NCP Group ................................ 48 6.7 PPP Security Configuration Group .................... 55 6.8 PPP CHAP Group ...................................... 58 6.9 PPP PAP Group ....................................... 64 6.10 PPP Tests .......................................... 69 6.10.1 PPP Echo Test .................................... 69 7 Acknowledgements ...................................... 70 8 References ............................................ 71 9 Security Considerations ............................... 73 Frank J. Kastenholz [Page 74]