          PPP-IP-NCP-MIB DEFINITIONS ::= BEGIN

          IMPORTS
               ifIndex
                    FROM RFC1213-MIB
               OBJECT-TYPE
                    FROM RFC-1212
               ppp
                    FROM PPP-LCP-MIB;

               -- The PPP IP Group.
               -- Implementation of this group is mandatory for all
               -- PPP implementations that support operating IP over PPP.

               pppIp OBJECT IDENTIFIER ::= { ppp 3 }


          pppIpTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF PppIpEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing the IP parameters and
                         statistics for the local PPP entity."
               ::= { pppIp 1 }


          pppIpEntry   OBJECT-TYPE
               SYNTAX    PppIpEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "IPCP status information for a particular PPP
                         link."
               INDEX     { ifIndex }
               ::= { pppIpTable 1 }


          PppIpEntry ::= SEQUENCE {
               pppIpOperStatus
                    INTEGER,
               pppIpLocalToRemoteCompressionProtocol
                    INTEGER,
               pppIpRemoteToLocalCompressionProtocol
                    INTEGER,
               pppIpRemoteMaxSlotId
                    INTEGER,
               pppIpLocalMaxSlotId
                    INTEGER
          }

          -- The following object reflect the values of the option
          -- parameters used in the PPP IP Control Protocol
          --   pppIpLocalToRemoteCompressionProtocol
          --   pppIpRemoteToLocalCompressionProtocol
          --   pppIpRemoteMaxSlotId
          --   pppIpLocalMaxSlotId
          -- These values are not available until after the PPP Option
          -- negotiation has completed, which is indicated by the link
          -- reaching the open state (i.e., pppIpOperStatus is set to
          -- opened).
          --
          -- Therefore, when pppIpOperStatus is not opened
          -- the contents of these objects is undefined. The value
          -- returned when accessing the objects is an implementation
          -- dependent issue.


          pppIpOperStatus   OBJECT-TYPE
               SYNTAX    INTEGER {opened(1), not-opened(2)}
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The operational status of the IP network
                         protocol. If the value of this object is up
                         then the finite state machine for the IP
                         network protocol has reached the Opened state."
               ::= { pppIpEntry 1 }


          pppIpLocalToRemoteCompressionProtocol   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. The value of this object
                         is meaningful only when the link has reached
                         the open state (pppIpOperStatus is opened)."
               ::= { pppIpEntry 2 }


          pppIpRemoteToLocalCompressionProtocol   OBJECT-TYPE
               SYNTAX    INTEGER {
                         none(1),
                         vj-tcp(2)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The IP compression protocol that the remote
                         PPP-IP entity uses when sending packets to the
                         local PPP-IP entity. The value of this object
                         is meaningful only when the link has reached
                         the open state (pppIpOperStatus is opened)."
               ::= { pppIpEntry 3 }


          pppIpRemoteMaxSlotId   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.
                         If vj-tcp header compression is not in use on
                         the link then the value of this object shall be
                         0. The value of this object is meaningful only
                         when the link has reached the open state
                         (pppIpOperStatus is opened)."
               ::= { pppIpEntry 4 }


          pppIpLocalMaxSlotId   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.
                         If vj-tcp header compression is not in use on
                         the link then the value of this object shall be
                         0. The value of this object is meaningful only
                         when the link has reached the open state
                         (pppIpOperStatus is opened)."
               ::= { pppIpEntry 5 }


          --
          -- The PPP IP Configuration table.
          -- This is a separate table in order to facilitate
          -- placing these variables in a separate MIB view.
          --

          pppIpConfigTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF PppIpConfigEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing configuration variables for
                         the IPCP for the local PPP entity."
               ::= { pppIp 2 }


          pppIpConfigEntry   OBJECT-TYPE
               SYNTAX    PppIpConfigEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "IPCP information for a particular PPP link."
               INDEX     { ifIndex }
               ::= { pppIpConfigTable 1 }


          PppIpConfigEntry ::= SEQUENCE {
               pppIpConfigAdminStatus
                    INTEGER,
               pppIpConfigCompression
                    INTEGER
          }

          pppIpConfigAdminStatus   OBJECT-TYPE
               SYNTAX    INTEGER {open(1), close(2)}
               ACCESS    read-write
               STATUS    mandatory
               DESCRIPTION
                         "The immediate desired status of the IP network
                         protocol. Setting this object to open will
                         inject an administrative open event into the IP
                         network protocol's finite state machine.
                         Setting this object to close will inject an
                         administrative close event into the IP network
                         protocol's finite state machine."
               ::= { pppIpConfigEntry 1 }


          pppIpConfigCompression   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 RFC1332."
               DEFVAL    { none }
               ::= { pppIpConfigEntry 2 }


          END
