RFC1315-MIB DEFINITIONS ::= BEGIN

IMPORTS
        OBJECT-TYPE
                FROM RFC-1212
        transmission
                FROM RFC1213-MIB
-- FIX: added additional import (Counter)
        TimeTicks, Counter
-- FIX:                FROM RFC-1155
                FROM RFC1155-SMI
        TRAP-TYPE
                FROM RFC-1215;

--  Frame Relay DTE MIB

frame-relay     OBJECT IDENTIFIER ::= { transmission 32 }

--
--      the range of ifIndex
--
Index ::= INTEGER       -- 1..ifNumber

--
--      the range of a Data Link Connection Identifier
--
DLCI ::= INTEGER        -- 0..DLCINumber


--  Data Link Connection Management Interface

--      The variables that configure the DLC Management Interface.

frDlcmiTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF FrDlcmiEntry
    ACCESS   not-accessible
    STATUS   mandatory
    DESCRIPTION
       "The Parameters for the Data Link Connection Management
       Interface for the frame relay service on this
       interface."
    REFERENCE
       "Draft American National Standard T1.617-1991, Annex D"
    ::= { frame-relay 1 }

frDlcmiEntry OBJECT-TYPE
        SYNTAX   FrDlcmiEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "The Parameters for a particular Data Link Con-
           nection Management Interface."
       INDEX { frDlcmiIfIndex }
       ::= { frDlcmiTable 1 }

FrDlcmiEntry ::=
        SEQUENCE {
            frDlcmiIfIndex
                Index,
            frDlcmiState
                INTEGER,
            frDlcmiAddress
                INTEGER,
            frDlcmiAddressLen
                INTEGER,
            frDlcmiPollingInterval
                INTEGER,
            frDlcmiFullEnquiryInterval
                INTEGER,
            frDlcmiErrorThreshold
                INTEGER,
            frDlcmiMonitoredEvents
                INTEGER,
            frDlcmiMaxSupportedVCs
                INTEGER,
            frDlcmiMulticast
                INTEGER
    }



frDlcmiIfIndex OBJECT-TYPE
        SYNTAX   Index
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The ifIndex value of the  corresponding  ifEn-
           try."
       ::= { frDlcmiEntry 1 }


frDlcmiState OBJECT-TYPE
        SYNTAX INTEGER {
            noLmiConfigured (1),
            lmiRev1         (2),
            ansiT1-617-D    (3),  -- ANSI T1.617 Annex D
            ansiT1-617-B    (4)   -- ANSI T1.617 Annex B
        }
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "This variable states which Data  Link  Connec-
           tion Management scheme is active (and by impli-
           cation, what DLCI it uses) on the  Frame  Relay
           interface."
       REFERENCE
          "Draft American National Standard T1.617-1991"
      ::= { frDlcmiEntry 2 }


frDlcmiAddress OBJECT-TYPE
        SYNTAX      INTEGER {
                    q921           (1),  -- 13 bit DLCI
                    q922March90    (2),  -- 11 bit DLCI
                    q922November90 (3),  -- 10 bit DLCI
                    q922           (4)   -- Final Standard
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
           "This variable states which address  format  is
           in use on the Frame Relay interface."
       ::= { frDlcmiEntry 3 }


frDlcmiAddressLen OBJECT-TYPE
        SYNTAX  INTEGER {
                two-octets (2),
                three-octets (3),
                four-octets (4)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
           "This variable states which address  length  in
           octets.  In the case of Q922 format, the length
           indicates the entire length of the address  in-
           cluding the control portion."
       ::= { frDlcmiEntry 4 }


frDlcmiPollingInterval OBJECT-TYPE
        SYNTAX   INTEGER (5..30)
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "This is the number of seconds between  succes-
           sive status enquiry messages."
       REFERENCE
          "Draft American National  Standard  T1.617-1991,
          Section D.7 Timer T391."
      DEFVAL { 10 }
      ::= { frDlcmiEntry 5 }


frDlcmiFullEnquiryInterval OBJECT-TYPE
        SYNTAX   INTEGER (1..255)
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "Number of status enquiry intervals  that  pass
           before  issuance  of a full status enquiry mes-
           sage."
       REFERENCE
          "Draft American National  Standard  T1.617-1991,
          Section D.7 Counter N391."
      DEFVAL { 6 }
      ::= { frDlcmiEntry 6 }


frDlcmiErrorThreshold OBJECT-TYPE
        SYNTAX   INTEGER (1..10)
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "This  is  the  maximum  number  of  unanswered
           Status Enquiries the equipment shall accept be-
           fore declaring the interface down."
       REFERENCE
          "Draft American National  Standard  T1.617-1991,
          Section D.5.1 Counter N392."
      DEFVAL { 3 }
      ::= { frDlcmiEntry 7 }

frDlcmiMonitoredEvents OBJECT-TYPE
        SYNTAX   INTEGER (1..10)
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "This is the number of status polling intervals
           over which the error threshold is counted.  For
           example, if within 'MonitoredEvents' number  of
           events  the  station  receives 'ErrorThreshold'
           number of errors, the interface  is  marked  as
           down."
       REFERENCE
          "Draft American National  Standard  T1.617-1991,
          Section D.5.2 Counter N393."
      DEFVAL { 4 }
      ::= { frDlcmiEntry 8 }


frDlcmiMaxSupportedVCs OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The maximum number of Virtual Circuits allowed
           for  this  interface.   Usually dictated by the
           Frame Relay network.

           In response to a SET, if a value less than zero
           or  higher  than the agent's maximal capability
           is configured, the agent  should  respond  bad-
           Value"
       ::= { frDlcmiEntry 9 }


frDlcmiMulticast OBJECT-TYPE
        SYNTAX   INTEGER {
                    nonBroadcast (1),
                    broadcast (2)
                    }
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "This indicates whether the Frame Relay  inter-
           face is using a multicast service."
       ::= { frDlcmiEntry 10 }

-- A Frame Relay service is a multiplexing service.  Data
-- Link Connection Identifiers enumerate virtual circuits
-- (permanent or dynamic) which are layered onto the underlying
-- circuit, represented by ifEntry.  Therefore, each of the entries
-- in the Standard MIB's Interface Table with an IfType of
-- Frame Relay represents a Q.922 interface.  Zero or more
-- virtual circuits are layered onto this interface and provide
-- interconnection with various remote destinations.
-- Each such virtual circuit is represented by an entry in the
-- circuit table.

--   Circuit Table

-- The table describing the use of the DLCIs attached to
-- each Frame Relay Interface.

frCircuitTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF FrCircuitEntry
    ACCESS   not-accessible
    STATUS   mandatory
    DESCRIPTION
       "A table containing information about specific Data
       Link Connection Identifiers and corresponding virtual
       circuits."
    ::= { frame-relay 2 }

frCircuitEntry OBJECT-TYPE
        SYNTAX   FrCircuitEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "The information regarding a single  Data  Link
           Connection Identifier."
       INDEX { frCircuitIfIndex, frCircuitDlci }
       ::= { frCircuitTable 1 }


FrCircuitEntry ::=
        SEQUENCE {
            frCircuitIfIndex
                Index,
            frCircuitDlci
                DLCI,
            frCircuitState
                INTEGER,
            frCircuitReceivedFECNs
                Counter,
            frCircuitReceivedBECNs
                Counter,
            frCircuitSentFrames
                Counter,
            frCircuitSentOctets
                Counter,
            frCircuitReceivedFrames
                Counter,
            frCircuitReceivedOctets
                Counter,
            frCircuitCreationTime
                TimeTicks,
            frCircuitLastTimeChange
                TimeTicks,
            frCircuitCommittedBurst
                INTEGER,
            frCircuitExcessBurst
                INTEGER,
            frCircuitThroughput
                INTEGER
    }


frCircuitIfIndex OBJECT-TYPE
        SYNTAX   Index
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The ifIndex Value of the ifEntry this  virtual
           circuit is layered onto."
       ::= { frCircuitEntry 1 }


frCircuitDlci OBJECT-TYPE
        SYNTAX   DLCI
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The Data Link Connection Identifier  for  this
           virtual circuit."
       REFERENCE
          "Draft American National  Standard  T1.618-1991,
          Section 3.3.6"
      ::= { frCircuitEntry 2 }

frCircuitState OBJECT-TYPE
        SYNTAX   INTEGER {
                    invalid (1),
                    active (2),
                    inactive (3)
                 }
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "Indicates whether the particular virtual  cir-
           cuit  is operational.  In the absence of a Data
           Link Connection Management  Interface,  virtual
           circuit  entries  (rows) may be created by set-
           ting virtual  circuit  state  to  'active',  or
           deleted by changing Circuit state to 'invalid'.
           Whether or not the row actually  disappears  is
           left  to the implementation, so this object may
           actually read as 'invalid' for  some  arbitrary
           length  of  time.   It is also legal to set the
           state of a virtual  circuit  to  'inactive'  to
           temporarily disable a given circuit."
       DEFVAL { active }
       ::= { frCircuitEntry 3 }


frCircuitReceivedFECNs OBJECT-TYPE
        SYNTAX   Counter
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "Number of frames received from the network in-
           dicating  forward  congestion since the virtual
           circuit was created."
       REFERENCE
          "Draft American National  Standard  T1.618-1991,
          Section 3.3.3"
      ::= { frCircuitEntry 4 }



frCircuitReceivedBECNs OBJECT-TYPE
        SYNTAX   Counter
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "Number of frames received from the network in-
           dicating  backward congestion since the virtual
           circuit was created."
       REFERENCE
          "Draft American National  Standard  T1.618-1991,
          Section 3.3.4"
      ::= { frCircuitEntry 5 }



frCircuitSentFrames OBJECT-TYPE
        SYNTAX   Counter
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The number of frames sent  from  this  virtual
           circuit since it was created."
       ::= { frCircuitEntry 6 }



frCircuitSentOctets OBJECT-TYPE
        SYNTAX   Counter
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The number of octets sent  from  this  virtual
           circuit since it was created."
       ::= { frCircuitEntry 7 }



frCircuitReceivedFrames OBJECT-TYPE
        SYNTAX   Counter
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "Number of frames received  over  this  virtual
           circuit since it was created."
       ::= { frCircuitEntry 8 }



frCircuitReceivedOctets OBJECT-TYPE
        SYNTAX   Counter
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "Number of octets received  over  this  virtual
           circuit since it was created."
       ::= { frCircuitEntry 9 }

frCircuitCreationTime OBJECT-TYPE
        SYNTAX   TimeTicks
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The value of sysUpTime when the  virtual  cir-
           cuit was created, whether by the Data Link Con-
           nection Management Interface  or  by  a  SetRe-
           quest."
       ::= { frCircuitEntry 10 }



frCircuitLastTimeChange OBJECT-TYPE
        SYNTAX   TimeTicks
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The value of sysUpTime when last there  was  a
           change in the virtual circuit state"
       ::= { frCircuitEntry 11 }



frCircuitCommittedBurst OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "This variable indicates the maximum amount  of
           data,  in  bits,  that  the  network  agrees to
           transfer under normal  conditions,  during  the
           measurement interval."
       REFERENCE
          "Draft American National  Standard  T1.617-1991,
          Section 6.5.19"
      DEFVAL   { 0 }  -- the default indicates no commitment
      ::= { frCircuitEntry 12 }



frCircuitExcessBurst OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "This variable indicates the maximum amount  of
           uncommitted data bits that the network will at-
           tempt to deliver over the measurement interval.

           By default, if not configured when creating the
           entry, the Excess Information Burst Size is set
           to the value of ifSpeed."
       REFERENCE
          "Draft American National  Standard  T1.617-1991,
          Section 6.5.19"
              ::= { frCircuitEntry 13 }


frCircuitThroughput OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "Throughput is the average number of 'Frame Re-
           lay  Information  Field'  bits  transferred per
           second across a user network interface  in  one
           direction, measured over the measurement inter-
           val.

           If the  configured  committed  burst  rate  and
           throughput  are  both non-zero, the measurement
           interval
           T=frCircuitCommittedBurst/frCircuitThroughput.

           If the  configured  committed  burst  rate  and
           throughput  are  both zero, the measurement in-
           terval
                  T=frCircuitExcessBurst/ifSpeed."
       REFERENCE
          "Draft American National  Standard  T1.617-1991,
          Section 6.5.19"
      DEFVAL {0}  -- the default value of Throughput is
                  -- "no commitment".
      ::= { frCircuitEntry 14 }


--  Error Table

-- The table describing errors encountered on each Frame
-- Relay Interface.

frErrTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF FrErrEntry
    ACCESS   not-accessible
    STATUS   mandatory
    DESCRIPTION
       "A table containing information about Errors on the
       Frame Relay interface."
    ::= { frame-relay 3 }

frErrEntry OBJECT-TYPE
        SYNTAX   FrErrEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "The error information for a single frame relay
           interface."
       INDEX { frErrIfIndex }
       ::= { frErrTable 1 }



FrErrEntry ::=
        SEQUENCE {
            frErrIfIndex
                Index,
            frErrType
                INTEGER,
            frErrData
                OCTET STRING,
            frErrTime
                TimeTicks
    }



frErrIfIndex OBJECT-TYPE
        SYNTAX   Index
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The ifIndex Value of the  corresponding  ifEn-
           try."
       ::= { frErrEntry 1 }



frErrType OBJECT-TYPE
        SYNTAX   INTEGER {
                    unknownError(1),
                    receiveShort(2),
                    receiveLong(3),
                    illegalDLCI(4),
                    unknownDLCI(5),
                    dlcmiProtoErr(6),
                    dlcmiUnknownIE(7),
                    dlcmiSequenceErr(8),
                    dlcmiUnknownRpt(9),
                    noErrorSinceReset(10)
                 }
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The type of error that was last seen  on  this
           interface."
       ::= { frErrEntry 2 }



frErrData OBJECT-TYPE
        SYNTAX   OCTET STRING
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "An octet string containing as much of the  er-
           ror  packet as possible.  As a minimum, it must
           contain the Q.922 Address or  as  much  as  was
           delivered.   It is desirable to include all in-
           formation up to the PDU."
       ::= { frErrEntry 3 }



frErrTime OBJECT-TYPE
        SYNTAX   TimeTicks
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The value of sysUpTime at which the error  was
           detected."
       ::= { frErrEntry 4 }


    -- Frame Relay Globals

frame-relay-globals OBJECT IDENTIFIER ::= { frame-relay 4 }

frTrapState OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "This variable  indicates  whether  the  system
           produces the frDLCIStatusChange trap."
       DEFVAL { disabled }
       ::= { frame-relay-globals 1 }


    --  Data Link Connection Management Interface Related Traps

frDLCIStatusChange TRAP-TYPE
        ENTERPRISE frame-relay
        VARIABLES  { frCircuitIfIndex, frCircuitDlci, frCircuitState }
        DESCRIPTION
           "This trap indicates that the indicated Virtual
           Circuit  has changed state.  It has either been
           created or invalidated, or has toggled  between
           the active and inactive states."
        ::= 1

END
