Tech-invite3GPPspaceIETFspace
96959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 3815

Definitions of Managed Objects for the Multiprotocol Label Switching (MPLS), Label Distribution Protocol (LDP)

Pages: 106
Proposed Standard
Errata
Part 4 of 5 – Pages 60 to 90
First   Prev   Next

Top   ToC   RFC3815 - Page 60   prevText

4.1. The MPLS-LDP-ATM-STD-MIB Module

This MIB Module MUST be supported if LDP uses ATM as the Layer 2 medium. There are three tables in this MIB Module. Two tables are for configuring LDP to use ATM. These tables are the mplsLdpEntityAtmTable and the mplsLdpEntityAtmLRTable. The third table is the mplsLdpAtmSessionTable which is a read-only table. This MIB Module IMPORTS the AtmVpIdentifier TEXTUAL-CONVENTION from [RFC2514].
Top   ToC   RFC3815 - Page 61

4.1.1. The LDP Entity ATM Table

The mplsLdpEntityAtmTable provides a way to configure information which would be contained in the "Optional Parameter" portion of an LDP PDU Initialization Message.

4.1.2. The LDP Entity ATM Label Range Table

The mplsLdpEntityAtmLRTable provides a way to configure information which would be contained in the "ATM Label Range Components" portion of an LDP PDU Intialization Message, see [RFC3035] and [RFC3036].

4.1.3. The LDP ATM Session Table

The MPLS LDP ATM Session Table is a read-only table which contains session information specific to ATM. MPLS-LDP-ATM-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] InterfaceIndexOrZero FROM IF-MIB -- [RFC2020] AtmVpIdentifier FROM ATM-TC-MIB -- [RFC2514] mplsStdMIB, MplsAtmVcIdentifier FROM MPLS-TC-STD-MIB -- [RFC3811] mplsLdpEntityLdpId, mplsLdpEntityIndex, mplsLdpPeerLdpId FROM MPLS-LDP-STD-MIB -- [RFC3813] ; mplsLdpAtmStdMIB MODULE-IDENTITY LAST-UPDATED "200406030000Z" -- June 3, 2004
Top   ToC   RFC3815 - Page 62
       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 (2004). 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 Asynchronous Transfer Mode (ATM) as the Layer 2
           media."
       REVISION "200406030000Z"  -- June 3, 2004
       DESCRIPTION
           "Initial version published as part of RFC 3815."

       ::= { mplsStdMIB 5 }

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

   mplsLdpAtmObjects       OBJECT IDENTIFIER
                               ::= { mplsLdpAtmStdMIB 1 }
   mplsLdpAtmConformance   OBJECT IDENTIFIER
                               ::= { mplsLdpAtmStdMIB 2 }

   --****************************************************************
   -- MPLS LDP ATM Objects
   --****************************************************************
   --
   -- Ldp Entity Objects for ATM
Top   ToC   RFC3815 - Page 63
   --

   mplsLdpEntityAtmObjects  OBJECT IDENTIFIER ::=
                                 { mplsLdpAtmObjects 1 }

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

           This table 'sparse augments' the mplsLdpEntityTable
           when ATM is the Layer 2 medium."
       ::= { mplsLdpEntityAtmObjects 1 }

   mplsLdpEntityAtmEntry OBJECT-TYPE
       SYNTAX      MplsLdpEntityAtmEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry in this table represents the ATM parameters
           and ATM information for this LDP entity."
       INDEX       {  mplsLdpEntityLdpId,
                      mplsLdpEntityIndex
                   }
       ::= { mplsLdpEntityAtmTable 1 }


   MplsLdpEntityAtmEntry ::= SEQUENCE {
       mplsLdpEntityAtmIfIndexOrZero        InterfaceIndexOrZero,
       mplsLdpEntityAtmMergeCap             INTEGER,
       mplsLdpEntityAtmLRComponents         Unsigned32,
       mplsLdpEntityAtmVcDirectionality     INTEGER,
       mplsLdpEntityAtmLsrConnectivity      INTEGER,
       mplsLdpEntityAtmDefaultControlVpi    AtmVpIdentifier,
       mplsLdpEntityAtmDefaultControlVci    MplsAtmVcIdentifier,
       mplsLdpEntityAtmUnlabTrafVpi         AtmVpIdentifier,
       mplsLdpEntityAtmUnlabTrafVci         MplsAtmVcIdentifier,
       mplsLdpEntityAtmStorageType          StorageType,
       mplsLdpEntityAtmRowStatus            RowStatus
   }

   mplsLdpEntityAtmIfIndexOrZero  OBJECT-TYPE
       SYNTAX      InterfaceIndexOrZero
Top   ToC   RFC3815 - Page 64
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "This value represents either the InterfaceIndex
          or 0 (zero).  The value of zero means that the
          InterfaceIndex is not 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 ATM Label is
          being used in forwarding data, then the value of this
          object MUST be the InterfaceIndex."
       ::= { mplsLdpEntityAtmEntry 1 }

   mplsLdpEntityAtmMergeCap OBJECT-TYPE
       SYNTAX      INTEGER {
                       notSupported(0),
                       vpMerge(1),
                       vcMerge(2),
                       vpAndVcMerge(3)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "Denotes the Merge Capability of this Entity.
           This is the EXACT value for the ATM Session
           Parameter, field M (for ATM Merge Capabilities).
           The ATM Session Parameter is an optional
           parameter in the Initialization Message.

           The description from rfc3036.txt is:

           'M, ATM Merge Capabilities
              Specifies the merge capabilities of an ATM switch.  The
              following values are supported in this version of the
              specification:

                     Value          Meaning

                       0            Merge not supported
                       1            VP Merge supported
                       2            VC Merge supported
                       3            VP & VC Merge supported
Top   ToC   RFC3815 - Page 65
              If the merge capabilities of the LSRs differ, then:
              -  Non-merge and VC-merge LSRs may freely interoperate.

              -  The interoperability of VP-merge-capable switches
                 with non-VP-merge-capable switches is a subject
                 for future study.  When the LSRs differ on the
                 use of VP-merge, the session is established,
                 but VP merge is not used.'

              Please refer to the following reference for a
              complete description of this feature."

        REFERENCE
           "RFC3036, LDP Specification, Section 3.5.3
           Initialization Message."
       ::= { mplsLdpEntityAtmEntry 2 }

   mplsLdpEntityAtmLRComponents 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 mplsLdpEntityAtmLRTable which correspond
           to this entry.

           This is the EXACT value for the ATM Session Parameter,
           field N (for Number of label range components).
           The ATM 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 ATM 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."
       ::= { mplsLdpEntityAtmEntry 3 }

   mplsLdpEntityAtmVcDirectionality OBJECT-TYPE
       SYNTAX      INTEGER {
                              bidirectional(0),
Top   ToC   RFC3815 - Page 66
                              unidirectional(1)
                           }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "If the value of this object is 'bidirectional(0)',
           a given VCI, within a given VPI, is used as a
           label for both directions independently.

           If the value of this object is 'unidirectional(1)',
           a given VCI within a VPI designates one direction.

           This is the EXACT value for the ATM Session Parameter,
           field D (for VC Directionality).  The ATM 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 (within a given VPI) support
              the use of a given VCI as a label for both link
              directions independently.  A value of 1
              specifies unidirectional VC capability, meaning
              (within a given VPI) a given VCI 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 VCIs in the VPI/VCI
              range as labels.  The system with the smaller
              LDP Identifier may assign only even-numbered
              VCIs in the VPI/VCI 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."
       ::= { mplsLdpEntityAtmEntry 4 }

   mplsLdpEntityAtmLsrConnectivity OBJECT-TYPE
       SYNTAX      INTEGER {
                      direct(1),
Top   ToC   RFC3815 - Page 67
                      indirect(2)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The peer LSR may be connected indirectly by means
           of an ATM VP so that the VPI values may be different
           on either endpoint so the label MUST be encoded
           entirely within the VCI field."
       DEFVAL { direct }
       ::= { mplsLdpEntityAtmEntry 5 }

   mplsLdpEntityAtmDefaultControlVpi OBJECT-TYPE
       SYNTAX      AtmVpIdentifier
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The default VPI value for the non-MPLS connection.  The
           default value of this is 0 (zero) but other values may
           be configured.  This object allows a different value
           to be configured."
       DEFVAL { 0 }
       ::= { mplsLdpEntityAtmEntry 6 }

   mplsLdpEntityAtmDefaultControlVci OBJECT-TYPE
       SYNTAX      MplsAtmVcIdentifier
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Default VCI value for a non-MPLS connection.  The
           default value of this is 32 but other values may be
           configured.  This object allows a different value to
           be configured."
       DEFVAL { 32 }
       ::= { mplsLdpEntityAtmEntry 7 }

   mplsLdpEntityAtmUnlabTrafVpi OBJECT-TYPE
       SYNTAX      AtmVpIdentifier
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "VPI value of the VCC supporting unlabeled traffic.  This
           non-MPLS connection is used to carry unlabeled (IP)
           packets.  The default value is the same as the default
           value of the 'mplsLdpEntityAtmDefaultControlVpi', however
           another value may be configured."
       DEFVAL  { 0 }
       ::= { mplsLdpEntityAtmEntry 8 }
Top   ToC   RFC3815 - Page 68
   mplsLdpEntityAtmUnlabTrafVci OBJECT-TYPE
       SYNTAX      MplsAtmVcIdentifier
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "VCI value of the VCC supporting unlabeled traffic.
           This non-MPLS connection is used to carry unlabeled (IP)
           packets. The default value is the same as the default
           value of the 'mplsLdpEntityAtmDefaultControlVci', however
           another value may be configured."
       DEFVAL  { 32 }
       ::= { mplsLdpEntityAtmEntry 9 }

   mplsLdpEntityAtmStorageType  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 }
       ::= { mplsLdpEntityAtmEntry 10 }

   mplsLdpEntityAtmRowStatus 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."
       ::= { mplsLdpEntityAtmEntry 11 }

   --
Top   ToC   RFC3815 - Page 69
   -- The MPLS LDP Entity ATM Label Range Table
   --

   mplsLdpEntityAtmLRTable OBJECT-TYPE
       SYNTAX SEQUENCE OF MplsLdpEntityAtmLREntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
           "The MPLS LDP Entity ATM Label Range (LR) Table.
           The purpose of this table is to provide a mechanism
           for configuring a contiguous range of vpi's
           with a contiguous range of vci's, or a 'label range'
           for LDP Entities.

           LDP Entities which use ATM must have at least one
           entry in this table.

           There must exist at least one entry in this
           table for every LDP Entity that has
           'mplsLdpEntityOptionalParameters' object with
           a value of 'atmSessionParameters'."
       ::= { mplsLdpEntityAtmObjects 2 }

   mplsLdpEntityAtmLREntry OBJECT-TYPE
       SYNTAX MplsLdpEntityAtmLREntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
           "A row in the LDP Entity ATM Label
           Range Table.  One entry in this table contains
           information on a single range of labels
           represented by the configured Upper and Lower
           Bounds VPI/VCI pairs.  These are the same
           data used in the Initialization Message.

           NOTE:  The ranges for a specific LDP Entity
           are UNIQUE and non-overlapping.  For example,
           for a specific LDP Entity index, there could
           be one entry having LowerBound vpi/vci == 0/32, and
           UpperBound vpi/vci == 0/100, and a second entry
           for this same interface with LowerBound
           vpi/vci == 0/101 and UpperBound vpi/vci == 0/200.
           However, there could not be a third entry with
           LowerBound vpi/vci == 0/200 and
           UpperBound vpi/vci == 0/300 because this label
           range overlaps with the second entry (i.e., both
           entries now have 0/200).
Top   ToC   RFC3815 - Page 70
           A row will not become active unless a unique and
           non-overlapping range is specified.

           At least one label range entry for a
           specific LDP Entity MUST
           include the default VPI/VCI  values denoted
           in the LDP Entity Table.

           A request to create a row with an overlapping
           range should result in an inconsistentValue
           error."
       INDEX       {  mplsLdpEntityLdpId,
                      mplsLdpEntityIndex,
                      mplsLdpEntityAtmLRMinVpi,
                      mplsLdpEntityAtmLRMinVci
                   }
       ::= { mplsLdpEntityAtmLRTable 1 }

   MplsLdpEntityAtmLREntry ::= SEQUENCE {
       mplsLdpEntityAtmLRMinVpi       AtmVpIdentifier,
       mplsLdpEntityAtmLRMinVci       MplsAtmVcIdentifier,
       mplsLdpEntityAtmLRMaxVpi       AtmVpIdentifier,
       mplsLdpEntityAtmLRMaxVci       MplsAtmVcIdentifier,
       mplsLdpEntityAtmLRStorageType  StorageType,
       mplsLdpEntityAtmLRRowStatus    RowStatus
   }

   mplsLdpEntityAtmLRMinVpi OBJECT-TYPE
       SYNTAX AtmVpIdentifier
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
           "The minimum VPI number configured for this range.
           The value of zero is a valid value for the VPI portion
           of the label."
       ::= { mplsLdpEntityAtmLREntry 1 }

   mplsLdpEntityAtmLRMinVci OBJECT-TYPE
       SYNTAX MplsAtmVcIdentifier
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
           "The minimum VCI number configured for this range."
       ::= { mplsLdpEntityAtmLREntry 2 }

   mplsLdpEntityAtmLRMaxVpi OBJECT-TYPE
       SYNTAX AtmVpIdentifier
       MAX-ACCESS read-create
Top   ToC   RFC3815 - Page 71
       STATUS current
       DESCRIPTION
           "The maximum VPI number configured for this range."
       ::= { mplsLdpEntityAtmLREntry 3 }

   mplsLdpEntityAtmLRMaxVci OBJECT-TYPE
       SYNTAX MplsAtmVcIdentifier
       MAX-ACCESS read-create
       STATUS current
       DESCRIPTION
           "The maximum VCI number configured for this range."
      ::= { mplsLdpEntityAtmLREntry 4 }

   mplsLdpEntityAtmLRStorageType  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 }
       ::= { mplsLdpEntityAtmLREntry 5 }

   mplsLdpEntityAtmLRRowStatus 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."
       ::= { mplsLdpEntityAtmLREntry 6 }
Top   ToC   RFC3815 - Page 72
   --
   -- MPLS LDP ATM Session Information
   --

   mplsLdpAtmSessionObjects OBJECT IDENTIFIER ::=
                                  { mplsLdpAtmObjects 2 }

   mplsLdpAtmSessionTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF MplsLdpAtmSessionEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table which relates sessions in the
           'mplsLdpSessionTable' and their label
           range intersections.  There could be one
           or more label range intersections between an
           LDP Entity and LDP Peer using ATM as the
           underlying  media.  Each row represents
           a single label range intersection.

           This table cannot use the 'AUGMENTS'
           clause because there is not necessarily
           a one-to-one mapping between this table
           and the mplsLdpSessionTable."
       ::= { mplsLdpAtmSessionObjects 1 }

   mplsLdpAtmSessionEntry OBJECT-TYPE
       SYNTAX      MplsLdpAtmSessionEntry
       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,
                     mplsLdpSessionAtmLRLowerBoundVpi,
                     mplsLdpSessionAtmLRLowerBoundVci
                   }
       ::= { mplsLdpAtmSessionTable 1 }

   MplsLdpAtmSessionEntry ::= SEQUENCE {
       mplsLdpSessionAtmLRLowerBoundVpi     AtmVpIdentifier,
       mplsLdpSessionAtmLRLowerBoundVci     MplsAtmVcIdentifier,
       mplsLdpSessionAtmLRUpperBoundVpi     AtmVpIdentifier,
Top   ToC   RFC3815 - Page 73
       mplsLdpSessionAtmLRUpperBoundVci     MplsAtmVcIdentifier
   }

   mplsLdpSessionAtmLRLowerBoundVpi OBJECT-TYPE
       SYNTAX AtmVpIdentifier
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
           "The minimum VPI number for this range."
       ::= { mplsLdpAtmSessionEntry 1 }

   mplsLdpSessionAtmLRLowerBoundVci OBJECT-TYPE
       SYNTAX MplsAtmVcIdentifier
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
           "The minimum VCI number for this range."
       ::= { mplsLdpAtmSessionEntry 2 }

   mplsLdpSessionAtmLRUpperBoundVpi OBJECT-TYPE
       SYNTAX AtmVpIdentifier
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
           "The maximum VPI number for this range."
       ::= { mplsLdpAtmSessionEntry 3 }

   mplsLdpSessionAtmLRUpperBoundVci OBJECT-TYPE
       SYNTAX MplsAtmVcIdentifier
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
           "The maximum VCI number for this range."
       ::= { mplsLdpAtmSessionEntry 4 }

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

   mplsLdpAtmGroups
       OBJECT IDENTIFIER ::= { mplsLdpAtmConformance 1 }

   mplsLdpAtmCompliances
       OBJECT IDENTIFIER ::= { mplsLdpAtmConformance 2 }

   --
   -- Full Compliance
   --
Top   ToC   RFC3815 - Page 74
   mplsLdpAtmModuleFullCompliance 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    {
                              mplsLdpAtmGroup
                           }


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

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

       ::= { mplsLdpAtmCompliances 1 }

   --
   -- Read-Only Compliance
   --

   mplsLdpAtmModuleReadOnlyCompliance 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    {
                              mplsLdpAtmGroup
                           }

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

       OBJECT       mplsLdpEntityAtmMergeCap
Top   ToC   RFC3815 - Page 75
       MIN-ACCESS   read-only
       DESCRIPTION
          "Write access is not required."

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

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

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

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

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

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

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

       OBJECT       mplsLdpEntityAtmRowStatus
       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       mplsLdpEntityAtmLRMaxVpi
       MIN-ACCESS   read-only
Top   ToC   RFC3815 - Page 76
       DESCRIPTION
          "Write access is not required."

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

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

       OBJECT       mplsLdpEntityAtmLRRowStatus
       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."

       ::= { mplsLdpAtmCompliances 2 }

   --
   -- units of conformance
   --

   mplsLdpAtmGroup OBJECT-GROUP
       OBJECTS {
       mplsLdpEntityAtmIfIndexOrZero,
       mplsLdpEntityAtmMergeCap,
       mplsLdpEntityAtmLRComponents,
       mplsLdpEntityAtmVcDirectionality,
       mplsLdpEntityAtmLsrConnectivity,
       mplsLdpEntityAtmDefaultControlVpi,
       mplsLdpEntityAtmDefaultControlVci,
       mplsLdpEntityAtmUnlabTrafVpi,
       mplsLdpEntityAtmUnlabTrafVci,
       mplsLdpEntityAtmStorageType,
       mplsLdpEntityAtmRowStatus,
       mplsLdpEntityAtmLRMaxVpi,
       mplsLdpEntityAtmLRMaxVci,
       mplsLdpEntityAtmLRStorageType,
       mplsLdpEntityAtmLRRowStatus,
       mplsLdpSessionAtmLRUpperBoundVpi,
       mplsLdpSessionAtmLRUpperBoundVci

       }
       STATUS    current
Top   ToC   RFC3815 - Page 77
       DESCRIPTION
           "Objects that apply to all MPLS LDP implementations
           using ATM as the Layer 2."
       ::= { mplsLdpAtmGroups 1 }

   END

4.2. The MPLS-LDP-FRAME-RELAY-STD-MIB Module

This MIB Module MUST be supported if LDP uses FRAME RELAY as the Layer 2 medium. There are three tables in this MIB Module. Two tables are to configure LDP for using Frame Relay. These tables are the mplsLdpEntityFrameRelayTable and the mplsLdpEntityFrameRelayLRTable. The third table, mplsLdpFrameRelaySessionTable, is a read-only table. This MIB Module IMPORTS the DLCI TEXTUAL-CONVENTION from [RFC2115].

4.2.1. The LDP Entity Frame Relay Table

The mplsLdpEntityFrameRelayTable provides a way to configure information which would be contained in the "Optional Parameter" portion of an LDP PDU Initialization Message.

4.2.2. The LDP Entity Frame Relay Label Range Table

The mplsLdpEntityFrameRelayLRTable provides a way to configure information which would be contained in the "Frame Relay Label Range Components" portion of an LDP PDU Intialization Message, see [RFC3034] and [RFC3036].

4.2.3. The LDP Frame Relay Session Table

The mplsLdpFrameRelaySessionTable is a table which contains session information specific to Frame Relay. 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
Top   ToC   RFC3815 - Page 78
           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."
Top   ToC   RFC3815 - Page 79
       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
Top   ToC   RFC3815 - Page 80
                   }
       ::= { 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.
Top   ToC   RFC3815 - Page 81
           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
Top   ToC   RFC3815 - Page 82
           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 }
Top   ToC   RFC3815 - Page 83
   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
Top   ToC   RFC3815 - Page 84
           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 }
Top   ToC   RFC3815 - Page 85
   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
Top   ToC   RFC3815 - Page 86
           "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'
Top   ToC   RFC3815 - Page 87
           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 }
Top   ToC   RFC3815 - Page 88
   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."
Top   ToC   RFC3815 - Page 89
       ::= { 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."
Top   ToC   RFC3815 - Page 90
       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