-- =================================================================
-- Description: PPP-IP-NCP-MIB
-- Reference:   This mib was extracted from RFC 1473
-- =================================================================

    PPP-IP-NCP-MIB DEFINITIONS ::= BEGIN
    
    IMPORTS
         Counter
              FROM RFC1155-SMI
         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
