PPP MIBs

To aid in the management of devices that terminate PPP sessions, several MIBs were defined to allow SNMP management stations to access PPP data. Four RFCs were published, each describing a subset of the PPP MIB. This appendix considers the two major RFCs, which provide the object definitions for the Link Control Protocol MIB and the IP Control Protocol MIB. In addition to the two major RFCs, there are bridging and security MIBs.

Taken together, the PPP MIBs define large groups. Broadly speaking, the major groups presented in this appendix are the Link Group, the LQR Group, LQR Extensions, and the IP Group. The first three are defined by RFC 1471, the LCP MIB. RFC 1473 defines the IPCP MIB.

RFC 1471: Link Control Protocol MIB

RFC 1471 creates the PPP MIB in the transmission group, putting it on par with both the DS1 and frame relay DTE MIBs. In addition to defining the branch off of the transmission group, it also defines the Link Group, the LQR Group, the Tests Group, and the IP Group.

PPP Link Group

The Link Group reports information on LCP and the lowest layers of the PPP suite. It is composed of two tables: the link status table and the link configuration table. The Link Group is shown in Figure D-7.

Link Group of the PPP LCP MIB

Figure D-7. Link Group of the PPP LCP MIB

Link status table

The link status table is used to report on the operational parameters of a link and its current status. All entries in the table begin with the prefix ppp.pppLink.pppLinkStatusTable.pppLinkStatusEntry (23.1.1.1), and rows in the table are indexed by the main interface index. All the entries in the table are read-only. They are:

pppLinkStatusPhysicalIndex (Integer, range 0-2147483647)

Operating systems may present multiple logical interfaces to higher-layer programs when running PPP. This object links the PPP logical interface to the lower-layer physical interface on which PPP is running.

pppLinkStatusBadAddresses (Counter)

This counter reports the number of PPP frames received on the link with a bad address field in the HDLC header. Under most circumstances, the address field should be set to 0xFF. Any frames with incorrect address fields increase the general error count on the interface.

pppLinkStatusBadControls (Counter)

This counter reports the number of PPP frames received on the link with a bad control field in the HDLC header. Under most circumstances, the control field should be set to 0x03. Any frames with incorrect control fields increase the general error count on the interface.

pppLinkStatusPacketTooLongs (Counter)

This counter reports the number of frames that were discarded because they exceeded the MRU on the link. Some PPP implementations are flexible regarding the MRU, and implementations should always be able to receive frames of 1,500 bytes. This counter counts only the number of frames that are discarded for being too long; any frames that increment this counter will also increment the general error count on the interface.

pppLinkStatusBadFCSs (Counter)

This counter reports the number of frames discarded because the calculated frame check sequence did not match the transmitted frame check sequence. Any frames that increment this counter will also increment the general error count on the interface.

pppLinkStatusLocalMRU (integer)

When the PPP link has reached the Open state, this object is set to the value of the MRU for frames transmitted by the remote end to the local end. If the PPP link has not reached the Open state, the value of this object is undefined.

pppLinkStatusRemoteMRU (integer)

When the PPP link has reached the Open state, this object is set to the value of the MRU for frames transmitted by the local end to the remote end. If the PPP link has not reached the Open state, the value of this object is undefined.

pppLinkStatusLocalToPeerACCMap (string, length 4)

This object contains the asynchronous control character map used by the local end for transmitted frames. If the PPP link has not reached the Open state, the value of this object is undefined.

pppLinkStatusPeerToLocalACCMap (string, length 4)

This object contains the asynchronous control character map used by the remote end for frames it transmits to the local end. If the PPP link has not reached the Open state, the value of this object is undefined.

pppLinkStatusLocalToRemoteProtocolCompression (enumerated)

This object is set to enabled (1) or disabled (2) to indicate whether outbound frames are transmitted using protocol field compression. If the PPP link has not reached the Open state, the value of this object is undefined.

pppLinkStatusRemoteToLocalProtocolCompression (enumerated)

This object is set to enabled (1) or disabled (2) to indicate whether inbound frames are transmitted using protocol field compression. If the PPP link has not reached the Open state, the value of this object is undefined.

pppLinkStatusLocalToRemoteACCompression (enumerated)

This object is set to enabled (1) or disabled (2) to indicate whether inbound frames are transmitted using address and control field compression. If the PPP link has not reached the Open state, the value of this object is undefined.

pppLinkStatusRemoteToLocalACCompression (enumerated)

This object is set to enabled (1) or disabled (2) to indicate whether inbound frames are transmitted using address and control field compression. If the PPP link has not reached the Open state, the value of this object is undefined.

pppLinkStatusTransmitFcsSize (integer, range 0-128)

This object is set to the size of the FCS field, in bits, on outbound frames on the link. Normally, a 4-byte FCS is used and the value of this object is 32. If the PPP link has not reached the Open state, the value of this object is undefined.

pppLinkStatusReceiveFcsSize (integer, range 0-128)

This object is set to the size of the FCS field, in bits, on inbound frames on the link. Normally, a 2-byte FCS is used and the value of this object is 16. If the PPP link has not reached the Open state, the value of this object is undefined.

Link configuration table

The link configuration table monitors and sets the values of configuration parameters for the link. All entries in the table begin with the prefix ppp.pppLink.pppLinkConfigTable.pppLinkConfigEntry (23.1.2.1), and rows in the table are indexed by the main interface index. All the entries in the table are writable so administrators can configure the underlying parameters. When the network management station changes a value, it goes into effect only when PPP is reinitialized on the link. Here is a list of objects:

pppLinkConfigInitialMRU (integer, range 0-2147483647)

This object is set to the initial MRU value advertised to the peer when PPP negotiations commence. Its default value is 1,500.

pppLinkConfigReceiveACCMap (string, length 4)

This object is a 32-bit string that is equivalent to the asynchronous control character map required by the local end to decode any escaped characters in the incoming data stream. Its default value is all ones (0xFFFFFFFF). The remote node may also negotiate to escape additional characters, so the ACCM applied to the incoming data stream is derived from both this map and the transmit map on the remote end.

pppLinkConfigTransmitACCMap (string, length 4)

This object is a 32-bit string that is equivalent to the asynchronous control character map required by the local end to send any special characters through its transmitter. Its default value is all ones (0xFFFFFFFF). The remote node may also negotiate to escape additional characters, so the ACCM applied to the outgoing data stream is derived from both this map and the transmit map on the remote end.

pppLinkConfigMagicNumber (enumerated)

This object is set to false (1) or true (2) depending on whether magic number negotiation is enabled on the PPP interface. Its default value is false, though PPP implementations must comply with any negotiations attempted by the remote peer.

pppLinkConfigFcsSize (integer, range 0-128)

This object is set to the number of bits in the FCS that the local node attempts to negotiate with its peer. Its default value is 16, which reflects the default 2-byte FCS used in PPP.

RFC 1471: LQR Group

Implementation of the LQR Group is mandatory for all PPP implementations that also implement Link Quality Monitoring. Like the Link Group, it is split into a status table and a configuration table. The LQR Group is shown in Figure D-8.

LQR Group of the PPP LCP MIB

Figure D-8. LQR Group of the PPP LCP MIB

LQR table

The LQR table provides access to operational parameters and statistics for the local PPP implementation. All entries in the table begin with the prefix ppp.pppLqr.pppLqrTable.pppLqrEntry (23.2.1.1), and rows in the table are indexed by the main interface index. All the entries in the table are read-only because they provide access to statistics. Here is a list of the entries:

pppLqrQuality (enumerated integer)

This object is set to good (1), bad (2), or not-determined (3). Link Quality Monitoring determines the quality of the link based on the number of link quality reports received. This object does not report on the policy used to determine link quality. Some implementations may measure quality but refrain from making a determination, which is why the third option may be used.

pppLqrInGoodOctets (Counter)

This object reports the value of the InGoodOctets counter. The counter attempts to measure the number of bytes received in good frames, so frames that are discarded or have errors cannot cause the InGoodOctets counter to rise.

pppLqrLocalPeriod (integer, range 1-2,147,483,648)

This object reports the amount of time, measured in hundredths of a second, between the transmission of link quality reports sent by the local end.

pppLqrRemotePeriod (integer, range 1-2,147,483,648)

This object reports the amount of time, measured in hundredths of a second, between the transmission of link quality reports sent by the remote end.

pppLqrOutLQRs (Counter)

This object reports the value of the OutLQRs counter. When LCP attempts to establish a link, the value of this counter is set to zero, and it is only reset when LCP terminates the link. While the link is active, this counter is incremented by one for each quality report transmitted by the local end.

pppLqrInLQRs (Counter)

This object reports the value of the InLQRs counter. When LCP attempts to establish a link, the value of this counter is set to zero, and it is only reset when LCP terminates the link. While the link is active, this counter is incremented by one for each quality report received by the local end.

LQR configuration table

The LQR configuration table allows a network management station to alter the configuration settings for Link Quality Monitoring. All entries in the table begin with the prefix ppp.pppLqr.pppLqrConfigTable.pppLqrConfigEntry (23.2.2.1), and rows in the table are indexed by the main interface index. All of the entries in the table are read-write to allow administrative access. Changes to the objects in this table do not go into effect until the PPP implementation is restarted. The entries are:

pppLqrConfigPeriod (integer, range 0-2,147,483,647)

This object is set to the value the local end will use for the LQR reporting period. By default, it is set to zero.

pppLqrConfigStatus (enumerated integer)

This object is either enabled (1) or disabled (2), depending on whether LQR negotiation should be attempted with the peer. The RFC does not specify exactly how an implementation should react to a management station setting a row to disabled; an agent may immediately remove the entry from the table, or it may keep the entry around while noting that it has been disabled.

LQR extensions (optional)

This table is intended to allow network management stations to use SNMP to assist in making the policy determination of whether a link is good or bad. Only one object is in the table, and it begins with the prefix ppp.pppLqr.pppLqrExtnsTable.pppLqrExtnsEntry (23.2.3.1). Rows in the table are indexed by the main interface index. Here is a description of the object:

pppLqrExtnsLastReceivedLqrPacket (string, length 68)

This object holds the data field, minus any framing and link layer headers. It begins with the magic number and ends with the PeerOutOctets counter.

RFC 1471: Test Group

The Test Group allows network managers to write to objects and cause the PPP implementation to perform network troubleshooting tests. There are two objects in the group, each of which corresponds to a test; the Test Group is shown in Figure D-9.

Test Group of the PPP LCP MIB

Figure D-9. Test Group of the PPP LCP MIB

The results of the test are reported through the interface extensions MIB, specified in RFC 1229. The particular object of interest is the ifExtnsTestResult object, which is present in a table of test results. ifExtnsTestResult can be set to a number of values, but the two most important values are success (2) and failed (7). The fully qualified path to ifExtnsTestResult is in the experimental branch, rather than the mgmt branch, at experimental.ifExtensions.ifExtnsTestTable.ifExtnsTestEntry (3.6.2.1.5). Here are descriptions of the objects:

pppEchoTest

Invoking this object causes a PPP implementation to send out an LCP Echo-Request. If the Echo-Reply is received successfully, the related ifExtnsTestResult will be set to success.

pppDiscardTest

Invoking this object causes a PPP implementation to send out an LCP Discard-Request. If the Discard-Request can be successfully transmitted, ifExtnsTestResult will be set to success; the definition of “transmission failure” is implementation-dependent.

RFC 1473: IP Group

The IP Group enables network administrators to view the IP settings associated with each PPP link and configure IPCP-related parameters. The IP Group is defined in RFC 1473, and is shown in Figure D-10.

PPP IP Group of the PPP LCP MIB

Figure D-10. PPP IP Group of the PPP LCP MIB

IP table

The IP table is used to report the current IP configuration of each PPP link. All entries in the table begin with the prefix ppp.pppIp.pppIpTable.pppIpEntry (23.3.1.1), and rows in the table are indexed by the main interface index. All the entries in the table are read-only, and are listed here:

pppIpOperStatus (enumerated integer)

This object reports on whether IPCP has reached the Open state. If it has, this object will be opened (1); otherwise, it will be not-opened (2).

pppIpLocalToRemoteCompressionProtocol (enumerated integer)

This object shows the IP compression protocol used by the local end when sending data to the remote end. Currently, only Van Jacobson compression is supported, so this object takes only the values of none (1) and vj-tcp (2). This object is defined only when the IPCP state engine has reached the Open state.

pppIpRemoteToLocalCompressionProtocol (enumerated integer)

This object shows the IP compression protocol used by the remote end when sending data to the local end. Currently, only Van Jacobson compression is supported, so this object takes only the values of none (1) and vj-tcp (2). This object is defined only when the IPCP state engine has reached the Open state.

pppIpRemoteMaxSlotId (integer, range 0-255)

Van Jacobson compression associates header information with slots. More slots can hold header information for a greater number of simultaneous connections, but they require more memory and more processing cycles on both ends. This object reports on the maximum number of slots advertised by the remote end. When Van Jacobson compression is not in use, this object takes the value of zero. Like the other compression-related objects, it is meaningful only when the IPCP state engine has reached the Open state.

pppIpLocalMaxSlotId (integer, range 0-255)

This object reports on the maximum number of slots advertised by the local end. When Van Jacobson compression is not in use, this object takes the value zero. Like the other compression-related objects, it is meaningful only when the IPCP state engine has reached the Open state.

IP configuration table

The IP configuration table allows a network management station to alter the configuration settings for the IPCP configuration. All entries in the table begin with the prefix ppp.pppIp.pppIpConfigTable.pppIpConfigEntry (23.3.2.1), and rows in the table are indexed by the main interface index. All the entries in the table are read-write to allow administrative access. Here is a list of entries:

pppIpConfigAdminStatus (enumerated integer)

Network administrators may use this object to change the administrative state of the IPCP state engine. Setting it to open (1) will send an Open event to lower PPP layers, which will attempt to begin negotiation. Setting it to closed (2) will send a Close event to lower layers, which will tear down the IPCP connection.

pppIpConfigCompression (enumerated integer)

This object may be set to none (1) or vj-tcp (2). When it is set to none, IPCP will not attempt to negotiate any IP header compression. Any other value will cause IPCP to negotiate for that type of IP packet compression. Currently, only Van Jacobson header compression is defined. Changes to the objects in this table do not go into effect until the PPP implementation is restarted.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.130.227