MPLS-LDP-FRAME-RELAY-STD-MIB DEFINITIONS ::= BEGIN


   IMPORTS
       OBJECT-TYPE,
       MODULE-IDENTITY,
       Unsigned32
           FROM SNMPv2-SMI                                 --  [RFC2578]
       MODULE-COMPLIANCE,
       OBJECT-GROUP
           FROM SNMPv2-CONF                                --  [RFC2580]

       RowStatus,
       StorageType





           FROM SNMPv2-TC                                  --  [RFC2579]

       DLCI
           FROM FRAME-RELAY-DTE-MIB                        --  [RFC2115]

       InterfaceIndexOrZero
           FROM IF-MIB                                     --  [RFC2020]

       mplsStdMIB
           FROM MPLS-TC-STD-MIB                            --  [RFC3811]

       mplsLdpEntityLdpId,
       mplsLdpEntityIndex,
       mplsLdpPeerLdpId
           FROM MPLS-LDP-STD-MIB                           --  [RFC3813]
       ;

   mplsLdpFrameRelayStdMIB MODULE-IDENTITY
       LAST-UPDATED "200406030000Z"  -- June 3, 2004
       ORGANIZATION "Multiprotocol Label Switching (mpls)
                     Working Group"
       CONTACT-INFO
           "Joan Cucchiara (jcucchiara@mindspring.com)
            Marconi Communications, Inc.

            Hans Sjostrand (hans@ipunplugged.com)
            ipUnplugged

            James V. Luciani (james_luciani@mindspring.com)
            Marconi Communications, Inc.

            Working Group Chairs:
            George Swallow,   email: swallow@cisco.com
            Loa Andersson,    email: loa@pi.se

            MPLS Working Group, email: mpls@uu.net
       "
       DESCRIPTION
           "Copyright (C) The Internet Society (year). The
           initial version of this MIB module was published
           in RFC 3815. For full legal notices see the RFC
           itself or see:
           http://www.ietf.org/copyrights/ianamib.html

           This MIB contains managed object definitions for
           configuring and monitoring the Multiprotocol Label
           Switching (MPLS), Label Distribution Protocol (LDP),
           utilizing Frame Relay as the Layer 2 media."





       REVISION "200406030000Z"  -- June 6, 2004
       DESCRIPTION
           "Initial version published as part of RFC 3815."

       ::= { mplsStdMIB 6 }

   --****************************************************************

   mplsLdpFrameRelayObjects  OBJECT IDENTIFIER
                              ::= { mplsLdpFrameRelayStdMIB 1 }

   mplsLdpFrameRelayConformance   OBJECT IDENTIFIER
                              ::= { mplsLdpFrameRelayStdMIB 2 }

   --****************************************************************
   -- MPLS LDP Frame Relay Objects
   --****************************************************************

   --
   -- Ldp Entity Objects for Frame Relay
   --

   mplsLdpEntityFrameRelayObjects OBJECT IDENTIFIER ::=
                                       { mplsLdpFrameRelayObjects 1 }

   mplsLdpEntityFrameRelayTable  OBJECT-TYPE
       SYNTAX      SEQUENCE OF MplsLdpEntityFrameRelayEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table contains Frame Relay specific
           information which could be used in the
           'Optional Parameters' and other Frame Relay
           specific information.

           This table 'sparse augments' the mplsLdpEntityTable
           when Frame Relay is the Layer 2 medium."
       ::= { mplsLdpEntityFrameRelayObjects 1 }

   mplsLdpEntityFrameRelayEntry OBJECT-TYPE
       SYNTAX      MplsLdpEntityFrameRelayEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry in this table represents the Frame Relay
           optional parameters associated with the LDP entity."
       INDEX       {  mplsLdpEntityLdpId,
                      mplsLdpEntityIndex





                   }
       ::= { mplsLdpEntityFrameRelayTable 1 }

   MplsLdpEntityFrameRelayEntry ::= SEQUENCE {
       mplsLdpEntityFrameRelayIfIndexOrZero        InterfaceIndexOrZero,
       mplsLdpEntityFrameRelayMergeCap             INTEGER,
       mplsLdpEntityFrameRelayLRComponents         Unsigned32,
       mplsLdpEntityFrameRelayVcDirectionality     INTEGER,
       mplsLdpEntityFrameRelayStorageType          StorageType,
       mplsLdpEntityFrameRelayRowStatus            RowStatus
   }

   mplsLdpEntityFrameRelayIfIndexOrZero OBJECT-TYPE
       SYNTAX      InterfaceIndexOrZero
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "This value represents either the InterfaceIndex of
          the 'ifLayer' where the Frame Relay Labels 'owned' by this
          entry were created, or 0 (zero).  The value of zero
          means that the InterfaceIndex is not known.  For example,
          if the InterfaceIndex is created subsequent to the
          Frame Relay Label's creation, then it would not be known.
          However, if the InterfaceIndex is known, then it must
          be represented by this value.

          If an InterfaceIndex becomes known, then the
          network management entity (e.g., SNMP agent) responsible
          for this object MUST change the value from 0 (zero) to the
          value of the InterfaceIndex.  If an Frame Relay Label is
          being used in forwarding data, then the value of this
          object MUST be the InterfaceIndex."
       ::= { mplsLdpEntityFrameRelayEntry 1 }

   mplsLdpEntityFrameRelayMergeCap OBJECT-TYPE
       SYNTAX      INTEGER {
                       notSupported(0),
                       supported(1)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This represents whether or not the Frame Relay merge
           capability is supported.  This is the EXACT value for the
           Frame Relay Session Parameter, field M (for Frame Relay
           Merge Capabilities).  The Frame Relay Session Parameter
           is an optional parameter in the Initialization Message.






           The description from rfc3036.txt is:
           'M, Frame Relay Merge Capabilities
              Specifies the merge capabilities of a Frame
              Relay switch.  The following values are
              supported in this version of the
              specification:

                     Value          Meaning

                       0            Merge not supported
                       1            Merge supported

              Non-merge and merge Frame Relay LSRs may
              freely interoperate.'

              Please refer to the following reference for a
              complete description of this feature."
        REFERENCE
           "RFC3036, LDP Specification, Section 3.5.3
           Initialization Message."
       ::= { mplsLdpEntityFrameRelayEntry 2 }

   mplsLdpEntityFrameRelayLRComponents OBJECT-TYPE
       SYNTAX      Unsigned32 (1..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Number of Label Range Components in the Initialization
           message.  This also represents the number of entries
           in the mplsLdpEntityFrameRelayLRTable which correspond
           to this entry.

           This is the EXACT value for the Frame Relay Session
           Parameter, field N (for Number of label range
           components).  The Frame Relay Session Parameter
           is an optional parameter in the Initialization
           Message.

           The description from rfc3036.txt is:

           'N, Number of label range components
               Specifies the number of Frame Relay Label
               Range Components included in the TLV.'

            Please refer to the following reference for a
            complete description of this feature."
        REFERENCE
           "RFC3036, LDP Specification, Section 3.5.3





           Initialization Message."
       ::= { mplsLdpEntityFrameRelayEntry 3 }

   mplsLdpEntityFrameRelayVcDirectionality OBJECT-TYPE
       SYNTAX      INTEGER {
                             bidirectional(0),
                             unidirection(1)
                           }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "If the value of this object is 'bidirectional(0)', then
           the LSR supports the use of a given DLCI as a label for
           both directions independently.  If the value of
           this object is 'unidirectional(1)', then the LSR
           uses the given DLCI as a label in only one direction.

           This is the EXACT value for the Frame Relay Session
           Parameter, field D (for VC Directionality).  The
           Frame Relay Session Parameter is an optional
           parameter in the Initialization Message.

           The description from rfc3036.txt is:

           'D, VC Directionality
              A value of 0 specifies bidirectional VC capability,
              meaning the LSR can support the use of a given
              DLCI as a label for both link directions
              independently.  A value of 1 specifies
              unidirectional VC capability, meaning a given
              DLCI may appear in a label mapping for one
              direction on the link only.  When either or both
              of the peers specifies unidirectional VC
              capability, both LSRs use unidirectional VC
              label assignment for the link as follows.  The
              LSRs compare their LDP Identifiers as unsigned
              integers.  The LSR with the larger LDP
              Identifier may assign only odd-numbered DLCIs
              in the range as labels.  The system with the
              smaller LDP Identifier may assign only
              even-numbered DLCIs in the range as labels.'

              Please refer to the following reference for a
              complete description of this feature."
        REFERENCE
           "RFC3036, LDP Specification, Section 3.5.3
           Initialization Message."
       ::= { mplsLdpEntityFrameRelayEntry 4 }





   mplsLdpEntityFrameRelayStorageType  OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type for this conceptual row.
           Conceptual rows having the value 'permanent(4)'
           need not allow write-access to any columnar
           objects in the row."
       DEFVAL { nonVolatile }
       ::= { mplsLdpEntityFrameRelayEntry 5 }

   mplsLdpEntityFrameRelayRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this conceptual row.  All writable
            objects in this row may be modified at any time,
            however, as described in detail in the section
            entitled, 'Changing Values After Session
            Establishment', and again described in the
            DESCRIPTION clause of the
            mplsLdpEntityAdminStatus object,
            if a session has been initiated with a Peer,
            changing objects in this table will
            wreak havoc with the session and interrupt
            traffic.  To repeat again:
            the recommended procedure is to set the
            mplsLdpEntityAdminStatus to
            down, thereby explicitly causing a
            session to be torn down. Then,
            change objects in this entry, then set
            the mplsLdpEntityAdminStatus
            to enable which enables a new session
            to be initiated."
       ::= { mplsLdpEntityFrameRelayEntry 6 }

   --
   -- Frame Relay Label Range Components
   --

   mplsLdpEntityFrameRelayLRTable  OBJECT-TYPE
       SYNTAX      SEQUENCE OF MplsLdpEntityFrameRelayLREntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table contains information about the





           Optional Parameters for the Frame Relay Session
           in the LDP Initialization Message, specifically
           it contains information about the Frame Relay
           Label Range Components.

           If the value of the object
           'mplsLdpEntityOptionalParameters' contains the
           value of 'frameRelaySessionParameters(3)' then
           there must be at least one corresponding entry
           in this table."
       ::= { mplsLdpEntityFrameRelayObjects 2 }

   mplsLdpEntityFrameRelayLREntry OBJECT-TYPE
       SYNTAX      MplsLdpEntityFrameRelayLREntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry in this table represents the Frame Relay
           Label Range Component associated with the LDP entity."
       INDEX       {  mplsLdpEntityLdpId,
                      mplsLdpEntityIndex,
                      mplsLdpEntityFrameRelayLRMinDlci
                   }
       ::= { mplsLdpEntityFrameRelayLRTable 1 }

   MplsLdpEntityFrameRelayLREntry ::= SEQUENCE {
       mplsLdpEntityFrameRelayLRMinDlci              DLCI,
       mplsLdpEntityFrameRelayLRMaxDlci              DLCI,
       mplsLdpEntityFrameRelayLRLen                  INTEGER,
       mplsLdpEntityFrameRelayLRStorageType          StorageType,
       mplsLdpEntityFrameRelayLRRowStatus            RowStatus
   }

   mplsLdpEntityFrameRelayLRMinDlci OBJECT-TYPE
       SYNTAX      DLCI
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The lower bound which is supported.  This value
           should be the same as that in the Frame Relay Label
           Range Component's Minimum DLCI field.  The value
           of zero is valid for the minimum DLCI field of
           the label."
       REFERENCE
           "RFC3034, Use of Label Switching on Frame Relay
           Networks Specification."
       ::= { mplsLdpEntityFrameRelayLREntry 1 }






   mplsLdpEntityFrameRelayLRMaxDlci OBJECT-TYPE
       SYNTAX      DLCI
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The upper bound which is supported.  This value
           should be the same as that in the Frame Relay Label
           Range Component's Maximum DLCI field."
       ::= { mplsLdpEntityFrameRelayLREntry 2 }

   mplsLdpEntityFrameRelayLRLen OBJECT-TYPE
       SYNTAX      INTEGER {
                       tenDlciBits(0),
                       twentyThreeDlciBits(2)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object specifies the length of the DLCI bits.

           This is the EXACT value for the Len field of the
           Frame Relay Label Range Component.

           The description from rfc3036.txt is:

           'Len
               This field specifies the number of bits of the DLCI.
               The following values are supported:

                    Len    DLCI bits

                    0       10
                    2       23

               Len values 1 and 3 are reserved.'

            Please refer to the following reference for a complete
            description of this feature."
        REFERENCE
           "RFC3036, LDP Specification, Section 3.5.3
           Initialization Message."
       ::= { mplsLdpEntityFrameRelayLREntry 3 }

   mplsLdpEntityFrameRelayLRStorageType  OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION





           "The storage type for this conceptual row.
           Conceptual rows having the value 'permanent(4)'
           need not allow write-access to any columnar
           objects in the row."
       DEFVAL { nonVolatile }
       ::= { mplsLdpEntityFrameRelayLREntry 4 }

   mplsLdpEntityFrameRelayLRRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this conceptual row.  All writable
            objects in this row may be modified at any time,
            however, as described in detail in the section
            entitled, 'Changing Values After Session
            Establishment', and again described in the
            DESCRIPTION clause of the
            mplsLdpEntityAdminStatus object,
            if a session has been initiated with a Peer,
            changing objects in this table will
            wreak havoc with the session and interrupt
            traffic.  To repeat again:
            the recommended procedure is to set the
            mplsLdpEntityAdminStatus to down, thereby
            explicitly causing a session to be torn down. Then,
            change objects in this entry, then set the
            mplsLdpEntityAdminStatus to enable which enables
            a new session to be initiated."
       ::= { mplsLdpEntityFrameRelayLREntry 5 }

   --
   -- MPLS LDP Frame Relay Session Information
   --

   mplsLdpFrameRelaySessionObjects  OBJECT IDENTIFIER ::=
                              { mplsLdpFrameRelayObjects  2 }

   mplsLdpFrameRelaySessionTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF MplsLdpFrameRelaySessionEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of Frame Relay label range intersections
           between the LDP Entities and LDP Peers.
           Each row represents a single label range intersection.

           NOTE:  this table cannot use the 'AUGMENTS'





           clause because there is not necessarily a one-to-one
           mapping between this table and the
           mplsLdpSessionTable."
       ::= { mplsLdpFrameRelaySessionObjects 1 }

   mplsLdpFrameRelaySessionEntry OBJECT-TYPE
       SYNTAX      MplsLdpFrameRelaySessionEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry in this table represents information on a
           single label range intersection between an
           LDP Entity and LDP Peer.

           The information contained in a row is read-only."
       INDEX       { mplsLdpEntityLdpId,
                     mplsLdpEntityIndex,
                     mplsLdpPeerLdpId,
                     mplsLdpFrameRelaySessionMinDlci
                   }
       ::= { mplsLdpFrameRelaySessionTable 1 }

   MplsLdpFrameRelaySessionEntry ::= SEQUENCE {
       mplsLdpFrameRelaySessionMinDlci    DLCI,
       mplsLdpFrameRelaySessionMaxDlci    DLCI,
       mplsLdpFrameRelaySessionLen        INTEGER
   }

   mplsLdpFrameRelaySessionMinDlci OBJECT-TYPE
       SYNTAX      DLCI
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The lower bound of DLCIs which are supported.
           The value of zero is a valid value for the
           minimum DLCI field of the label."
       REFERENCE
           "RFC3034, Use of Label Switching on Frame Relay
           Networks Specification."
       ::= { mplsLdpFrameRelaySessionEntry 1 }

   mplsLdpFrameRelaySessionMaxDlci OBJECT-TYPE
       SYNTAX      DLCI
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The upper bound of DLCIs which are supported."
       ::= { mplsLdpFrameRelaySessionEntry 2 }





   mplsLdpFrameRelaySessionLen OBJECT-TYPE
       SYNTAX      INTEGER {
                       tenDlciBits(0),
                       twentyThreeDlciBits(2)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object specifies the DLCI bits."
       ::= { mplsLdpFrameRelaySessionEntry 3 }

   --****************************************************************
   -- Module Conformance Statement
   --****************************************************************

   mplsLdpFrameRelayGroups
       OBJECT IDENTIFIER ::= { mplsLdpFrameRelayConformance 1 }

   mplsLdpFrameRelayCompliances
       OBJECT IDENTIFIER ::= { mplsLdpFrameRelayConformance 2 }

   --
   -- Full Compliance
   --

   mplsLdpFrameRelayModuleFullCompliance MODULE-COMPLIANCE
       STATUS current
       DESCRIPTION
           "The Module is implemented with support for
           read-create and read-write.  In other words,
           both monitoring and configuration
           are available when using this MODULE-COMPLIANCE."
       MODULE -- this module
           MANDATORY-GROUPS    {
                                  mplsLdpFrameRelayGroup
                               }

       OBJECT       mplsLdpEntityFrameRelayRowStatus
       SYNTAX       RowStatus { active(1) }
       WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
       DESCRIPTION
          "Support for createAndWait and notInService is not required."

       OBJECT       mplsLdpEntityFrameRelayLRRowStatus
       SYNTAX       RowStatus { active(1) }
       WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
       DESCRIPTION
          "Support for createAndWait and notInService is not required."





       ::= { mplsLdpFrameRelayCompliances 1 }

   --
   -- Read-Only Compliance
   --

   mplsLdpFrameRelayModuleReadOnlyCompliance MODULE-COMPLIANCE
       STATUS current
       DESCRIPTION
           "The Module is implemented with support for
           read-only.  In other words, only monitoring
           is available by implementing this MODULE-COMPLIANCE."
       MODULE -- this module
           MANDATORY-GROUPS    {
                                  mplsLdpFrameRelayGroup
                               }

       OBJECT       mplsLdpEntityFrameRelayIfIndexOrZero
       MIN-ACCESS   read-only
       DESCRIPTION
          "Write access is not required."

       OBJECT       mplsLdpEntityFrameRelayMergeCap
       MIN-ACCESS   read-only
       DESCRIPTION
          "Write access is not required."

       OBJECT       mplsLdpEntityFrameRelayVcDirectionality
       MIN-ACCESS   read-only
       DESCRIPTION
          "Write access is not required."

       OBJECT       mplsLdpEntityFrameRelayStorageType
       MIN-ACCESS   read-only
       DESCRIPTION
          "Write access is not required."

       OBJECT       mplsLdpEntityFrameRelayRowStatus
       SYNTAX       RowStatus { active(1) }
       MIN-ACCESS   read-only
       DESCRIPTION
          "Write access is not required, and active is the
          only status that needs to be supported."

       OBJECT       mplsLdpEntityFrameRelayLRMaxDlci
       MIN-ACCESS   read-only
       DESCRIPTION
          "Write access is not required."





       OBJECT       mplsLdpEntityFrameRelayLRLen
       MIN-ACCESS   read-only
       DESCRIPTION
          "Write access is not required."

       OBJECT       mplsLdpEntityFrameRelayLRStorageType
       MIN-ACCESS   read-only
       DESCRIPTION
          "Write access is not required."

       OBJECT       mplsLdpEntityFrameRelayLRRowStatus
       SYNTAX       RowStatus { active(1) }
       MIN-ACCESS   read-only
       DESCRIPTION
          "Write access is not required, and active is the
          only status that needs to be supported."
       ::= { mplsLdpFrameRelayCompliances 2 }

   --
   -- units of conformance
   --

   mplsLdpFrameRelayGroup OBJECT-GROUP
       OBJECTS {
       mplsLdpEntityFrameRelayIfIndexOrZero,
       mplsLdpEntityFrameRelayMergeCap,
       mplsLdpEntityFrameRelayLRComponents,
       mplsLdpEntityFrameRelayVcDirectionality,
       mplsLdpEntityFrameRelayStorageType,
       mplsLdpEntityFrameRelayRowStatus,
       mplsLdpEntityFrameRelayLRMaxDlci,
       mplsLdpEntityFrameRelayLRLen,
       mplsLdpEntityFrameRelayLRStorageType,
       mplsLdpEntityFrameRelayLRRowStatus,
       mplsLdpFrameRelaySessionMaxDlci,
       mplsLdpFrameRelaySessionLen
       }
       STATUS    current
       DESCRIPTION
           "Objects that apply to all MPLS LDP implementations
           using Frame Relay as the Layer 2."
       ::= { mplsLdpFrameRelayGroups 1 }

   END








