--MibName=rcDot1ag
RAISECOM-DOT1AG-MIB DEFINITIONS ::= BEGIN

-- ******************************************************************
-- IEEE P802.1ag(TM) CFM MIB
-- ******************************************************************

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE,
    Integer32, Counter32,
    Unsigned32               FROM SNMPv2-SMI    -- [RFC2578]
    TEXTUAL-CONVENTION,
    TimeInterval,
    TimeStamp, RowStatus,
    TruthValue, MacAddress,
    TDomain, TAddress        FROM SNMPv2-TC     -- [RFC2579]  
    MODULE-COMPLIANCE,
    OBJECT-GROUP, 
    NOTIFICATION-GROUP       FROM SNMPv2-CONF   -- [RFC2580]
    InterfaceIndex,
    InterfaceIndexOrZero     FROM IF-MIB        -- [RFC2863]
    LldpChassisId,
    LldpChassisIdSubtype,
    LldpPortId,
    LldpPortIdSubtype        FROM LLDP-MIB      -- [IEEExxx]
    VlanIdOrNone, VlanId     FROM Q-BRIDGE-MIB  -- [RFC4363] 
    iscomSwitch              FROM RAISECOM-BASE-MIB
    Dot1agCfmMaintDomainNameType,
	Dot1agCfmMaintDomainName,
	Dot1agCfmIngressActionFieldValue,
	Dot1agCfmMaintAssocNameType, 
	Dot1agCfmMaintAssocName, 
	Dot1agCfmMDLevel,
	Dot1agCfmMDLevelOrNone, 
	Dot1agCfmMpDirection, 
	Dot1agCfmPortStatus, 
	Dot1agCfmInterfaceStatus, 
	Dot1agCfmHighestDefectPri,
	Dot1agCfmLowestAlarmPri,
	Dot1agCfmMepId, 
	Dot1agCfmMepIdOrZero, 
	Dot1agCfmMhfCreation, 
	Dot1agCfmIdPermission, 
	Dot1agCfmCcmInterval, 
	Dot1agCfmFngState, 
	Dot1agCfmRelayActionFieldValue,
	Dot1agCfmEgressActionFieldValue, 
	Dot1agCfmRemoteMepState, 
	Dot1afCfmIndexIntegerNextFree, 
	Dot1agCfmMepDefects,  
	dot1agCfmMepHighestPrDefect,
	Dot1agCfmConfigErrors, 
	Dot1agCfmPbbComponentIdentifier FROM IEEE8021-CFM-MIB  --[IEEE8021-CFM-MIB81.mib]
   ;

rcDot1ag   MODULE-IDENTITY
    LAST-UPDATED "200706100000Z"    -- 06/10/2007 00:00GMT
    ORGANIZATION "Raisecom, Inc."
    CONTACT-INFO
       "       Raise Systems
                        
                Postal: Beijing,
                        China

                   Tel: 86-010-82884499

                E-mail: chendonghua@raisecom.com"
   DESCRIPTION 
     "This MIB module defines objects to CFM "
   REVISION       "200712210000Z"    -- 12/21/2007 00:00GMT
   DESCRIPTION 
      "this mib is redefined in order to access from private MIB note outside!"
    ::= { iscomSwitch 32 }

rcDot1agNotifications      OBJECT IDENTIFIER ::= { rcDot1ag 0 }
rcDot1agMIBObjects         OBJECT IDENTIFIER ::= { rcDot1ag 1 }
rcDot1agCfmConformance     OBJECT IDENTIFIER ::= { rcDot1ag 2 }
-- ******************************************************************
-- Groups in the CFM MIB Module
-- ******************************************************************
rcDot1agCfmStack           OBJECT IDENTIFIER ::= { rcDot1agMIBObjects 1 }
rcDot1agCfmDefaultMd       OBJECT IDENTIFIER ::= { rcDot1agMIBObjects 2 }
rcDot1agCfmVlan            OBJECT IDENTIFIER ::= { rcDot1agMIBObjects 3 }
rcDot1agCfmConfigErrorList OBJECT IDENTIFIER ::= { rcDot1agMIBObjects 4 }
rcDot1agCfmMd              OBJECT IDENTIFIER ::= { rcDot1agMIBObjects 5 }
rcDot1agCfmMa              OBJECT IDENTIFIER ::= { rcDot1agMIBObjects 6 }
rcDot1agCfmMep             OBJECT IDENTIFIER ::= { rcDot1agMIBObjects 7 }

-- ******************************************************************
-- Textual conventions
-- ******************************************************************

-- ******************************************************************
-- The Stack Object. This group will contain all the MIBs objects
-- needed to access the Stack managed object.
-- ******************************************************************

-- ******************************************************************
-- The CFM Stack Table
-- ******************************************************************

rcDot1agCfmStackTable
OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcDot1agCfmStackEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "There is one CFM Stack table per bridge. It permits
        the retrieval of information about the Maintenance Points
        configured on any given interface.
       "
    REFERENCE
       "802.1ag clauses 12.14.2"
    ::= { rcDot1agCfmStack 1 }

rcDot1agCfmStackEntry OBJECT-TYPE
    SYNTAX      RcDot1agCfmStackEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Stack table entry"
    INDEX { rcDot1agCfmStackifIndex, rcDot1agCfmStackVlanIdOrNone,
            rcDot1agCfmStackMdLevel, rcDot1agCfmStackDirection
          }
    ::= { rcDot1agCfmStackTable 1 }

RcDot1agCfmStackEntry ::= SEQUENCE {
      rcDot1agCfmStackifIndex       InterfaceIndex,
      rcDot1agCfmStackVlanIdOrNone  VlanIdOrNone,
      rcDot1agCfmStackMdLevel       Dot1agCfmMDLevel,
      rcDot1agCfmStackDirection     Dot1agCfmMpDirection,
      rcDot1agCfmStackMdIndex       Unsigned32,
      rcDot1agCfmStackMaIndex       Unsigned32,
      rcDot1agCfmStackMepId         Dot1agCfmMepIdOrZero,
      rcDot1agCfmStackMacAddress    MacAddress
    }

rcDot1agCfmStackifIndex
OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This object represents the  Bridge Port or aggregated port
        on which MEPs or MHFs might be configured.

        Upon a restart of the system, the system SHALL, if necessary,
        change the value of this variable, and  rearrange the
        rcDot1agCfmStackTable, so that it indexes the entry in the
        interface table with the same value of ifAlias that it
        indexed before the system restart.  If no such entry exists,
        then the system SHALL delete all entries in the
        rcDot1agCfmStackTable with the interface index.
       "
    REFERENCE
       "802.1ag clause 12.14.2.1.2:a"
    ::= { rcDot1agCfmStackEntry 1 }

rcDot1agCfmStackVlanIdOrNone
OBJECT-TYPE
    SYNTAX      VlanIdOrNone
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "VLAN ID to which the MP is attached, or 0, if none."
    REFERENCE
       "802.1ag clauses 12.14.2.1.2:d, 22.1.7"
    ::= { rcDot1agCfmStackEntry 2 }

rcDot1agCfmStackMdLevel
OBJECT-TYPE
    SYNTAX      Dot1agCfmMDLevel
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "MD Level of the Maintenance Point."
    REFERENCE
       "802.1ag clause 12.14.2.1.2:b"
    ::= { rcDot1agCfmStackEntry 3 }

rcDot1agCfmStackDirection
OBJECT-TYPE
    SYNTAX      Dot1agCfmMpDirection
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Direction in which the MP faces on the Bridge Port"
    REFERENCE
       "802.1ag clause 12.14.2.1.2:c"
    ::= { rcDot1agCfmStackEntry 4 }

rcDot1agCfmStackMdIndex
OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The index of the Maintenance Domain in the rcDot1agCfmMdTable
        to which the MP is associated, or 0, if none."
    REFERENCE
       "802.1ag clause 12.14.2.1.3:b"
    ::= { rcDot1agCfmStackEntry 5 }

rcDot1agCfmStackMaIndex
OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The index of the MA in the rcDot1agCfmMaNetTable and
        rcDot1agCfmMaCompTable to which the MP is associated, or 0, if
        none."
    REFERENCE
       "802.1ag clause 12.14.2.1.3:c"
    ::= { rcDot1agCfmStackEntry 6 }

rcDot1agCfmStackMepId
OBJECT-TYPE
    SYNTAX      Dot1agCfmMepIdOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "If an MEP is configured, the MEPID, else 0"
    REFERENCE
       "802.1ag clause 12.14.2.1.3:d"
    ::= { rcDot1agCfmStackEntry 7 }

rcDot1agCfmStackMacAddress
OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "MAC address of the MP."
    REFERENCE
      "802.1ag clause 12.14.2.1.3:e"
    ::= { rcDot1agCfmStackEntry 8 }

-- ******************************************************************
-- The VLAN Table
-- ******************************************************************

rcDot1agCfmVlanTable
OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcDot1agCfmVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table defines the association of VIDs into VLANs.  There
        is an entry in this table, for each component of the bridge,
        for each VID that is:
            a) a VID belonging to a VLAN associated with more than
               one VID; and
            b) not the Primary VLAN of that VID.
        The entry in this table contains the Primary VID of the VLAN.

        By default, this table is empty, meaning that every VID is
        the Primary VID of a single-VID VLAN.

        VLANs that are associated with only one VID SHOULD NOT have
        an entry in this table.

        The writable objects in this table need to be persistent
        upon reboot or restart of a device.
       "
    REFERENCE
       "802.1ag clauses 12.14.3.1.3:a, 12.14.3.2.2:a, 12.14.5.3.2:c,
        12.14.6.1.3:b, 22.1.5."
    ::= { rcDot1agCfmVlan 1 }

rcDot1agCfmVlanEntry OBJECT-TYPE
    SYNTAX      RcDot1agCfmVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The VLAN table entry."
    INDEX { rcDot1agCfmVlanComponentId, rcDot1agCfmVlanVid }
    ::= { rcDot1agCfmVlanTable 1 }

RcDot1agCfmVlanEntry ::= SEQUENCE {
      rcDot1agCfmVlanComponentId Dot1agCfmPbbComponentIdentifier,
      rcDot1agCfmVlanVid         VlanId,
      rcDot1agCfmVlanPrimaryVid  VlanId,
      rcDot1agCfmVlanRowStatus   RowStatus
    }

rcDot1agCfmVlanComponentId
OBJECT-TYPE
    SYNTAX      Dot1agCfmPbbComponentIdentifier
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The bridge component within the system to which the information
        in this rcDot1agCfmVlanEntry applies.  If the system is not a
        Bridge, or if only one component is present in the Bridge, then
        this variable (index) must be equal to 1.
       "
    REFERENCE
       "802.1ag clause 17.5"
    ::= { rcDot1agCfmVlanEntry 1 }

rcDot1agCfmVlanVid
OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This is a VLAN ID belonging to a VLAN that is associated with
        more than one VLAN ID, and this is not the Primary VID of the
        VLAN.
       "
    ::= { rcDot1agCfmVlanEntry 2 }

rcDot1agCfmVlanPrimaryVid
OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This is the Primary VLAN ID of the VLAN with which this
        entry's rcDot1agCfmVlanVid is associated.  This value must not
        equal the value of rcDot1agCfmVlanVid.
       "
    ::= { rcDot1agCfmVlanEntry 3 }

rcDot1agCfmVlanRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row can not be changed if the row
        is active. All columns must have a valid value before a row
        can be activated.
       "
    ::= { rcDot1agCfmVlanEntry 4 }

-- *******************************************************************
-- The Default MD Level object. This group will contain all the
-- MIB objects needed to access and modify default MD level
-- managed objects.
-- *******************************************************************

rcDot1agCfmDefaultMdDefLevel
OBJECT-TYPE
    SYNTAX      Dot1agCfmMDLevel
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "A value indicating the MD Level at which MHFs are to be
        created, and Sender ID TLV transmission by those MHFs is to
        be controlled, for each rcDot1agCfmDefaultMdEntry whose
        rcDot1agCfmDefaultMdLevel object contains the value -1.

        After this initialization, this object needs to be persistent
        upon reboot or restart of a device.
       "
    REFERENCE
       "802.1ag clause 12.14.3.1.3:c, 12.14.3.2.2:b"
    DEFVAL {0}
    ::= { rcDot1agCfmDefaultMd 1 }

rcDot1agCfmDefaultMdDefMhfCreation
OBJECT-TYPE
    SYNTAX      Dot1agCfmMhfCreation 
--    {
--                  defMHFnone     (1),
--                  defMHFdefault  (2),
--                  defMHFexplicit (3)
--                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "A value indicating if the Management entity can create MHFs
        (MIP Half Function) for the VID, for each
        rcDot1agCfmDefaultMdEntry whose rcDot1agCfmDefaultMdMhfCreation
        object contains the value defMHFdefer.  Since, in this
        variable, there is no encompassing Maintenance Domain, the
        value defMHFdefer is not allowed.

        After this initialization, this object needs to be persistent
        upon reboot or restart of a device.
       "
    REFERENCE
       "802.1ag clause 12.14.3.1.3:d"
    DEFVAL {defMHFnone}
    ::= { rcDot1agCfmDefaultMd 2 }

rcDot1agCfmDefaultMdDefIdPermission
OBJECT-TYPE
    SYNTAX      Dot1agCfmIdPermission 
--    {
--                  sendIdNone          (1),
--                  sendIdChassis       (2),
--                  sendIdManage        (3),
--                  sendIdChassisManage (4)
--                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Enumerated value indicating what, if anything, is to be
        included in the Sender ID TLV (21.5.3) transmitted by MHFs
        created by the Default Maintenance Domain, for each
        rcDot1agCfmDefaultMdEntry whose rcDot1agCfmDefaultMdIdPermission
        object contains the value sendIdDefer.  Since, in this
        variable, there is no encompassing Maintenance Domain, the
        value sendIdDefer is not allowed.

        After this initialization, this object needs to be persistent
        upon reboot or restart of a device.
       "
    REFERENCE
       "802.1ag clause 12.14.3.1.3:e"
    DEFVAL { sendIdNone }
    ::= { rcDot1agCfmDefaultMd 3 }

-- *******************************************************************
-- The Default MD Level Table
-- *******************************************************************

rcDot1agCfmDefaultMdTable
OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcDot1agCfmDefaultMdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "For each bridge component, the Default MD Level Managed Object
        controls MHF creation for VIDs that are not attached to a
        specific Maintenance Association Managed Object, and Sender ID
        TLV transmission by those MHFs.

        For each Bridge Port, and for each VLAN ID whose data can
        pass through that Bridge Port, an entry in this table is
        used by the algorithm in subclause 22.2.3 only if there is no
        entry in the Maintenance Association table defining an MA
        for the same VLAN ID and MD Level as this table's entry, and
        on which MA an Up MEP is defined.  If there exists such an
        MA, that MA's objects are used by the algorithm in
        subclause 22.2.3 in place of this table entry's objects.  The
        agent maintains the value of rcDot1agCfmDefaultMdStatus to
        indicate whether this entry is overridden by an MA.

        When first initialized, the agent creates this table
        automatically with entries for all VLAN IDs,
        with the default values specified for each object.

        After this initialization, the writable objects in this
        table need to be persistent upon reboot or restart of a
        device.
       "
    REFERENCE
       "802.1ag clause 12.14.3"
    ::= { rcDot1agCfmDefaultMd 4 }

rcDot1agCfmDefaultMdEntry OBJECT-TYPE
    SYNTAX      RcDot1agCfmDefaultMdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Default MD Level table entry."
    INDEX { rcDot1agCfmDefaultMdComponentId,
            rcDot1agCfmDefaultMdPrimaryVid }
    ::= { rcDot1agCfmDefaultMdTable 1 }

RcDot1agCfmDefaultMdEntry ::= SEQUENCE {
      rcDot1agCfmDefaultMdComponentId  Dot1agCfmPbbComponentIdentifier,
      rcDot1agCfmDefaultMdPrimaryVid   VlanId,
      rcDot1agCfmDefaultMdStatus       TruthValue,
      rcDot1agCfmDefaultMdLevel        Dot1agCfmMDLevelOrNone,
      rcDot1agCfmDefaultMdMhfCreation  Dot1agCfmMhfCreation,
      rcDot1agCfmDefaultMdIdPermission Dot1agCfmIdPermission
    }

rcDot1agCfmDefaultMdComponentId
OBJECT-TYPE
    SYNTAX      Dot1agCfmPbbComponentIdentifier
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The bridge component within the system to which the information
        in this rcDot1agCfmDefaultMdEntry applies.  If the system is not
        a Bridge, or if only one component is present in the Bridge,
        then this variable (index) must be equal to 1.
       "
    REFERENCE
       "802.1ag clause 17.5"
    ::= { rcDot1agCfmDefaultMdEntry 1 }

rcDot1agCfmDefaultMdPrimaryVid
OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Primary VID of the VLAN to which this entry's objects
        apply."
    ::= { rcDot1agCfmDefaultMdEntry 2 }

rcDot1agCfmDefaultMdStatus
OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "State of this Default MD Level table entry.  True if there is
        no entry in the Maintenance Association table defining an MA
        for the same VLAN ID and MD Level as this table's entry, and
        on which MA an Up MEP is defined, else false.
       "
    REFERENCE
       "802.1ag clause 12.14.3.1.3:b"
    ::= { rcDot1agCfmDefaultMdEntry 3 }

rcDot1agCfmDefaultMdLevel
OBJECT-TYPE
    SYNTAX      Dot1agCfmMDLevelOrNone
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "A value indicating the MD Level at which MHFs are to be
        created, and Sender ID TLV transmission by those MHFs is to
        be controlled, for the VLAN to which this entry's objects
        apply.  If this object has the value -1, the MD Level for MHF
        creation for this VLAN is controlled by
        rcDot1agCfmDefaultMdDefLevel.
       "
    REFERENCE
       "802.1ag clause 12.14.3.1.3:c, 12.14.3.2.2:b"
    DEFVAL {-1}
    ::= { rcDot1agCfmDefaultMdEntry 4 }

rcDot1agCfmDefaultMdMhfCreation
OBJECT-TYPE
    SYNTAX      Dot1agCfmMhfCreation
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "A value indicating if the Management entity can create MHFs
        (MIP Half Function) for this VID at this MD Level.  If this
        object has the value defMHFdefer, MHF creation for this VLAN
        is controlled by rcDot1agCfmDefaultMdDefMhfCreation.

        The value of this variable is meaningless if the values of
        rcDot1agCfmDefaultMdStatus is false.
       "
    REFERENCE
       "802.1ag clause 12.14.3.1.3:d"
    DEFVAL {defMHFdefer}
    ::= { rcDot1agCfmDefaultMdEntry 5 }

rcDot1agCfmDefaultMdIdPermission
OBJECT-TYPE
    SYNTAX      Dot1agCfmIdPermission
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Enumerated value indicating what, if anything, is to be
        included in the Sender ID TLV (21.5.3) transmitted by MHFs
        created by the Default Maintenance Domain.  If this object
        has the value sendIdDefer, Sender ID TLV transmission for
        this VLAN is controlled by rcDot1agCfmDefaultMdDefIdPermission.

        The value of this variable is meaningless if the values of
        rcDot1agCfmDefaultMdStatus is false.
       "
    REFERENCE
       "802.1ag clause 12.14.3.1.3:e"
    DEFVAL { sendIdDefer }
    ::= { rcDot1agCfmDefaultMdEntry 6 }

-- ******************************************************************
-- The CFM configuration error list managed object. This group will
-- contain all the MIB objects used to read the interfaces and VIDs
-- configured incorrectly.
-- ******************************************************************

-- ******************************************************************
-- The CFM Configuration Error List Table
-- ******************************************************************

rcDot1agCfmConfigErrorListTable
OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcDot1agCfmConfigErrorListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The CFM Configuration Error List table provides a list of
        Interfaces and VIDs that are incorrectly configured.
       "
    REFERENCE
       "802.1ag clause 12.14.4"
    ::= {rcDot1agCfmConfigErrorList 1}

rcDot1agCfmConfigErrorListEntry OBJECT-TYPE
    SYNTAX      RcDot1agCfmConfigErrorListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Config Error List Table  entry"
    INDEX { rcDot1agCfmConfigErrorListVid,
            rcDot1agCfmConfigErrorListIfIndex
          }
    ::= { rcDot1agCfmConfigErrorListTable 1}

RcDot1agCfmConfigErrorListEntry ::= SEQUENCE {
      rcDot1agCfmConfigErrorListVid         VlanId,
      rcDot1agCfmConfigErrorListIfIndex     InterfaceIndex,
      rcDot1agCfmConfigErrorListErrorType   Dot1agCfmConfigErrors
    }


rcDot1agCfmConfigErrorListVid
OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The VLAN ID of the VLAN with interfaces in error."
    REFERENCE
       "802.1ag Clause 12.14.4.1.2:a"
    ::= { rcDot1agCfmConfigErrorListEntry 1 }

rcDot1agCfmConfigErrorListIfIndex
OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This object is the IfIndex of the interface.

        Upon a restart of the system, the system SHALL, if necessary,
        change the value of this variable so that it indexes the
        entry in the interface table with the same value of ifAlias
        that it indexed before the system restart.  If no such
        entry exists, then the system SHALL delete any entries in
        rcDot1agCfmConfigErrorListTable indexed by that
        InterfaceIndex value.
       "
    REFERENCE
       "802.1ag clause 12.14.4.1.2:b"
    ::= { rcDot1agCfmConfigErrorListEntry 2 }

rcDot1agCfmConfigErrorListErrorType
OBJECT-TYPE
    SYNTAX      Dot1agCfmConfigErrors
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "A vector of Boolean error conditions from 22.2.4, any of
        which may be true:

        0) CFMleak;
        1) ConflictingVids;
        2) ExcessiveLevels;
        3) OverlappedLevels.
       "
    REFERENCE
       "802.1ag clause 12.14.4.1.3:b"
    ::= { rcDot1agCfmConfigErrorListEntry 3 }

-- ******************************************************************
-- The Maintenance Domain Managed Object.  This group contains all  
-- the MIB objects used to maintain Maintenance Domains.
-- ******************************************************************

rcDot1agCfmMdTableNextIndex OBJECT-TYPE
    SYNTAX      Dot1afCfmIndexIntegerNextFree
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains an unused value for rcDot1agCfmMdIndex in
        the rcDot1agCfmMdTable, or a zero to indicate that none exist.
       "
    ::= { rcDot1agCfmMd 1 }

-- ******************************************************************
-- The Maintenance Domain Table
-- ******************************************************************

rcDot1agCfmMdTable
OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcDot1agCfmMdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Maintenance Domain table. Each row in the table
        represents a different Maintenance Domain.

        A Maintenance Domain is described in 802.1ag (3.21) as the
        network or the part of the network for which faults in
        connectivity are to be managed. The boundary of a Maintenance
        Domain is defined by a set of DSAPs, each of which can become
        a point of connectivity to a service instance.
       "
    REFERENCE
       "802.1ag clauses 3.21 and 18.1"
    ::= { rcDot1agCfmMd 2 }

rcDot1agCfmMdEntry OBJECT-TYPE
    SYNTAX      RcDot1agCfmMdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Maintenance Domain table entry. This entry is not lost
        upon reboot. It is backed up by stable storage.
       "
    INDEX {rcDot1agCfmMdIndex }
    ::= { rcDot1agCfmMdTable 1 }

RcDot1agCfmMdEntry ::= SEQUENCE {
      rcDot1agCfmMdIndex                Unsigned32,
      rcDot1agCfmMdFormat               Dot1agCfmMaintDomainNameType,
      rcDot1agCfmMdName                 Dot1agCfmMaintDomainName,
      rcDot1agCfmMdMdLevel              Dot1agCfmMDLevel,
      rcDot1agCfmMdMhfCreation          Dot1agCfmMhfCreation,
      rcDot1agCfmMdMhfIdPermission      Dot1agCfmIdPermission,
      rcDot1agCfmMdMaNextIndex          Dot1afCfmIndexIntegerNextFree,
      rcDot1agCfmMdRowStatus            RowStatus
    }

rcDot1agCfmMdIndex
OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index to the Maintenance Domain table.

        rcDot1agCfmMdTableNextIndex needs to be inspected to find an
        available index for row-creation.

        Referential integrity is required, i.e., the index needs to be
        persistent upon a reboot or restart of a device.  The index
        can never be reused for other Maintenance Domain.  The index
        value should keep increasing up to the time that they wrap
        around. This is to facilitate access control based on OID.
       "
    ::= { rcDot1agCfmMdEntry 1 }

rcDot1agCfmMdFormat
OBJECT-TYPE
    SYNTAX      Dot1agCfmMaintDomainNameType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The type (and thereby format) of the Maintenance Domain Name."
    REFERENCE
       "802.1ag clause 21.6.5.1"
    DEFVAL { charString }
    ::= { rcDot1agCfmMdEntry 2 }

rcDot1agCfmMdName
OBJECT-TYPE
    SYNTAX      Dot1agCfmMaintDomainName
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Maintenance Domain name. The type/format of this object
        is determined by the value of the rcDot1agCfmMdNameType object.
          
        Each Maintenance Domain has unique name amongst all those
        used or available to a service provider or operator.  It
        facilitates easy identification of administrative
        responsibility for each Maintenance Domain.

        Clause 3.23 defines a Maintenance Domain name as the
        identifier, unique over the domain for which CFM is to
        protect against accidental concatenation of Service
        Instances, of a particular Maintenance Domain.
       "
    REFERENCE
       "802.1ag clauses 3.23, 12.14.5, and 21.6.5.3"
    DEFVAL { "DEFAULT" }
    ::= { rcDot1agCfmMdEntry 3 }

rcDot1agCfmMdMdLevel
OBJECT-TYPE
    SYNTAX      Dot1agCfmMDLevel
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Maintenance Domain Level."
    REFERENCE
       "802.1ag clause 12.14.5.1.3:b"
    DEFVAL { 0 }
    ::= { rcDot1agCfmMdEntry 4 }

rcDot1agCfmMdMhfCreation
OBJECT-TYPE
    SYNTAX      Dot1agCfmMhfCreation 
--    {
--                  defMHFnone     (1),
--                  defMHFdefault  (2),
--                  defMHFexplicit (3)
--                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Enumerated value indicating whether the management entity can
        create MHFs (MIP Half Function) for this Maintenance Domain.
        Since, in this variable, there is no encompassing Maintenance
        Domain, the value defMHFdefer is not allowed.
       "
    REFERENCE
       "802.1ag clause 12.14.5.1.3:c"
    DEFVAL { defMHFnone }
    ::= { rcDot1agCfmMdEntry 5 }

rcDot1agCfmMdMhfIdPermission
OBJECT-TYPE
    SYNTAX      Dot1agCfmIdPermission 
--    {
--                  sendIdNone          (1),
--                  sendIdChassis       (2),
--                  sendIdManage        (3),
--                  sendIdChassisManage (4)
--                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Enumerated value indicating what, if anything, is to be
        included in the Sender ID TLV (21.5.3) transmitted by MPs
        configured in this Maintenance Domain.  Since, in this
        variable, there is no encompassing Maintenance Domain, the
        value sendIdDefer is not allowed.
       "
    REFERENCE
       "802.1ag clause 12.14.5.1.3:d"
    DEFVAL { sendIdNone }
    ::= { rcDot1agCfmMdEntry 6 }

rcDot1agCfmMdMaNextIndex
OBJECT-TYPE
    SYNTAX      Dot1afCfmIndexIntegerNextFree
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Value to be used as the index of the MA table entries, both
        the rcDot1agCfmMaNetTable and the rcDot1agCfmMaCompTable, for
        this Maintenance Domain when the management entity wants to
        create a new row in those tables.
       "
   ::= { rcDot1agCfmMdEntry 7 }

rcDot1agCfmMdRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row can not be changed if the row
        is active. All columns must have a valid value before a row
        can be activated.
       "
    ::= { rcDot1agCfmMdEntry 8 }

-- ******************************************************************
-- The Maintenance Association Object. This group contains all the
-- MIB objects used to read, create, modify, and delete Maintenance
-- Associations in the MIB.
-- ******************************************************************

-- ******************************************************************
-- The Maintenance Association (MA) Network Table
-- ******************************************************************

rcDot1agCfmMaNetTable
OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcDot1agCfmMaNetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Maintenance Association table.  Each row in the table
        represents an MA.  An MA is a set of MEPs, each configured
        with a single service instance.

        This is the part of the complete MA table that is constant
        across all Bridges in a Maintenance Domain, and across all
        components of a single Bridge.  That part of the MA table that
        can vary from Bridge component to Bridge component is contained
        in the rcDot1agCfmMaCompTable.

        Creation of a Service Instance establishes a connectionless
        association among the selected DSAPs.  Configuring a
        Maintenance association End Point (MEP) at each of the
        DSAPs creates a Maintenance Association (MA) to monitor
        that connectionless connectivity.  The MA is identified by a
        Short MA Name that is unique within the Maintenance Domain
        and chosen to facilitate easy identification of the Service
        Instance.  Together, the Maintenance Domain Name and the
        Short MA Name form the Maintenance Association Identifier
        (MAID) that is carried in CFM Messages to identify
        incorrect connectivity among Service Instances.  A small
        integer, the Maintenance association End Point Identifier
        (MEPID), identifies each MEP among those configured on a
        single MA (802.1ag clauses 3.16 and 18.2).

        This table uses two indices, first index is the index of the
        Maintenance Domain table.  The second index is the same as the
        index of the rcDot1agCfmMaCompEntry for the same MA.

        The writable objects in this table need to be persistent
        upon reboot or restart of a device.

       "
    REFERENCE
       "802.1ag clause 18.2"
    ::= { rcDot1agCfmMa 1 }

rcDot1agCfmMaNetEntry OBJECT-TYPE
    SYNTAX      RcDot1agCfmMaNetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The MA table entry."
    INDEX {rcDot1agCfmMdIndex, rcDot1agCfmMaIndex }
    ::= { rcDot1agCfmMaNetTable 1 }

RcDot1agCfmMaNetEntry ::= SEQUENCE {
      rcDot1agCfmMaIndex                   Unsigned32,
      rcDot1agCfmMaNetFormat               Dot1agCfmMaintAssocNameType,
      rcDot1agCfmMaNetName                 Dot1agCfmMaintAssocName,
      rcDot1agCfmMaNetCcmInterval          Dot1agCfmCcmInterval,
      rcDot1agCfmMaNetRowStatus            RowStatus
    }

rcDot1agCfmMaIndex
OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION

       "Index of the MA table rcDot1agCfmMdMaNextIndex needs to
        be inspected to find an available index for row-creation.
       "
    ::= { rcDot1agCfmMaNetEntry 1 }

rcDot1agCfmMaNetFormat
OBJECT-TYPE
    SYNTAX      Dot1agCfmMaintAssocNameType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The type (and thereby format) of the Maintenance Association
        Name.
       "
    REFERENCE
       "802.1ag clauses 21.6.5.4"
    ::= { rcDot1agCfmMaNetEntry 2 }

rcDot1agCfmMaNetName
OBJECT-TYPE
    SYNTAX      Dot1agCfmMaintAssocName
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Short Maintenance Association name. The type/format of
        this object is determined by the value of the
        rcDot1agCfmMaNetNameType object.  This name must be unique within
        a maintenance domain.
       "
    REFERENCE
       "802.1ag clauses 21.6.5.6, and Table 21-20"
    ::= { rcDot1agCfmMaNetEntry 3 }

rcDot1agCfmMaNetCcmInterval
OBJECT-TYPE
    SYNTAX      Dot1agCfmCcmInterval
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Interval between CCM transmissions to be used by all MEPs
        in the MA.
       "
    REFERENCE
       "802.1ag clause 12.14.6.1.3:e"
    DEFVAL { interval1s }
    ::= { rcDot1agCfmMaNetEntry 4 }

rcDot1agCfmMaNetRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row can not be changed if the row
        is active. All columns must have a valid value before a row
        can be activated.
       "
    ::= { rcDot1agCfmMaNetEntry 5 }

-- ******************************************************************
-- The Maintenance Association (MA) Component Table
-- ******************************************************************

rcDot1agCfmMaCompTable
OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcDot1agCfmMaCompEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Maintenance Association table.  Each row in the table
        represents an MA.  An MA is a set of MEPs, each configured
        with a single service instance.

        This is the part of the complete MA table that is variable
        across the Bridges in a Maintenance Domain, or across the
        components of a single Bridge.  That part of the MA table that
        is constant across the Bridges and their components in a
        Maintenance Domain is contained in the rcDot1agCfmMaNetTable.

        This table uses three indices, first index is the
        rcDot1agCfmPbbComponentIdentifier that identifies the component
        within the Bridge for which the information in the
        rcDot1agCfmMaCompEntry applies.  The second is the index of the
        Maintenance Domain table.  The third index is the same as the
        index of the rcDot1agCfmMaNetEntry for the same MA.

        The writable objects in this table need to be persistent
        upon reboot or restart of a device.

       "
    REFERENCE
       "802.1ag clause 18.2"
    ::= { rcDot1agCfmMa 2 }

rcDot1agCfmMaCompEntry OBJECT-TYPE
    SYNTAX      RcDot1agCfmMaCompEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The MA table entry."
    INDEX {rcDot1agCfmMaComponentId,
           rcDot1agCfmMdIndex, rcDot1agCfmMaIndex }
    ::= { rcDot1agCfmMaCompTable 1 }

RcDot1agCfmMaCompEntry ::= SEQUENCE {
      rcDot1agCfmMaComponentId         Dot1agCfmPbbComponentIdentifier,
      rcDot1agCfmMaCompPrimaryVlanId   VlanIdOrNone,
      rcDot1agCfmMaCompMhfCreation     Dot1agCfmMhfCreation,
      rcDot1agCfmMaCompIdPermission    Dot1agCfmIdPermission,
      rcDot1agCfmMaCompNumberOfVids    Unsigned32,
      rcDot1agCfmMaCompRowStatus       RowStatus
    }

rcDot1agCfmMaComponentId
OBJECT-TYPE
    SYNTAX      Dot1agCfmPbbComponentIdentifier
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The bridge component within the system to which the information
        in this rcDot1agCfmMaCompEntry applies.  If the system is not a
        Bridge, or if only one component is present in the Bridge, then
        this variable (index) must be equal to 1.
       "
    REFERENCE
       "802.1ag clause 17.5"
    ::= { rcDot1agCfmMaCompEntry 1 }

rcDot1agCfmMaCompPrimaryVlanId OBJECT-TYPE
    SYNTAX      VlanIdOrNone
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Primary VLAN ID with which the Maintenance Association is
        associated, or 0 if the MA is not attached to any VID.  If
        the MA is associated with more than one VID, the
        rcDot1agCfmVlanTable lists them."
    REFERENCE
       "802.1ag clause 12.14.6.1.3:b"
    ::= { rcDot1agCfmMaCompEntry 2 }

rcDot1agCfmMaCompMhfCreation
OBJECT-TYPE
    SYNTAX      Dot1agCfmMhfCreation
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Indicates if the Management entity can create MHFs (MIP Half
        Function) for this MA.
       "
    REFERENCE
       "802.1ag clause 12.14.6.1.3:c"
    DEFVAL { defMHFdefer }
    ::= { rcDot1agCfmMaCompEntry 3 }

rcDot1agCfmMaCompIdPermission
OBJECT-TYPE
    SYNTAX      Dot1agCfmIdPermission
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Enumerated value indicating what, if anything, is to be
        included in the Sender ID TLV (21.5.3) transmitted by MPs
        configured in this MA.
       "
    REFERENCE
       "802.1ag clause 12.14.6.1.3:d"
    DEFVAL { sendIdDefer }
    ::= { rcDot1agCfmMaCompEntry 4 }

rcDot1agCfmMaCompNumberOfVids
OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The number of VIDs associated with the MA.
       "
    REFERENCE
       "802.1ag clause 12.14.6.1.3:b"
    ::= { rcDot1agCfmMaCompEntry 5 }

rcDot1agCfmMaCompRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row can not be changed if the row
        is active. All columns must have a valid value before a row
        can be activated.
       "
    ::= { rcDot1agCfmMaCompEntry 6 }

-- ******************************************************************
-- The list of known MEPs for a given MA
-- ******************************************************************

rcDot1agCfmMaMepListTable
OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcDot1agCfmMaMepListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "List of MEPIDs that belong to this MA.
 
        Clause 12.14.6.1.3 specifies that a list of MEPIDs in all
        bridges in that MA, but since SNMP SMI does not allow to
        state in a MIB that an object in a table is an array, the 
        information has to be stored in another table with two
        indices, being the first index, the index of the table that 
        contains the list or array.

        For all bridges in which the same MAID {rcDot1agCfmMdFormat,
        rcDot1agCfmMdName, rcDot1agCfmMaNetFormat, and rcDot1agCfmMaNetName}
        is configured, the same set of rcDot1agCfmMaMepListIdentifiers
        must be configured in the bridges' rcDot1agCfmMaMepListTables.
        This allows each MEP to determine whether or not it is
        receiving CCMs from all of the other MEPs in the MA.

        For example, if one were creating a new MA whose MAID were
        {charString, 'Dom1', charString, 'MA1'}, that had 2 MEPs, whose
        MEPIDs were 1 and 3, one could, in Bridge A:
         1. Get a new MD index d from rcDot1agCfmMdTableNextIndex.
         2. Create the Maintenance Domain {charString, 'Dom1'}.
         3. Get a new MA index a from rcDot1agCfmMdMaNextIndex [d].
         4. Create the Maintenance Association {charString, 'MA1'}.
         5. Create a new rcDot1agCfmMaMepListEntry for each of the MEPs
            in the MA: [d, a, 1] and [d, a, 3].
         6. Create one of the new MEPs, say [d, a, 1].
        Then, in Bridge B:
         7. Do all of these steps 1-6, except for using the other MEPID
            for the new MEP in Step 6, in this example, MEPID 3.
        Note that, when creating the MA, MEP List Table, and MEP
        entries in the second bridge, the indices 'd' and 'a'
        identifying the MAID {charString, 'Dom1', charString, 'MA1'}
        may have different values than those in the first Bridge.
       "
    REFERENCE
       "802.1ag clause 12.14.6.1.3:g"
    ::= { rcDot1agCfmMa 3 }

rcDot1agCfmMaMepListEntry OBJECT-TYPE
    SYNTAX      RcDot1agCfmMaMepListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The known MEPS table entry."
    INDEX { rcDot1agCfmMdIndex,
            rcDot1agCfmMaIndex,
            rcDot1agCfmMaMepListIdentifier
          }
    ::= { rcDot1agCfmMaMepListTable 1 }

RcDot1agCfmMaMepListEntry ::= SEQUENCE {
      rcDot1agCfmMaMepListIdentifier  Dot1agCfmMepId,
      rcDot1agCfmMaMepListRowStatus   RowStatus
    }

rcDot1agCfmMaMepListIdentifier
OBJECT-TYPE
    SYNTAX      Dot1agCfmMepId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "MEPID"
    REFERENCE
       "802.1ag clause 12.14.6.1.3:g"
    ::= { rcDot1agCfmMaMepListEntry 1 }

rcDot1agCfmMaMepListRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row. Read SNMPv2-TC (RFC1903) for an
        explanation of the possible values this object can take.
       "
    ::= { rcDot1agCfmMaMepListEntry 2 }

-- ******************************************************************
-- The MEP Object.  This object represents a Maintenance End
-- Point as described in 802.1ag document.
-- ******************************************************************

-- ******************************************************************
-- The MEP Table
-- ******************************************************************

rcDot1agCfmMepTable
OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcDot1agCfmMepEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Maintenance Association End Point (MEP) table.

        Each row in the table represents a different MEP.  A MEP is
        an actively managed CFM entity, associated with a specific
        DSAP of a Service Instance, which can generate and receive
        CFM PDUs and track any responses.  It is an end point of a
        single Maintenance Association, and is an endpoint of a
        separate Maintenance Entity for each of the other MEPs in
        the same Maintenance Association (802.1ag clause 3.17).

        This table uses three indices. The first two indices are the
        indices of the Maintenance Domain and MA tables, the reason
        being that a MEP is always related to an MA and Maintenance
        Domain.

        The MEP table also stores all the managed objects for sending
        LBM and LTM.

        *LBM Managed objects

        LBM Managed objects in the MEP table 
        enables the management entity to initiate
        transmission of Loopback messages.  It will signal the MEP
        that it should transmit some number of Loopback messages
        and detect the detection (or lack thereof) of the
        corresponding Loopback messages.
 
        Steps to use entries in this table:

        1) Wait for rcDot1agCfmMepTransmitLbmStatus value to be
           true.  To do this do this sequence:
           a. an SNMP GET for both SnmpSetSerialNo and
              rcDot1agCfmMepTransmitLbmStatus objects (in same SNMP
              PDU).
           b. Check if value for rcDot1agCfmMepTransmitLbmStatus is true.
              - if not, wait x seconds, go to step a above.
              - if yes, save the value of SnmpSetSerialNo and go
                to step 2) below
        2) Change rcDot1agCfmMepTransmitLbmStatus value from true to
           false to ensure no other management entity will use
           the service. In order to not disturb a possible other NMS
           do this by sending an SNMP SET for both SnmpSetSerialNo 
           and rcDot1agCfmMepTransmitLbmStatus objects (in same SNMP
           PDU,  and make sure SNmpSetSerialNo is the first varBind).
           For the SnmpSetSerialNo varBind, use the value that you
           obtained in step 1)a.. This ensures that two cooperating
           NMSes will not step on each others toes.
        3) Setup the different data to be sent (number of messages,
           optional TLVs,...), except do not set
           rcDot1agCfmMepTransmitLbmMessages.
        4) Record the current values of rcDot1agCfmMepLbrIn,
           rcDot1agCfmMepLbrInOutOfOrder, and rcDot1agCfmMepLbrBadMsdu.
        6) Set rcDot1agCfmMepTransmitLbmMessages to a non-zero value to
           initiate transmission of Loopback messages.
        7) Check the value of rcDot1agCfmMepTransmitLbmResultOK to
           find out if the operation was successfully initiated or
           not.
        8) Monitor the value of rcDot1agCfmMepTransmitLbmMessages.
           When it reaches 0, the last LBM has been transmitted.
           Wait an additional 5 seconds to ensure that all LBRs have
           been returned.
        9) Compare rcDot1agCfmMepLbrIn, rcDot1agCfmMepLbrInOutOfOrder,
           and rcDot1agCfmMepLbrBadMsdu to their old values from step
           4, above, to get the results of the test.
       10) Change the rcDot1agCfmMepTransmitLbmStatus value back to
           true to allow other management entities to use the table.

        *LTM Managed objects
        The LTM Managed objects in the MEP table are used in a manner
        similar to that described for LBM transmission, above, except
        transmission is initiated by writing a value to the
        rcDot1agCfmMepTransmitLtmFlags object.  Upon
        successfully initiating the transmission, the variables
        rcDot1agCfmMepTransmitLtmSeqNumber and
        rcDot1agCfmMepTransmitLtmEgressIdentifier return the information
        required to recover the results of the LTM from the
        rcDot1agCfmLtrTable.
       "
    REFERENCE
       "802.1ag clauses 12.14.7 and 19.2"
    ::= { rcDot1agCfmMep 1 }

rcDot1agCfmMepEntry OBJECT-TYPE
    SYNTAX      RcDot1agCfmMepEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The MEP table entry"
    INDEX { rcDot1agCfmMdIndex,
            rcDot1agCfmMaIndex,
            rcDot1agCfmMepIdentifier
          }
    ::= { rcDot1agCfmMepTable 1 }

RcDot1agCfmMepEntry ::= SEQUENCE {
      rcDot1agCfmMepIdentifier                   Dot1agCfmMepId,
      rcDot1agCfmMepIfIndex                      InterfaceIndexOrZero,
      rcDot1agCfmMepDirection                    Dot1agCfmMpDirection,
      rcDot1agCfmMepPrimaryVid                   Unsigned32,
      rcDot1agCfmMepActive                       TruthValue,
      rcDot1agCfmMepFngState                     Dot1agCfmFngState,
      rcDot1agCfmMepCciEnabled                   TruthValue,
      rcDot1agCfmMepCcmLtmPriority               Unsigned32,
      rcDot1agCfmMepMacAddress                   MacAddress,
      rcDot1agCfmMepLowPrDef                 	 Dot1agCfmLowestAlarmPri,
      rcDot1agCfmMepFngAlarmTime                 TimeInterval,
      rcDot1agCfmMepFngResetTime                 TimeInterval,
      rcDot1agCfmMepHighestPrDefect              Dot1agCfmHighestDefectPri,
      rcDot1agCfmMepDefects                      Dot1agCfmMepDefects,
      rcDot1agCfmMepErrorCcmLastFailure          OCTET STRING,
      rcDot1agCfmMepXconCcmLastFailure           OCTET STRING,
      rcDot1agCfmMepCcmSequenceErrors            Counter32,
      rcDot1agCfmMepCciSentCcms                  Counter32,
      rcDot1agCfmMepNextLbmTransId               Unsigned32,
      rcDot1agCfmMepLbrIn                        Counter32,
      rcDot1agCfmMepLbrInOutOfOrder              Counter32,
      rcDot1agCfmMepLbrBadMsdu                   Counter32,
      rcDot1agCfmMepLtmNextSeqNumber             Unsigned32,
      rcDot1agCfmMepUnexpLtrIn                   Counter32,
      rcDot1agCfmMepLbrOut                       Counter32,
      rcDot1agCfmMepTransmitLbmStatus            TruthValue,
      rcDot1agCfmMepTransmitLbmDestMacAddress    MacAddress,
      rcDot1agCfmMepTransmitLbmDestMepId         Dot1agCfmMepIdOrZero,
      rcDot1agCfmMepTransmitLbmDestIsMepId       TruthValue,
      rcDot1agCfmMepTransmitLbmMessages          Integer32,
      rcDot1agCfmMepTransmitLbmDataTlv           OCTET STRING,
      rcDot1agCfmMepTransmitLbmVlanPriority      Integer32,
      rcDot1agCfmMepTransmitLbmVlanDropEnable    TruthValue,
      rcDot1agCfmMepTransmitLbmResultOK          TruthValue,
      rcDot1agCfmMepTransmitLbmSeqNumber         Unsigned32,
      rcDot1agCfmMepTransmitLtmStatus            TruthValue,
      rcDot1agCfmMepTransmitLtmFlags             BITS,
      rcDot1agCfmMepTransmitLtmTargetMacAddress  MacAddress,
      rcDot1agCfmMepTransmitLtmTargetMepId       Dot1agCfmMepIdOrZero,
      rcDot1agCfmMepTransmitLtmTargetIsMepId     TruthValue,
      rcDot1agCfmMepTransmitLtmTtl               Unsigned32,
      rcDot1agCfmMepTransmitLtmResult            TruthValue,
      rcDot1agCfmMepTransmitLtmSeqNumber         Unsigned32,
      rcDot1agCfmMepTransmitLtmEgressIdentifier  OCTET STRING,
      rcDot1agCfmMepRowStatus                    RowStatus
    }

rcDot1agCfmMepIdentifier
OBJECT-TYPE
    SYNTAX      Dot1agCfmMepId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Integer that is unique among all the MEPs in the same MA.
        Other definition is: a small integer, unique over a given
        Maintenance Association, identifying a specific Maintenance
        association End Point (3.18).

        MEP Identifier is also known as the MEPID.
       "
    REFERENCE
       "802.1ag clauses 3.18, 19.2 and 12.14.7"
    ::= { rcDot1agCfmMepEntry 1 }

rcDot1agCfmMepIfIndex
OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is the interface index of the interface either a
        bridge port, or an aggregated IEEE 802.1 link within a bridge
        port, to which the MEP is attached.

        Upon a restart of the system, the system SHALL, if necessary,
        change the value of this variable so that it indexes the
        entry in the interface table with the same value of ifAlias
        that it indexed before the system restart.  If no such
        entry exists, then the system SHALL set this variable to 0.
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:b"
    ::= { rcDot1agCfmMepEntry 2 }

rcDot1agCfmMepDirection
OBJECT-TYPE
    SYNTAX      Dot1agCfmMpDirection
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The direction in which the MEP faces on the Bridge port."
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:c and 19.2"
    ::= { rcDot1agCfmMepEntry 3 }

rcDot1agCfmMepPrimaryVid
OBJECT-TYPE
    SYNTAX      Unsigned32(0..16777215)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "An integer indicating the Primary VID of the MEP, always
        one of the VIDs assigned to the MEP's MA.  The value 0
        indicates that either the Primary VID is that of the
        MEP's MA, or that the MEP's MA is associated with no VID."
   REFERENCE
       "802.1ag clauses 12.14.7.1.3:d"
   DEFVAL { 0 }
    ::= { rcDot1agCfmMepEntry 4 }

rcDot1agCfmMepActive
OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Administrative state of the MEP

        A Boolean indicating the administrative state of the MEP.

        True indicates that the MEP is to function normally, and
        false that it is to cease functioning."
   REFERENCE
       "802.1ag clauses 12.14.7.1.3:e and 20.9.1"
   DEFVAL { false }
   ::= { rcDot1agCfmMepEntry 5 }

rcDot1agCfmMepFngState
OBJECT-TYPE
    SYNTAX      Dot1agCfmFngState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Current state of the MEP Fault Notification Generator
        State Machine.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:f and 20.35"
    DEFVAL { fngReset }
    ::= { rcDot1agCfmMepEntry 6 }

rcDot1agCfmMepCciEnabled
OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "If set to true, the MEP will generate CCM messages."
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:g and 20.10.1"
    DEFVAL { false }
    ::= { rcDot1agCfmMepEntry 7 }

rcDot1agCfmMepCcmLtmPriority
OBJECT-TYPE
    SYNTAX      Unsigned32 (0..7)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The priority value for CCMs and LTMs transmitted by the MEP.
        Default Value is the highest priority value allowed to pass
        through the bridge port for any of this MEPs VIDs.
        The management entity can obtain the default value for this 
        variable from the priority regeneration table by extracting the 
        highest priority value in this table on this MEPs bridge port.
        (1 is lowest, then 2, then 0, then 3-7).
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:h"
    ::= { rcDot1agCfmMepEntry 8 }

rcDot1agCfmMepMacAddress
OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "MAC address of the MEP."
    REFERENCE
      "802.1ag clause 12.14.7.1.3:i and 19.4"
    ::= { rcDot1agCfmMepEntry 9 }

rcDot1agCfmMepLowPrDef
OBJECT-TYPE
    SYNTAX      Dot1agCfmLowestAlarmPri
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "An integer value specifying the lowest priority defect 
        that is allowed to generate fault alarm.
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:k and 20.9.5 and Table 20-1"
    DEFVAL { macRemErrXcon }
    ::= { rcDot1agCfmMepEntry 10}

rcDot1agCfmMepFngAlarmTime
OBJECT-TYPE
    SYNTAX      TimeInterval (250..1000)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The time that defects must be present before a Fault Alarm is
        issued (fngAlarmTime. 20.33.3) (default 2.5s).
       "
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:l and 20.33.3"
    DEFVAL { 250 }
    ::= { rcDot1agCfmMepEntry 11 }

rcDot1agCfmMepFngResetTime
OBJECT-TYPE
    SYNTAX      TimeInterval (250..1000)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The time that defects must be absent before resetting a
        Fault Alarm (fngResetTime, 20.33.4) (default 10s).
       "
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:m and 20.33.4"
    DEFVAL { 1000 }
    ::= { rcDot1agCfmMepEntry 12 }
   
rcDot1agCfmMepHighestPrDefect
OBJECT-TYPE
    SYNTAX   Dot1agCfmHighestDefectPri
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The highest priority defect that has been present since the
        MEPs Fault Notification Generator State Machine was last in
        the FNG_RESET state.
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:n  20.33.9 and Table 21-1"
    ::= { rcDot1agCfmMepEntry 13 }

rcDot1agCfmMepDefects
OBJECT-TYPE
    SYNTAX      Dot1agCfmMepDefects
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "A vector of Boolean error conditions from Table 20-1, any of
        which may be true:

        DefRDICCM(0)
        DefMACstatus(1)
        DefRemoteCCM(2)
        DefErrorCCM(3)
        DefXconCCM(4)
       "
    REFERENCE
       ".1ag clauses 12.14.7.1.3:o, 12.14.7.1.3:p, 12.14.7.1.3:q,
        12.14.7.1.3:r, 12.14.7.1.3:s, 20.21.3, 20.23.3, 20.33.5,
        20.33.6, 20.33.7."
    ::= { rcDot1agCfmMepEntry 14 }

rcDot1agCfmMepErrorCcmLastFailure
OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..1522))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The last-received CCM that triggered an DefErrorCCM fault."
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:t and 20.21.2"
    ::= { rcDot1agCfmMepEntry 15 }

rcDot1agCfmMepXconCcmLastFailure
OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..1522))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The last-received CCM that triggered a DefXconCCM fault."
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:u and 20.23.2"
    ::= { rcDot1agCfmMepEntry 16 }

rcDot1agCfmMepCcmSequenceErrors
OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The total number of out-of-sequence CCMs received from all
        remote MEPs.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:v and 20.16.12"
    ::= { rcDot1agCfmMepEntry 17 }

rcDot1agCfmMepCciSentCcms
OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Total number of Continuity Check messages transmitted."
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:w and 20.10.2"
    ::= { rcDot1agCfmMepEntry 18 }

rcDot1agCfmMepNextLbmTransId
OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Next sequence number/transaction identifier to be sent in a
        Loopback message. This sequence number can be zero because
        it wraps around.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:x and 20.28.2"
    ::= { rcDot1agCfmMepEntry 19 }

rcDot1agCfmMepLbrIn
OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Total number of valid, in-order Loopback Replies received."
    REFERENCE
       "802.1ag clause 12.14.7.1.3:y and 20.31.1"
    ::= { rcDot1agCfmMepEntry 20 }

rcDot1agCfmMepLbrInOutOfOrder
OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The total number of valid, out-of-order Loopback Replies
        received.
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:z and 20.31.1"
    ::= { rcDot1agCfmMepEntry 21 }

rcDot1agCfmMepLbrBadMsdu
OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The total number of LBRs received whose
        mac_service_data_unit did not match (except for the OpCode)
        that of the corresponding LBM (20.2.3).
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:aa  20.2.3"
    ::= { rcDot1agCfmMepEntry 22}

rcDot1agCfmMepLtmNextSeqNumber
OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Next transaction identifier/sequence number to be sent in a
        Linktrace message. This sequence number can be zero because
        it wraps around.
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:ab and 20.36.1"
    ::= { rcDot1agCfmMepEntry 23 }

rcDot1agCfmMepUnexpLtrIn
OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The total number of unexpected LTRs received (20.39.1).
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:ac  20.39.1"
    ::= { rcDot1agCfmMepEntry 24 }

rcDot1agCfmMepLbrOut
OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Total number of Loopback Replies transmitted."
    REFERENCE
       "802.1ag clause 12.14.7.1.3:ad and 20.26.2"
    ::= { rcDot1agCfmMepEntry 25 }

rcDot1agCfmMepTransmitLbmStatus
OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
      "A Boolean flag set to true by the bridge port to indicate
       that another LBM may be transmitted."
   DEFVAL { true }
   ::= { rcDot1agCfmMepEntry 26 }

rcDot1agCfmMepTransmitLbmDestMacAddress
OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Target MAC Address Field to be transmitted: A unicast
        destination MAC address.
        This address will be used if the value of the column
        rcDot1agCfmMepTransmitLbmDestIsMepId is 'false'.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.2:b"
    ::= { rcDot1agCfmMepEntry 27 }

rcDot1agCfmMepTransmitLbmDestMepId
OBJECT-TYPE
    SYNTAX      Dot1agCfmMepIdOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Maintenance association End Point Identifier of another
        MEP in the same Maintenance Association to which the LBM is
        to be sent.
        This address will be used if the value of the column
        rcDot1agCfmMepTransmitLbmDestIsMepId is 'true'.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.2:b"
    ::= { rcDot1agCfmMepEntry 28 }

rcDot1agCfmMepTransmitLbmDestIsMepId
OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "True indicates that MEPID of the target MEP is used for
        Loopback transmission.
        False indicates that unicast destination MAC address of the
        target MEP is used for Loopback transmission.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.2:b"
    ::= {rcDot1agCfmMepEntry 29 }

rcDot1agCfmMepTransmitLbmMessages
OBJECT-TYPE
    SYNTAX      Integer32(1..1024)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The number of Loopback messages to be transmitted."
    REFERENCE
       "802.1ag clause 12.14.7.3.2:c"
    DEFVAL { 1 }
    ::= {rcDot1agCfmMepEntry 30 }

rcDot1agCfmMepTransmitLbmDataTlv
OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..1500))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "An arbitrary amount of data to be included in the Data TLV,
        if the Data TLV is selected to be sent.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.2:d"
    ::= { rcDot1agCfmMepEntry 31 }

rcDot1agCfmMepTransmitLbmVlanPriority
OBJECT-TYPE
    SYNTAX      Integer32(0..7)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Priority. 3 bit value to be used in the VLAN tag, if present
        in the transmitted frame.

        The default value is CCM priority.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.2:e"
    ::= { rcDot1agCfmMepEntry 32 }

rcDot1agCfmMepTransmitLbmVlanDropEnable
OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Drop Enable bit value to be used in the VLAN tag, if present
        in the transmitted frame.

        For more information about VLAN Drop Enable, please check
        IEEE 802.1ad.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.2:e"
    DEFVAL { true }
    ::= { rcDot1agCfmMepEntry 33 }

rcDot1agCfmMepTransmitLbmResultOK
OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Indicates the result of the operation:

        - true       The Loopback Message(s) will be
                     (or has been) sent.
        - false      The Loopback Message(s) will not
                     be sent.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.3:a"
    DEFVAL { true }
    ::= { rcDot1agCfmMepEntry 34 }

rcDot1agCfmMepTransmitLbmSeqNumber
OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The Loopback Transaction Identifier
       (rcDot1agCfmMepNextLbmTransId) of the first LBM (to be) sent.
        The value returned is undefined if
        rcDot1agCfmMepTransmitLbmResultOK is false.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.3:a"
    ::= { rcDot1agCfmMepEntry 35 }

rcDot1agCfmMepTransmitLtmStatus OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
      "A Boolean flag set to true by the bridge port to indicate
       that another LTM may be transmitted. 
       Reset to false by the MEP Linktrace Initiator State Machine."
   DEFVAL { true }
   ::= { rcDot1agCfmMepEntry 36 }

rcDot1agCfmMepTransmitLtmFlags
OBJECT-TYPE
    SYNTAX      BITS {
                  useFDBonly   (0)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The flags field for LTMs transmitted by the MEP."
    REFERENCE
       "802.1ag clause 12.14.7.4.2:b and 20.37.1"
    DEFVAL { {useFDBonly } }
    ::= { rcDot1agCfmMepEntry 37 }

rcDot1agCfmMepTransmitLtmTargetMacAddress
OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Target MAC Address Field to be transmitted: A unicast
        destination MAC address.
        This address will be used if the value of the column
        rcDot1agCfmMepTransmitLtmTargetIsMepId is 'false'.
       "
    REFERENCE
       "802.1ag clause 12.14.7.4.2:c"
    ::= { rcDot1agCfmMepEntry 38 }

rcDot1agCfmMepTransmitLtmTargetMepId
OBJECT-TYPE
    SYNTAX      Dot1agCfmMepIdOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "An indication of the Target MAC Address Field to be
        transmitted:
        The Maintenance association End Point Identifier of
        another MEP in the same Maintenance Association
        This address will be used if the value of the column
        rcDot1agCfmMepTransmitLtmTargetIsMepId is 'true'.
       "
    REFERENCE
       "802.1ag clause 12.14.7.4.2:c"
    ::= { rcDot1agCfmMepEntry 39 }

rcDot1agCfmMepTransmitLtmTargetIsMepId
OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "True indicates that MEPID of the target MEP is used for
        Linktrace transmission.
        False indicates that unicast destination MAC address of the
        target MEP is used for Loopback transmission.
       "
    REFERENCE
       "802.1ag clause 12.14.7.4.2:c"
    ::= { rcDot1agCfmMepEntry 40 }

rcDot1agCfmMepTransmitLtmTtl
OBJECT-TYPE
    SYNTAX      Unsigned32 (0..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The LTM TTL field. Default value, if not specified, is 64.
        The TTL field indicates the number of hops remaining to the
        LTM.  Decremented by 1 by each Linktrace Responder that
        handles the LTM.  The value returned in the LTR is one less
        than that received in the LTM.  If the LTM TTL is 0 or 1, the
        LTM is not forwarded to the next hop, and if 0, no LTR is
        generated.
       "
    REFERENCE
       "802.1ag clause 12.14.7.4.2:d and 21.8.4"
    DEFVAL {64}
    ::= { rcDot1agCfmMepEntry 41 }

rcDot1agCfmMepTransmitLtmResult
OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Indicates the result of the operation:

        - true    The Linktrace Message will be (or has been) sent.
        - false   The Linktrace Message will not be sent"
    REFERENCE
       "802.1ag clause 12.14.7.4.3:a"
    DEFVAL { true }
    ::= { rcDot1agCfmMepEntry 42 }

rcDot1agCfmMepTransmitLtmSeqNumber
OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The LTM Transaction Identifier
        (rcDot1agCfmMepLtmNextSeqNumber) of the LTM sent.
        The value returned is undefined if
        rcDot1agCfmMepTransmitLtmResult is false.
       "
    REFERENCE
       "802.1ag clause 12.14.7.4.3:a"
    ::= { rcDot1agCfmMepEntry 43 }

rcDot1agCfmMepTransmitLtmEgressIdentifier
OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(8))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Identifies the MEP Linktrace Initiator that is originating,
        or the Linktrace Responder that is forwarding, this LTM.
        The low-order six octets contain a 48-bit IEEE MAC address
        unique to the system in which the MEP Linktrace Initiator
        or Linktrace Responder resides.  The high-order two octets
        contain a value sufficient to uniquely identify the MEP
        Linktrace Initiator or Linktrace Responder within that system.

        For most Bridges, the address of any MAC attached to the
        Bridge will suffice for the low-order six octets, and 0 for
        the high-order octets.  In some situations, e.g., if multiple
        virtual Bridges utilizing emulated LANs are implemented in a
        single physical system, the high-order two octets can be used
        to differentiate among the transmitting entities.

        The value returned is undefined if
        rcDot1agCfmMepTransmitLtmResult is false.
       "
    REFERENCE
       "802.1ag clause 12.14.7.4.3:b and 21.8.8"
    ::= { rcDot1agCfmMepEntry 44 }
   
rcDot1agCfmMepRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row can not be changed if the row
        is active. All columns must have a valid value before a row
        can be activated.
       "
   ::= { rcDot1agCfmMepEntry 45 }

-- ******************************************************************
-- The Linktrace Reply Table
-- ******************************************************************

rcDot1agCfmLtrTable
OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcDot1agCfmLtrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table extends the MEP table and contains a list of
        Linktrace replies received by a specific MEP in response to
        a linktrace message.

        SNMP SMI does not allow to state in a MIB that an object in
        a table is an array.  The solution is to take the index (or
        indices) of the first table and add one or more indices.
       "
    REFERENCE
       "802.1ag clause 12.14.7.5"
    ::= { rcDot1agCfmMep 2 }

rcDot1agCfmLtrEntry OBJECT-TYPE
    SYNTAX      RcDot1agCfmLtrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Linktrace Reply table entry."
    INDEX { rcDot1agCfmMdIndex,
            rcDot1agCfmMaIndex,
            rcDot1agCfmMepIdentifier,
            rcDot1agCfmLtrSeqNumber,
            rcDot1agCfmLtrReceiveOrder
          }
    ::= { rcDot1agCfmLtrTable 1 }

RcDot1agCfmLtrEntry ::= SEQUENCE {
      rcDot1agCfmLtrSeqNumber            Unsigned32,
      rcDot1agCfmLtrReceiveOrder         Unsigned32,
      rcDot1agCfmLtrTtl                  Unsigned32,
      rcDot1agCfmLtrForwarded            TruthValue,
      rcDot1agCfmLtrTerminalMep          TruthValue,
      rcDot1agCfmLtrLastEgressIdentifier OCTET STRING,
      rcDot1agCfmLtrNextEgressIdentifier OCTET STRING,
      rcDot1agCfmLtrRelay            Dot1agCfmRelayActionFieldValue,
      rcDot1agCfmLtrChassisIdSubtype     LldpChassisIdSubtype,
      rcDot1agCfmLtrChassisId            LldpChassisId,
      rcDot1agCfmLtrManAddressDomain     TDomain,
      rcDot1agCfmLtrManAddress           TAddress,
      rcDot1agCfmLtrIngress          Dot1agCfmIngressActionFieldValue,
      rcDot1agCfmLtrIngressMac           MacAddress,
      rcDot1agCfmLtrIngressPortIdSubtype LldpPortIdSubtype,
      rcDot1agCfmLtrIngressPortId        LldpPortId,
      rcDot1agCfmLtrEgress           Dot1agCfmEgressActionFieldValue,
      rcDot1agCfmLtrEgressMac            MacAddress,
      rcDot1agCfmLtrEgressPortIdSubtype  LldpPortIdSubtype,
      rcDot1agCfmLtrEgressPortId         LldpPortId,
      rcDot1agCfmLtrOrganizationSpecificTlv  OCTET STRING
    }

rcDot1agCfmLtrSeqNumber
OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Transaction identifier/Sequence number returned by a previous
        transmit linktrace message command, indicating which LTM's
        response is going to be returned.
       "
    REFERENCE
       "802.1ag clause 12.14.7.5.2:b"
    ::= { rcDot1agCfmLtrEntry 1}

rcDot1agCfmLtrReceiveOrder
OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "An index to distinguish among multiple LTRs with the same LTR
        Transaction Identifier field value.  rcDot1agCfmLtrReceiveOrder
        are assigned sequentially from 1, in the order that the
        Linktrace Initiator received the LTRs.
       "
    REFERENCE
       "802.1ag clause 12.14.7.5.2:c"
    ::= { rcDot1agCfmLtrEntry 2 }

rcDot1agCfmLtrTtl
OBJECT-TYPE
    SYNTAX      Unsigned32 (0..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "TTL field value for a returned LTR."
    REFERENCE
       "802.1ag clause 12.14.7.5 and 20.36.2.2"
    ::= { rcDot1agCfmLtrEntry 3 }

rcDot1agCfmLtrForwarded
OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Indicates if a LTM was forwarded by the responding MP, as
        returned in the 'FwdYes' flag of the flags field.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:c and 20.36.2.1"
    ::= { rcDot1agCfmLtrEntry 4 }

rcDot1agCfmLtrTerminalMep
OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "A boolean value stating whether the forwarded LTM reached a
        MEP enclosing its MA, as returned in the Terminal MEP flag of
        the Flags field.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:d and 20.36.2.1"
    ::= { rcDot1agCfmLtrEntry 5 }

rcDot1agCfmLtrLastEgressIdentifier
OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(8))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "An octet field holding the Last Egress Identifier returned
        in the LTR Egress Identifier TLV of the LTR.
        The Last Egress Identifier identifies the MEP Linktrace 
        Initiator that originated, or the Linktrace Responder that 
        forwarded, the LTM to which this LTR is the response.  This
        is the same value as the Egress Identifier TLV of that LTM.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:e and 20.36.2.3"
    ::= { rcDot1agCfmLtrEntry 6 }

rcDot1agCfmLtrNextEgressIdentifier
OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(8))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "An octet field holding the Next Egress Identifier returned
        in the LTR Egress Identifier TLV of the LTR.  The Next Egress
        Identifier Identifies the Linktrace Responder that
        transmitted this LTR, and can forward the LTM to the next
        hop.  This is the same value as the Egress Identifier TLV of
        the forwarded LTM, if any. If the FwdYes bit of the Flags
        field is false, the contents of this field are undefined,
        i.e., any value can be transmitted, and the field is ignored
        by the receiver.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:f and 20.36.2.4"
    ::= { rcDot1agCfmLtrEntry 7 }

rcDot1agCfmLtrRelay
OBJECT-TYPE
    SYNTAX      Dot1agCfmRelayActionFieldValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Value returned in the Relay Action field."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:g and 20.36.2.5"
    ::= { rcDot1agCfmLtrEntry 8 }

rcDot1agCfmLtrChassisIdSubtype
OBJECT-TYPE
    SYNTAX      LldpChassisIdSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object specifies the format of the Chassis ID returned
        in the Sender ID TLV of the LTR, if any.  This value is
        meaningless if the rcDot1agCfmLtrChassisId has a length of 0."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:h and 21.5.3.2"
    ::= { rcDot1agCfmLtrEntry 9 }

rcDot1agCfmLtrChassisId
OBJECT-TYPE
    SYNTAX      LldpChassisId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The Chassis ID returned in the Sender ID TLV of the LTR, if
        any. The format of this object is determined by the
        value of the rcDot1agCfmLtrChassisIdSubtype object.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:i and 21.5.3.3"
    ::= { rcDot1agCfmLtrEntry 10 }

rcDot1agCfmLtrManAddressDomain
OBJECT-TYPE
    SYNTAX      TDomain
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The TDomain that identifies the type and format of
        the related rcDot1agCfmMepDbManAddress object, used to access
        the SNMP agent of the system transmitting the LTR.  Received
        in the LTR Sender ID TLV from that system.

        Typical values will be one of (not all inclusive) list:


           snmpUDPDomain          (from SNMPv2-TM, RFC3417)
           snmpIeee802Domain      (from SNMP-IEEE802-TM-MIB, RFC4789)

        The value 'zeroDotZero' (from RFC2578) indicates 'no management
        address was present in the LTR', in which case the related
        object rcDot1agCfmMepDbManAddress must have a zero-length OCTET
        STRING as a value.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:j, 21.5.3.5, 21.9.6"
    ::= { rcDot1agCfmLtrEntry 11 }

rcDot1agCfmLtrManAddress
OBJECT-TYPE
    SYNTAX      TAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The TAddress that can be used to access the SNMP
        agent of the system transmitting the CCM, received in the CCM
        Sender ID TLV from that system.

        If the related object rcDot1agCfmLtrManAddressDomain contains
        the value 'zeroDotZero', this object rcDot1agCfmLtrManAddress
        must have a zero-length OCTET STRING as a value.
      "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:j, 21.5.3.7, 21.9.6"
    ::= { rcDot1agCfmLtrEntry 12 }

rcDot1agCfmLtrIngress
OBJECT-TYPE
    SYNTAX      Dot1agCfmIngressActionFieldValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The value returned in the Ingress Action Field of the LTM.
        The value ingNoTlv(0) indicates that no Reply Ingress TLV was
        returned in the LTM."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:k and 20.36.2.6"
    ::= { rcDot1agCfmLtrEntry 13 }

rcDot1agCfmLtrIngressMac
OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "MAC address returned in the ingress MAC address field.
        If the rcDot1agCfmLtrIngress object contains the value
        ingNoTlv(0), then the contents of this object are meaningless."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:l and 20.36.2.7"
    ::= { rcDot1agCfmLtrEntry 14 }

rcDot1agCfmLtrIngressPortIdSubtype
OBJECT-TYPE
    SYNTAX      LldpPortIdSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Format of the Ingress Port ID.
        If the rcDot1agCfmLtrIngress object contains the value
        ingNoTlv(0), then the contents of this object are meaningless."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:m and 20.36.2.8"
   ::= { rcDot1agCfmLtrEntry 15 }

rcDot1agCfmLtrIngressPortId
OBJECT-TYPE
    SYNTAX      LldpPortId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Ingress Port ID. The format of this object is determined by
        the value of the rcDot1agCfmLtrIngressPortIdSubtype object.
        If the rcDot1agCfmLtrIngress object contains the value
        ingNoTlv(0), then the contents of this object are meaningless."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:n and 20.36.2.9"
    ::= { rcDot1agCfmLtrEntry 16 }

rcDot1agCfmLtrEgress
OBJECT-TYPE
    SYNTAX      Dot1agCfmEgressActionFieldValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The value returned in the Egress Action Field of the LTM.
        The value egrNoTlv(0) indicates that no Reply Egress TLV was
        returned in the LTM."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:o and 20.36.2.10"
    ::= { rcDot1agCfmLtrEntry 17 }

rcDot1agCfmLtrEgressMac
OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "MAC address returned in the egress MAC address field.
        If the rcDot1agCfmLtrEgress object contains the value
        egrNoTlv(0), then the contents of this object are meaningless."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:p and 20.36.2.11"
    ::= { rcDot1agCfmLtrEntry 18 }

rcDot1agCfmLtrEgressPortIdSubtype
OBJECT-TYPE
    SYNTAX      LldpPortIdSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Format of the egress Port ID.
        If the rcDot1agCfmLtrEgress object contains the value
        egrNoTlv(0), then the contents of this object are meaningless."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:q and 20.36.2.12"
    ::= { rcDot1agCfmLtrEntry 19 }

rcDot1agCfmLtrEgressPortId
OBJECT-TYPE
    SYNTAX      LldpPortId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Egress Port ID. The format of this object is determined by
        the value of the rcDot1agCfmLtrEgressPortIdSubtype object.
        If the rcDot1agCfmLtrEgress object contains the value
        egrNoTlv(0), then the contents of this object are meaningless."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:r and 20.36.2.13"
    ::= { rcDot1agCfmLtrEntry 20 }

rcDot1agCfmLtrOrganizationSpecificTlv
OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0|4..1500))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "All Organization specific TLVs returned in the LTR, if
        any.  Includes all octets including and following the TLV
        Length field of each TLV, concatenated together."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:s, 21.5.2"
    ::= { rcDot1agCfmLtrEntry 21 }

-- ******************************************************************
-- The MEP Database Table
-- ******************************************************************

rcDot1agCfmMepDbTable
OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcDot1agCfmMepDbEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The MEP Database. A database, maintained by every MEP, that
        maintains received information about other MEPs in the
        Maintenance Domain.

        The SMI does not allow to state in a MIB that an object in
        a table is an array. The solution is to take the index (or
        indices) of the first table and add one or more indices.
       "
    REFERENCE
       "802.1ag clause 19.2.15"
    ::= { rcDot1agCfmMep 3 }

rcDot1agCfmMepDbEntry OBJECT-TYPE
    SYNTAX      RcDot1agCfmMepDbEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The MEP Database table entry."
    INDEX { rcDot1agCfmMdIndex,
            rcDot1agCfmMaIndex,
            rcDot1agCfmMepIdentifier,
            rcDot1agCfmMepDbRMepIdentifier
          }
    ::= { rcDot1agCfmMepDbTable 1 }

RcDot1agCfmMepDbEntry ::= SEQUENCE {
      rcDot1agCfmMepDbRMepIdentifier         Dot1agCfmMepId,
      rcDot1agCfmMepDbRMepState              Dot1agCfmRemoteMepState,
      rcDot1agCfmMepDbRMepFailedOkTime       TimeStamp,
      rcDot1agCfmMepDbMacAddress             MacAddress,
      rcDot1agCfmMepDbRdi                    TruthValue,
      rcDot1agCfmMepDbPortStatusTlv          Dot1agCfmPortStatus,
      rcDot1agCfmMepDbInterfaceStatusTlv     Dot1agCfmInterfaceStatus,
      rcDot1agCfmMepDbChassisIdSubtype       LldpChassisIdSubtype,
      rcDot1agCfmMepDbChassisId              LldpChassisId,
      rcDot1agCfmMepDbManAddressDomain       TDomain,
      rcDot1agCfmMepDbManAddress             TAddress
    }

rcDot1agCfmMepDbRMepIdentifier
OBJECT-TYPE
    SYNTAX      Dot1agCfmMepId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Maintenance association End Point Identifier of a remote MEP
        whose information from the MEP Database is to be returned.
       "
    REFERENCE
       "802.1ag clause 12.14.7.6.2:b"
    ::= { rcDot1agCfmMepDbEntry 1 }

rcDot1agCfmMepDbRMepState
OBJECT-TYPE
    SYNTAX      Dot1agCfmRemoteMepState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The operational state of the remote MEP IFF State machines."
    REFERENCE
       "802.1ag clause 12.14.7.6.3:b and 20.22"
    ::= { rcDot1agCfmMepDbEntry 2}

rcDot1agCfmMepDbRMepFailedOkTime
OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time (SysUpTime) at which the IFF Remote MEP state machine
        last entered either the RMEP_FAILED or RMEP_OK state.
       "
    REFERENCE
       "802.1ag clause 12.14.7.6.3:c"
    ::= { rcDot1agCfmMepDbEntry 3 }

rcDot1agCfmMepDbMacAddress
OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The MAC address of the remote MEP."
    REFERENCE
       "802.1ag clause 12.14.7.6.3:d and 20.19.7"
    ::= { rcDot1agCfmMepDbEntry 4 }

rcDot1agCfmMepDbRdi
OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "State of the RDI bit in the last received CCM (true for
        RDI=1), or false if none has been received.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.6.3:e and 20.19.2"
    ::= { rcDot1agCfmMepDbEntry 5 }

rcDot1agCfmMepDbPortStatusTlv
OBJECT-TYPE
    SYNTAX      Dot1agCfmPortStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "An enumerated value of the Port status TLV received in the
        last CCM from the remote MEP or the default value
        psNoPortStateTLV indicating either no CCM has been received,
        or that nor port status TLV was received in the last CCM.
       "
    REFERENCE
       "802.1ag clause 12.14.7.6.3:f and 20.19.3"
    DEFVAL { psNoPortStateTLV }
    ::= { rcDot1agCfmMepDbEntry 6}
   
rcDot1agCfmMepDbInterfaceStatusTlv
OBJECT-TYPE
    SYNTAX      Dot1agCfmInterfaceStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "An enumerated value of the Interface status TLV received
        in the last CCM from the remote MEP or the default value
        isNoInterfaceStatus TLV indicating either no CCM has been
        received, or that no interface status TLV was received in
        the last CCM.
       "
    REFERENCE
       "802.1ag clause 12.14.7.6.3:g and 20.19.4"
    DEFVAL { isNoInterfaceStatusTLV }
    ::= { rcDot1agCfmMepDbEntry 7}

rcDot1agCfmMepDbChassisIdSubtype
OBJECT-TYPE
    SYNTAX      LldpChassisIdSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object specifies the format of the Chassis ID received
        in the last CCM."
    REFERENCE
       "802.1ag clauses 12.14.7.6.3:h and 21.5.3.2"
    ::= { rcDot1agCfmMepDbEntry 8 }

rcDot1agCfmMepDbChassisId
OBJECT-TYPE
    SYNTAX      LldpChassisId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The Chassis ID. The format of this object is determined by the
        value of the rcDot1agCfmLtrChassisIdSubtype object.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.6.3:h and 21.5.3.3"
    ::= { rcDot1agCfmMepDbEntry 9 }

rcDot1agCfmMepDbManAddressDomain
OBJECT-TYPE
    SYNTAX      TDomain
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The TDomain that identifies the type and format of
        the related rcDot1agCfmMepDbManAddress object, used to access
        the SNMP agent of the system transmitting the CCM.  Received
        in the CCM Sender ID TLV from that system.

        Typical values will be one of (not all inclusive) list:


           snmpUDPDomain          (from SNMPv2-TM, RFC3417)
           snmpIeee802Domain      (from SNMP-IEEE802-TM-MIB, RFC4789)

        The value 'zeroDotZero' (from RFC2578) indicates 'no management
        address was present in the LTR', in which case the related
        object rcDot1agCfmMepDbManAddress must have a zero-length OCTET
        STRING as a value.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.6.3:h, 21.5.3.5, 21.6.7"
    ::= { rcDot1agCfmMepDbEntry 10 }

rcDot1agCfmMepDbManAddress
OBJECT-TYPE
    SYNTAX      TAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The TAddress that can be used to access the SNMP
        agent of the system transmitting the CCM, received in the CCM
        Sender ID TLV from that system.

        If the related object rcDot1agCfmMepDbManAddressDomain contains
        the value 'zeroDotZero', this object rcDot1agCfmMepDbManAddress
        must have a zero-length OCTET STRING as a value.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.6.3:h, 21.5.3.7, 21.6.7"
    ::= { rcDot1agCfmMepDbEntry 11 }

-- ******************************************************************
-- NOTIFICATIONS (TRAPS)
-- These notifications will be sent to the management entity
-- whenever a MEP loses/restores contact with one or more other MEPs.
-- ******************************************************************

rcDot1agCfmFaultAlarm
NOTIFICATION-TYPE
    OBJECTS     { rcDot1agCfmMepHighestPrDefect
                }
    STATUS      current
    DESCRIPTION
       "A MEP has a persistent defect condition. A notification
        (fault alarm) is sent to the management entity with the OID
        of the MEP that has detected the fault.

        Whenever a MEP has a persistent defect,
        it may or may not generate a Fault Alarm to warn the system
        administrator of the problem, as controlled by the MEP
        Fault Notification Generator State Machine and associated
        Managed Objects. Only the highest-priority defect, as shown
        in Table 20-1, is reported in the Fault Alarm.

        If a defect with a higher priority is raised after a Fault
        Alarm has been issued, another Fault Alarm is issued.

        The management entity receiving the notification can identify
        the system from the network source address of the
        notification, and can identify the MEP reporting the defect
        by the indices in the OID of the rcDot1agCfmMepHighestPrDefect
        variable in the notification:

           rcDot1agCfmMdIndex - Also the index of the MEP's
                              Maintenance Domain table entry
                              (rcDot1agCfmMdTable).
           rcDot1agCfmMaIndex - Also an index (with the MD table index)
                              of the MEP's Maintenance Association
                              network table entry
                              (rcDot1agCfmMaNetTable), and (with the MD
                              table index and component ID) of the
                              MEP's MA component table entry
                              (rcDot1agCfmMaCompTable).
           rcDot1agCfmMepIdentifier - MEP Identifier and final index
                              into the MEP table (rcDot1agCfmMepTable).
       "
    REFERENCE
       "802.1ag clause 12.14.7.7"
    ::= { rcDot1agNotifications 1 }

-- ******************************************************************
-- IEEE 802.1ag MIB Module - Conformance Information
-- ******************************************************************

rcDot1agCfmCompliances OBJECT IDENTIFIER ::= { rcDot1agCfmConformance 1 }
rcDot1agCfmGroups      OBJECT IDENTIFIER ::= { rcDot1agCfmConformance 2 }

-- ******************************************************************
-- Units of conformance
-- ******************************************************************
rcDot1agCfmStackGroup OBJECT-GROUP
    OBJECTS {
      rcDot1agCfmStackMdIndex,
      rcDot1agCfmStackMaIndex,
      rcDot1agCfmStackMepId,
      rcDot1agCfmStackMacAddress
    }
    STATUS      current
    DESCRIPTION
       "Objects for the Stack group."
    ::= { rcDot1agCfmGroups 1 }

rcDot1agCfmDefaultMdGroup OBJECT-GROUP
    OBJECTS {
      rcDot1agCfmDefaultMdDefLevel,
      rcDot1agCfmDefaultMdDefMhfCreation,
      rcDot1agCfmDefaultMdDefIdPermission,
      rcDot1agCfmDefaultMdStatus,
      rcDot1agCfmDefaultMdLevel,
      rcDot1agCfmDefaultMdMhfCreation,
      rcDot1agCfmDefaultMdIdPermission
    }
    STATUS      current
    DESCRIPTION
       "Objects for the Default MD Level group."
    ::= { rcDot1agCfmGroups 2 }

rcDot1agCfmVlanIdGroup OBJECT-GROUP
    OBJECTS {
      rcDot1agCfmVlanPrimaryVid,
      rcDot1agCfmVlanRowStatus
   }
    STATUS      current
    DESCRIPTION
       "Objects for the VLAN ID group."
    ::= { rcDot1agCfmGroups 3 }

rcDot1agCfmConfigErrorListGroup OBJECT-GROUP
    OBJECTS {
      rcDot1agCfmConfigErrorListErrorType
    }
    STATUS current
    DESCRIPTION
       "Objects for the CFM Configuration Error List Group."
    ::= {rcDot1agCfmGroups 4 }

rcDot1agCfmMdGroup OBJECT-GROUP
    OBJECTS {
      rcDot1agCfmMdTableNextIndex,
      rcDot1agCfmMdName,
      rcDot1agCfmMdFormat,
      rcDot1agCfmMdMdLevel,
      rcDot1agCfmMdMhfCreation,
      rcDot1agCfmMdMhfIdPermission,
      rcDot1agCfmMdMaNextIndex,
      rcDot1agCfmMdRowStatus
    }
    STATUS      current
    DESCRIPTION
       "Objects for the Maintenance Domain Group."
    ::={rcDot1agCfmGroups 5 }

rcDot1agCfmMaGroup OBJECT-GROUP
    OBJECTS {
      rcDot1agCfmMaNetFormat,
      rcDot1agCfmMaNetName,
      rcDot1agCfmMaNetCcmInterval,
      rcDot1agCfmMaNetRowStatus,
      rcDot1agCfmMaCompPrimaryVlanId,
      rcDot1agCfmMaCompMhfCreation,
      rcDot1agCfmMaCompIdPermission,
      rcDot1agCfmMaCompRowStatus,
      rcDot1agCfmMaCompNumberOfVids,
      rcDot1agCfmMaMepListRowStatus
    }
    STATUS      current
    DESCRIPTION
       "Objects for the MA group."
    ::= { rcDot1agCfmGroups 6 }

rcDot1agCfmMepGroup OBJECT-GROUP
    OBJECTS {
      rcDot1agCfmMepIfIndex,
      rcDot1agCfmMepDirection,
      rcDot1agCfmMepPrimaryVid,
      rcDot1agCfmMepActive,
      rcDot1agCfmMepFngState,
      rcDot1agCfmMepCciEnabled,
      rcDot1agCfmMepCcmLtmPriority,
      rcDot1agCfmMepMacAddress,
      rcDot1agCfmMepLowPrDef,
      rcDot1agCfmMepFngAlarmTime,
      rcDot1agCfmMepFngResetTime,
      rcDot1agCfmMepHighestPrDefect,
      rcDot1agCfmMepDefects,
      rcDot1agCfmMepErrorCcmLastFailure,
      rcDot1agCfmMepXconCcmLastFailure,
      rcDot1agCfmMepCcmSequenceErrors,
      rcDot1agCfmMepCciSentCcms,
      rcDot1agCfmMepNextLbmTransId,
      rcDot1agCfmMepLbrIn,
      rcDot1agCfmMepLbrInOutOfOrder,
      rcDot1agCfmMepLbrBadMsdu,
      rcDot1agCfmMepLtmNextSeqNumber,
      rcDot1agCfmMepUnexpLtrIn,
      rcDot1agCfmMepLbrOut,
      rcDot1agCfmMepTransmitLbmStatus,
      rcDot1agCfmMepTransmitLbmDestMacAddress,
      rcDot1agCfmMepTransmitLbmDestMepId,
      rcDot1agCfmMepTransmitLbmDestIsMepId,
      rcDot1agCfmMepTransmitLbmMessages,
      rcDot1agCfmMepTransmitLbmDataTlv,
      rcDot1agCfmMepTransmitLbmVlanPriority,
      rcDot1agCfmMepTransmitLbmVlanDropEnable,
      rcDot1agCfmMepTransmitLbmResultOK,
      rcDot1agCfmMepTransmitLbmSeqNumber,
      rcDot1agCfmMepTransmitLtmStatus,
      rcDot1agCfmMepTransmitLtmFlags,
      rcDot1agCfmMepTransmitLtmTargetMacAddress,
      rcDot1agCfmMepTransmitLtmTargetMepId,
      rcDot1agCfmMepTransmitLtmTargetIsMepId,
      rcDot1agCfmMepTransmitLtmTtl,
      rcDot1agCfmMepTransmitLtmResult,
      rcDot1agCfmMepTransmitLtmSeqNumber,
      rcDot1agCfmMepTransmitLtmEgressIdentifier,
      rcDot1agCfmMepRowStatus,
      rcDot1agCfmLtrForwarded,
      rcDot1agCfmLtrRelay,
      rcDot1agCfmLtrChassisIdSubtype,
      rcDot1agCfmLtrChassisId,
      rcDot1agCfmLtrManAddress,
      rcDot1agCfmLtrManAddressDomain,
      rcDot1agCfmLtrIngress,
      rcDot1agCfmLtrIngressMac,
      rcDot1agCfmLtrIngressPortIdSubtype,
      rcDot1agCfmLtrIngressPortId,
      rcDot1agCfmLtrEgress,
      rcDot1agCfmLtrEgressMac,
      rcDot1agCfmLtrEgressPortIdSubtype,
      rcDot1agCfmLtrEgressPortId,
      rcDot1agCfmLtrTerminalMep,
      rcDot1agCfmLtrLastEgressIdentifier,
      rcDot1agCfmLtrNextEgressIdentifier,
      rcDot1agCfmLtrTtl,
      rcDot1agCfmLtrOrganizationSpecificTlv
    }
    STATUS      current
    DESCRIPTION
       "Objects for the MEP group."
    ::= { rcDot1agCfmGroups 7 }

rcDot1agCfmMepDbGroup OBJECT-GROUP
    OBJECTS {
      rcDot1agCfmMepDbRMepState,
      rcDot1agCfmMepDbRMepFailedOkTime,
      rcDot1agCfmMepDbMacAddress,
      rcDot1agCfmMepDbRdi,
      rcDot1agCfmMepDbPortStatusTlv,
      rcDot1agCfmMepDbInterfaceStatusTlv,
      rcDot1agCfmMepDbChassisIdSubtype,
      rcDot1agCfmMepDbChassisId,
      rcDot1agCfmMepDbManAddressDomain,
      rcDot1agCfmMepDbManAddress
    }
    STATUS      current
    DESCRIPTION
       "Objects for the MEP group."
    ::= { rcDot1agCfmGroups 8 }

rcDot1agCfmNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
      rcDot1agCfmFaultAlarm
    }
    STATUS      current
    DESCRIPTION
       "Objects for the Notifications group."
    ::= { rcDot1agCfmGroups 9 }

-- ******************************************************************
-- MIB Module Compliance statements
-- ******************************************************************

rcDot1agCfmCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
       "The compliance statement for support of the CFM MIB module."
    MODULE
        MANDATORY-GROUPS {
            rcDot1agCfmStackGroup,
            rcDot1agCfmDefaultMdGroup,
            rcDot1agCfmConfigErrorListGroup,
            rcDot1agCfmMdGroup,
            rcDot1agCfmMaGroup,
            rcDot1agCfmMepGroup,
            rcDot1agCfmMepDbGroup,
            rcDot1agCfmNotificationsGroup
         }

    GROUP rcDot1agCfmVlanIdGroup
    DESCRIPTION "The VLAN ID group is optional."

    OBJECT rcDot1agCfmMepLbrBadMsdu
    MIN-ACCESS not-accessible
    DESCRIPTION "The rcDot1agCfmMepLbrBadMsdu variable is optional.  It
                 must not be present if the system cannot compare a
                 received LBR to the corresponding LBM."

    OBJECT rcDot1agCfmMdRowStatus
      SYNTAX       RowStatus 
      DESCRIPTION "Support for createAndWait is not required."

    OBJECT rcDot1agCfmMaNetRowStatus
      SYNTAX       RowStatus 
      DESCRIPTION "Support for createAndWait is not required."

    OBJECT rcDot1agCfmMaCompRowStatus
      SYNTAX       RowStatus 
      DESCRIPTION "Support for createAndWait is not required."

    OBJECT rcDot1agCfmVlanRowStatus
      SYNTAX       RowStatus 
      DESCRIPTION "Support for createAndWait is not required."

    OBJECT  rcDot1agCfmMaMepListRowStatus
      SYNTAX       RowStatus 
      DESCRIPTION "Support for createAndWait is not required."

    OBJECT  rcDot1agCfmMepRowStatus
      SYNTAX       RowStatus 
      DESCRIPTION "Support for createAndWait is not required."

    ::= { rcDot1agCfmCompliances 1 }

END
