TRILL-OAM-MIB DEFINITIONS ::= BEGIN

IMPORTS

    MODULE-IDENTITY,
    OBJECT-TYPE,
    Counter32,
    Unsigned32,
    Integer32,
    mib-2,
    NOTIFICATION-TYPE
       FROM SNMPv2-SMI
    RowStatus,
    TruthValue,
    TimeStamp,
    MacAddress
        FROM SNMPv2-TC
    OBJECT-GROUP,
    NOTIFICATION-GROUP,
    MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    dot1agCfmMdIndex,
    dot1agCfmMaIndex,
    dot1agCfmMepIdentifier,
    dot1agCfmMepEntry,
    dot1agCfmMepDbEntry,
    Dot1agCfmIngressActionFieldValue,
    Dot1agCfmEgressActionFieldValue,
    Dot1agCfmRemoteMepState
        FROM IEEE8021-CFM-MIB
    LldpChassisId,
    LldpChassisIdSubtype,
    LldpPortId,
    LldpPortIdSubtype
        FROM LLDP-MIB;

trillOamMib MODULE-IDENTITY
    LAST-UPDATED    "201601141200Z"
    ORGANIZATION    "IETF TRILL WG"
    CONTACT-INFO
            "Email: trill@ietf.org"
    DESCRIPTION
        "This MIB module contains the management objects for the
        management of TRILL Services Operations, Administration
        and Maintenance.
        Initial version.  Published as RFC 7784.

        Copyright (c) 2016 IETF Trust and the persons identified
        as authors of the code.  All rights reserved.

        Redistribution and use in source and binary forms, with
        or without modification, is permitted pursuant to, and
        subject to the license terms contained in, the Simplified
        BSD License set forth in Section 4.c of the IETF Trust's
        Legal Provisions Relating to IETF Documents
        (http://trustee.ietf.org/license-info).

        -------------------------------------------------------------

        Abbreviations Used

        Term         Definition

        CFM          Connectivity Fault Management
        IEEE         Institute of Electrical and Electronics
                     Engineers
        IETF         Internet Engineering Task Force
        ITU-T        International Telecommunication Union -
                     Telecommunication Standardization Bureau
        FCOI         The Final, Cross-Connect Error, Out-of-band,
                     and In-band flags from the TRILL OAM Application
                     Identifier TLV.
        LBM          Loopback Message
        MA           Maintenance Association (equivalent to a MEG)
        MAC          Media Access Control
        MD           Maintenance Domain (equivalent to an OAM
                     Domain in Metro Ethernet Forum (MEF) 17)
        MEG          Maintenance Entity Group (equivalent to a MA)
        MEG Level    Maintenance Entity Group Level (equivalent to
                     MD Level)
        MEP          Maintenance Association End Point
        MIB          Management Information Base
        MIP          Maintenance Domain Intermediate Point
        MTVM         Multi-destination Tree Verification Message
        MTVR         Multi-destination Tree Verification Reply
        OAM          Operations, Administration, and Maintenance
                     On-Demand OAM actions that are initiated via
                     manual intervention for a limited time to carry
                     out diagnostics.  On-demand OAM can result in
                     singular or periodic OAM actions during the
                     diagnostic time interval.
        PTM          Path Trace Message
        PTR          Path Trace Reply
        RFC          Request for Comments
        SNMP         Simple Network Management Protocol
        TLV          Type-Length-Value, a method of encoding Objects
        TRILL        Transparent Interconnection of Lots of Links
        VLAN         Virtual LAN"

    REVISION        "201601141200Z"
    DESCRIPTION
        "Initial version.  Published as RFC 7784."
    ::= { mib-2 238 }
--

-- *****************************************************************
-- Object Definitions in the TRILL OAM MIB Module
-- *****************************************************************

trillOamNotifications  OBJECT IDENTIFIER
    ::= { trillOamMib 0 }

trillOamMibObjects  OBJECT IDENTIFIER
    ::= { trillOamMib 1 }

trillOamMibConformance  OBJECT IDENTIFIER
    ::= { trillOamMib 2 }

-- *****************************************************************
-- Groups in the TRILL OAM MIB Module
-- *****************************************************************

trillOamMep  OBJECT IDENTIFIER
    ::= { trillOamMibObjects 1 }

-- *****************************************************************
-- TRILL OAM MEP Configuration
-- *****************************************************************

trillOamMepTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF TrillOamMepEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table is an extension of the dot1agCfmMepTable and
         rows are automatically added or deleted from this table
         based upon row creation and destruction of the
         dot1agCfmMepTable.

        This table represents the local MEP TRILL OAM
        configuration table.  The primary purpose of this table
        is provide local parameters for the TRILL OAM function
        found in RFC 7455 and instantiated at a MEP."
    REFERENCE "RFC 7455"
    ::= { trillOamMep 1 }
trillOamMepEntry OBJECT-TYPE
    SYNTAX          TrillOamMepEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The conceptual row of trillOamMepTable."
    AUGMENTS           { dot1agCfmMepEntry  }
    ::= { trillOamMepTable 1 }

TrillOamMepEntry ::= SEQUENCE {
        trillOamMepRName               Unsigned32,
        trillOamMepNextPtmTId          Counter32,
        trillOamMepNextMtvmTId         Counter32,
        trillOamMepPtrIn               Counter32,
        trillOamMepPtrInOutofOrder     Counter32,
        trillOamMepPtrOut              Counter32,
        trillOamMepMtvrIn              Counter32,
        trillOamMepMtvrInOutofOrder    Counter32,
        trillOamMepMtvrOut             Counter32,
        trillOamMepTxLbmDestRName      Unsigned32,
        trillOamMepTxLbmHC             Unsigned32,
        trillOamMepTxLbmReplyModeOob   TruthValue,
        trillOamMepTransmitLbmReplyIp  OCTET STRING,
        trillOamMepTxLbmFlowEntropy    OCTET STRING,
        trillOamMepTxPtmDestRName      Unsigned32,
        trillOamMepTxPtmHC             Unsigned32,
        trillOamMepTxPtmReplyModeOob   TruthValue,
        trillOamMepTransmitPtmReplyIp  OCTET STRING,
        trillOamMepTxPtmFlowEntropy    OCTET STRING,
        trillOamMepTxPtmStatus         TruthValue,
        trillOamMepTxPtmResultOK       TruthValue,
        trillOamMepTxPtmSeqNumber      Unsigned32,
        trillOamMepTxPtmMessages       Integer32,
        trillOamMepTxMtvmTree          Unsigned32,
        trillOamMepTxMtvmHC            Unsigned32,
        trillOamMepTxMtvmReplyModeOob  TruthValue,
        trillOamMepTransmitMtvmReplyIp OCTET STRING,
        trillOamMepTxMtvmFlowEntropy   OCTET STRING,
        trillOamMepTxMtvmStatus        TruthValue,
        trillOamMepTxMtvmResultOK      TruthValue,
        trillOamMepTxMtvmMessages      Integer32,
        trillOamMepTxMtvmSeqNumber     Unsigned32,
        trillOamMepTxMtvmScopeList     OCTET STRING,
        trillOamMepDiscontinuityTime   TimeStamp
}

trillOamMepRName OBJECT-TYPE
    SYNTAX          Unsigned32 (0..65471)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object contains the RBridge Nickname field
        of the TRILL RBridge as defined in RFC 6325,
        Section 3.7."
    REFERENCE "RFC 7455 and RFC 6325, Section 3.7"
    ::= { trillOamMepEntry 1 }

trillOamMepNextPtmTId OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Next Sequence Number / Transaction Identifier to be sent in
         a Multi-destination message.  This Sequence Number can be
         zero because it wraps around.  Implementation of this
         identifier should be should provide a unique code value in
         order to identify the Transaction Identifier for a MEP with
         multiple flows."
    REFERENCE "RFC 7455, Section 10.1.1"
    ::= { trillOamMepEntry 2 }

trillOamMepNextMtvmTId OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Next Sequence Number / Transaction Identifier to be sent
        in a Multi-destination message.  This Sequence Number can
        be zero because it wraps around.  An implementation should
        be unique to identify Transaction Identifier for a MEP with
        multiple flows."
    REFERENCE "RFC 7455, Section 11.2.1"
    ::= { trillOamMepEntry 3 }

trillOamMepPtrIn OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Total number of valid, in-order Path Trace Replies
         received."
    REFERENCE "RFC 7455, Section 10"
    ::= { trillOamMepEntry 4 }

trillOamMepPtrInOutofOrder OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Total number of valid, out-of-order Path Trace Replies
         received."
    REFERENCE "RFC 7455, Section 10"
    ::= { trillOamMepEntry 5 }

trillOamMepPtrOut OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Total number of valid, Path Trace Replies
         transmitted."
    REFERENCE "RFC 7455, Section 10"
    ::= { trillOamMepEntry 6 }

trillOamMepMtvrIn OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Total number of valid, in-order Multi-destination
         Replies received."
    REFERENCE "RFC 7455, Section 11"
    ::= { trillOamMepEntry 7 }

trillOamMepMtvrInOutofOrder OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Total number of valid, out-of-order Multi-destination
         Replies received."
    REFERENCE "RFC 7455, Section 11"
    ::= { trillOamMepEntry 8 }

trillOamMepMtvrOut OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Total number of valid, Multi-destination Replies
        transmitted."
    REFERENCE "RFC 7455, Section 11"
    ::= { trillOamMepEntry 9 }

trillOamMepTxLbmDestRName OBJECT-TYPE
    SYNTAX          Unsigned32 (0..65471)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The Target Destination RBridge Nickname field, as
        defined in RFC 6325, Section 3.7, to be transmitted."
    REFERENCE "RFC 7455 and RFC 6325, Section 3.7"
    ::= { trillOamMepEntry 10 }

trillOamMepTxLbmHC OBJECT-TYPE
    SYNTAX          Unsigned32(1..63)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The Hop Count field to be transmitted."
    REFERENCE "RFC 7455, Sections 3 and 9"
    ::= { trillOamMepEntry 11 }

trillOamMepTxLbmReplyModeOob OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "True indicates that the Reply to an LBM is out of
        band and the out-of-band IP Address TLV is to be
        transmitted.  False indicates that in-band reply is
        transmitted."
    REFERENCE "RFC 7455, Section 9.2.1"
    ::= { trillOamMepEntry 12 }

trillOamMepTransmitLbmReplyIp OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE  (4..16))
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The IP address for an out-of-band IP Address TLV
         that is to be transmitted.  Maximum length for IPv6
         is 16 octets and IPv4 is 4 octets."
    REFERENCE "RFC 7455, Section 3"
    ::= { trillOamMepEntry 13 }

trillOamMepTxLbmFlowEntropy OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE  (96))
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "96-byte Flow Entropy, as defined in RFC 7455, to
         be transmitted."
    REFERENCE "RFC 7455, Section 3"
    ::= { trillOamMepEntry 14 }

trillOamMepTxPtmDestRName OBJECT-TYPE
    SYNTAX          Unsigned32 (0..65471)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The Target Destination RBridge Nickname field,
        as defined in RFC 6325, Section 3.7, to be transmitted."
    REFERENCE "RFC 7455 and RFC 6325, Section 3.7"
    ::= { trillOamMepEntry 15 }

trillOamMepTxPtmHC OBJECT-TYPE
    SYNTAX          Unsigned32 (1..63)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The Hop Count field to be transmitted."
    REFERENCE "RFC 7455, Section 3"
    ::= { trillOamMepEntry 16 }

trillOamMepTxPtmReplyModeOob OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "True indicates that a Reply to a PTM will be
         out of band and the out-of-band IP Address TLV
         is to be transmitted.  False indicates that an
         in-band reply  is transmitted."
    REFERENCE "RFC 7455, Section 10"
    DEFVAL          { false }
    ::= { trillOamMepEntry 17 }

trillOamMepTransmitPtmReplyIp OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE  (4..16))
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The IP address for an out-of-band IP Address TLV
         to be transmitted.  The maximum length for an
         IPv6 address is 16 octets.  The maximum length
         for an  IPv4 address is 4 octets."
    REFERENCE "RFC 7455, Sections 3 and 10"
    ::= { trillOamMepEntry 18 }

trillOamMepTxPtmFlowEntropy OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE  (96))
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "96-byte Flow Entropy, as defined in RFC 7455, to be
         transmitted."
    REFERENCE "RFC 7455, Section 3"
    ::= { trillOamMepEntry 19 }

trillOamMepTxPtmStatus OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "A Boolean flag set to TRUE by the MEP Path Trace Initiator
        State Machine or a MIB manager to indicate that another PTM
        is being transmitted.  This is reset to FALSE by the MEP
        Initiator State Machine.  The PTM managed objects in the MEP
        table are used in a manner similar to that described for LBM
        transmission in the dot1agCfmMepTable.  As per RFC 7455,
        Section 10, operation of the Path Trace Message is identical
        to the Loopback message except that it is first transmitted
        with a TRILL Header Hop Count field value of 1 and then
        retransmitted with an incrementing Hop Count until a
        response is received from the destination RBridge, or the
        Hop Count reaches a configured maximum value.  The
        trillOamMepTxPtmStatus status is reset to FALSE by
        the initiator when the last PTM is transmitted."
    REFERENCE "RFC 7455, Section 10"
    DEFVAL          { false }
    ::= { trillOamMepEntry 20 }

trillOamMepTxPtmResultOK OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "Indicates the following results of the operation:
        - true indicates the Path Trace Message(s) will be
          (or has been) sent.
        - false indicates the Path Trace Message(s) will not
          be sent."
    REFERENCE "RFC 7455, Section 10"
    DEFVAL          { true }
    ::= { trillOamMepEntry 21 }

trillOamMepTxPtmSeqNumber OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The Path Trace Transaction Identifier of the first
         PTM (to be) sent.  The value returned is
         undefined if trillOamMepTxPtmResultOK is false."
    REFERENCE "RFC 7455, Section 10"
    ::= { trillOamMepEntry 22 }

trillOamMepTxPtmMessages OBJECT-TYPE
    SYNTAX          Integer32 (1..1024)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The number of Path Trace messages to be transmitted.
         As per RFC 7455, Section 10, the first Path Trace
         Message is transmitted with a Hop Count of 1; an
         RBridge may continue to retransmit the request at
         periodic intervals with an incrementing Hop Count
         until a response is received from the destination
         RBridge or the Hop Count reaches a configured
         maximum value.  The event of the Destination
         response being received or the Hop Count reaching
         its maximum is treated as a single Counter
         increment of this object."
    REFERENCE "RFC 7455, Section 10"
    ::= { trillOamMepEntry 23 }

trillOamMepTxMtvmTree OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The Multi-destination Tree identifier, as
         defined in RFC 6325, for an MTVM."
    ::= { trillOamMepEntry 24 }

trillOamMepTxMtvmHC OBJECT-TYPE
    SYNTAX          Unsigned32(1..63)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The Hop Count field to be transmitted.
        "
    REFERENCE "RFC 7455, Section 3, and RFC 6325, Section 3"
    ::= { trillOamMepEntry 25 }

trillOamMepTxMtvmReplyModeOob OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "True indicates that the reply to an MTVM is out of
        band and this out-of-band IP Address TLV is where the
        reply is to be transmitted.

        False indicates that an in-band reply is transmitted."
    REFERENCE "RFC 7455, Section 11"
    ::= { trillOamMepEntry 26 }

trillOamMepTransmitMtvmReplyIp OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE  (4..16))
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "IP address for an out-of-band IP Address TLV that is
         to be transmitted.  The maximum length for IPv6 is 16
         octets and IPv4 is 4 octets."
    REFERENCE "RFC 7455, Section 11"
    ::= { trillOamMepEntry 27 }

trillOamMepTxMtvmFlowEntropy OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE  (96))
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "96-byte Flow Entropy, as defined in RFC 7455, to be
         transmitted."
    REFERENCE "RFC 7455, Section 3"
    ::= { trillOamMepEntry 28 }

trillOamMepTxMtvmStatus OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "A Boolean flag set to TRUE by the MEP Multi-destination
        Initiator State Machine or a MIB manager to indicate
        that another MTVM is being transmitted.
        Reset to FALSE by the MEP Initiator State Machine.
        The MTVM-managed objects in the MEP table are used
        in a manner similar to that described for LBM
        transmission in the dot1agCfmMepTable.  As per RFC 7455,
        Section 11, operation of the MTVM is
        identical to the Loopback message except that it is
        first transmitted with a TRILL Header Hop Count
        field value of 1 and it is retransmitted incrementing
        the Hop Count until a response is received from the
        destination RBridge or the Hop Count reaches a
        configured maximum value.  The trillOamMepTxMtvmStatus
        Status is reset to FALSE by the initiator when the last
        MTVM is transmitted."
    REFERENCE "RFC 7455, Section 11"
    DEFVAL          { false }
    ::= { trillOamMepEntry 29 }

trillOamMepTxMtvmResultOK OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "Indicates the result of the operation in
         the following way:
        - true indicates the Multi-destination Message(s) will be
          (or has been) sent.
        - false indicates the Multi-destination Message(s) will not
          be sent."
    REFERENCE "RFC 7455, Section 11"
    DEFVAL          { true }
    ::= { trillOamMepEntry 30 }

trillOamMepTxMtvmMessages OBJECT-TYPE
    SYNTAX          Integer32 (1..1024)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The number of Multi-destination messages to be transmitted.
         The RBridge transmit the Multi-destination message
         incrementing the session Identification Number at periodic
         interval until this count expires."
    REFERENCE "RFC 7455, Section 11"
    ::= { trillOamMepEntry 31 }

trillOamMepTxMtvmSeqNumber OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The Multi-destination Transaction Identifier of the
        first MTVM (to be)
        sent.  The value returned is undefined if
        trillOamMepTxMtvmResultOK is false."
    REFERENCE "RFC 7455, Section 11"
    ::= { trillOamMepEntry 32 }

trillOamMepTxMtvmScopeList OBJECT-TYPE
    SYNTAX          OCTET STRING
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The Multi-destination RBridge Scope list, which
           requires 2 octets per RBridge."
    REFERENCE "RFC 7455, Section 11"
    ::= { trillOamMepEntry 33 }

trillOamMepDiscontinuityTime OBJECT-TYPE
    SYNTAX          TimeStamp
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Snapshot of the value of the sysUpTime object at the
         beginning of the latest period of continuity of the
         statistical counters associated with this MEP."
    ::= { trillOamMepEntry 34 }

-- *****************************************************************
-- TRILL OAM Tx Measurement Configuration Table
-- *****************************************************************

trillOamMepFlowCfgTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF TrillOamMepFlowCfgEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table includes configuration objects and operations
         for the TRILL OAM facilities in RFC 7455.

         Each row in the table represents a Flow Configuration
         Entry for the defined MEP.  This table uses four indices.
         The first three indices are the indices of the Maintenance
         Domain, MANET, and MEP tables.  The fourth index is the
         specific Flow Configuration Entry on the selected MEP.

        Some writable objects in this table are only applicable in
        certain cases (as described under each object), and
        attempts to write values for them in other cases
        will be ignored."
    REFERENCE       "RFC 7455"
    ::= { trillOamMep 2 }

trillOamMepFlowCfgEntry OBJECT-TYPE
    SYNTAX          TrillOamMepFlowCfgEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The conceptual row of trillOamMepFlowCfgTable."
    INDEX           {
                        dot1agCfmMdIndex,
                        dot1agCfmMaIndex,
                        dot1agCfmMepIdentifier,
                        trillOamMepFlowCfgIndex
                    }
    ::= { trillOamMepFlowCfgTable 1 }

TrillOamMepFlowCfgEntry ::= SEQUENCE {
        trillOamMepFlowCfgIndex       Unsigned32,
        trillOamMepFlowCfgFlowEntropy OCTET STRING,
        trillOamMepFlowCfgDestRName   Unsigned32,
        trillOamMepFlowCfgFlowHC      Unsigned32,
        trillOamMepFlowCfgRowStatus   RowStatus
        }

trillOamMepFlowCfgIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (1..65535)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An index to the TRILL OAM MEP Flow Configuration table,
        which indicates the specific flow for the MEP.

        The index is never reused for other flow sessions on the
        same MEP while this session is active.  The index value
        keeps increasing until it wraps to 0.  This value can also be
        used in the flow-identifier TLV RFC 7455."
    REFERENCE "RFC 7455"
    ::= { trillOamMepFlowCfgEntry 1 }

trillOamMepFlowCfgFlowEntropy OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE  (96))
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This is 96 bytes of Flow Entropy as described in
        TRILL OAM, RFC 7455."
    REFERENCE "RFC 7455, Section 3"
    ::= { trillOamMepFlowCfgEntry 2 }

trillOamMepFlowCfgDestRName OBJECT-TYPE
    SYNTAX          Unsigned32 (0..65471)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The Target Destination RBridge Nickname field, as
        defined in RFC 6325, Section 3.7, to be transmitted."
    REFERENCE "RFC 7455, Section 3, and RFC 6325, Section 3.7"
    ::= { trillOamMepFlowCfgEntry 3 }

trillOamMepFlowCfgFlowHC OBJECT-TYPE
    SYNTAX          Unsigned32 (1..63)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The Hop Count field to be transmitted."
    REFERENCE "RFC 7455, Section 3, and RFC 6325, Section 3.6"
    ::= { trillOamMepFlowCfgEntry 4 }

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

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

-- ******************************************************************
-- TRILL OAM Path Trace Reply Table
-- ******************************************************************

trillOamPtrTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF TrillOamPtrEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table includes Path Trace Reply objects and
         operations for the TRILL OAM facilities as described
         in RFC 7455.

        Each row in the table represents a Path Trace Reply Entry for
        the defined MEP and Transaction.  This table uses four
        indices.  The first three indices are the indices of the
        Maintenance Domain,
        MANET, and MEP tables.  The fourth index is the specific
        Transaction Identifier on the selected MEP.

        Some writable objects in this table are only applicable in
        certain cases (as described under each object),
        and attempts to
        write values for them in other cases will be ignored."
    REFERENCE       "RFC 7455"
    ::= { trillOamMep 3 }

trillOamPtrEntry OBJECT-TYPE
    SYNTAX          TrillOamPtrEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The conceptual row of trillOamPtrTable."
    INDEX           {
                        dot1agCfmMdIndex,
                        dot1agCfmMaIndex,
                        dot1agCfmMepIdentifier,
                        trillOamMepPtrTransactionId
                    }
    ::= { trillOamPtrTable 1 }

TrillOamPtrEntry ::= SEQUENCE {
        trillOamMepPtrTransactionId           Unsigned32,
        trillOamMepPtrHC                      Unsigned32,
        trillOamMepPtrFlag                    Unsigned32,
        trillOamMepPtrErrorCode               Unsigned32,
        trillOamMepPtrTerminalMep             TruthValue,
        trillOamMepPtrLastEgressId            Unsigned32,
        trillOamMepPtrIngress       Dot1agCfmIngressActionFieldValue,
        trillOamMepPtrIngressMac              MacAddress,
        trillOamMepPtrIngressPortIdSubtype    LldpPortIdSubtype,
        trillOamMepPtrIngressPortId           LldpPortId,
        trillOamMepPtrEgress        Dot1agCfmEgressActionFieldValue,
        trillOamMepPtrEgressMac               MacAddress,
        trillOamMepPtrEgressPortIdSubtype     LldpPortIdSubtype,
        trillOamMepPtrEgressPortId            LldpPortId,
        trillOamMepPtrChassisIdSubtype        LldpChassisIdSubtype,
        trillOamMepPtrChassisId               LldpChassisId,
        trillOamMepPtrOrganizationSpecificTlv OCTET STRING,
        trillOamMepPtrNextHopNicknames        OCTET STRING
}

trillOamMepPtrTransactionId OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Sequence Number / Transaction Identifier returned by a
         previous transmit path trace message command,
         indicating which PTM's response is going to be returned."
    REFERENCE       "RFC 7455, Section 10"
    ::= { trillOamPtrEntry 1 }

trillOamMepPtrHC  OBJECT-TYPE
    SYNTAX          Unsigned32 (1..63)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Hop Count field value for a returned PTR."
    REFERENCE       "RFC 7455"
    ::= { trillOamPtrEntry 2 }

trillOamMepPtrFlag OBJECT-TYPE
    SYNTAX          Unsigned32 (0..15)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "FCOI (TRILL OAM Message TLV) field value for a
         returned PTR."
    REFERENCE       "RFC 7455, Section 8.4.3"
    ::= { trillOamPtrEntry 3 }

trillOamMepPtrErrorCode OBJECT-TYPE
    SYNTAX          Unsigned32 (0..65535)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Return Code and Return Sub-code value for a returned PTR."
    REFERENCE       "RFC 7455, Section 8.4.3"
    ::= { trillOamPtrEntry 4 }

trillOamMepPtrTerminalMep OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "A boolean value stating whether the forwarded PTM reached a
        MEP enclosing its MA, as returned in the Terminal MEP flag of
        the Flags field."
    REFERENCE       "RFC 7455"
    ::= { trillOamPtrEntry 5 }

trillOamMepPtrLastEgressId OBJECT-TYPE
    SYNTAX          Unsigned32 (0..65535)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "An Integer field holding the Last Egress Identifier returned
        in the PTR Upstream RBridge Nickname TLV of the PTR.
        The Last Egress Identifier identifies the Upstream Nickname."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamPtrEntry 6 }

trillOamMepPtrIngress OBJECT-TYPE
    SYNTAX          Dot1agCfmIngressActionFieldValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The value returned in the Ingress Action field of the PTR.
        The value ingNoTlv(0) indicates that no Reply Ingress TLV was
        returned in the PTM."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamPtrEntry 7 }

trillOamMepPtrIngressMac OBJECT-TYPE
    SYNTAX          MacAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "MAC address returned in the ingress MAC address field."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamPtrEntry 8 }

trillOamMepPtrIngressPortIdSubtype OBJECT-TYPE
    SYNTAX          LldpPortIdSubtype
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Ingress Port ID.  The format of this object is determined by
        the value of the trillOamMepPtrIngressPortIdSubtype object."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamPtrEntry 9 }

trillOamMepPtrIngressPortId 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 trillOamMepPtrIngressPortId object."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamPtrEntry 10 }

trillOamMepPtrEgress OBJECT-TYPE
    SYNTAX          Dot1agCfmEgressActionFieldValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The value returned in the Egress Action field of the PTR.

        The value ingNoTlv(0) indicates that no Reply Egress TLV was
        returned in the PTM."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamPtrEntry 11 }

trillOamMepPtrEgressMac OBJECT-TYPE
    SYNTAX          MacAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "MAC address returned in the egress MAC address field."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamPtrEntry 12 }

trillOamMepPtrEgressPortIdSubtype OBJECT-TYPE
    SYNTAX          LldpPortIdSubtype
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Egress Port ID.  The format of this object is determined by
        the value of the trillOamMepPtrEgressPortIdSubtype object."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamPtrEntry 13 }

trillOamMepPtrEgressPortId 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 trillOamMepPtrEgressPortId object."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamPtrEntry 14 }

trillOamMepPtrChassisIdSubtype 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 PTR, if any.  This value is
        meaningless if the trillOamMepPtrChassisId
        has a length of 0."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamPtrEntry 15 }

trillOamMepPtrChassisId OBJECT-TYPE
    SYNTAX          LldpChassisId
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The Chassis ID returned in the Sender ID TLV of the PTR, if
        any.  The format of this object is determined by the
        value of the trillOamMepPtrChassisIdSubtype object."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamPtrEntry 16 }

trillOamMepPtrOrganizationSpecificTlv OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE  (0 | 4..1500))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "All organization-specific TLVs returned in the PTR, if
        any.  Includes all octets including and following the TLV
        Length field of each TLV, concatenated together."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamPtrEntry 17 }

trillOamMepPtrNextHopNicknames OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE  (0 | 4..1500))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Next hop RBridge List TLV returned in the PTR, if
        any.  Includes all octets including and following the TLV
        Length field of each TLV, concatenated together."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamPtrEntry 18 }

-- ******************************************************************
-- TRILL OAM Multi-destination Reply Table
-- ******************************************************************

trillOamMtvrTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF TrillOamMtvrEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table includes Multi-destination Reply objects and
         operations for the TRILL OAM facilities described in
         RFC 7455.

        Each row in the table represents a Multi-destination Reply
        Entry for the defined MEP and Transaction.  This table uses

        five indices.  The first three indices are the indices of the
        Maintenance Domain, MANET, and MEP tables.  The fourth index
        is the specific Transaction Identifier on the selected MEP.
        The fifth index is the receive order of Multi-destination
        replies.

        Some writable objects in this table are only applicable in
        certain cases (as described under each object), and attempts
        to write values for them in other cases will be ignored."
    REFERENCE       "RFC 7455"
    ::= { trillOamMep 4 }

trillOamMtvrEntry OBJECT-TYPE
    SYNTAX          TrillOamMtvrEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The conceptual row of trillOamMtvrTable."
    INDEX           {
                        dot1agCfmMdIndex,
                        dot1agCfmMaIndex,
                        dot1agCfmMepIdentifier,
                        trillOamMepPtrTransactionId,
                        trillOamMepMtvrReceiveOrder
                    }
    ::= { trillOamMtvrTable 1 }

TrillOamMtvrEntry ::= SEQUENCE {
        trillOamMepMtvrTransactionId           Unsigned32,
        trillOamMepMtvrReceiveOrder            Unsigned32,
        trillOamMepMtvrFlag                    Unsigned32,
        trillOamMepMtvrErrorCode               Unsigned32,
        trillOamMepMtvrLastEgressId            Unsigned32,
        trillOamMepMtvrIngress    Dot1agCfmIngressActionFieldValue,
        trillOamMepMtvrIngressMac              MacAddress,
        trillOamMepMtvrIngressPortIdSubtype    LldpPortIdSubtype,
        trillOamMepMtvrIngressPortId           LldpPortId,
        trillOamMepMtvrEgress     Dot1agCfmEgressActionFieldValue,
        trillOamMepMtvrEgressMac               MacAddress,
        trillOamMepMtvrEgressPortIdSubtype     LldpPortIdSubtype,
        trillOamMepMtvrEgressPortId            LldpPortId,
        trillOamMepMtvrChassisIdSubtype        LldpChassisIdSubtype,
        trillOamMepMtvrChassisId               LldpChassisId,
        trillOamMepMtvrOrganizationSpecificTlv OCTET STRING,
        trillOamMepMtvrNextHopNicknames        OCTET STRING,
        trillOamMepMtvrReceiverAvailability    TruthValue,
        trillOamMepMtvrReceiverCount           TruthValue
}

trillOamMepMtvrTransactionId OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Sequence Number / Transaction Identifier returned by a
        previously transmitted Multi-destination message command
        indicating which MTVM's response is going to be returned."
    REFERENCE       "RFC 7455, Section 11"
    ::= { trillOamMtvrEntry 1 }

trillOamMepMtvrReceiveOrder OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4294967295)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An index to distinguish among multiple MTVRs with same MTVR
         Transaction Identifier field value.
         trillOamMepMtvrReceiveOrder is assigned sequentially from 1,
         in the order that the Multi-destination Tree Initiator
         received the MTVRs."
    REFERENCE   "RFC 7455, Section 11"
    ::= { trillOamMtvrEntry 2 }

trillOamMepMtvrFlag OBJECT-TYPE
    SYNTAX          Unsigned32 (0..15)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "FCOI (TRILL OAM Message TLV) field value for a
         returned MTVR."
    REFERENCE       "RFC 7455, Section 8.4.2"
    ::= { trillOamMtvrEntry 3 }

trillOamMepMtvrErrorCode OBJECT-TYPE
    SYNTAX          Unsigned32 (0..65535)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Return Code and Return Sub-code value for a returned MTVR."
    REFERENCE       "RFC 7455, Section 8.4.2"
    ::= { trillOamMtvrEntry 4 }

trillOamMepMtvrLastEgressId OBJECT-TYPE
    SYNTAX          Unsigned32 (0..65535)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "An Integer field holding the Last Egress Identifier returned
        in the MTVR Upstream RBridge Nickname TLV of the MTVR.  The
        Last Egress Identifier identifies the Upstream Nickname."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamMtvrEntry 5 }

trillOamMepMtvrIngress OBJECT-TYPE
    SYNTAX          Dot1agCfmIngressActionFieldValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The value returned in the Ingress Action field of
        the MTVR.  The value ingNoTlv(0) indicates that no
        Reply Ingress TLV was returned in the MTVM."
    REFERENCE       "RFC 7455, Section 11.2.3"
    ::= { trillOamMtvrEntry 6 }

trillOamMepMtvrIngressMac OBJECT-TYPE
    SYNTAX          MacAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "MAC address returned in the ingress MAC address field."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamMtvrEntry 7 }

trillOamMepMtvrIngressPortIdSubtype OBJECT-TYPE
    SYNTAX          LldpPortIdSubtype
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Ingress Port ID.  The format of this object is
        determined by the value of the
        trillOamMepMtvrIngressPortIdSubtype object."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamMtvrEntry 8 }

trillOamMepMtvrIngressPortId 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 trillOamMepMtvrIngressPortId object."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamMtvrEntry 9 }

trillOamMepMtvrEgress OBJECT-TYPE
    SYNTAX          Dot1agCfmEgressActionFieldValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The value returned in the Egress Action field of the MTVR.
        The value ingNoTlv(0) indicates that no Reply Egress TLV was
        returned in the MTVR."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamMtvrEntry 10 }

trillOamMepMtvrEgressMac OBJECT-TYPE
    SYNTAX          MacAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "MAC address returned in the egress MAC address field."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamMtvrEntry 11 }

trillOamMepMtvrEgressPortIdSubtype OBJECT-TYPE
    SYNTAX          LldpPortIdSubtype
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Egress Port ID.  The format of this object is determined by
        the value of the trillOamMepMtvrEgressPortIdSubtype object."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamMtvrEntry 12 }

trillOamMepMtvrEgressPortId 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 trillOamMepMtvrEgressPortId object."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamMtvrEntry 13 }

trillOamMepMtvrChassisIdSubtype 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 MTVR, if any.  This value is
        meaningless if the trillOamMepMtvrChassisId has a

        length of 0."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamMtvrEntry 14 }

trillOamMepMtvrChassisId OBJECT-TYPE
    SYNTAX          LldpChassisId
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The Chassis ID returned in the Sender ID TLV of the MTVR, if
        any.  The format of this object is determined by the
        value of the trillOamMepMtvrChassisIdSubtype object."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamMtvrEntry 15 }

trillOamMepMtvrOrganizationSpecificTlv OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE  (0 | 4..1500))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "All organization-specific TLVs returned in the MTVR, if
        any.  Includes all octets including and following the TLV
        Length field of each TLV, concatenated together."
    REFERENCE       "RFC 7455, Section 8.4.1"
    ::= { trillOamMtvrEntry 16 }

trillOamMepMtvrNextHopNicknames OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE  (0 | 4..1500))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Next hop RBridge List TLV returned in the PTR, if
        any.  Includes all octets including and following the TLV
        Length field of each TLV, concatenated together."
    REFERENCE       "RFC 7455, Section 8.4.3"
    ::= { trillOamMtvrEntry 17 }

trillOamMepMtvrReceiverAvailability OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "A value of true indicates that the MTVR response contained
        Multicast receiver availability TLV."
    REFERENCE       "RFC 7455, Section 8.4.10"
    ::= { trillOamMtvrEntry 18 }

trillOamMepMtvrReceiverCount OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Indicates the number of multicast receivers available on
        the responding RBridge on the VLAN specified by the
        diagnostic VLAN."
    REFERENCE       "RFC 7455, Section 8.4.10"
    ::= { trillOamMtvrEntry 19 }

-- *****************************************************************
-- TRILL OAM MEP Database Table
-- *****************************************************************

trillOamMepDbTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TrillOamMepDbEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table is an extension of the dot1agCfmMepDbTable
        and rows are automatically added to or deleted from
        this table based upon row creation and destruction of the
        dot1agCfmMepDbTable."
    REFERENCE
       "RFC 7455"
    ::= { trillOamMep 5 }

trillOamMepDbEntry OBJECT-TYPE
    SYNTAX      TrillOamMepDbEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The conceptual row of trillOamMepDbTable."
    AUGMENTS {
             dot1agCfmMepDbEntry
             }
    ::= { trillOamMepDbTable 1 }

TrillOamMepDbEntry ::= SEQUENCE {
      trillOamMepDbFlowIndex         Unsigned32,
      trillOamMepDbFlowEntropy       OCTET STRING,
      trillOamMepDbFlowState         Dot1agCfmRemoteMepState,
      trillOamMepDbFlowFailedOkTime  TimeStamp,
      trillOamMepDbRBridgeName       Unsigned32,
      trillOamMepDbLastGoodSeqNum    Counter32
    }

trillOamMepDbFlowIndex OBJECT-TYPE
    SYNTAX        Unsigned32 (1..65535)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
      "This object identifies the flow.  If the Flow Identifier TLV
       is received, then the index received can also be used."
    REFERENCE "RFC 7455"
    ::= {trillOamMepDbEntry 1 }

trillOamMepDbFlowEntropy OBJECT-TYPE
    SYNTAX        OCTET STRING (SIZE  (96))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
      "96 byte Flow Entropy."
    REFERENCE "RFC 7455, Section 3"
    ::= {trillOamMepDbEntry 2 }

trillOamMepDbFlowState OBJECT-TYPE
    SYNTAX       Dot1agCfmRemoteMepState
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The operational state of the remote MEP (flow-based)
         IFF State machines.  State Machine is running now per
         flow."
    REFERENCE "RFC 7455"
    ::= {trillOamMepDbEntry 3 }

 trillOamMepDbFlowFailedOkTime OBJECT-TYPE
    SYNTAX        TimeStamp
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The Time (sysUpTime) at which the Remote MEP flow state
         machine last entered either the RMEP_FAILED or RMEP_OK
         state."
    REFERENCE "RFC 7455"
    ::= {trillOamMepDbEntry 4 }

trillOamMepDbRBridgeName OBJECT-TYPE
    SYNTAX        Unsigned32(0..65471)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
         "Remote MEP RBridge Nickname."
    REFERENCE "RFC 7455 and RFC 6325, Section 3"
    ::= {trillOamMepDbEntry 5 }

trillOamMepDbLastGoodSeqNum OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
         "Last Sequence Number received."
    REFERENCE "RFC 7455, Section 13.1"
    ::= {trillOamMepDbEntry 6}

-- ******************************************************************
-- TRILL OAM MIB NOTIFICATIONS (TRAPS)
-- This notification is sent to management entity whenever a
-- MEP loses/restores
-- contact with its peer flow MEPs
-- ******************************************************************
trillOamFaultAlarm NOTIFICATION-TYPE
    OBJECTS         { trillOamMepDbFlowState }
    STATUS          current
    DESCRIPTION
        "A MEP flow has a persistent defect condition.
         A notification (fault alarm) is sent to the management
         entity with the OID of the flow that has detected the fault.

        The management entity receiving the notification can identify
        the system from the network source address of the
        notification and can identify the flow reporting the defect
        by the indices in the OID of the trillOamMepFlowIndex and
        trillOamFlowDefect variable in the notification:

           dot1agCfmMdIndex - Also the index of the MEP's
                              Maintenance Domain table entry
                              (dot1agCfmMdTable).
           dot1agCfmMaIndex - Also an index (with the MD table index)
                              of the MEP's Maintenance Association
                              network table entry
                              (dot1agCfmMaNetTable) and (with the MD
                              table index and component ID) of the
                              MEP's MA component table entry
                              (dot1agCfmMaCompTable).
           dot1agCfmMepIdentifier - MEP Identifier and final index
                              into the MEP table (dot1agCfmMepTable).
           trillOamMepFlowCfgIndex - Index identifies
                              indicates the specific flow for
                              the MEP"
    REFERENCE       "RFC 7455"
   ::= { trillOamNotifications 1 }

-- ******************************************************************
-- TRILL OAM MIB Module - Conformance Information
-- ******************************************************************

trillOamMibCompliances  OBJECT IDENTIFIER
    ::= { trillOamMibConformance 1 }

trillOamMibGroups  OBJECT IDENTIFIER
    ::= { trillOamMibConformance 2 }

-- ******************************************************************
-- TRILL OAM MIB Units of Conformance
-- ******************************************************************

trillOamMepMandatoryGroup OBJECT-GROUP
    OBJECTS         {
                        trillOamMepRName,
                        trillOamMepNextPtmTId,
                        trillOamMepNextMtvmTId,
                        trillOamMepPtrIn,
                        trillOamMepPtrInOutofOrder,
                        trillOamMepPtrOut,
                        trillOamMepMtvrIn,
                        trillOamMepMtvrInOutofOrder,
                        trillOamMepMtvrOut,
                        trillOamMepTxLbmDestRName,
                        trillOamMepTxLbmHC,
                        trillOamMepTxLbmReplyModeOob,
                        trillOamMepTransmitLbmReplyIp,
                        trillOamMepTxLbmFlowEntropy,
                        trillOamMepTxPtmDestRName,
                        trillOamMepTxPtmHC,
                        trillOamMepTxPtmReplyModeOob,
                        trillOamMepTransmitPtmReplyIp,
                        trillOamMepTxPtmFlowEntropy,
                        trillOamMepTxPtmStatus,
                        trillOamMepTxPtmResultOK,
                        trillOamMepTxPtmMessages,
                        trillOamMepTxPtmSeqNumber,
                        trillOamMepTxMtvmTree,
                        trillOamMepTxMtvmHC,
                        trillOamMepTxMtvmReplyModeOob,
                        trillOamMepTransmitMtvmReplyIp,
                        trillOamMepTxMtvmFlowEntropy,
                        trillOamMepTxMtvmStatus,
                        trillOamMepTxMtvmResultOK,
                        trillOamMepTxMtvmMessages,
                        trillOamMepTxMtvmSeqNumber,
                        trillOamMepTxMtvmScopeList,
                        trillOamMepDiscontinuityTime
                    }
    STATUS          current
    DESCRIPTION
        "Mandatory objects for the TRILL OAM MEP group."
    ::= { trillOamMibGroups 1 }

trillOamMepFlowCfgTableGroup OBJECT-GROUP
    OBJECTS         {
                        trillOamMepFlowCfgFlowEntropy,
                        trillOamMepFlowCfgDestRName,
                        trillOamMepFlowCfgFlowHC,
                        trillOamMepFlowCfgRowStatus
                    }
    STATUS          current
    DESCRIPTION
        "TRILL OAM MEP Flow Configuration objects group."
    ::= { trillOamMibGroups 2 }

trillOamPtrTableGroup OBJECT-GROUP
    OBJECTS         {
                        trillOamMepPtrHC,
                        trillOamMepPtrFlag,
                        trillOamMepPtrErrorCode,
                        trillOamMepPtrTerminalMep,
                        trillOamMepPtrLastEgressId,
                        trillOamMepPtrIngress,
                        trillOamMepPtrIngressMac,
                        trillOamMepPtrIngressPortIdSubtype,
                        trillOamMepPtrIngressPortId,
                        trillOamMepPtrEgress,
                        trillOamMepPtrEgressMac,
                        trillOamMepPtrEgressPortIdSubtype,
                        trillOamMepPtrEgressPortId,
                        trillOamMepPtrChassisIdSubtype,
                        trillOamMepPtrChassisId,
                        trillOamMepPtrOrganizationSpecificTlv,
                        trillOamMepPtrNextHopNicknames
                    }
    STATUS          current
    DESCRIPTION
        "TRILL OAM MEP PTR objects group."
    ::= { trillOamMibGroups 3 }

trillOamMtvrTableGroup OBJECT-GROUP
    OBJECTS         {
                        trillOamMepMtvrFlag,
                        trillOamMepMtvrErrorCode,
                        trillOamMepMtvrLastEgressId,
                        trillOamMepMtvrIngress,
                        trillOamMepMtvrIngressMac,
                        trillOamMepMtvrIngressPortIdSubtype,
                        trillOamMepMtvrIngressPortId,
                        trillOamMepMtvrEgress,
                        trillOamMepMtvrEgressMac,
                        trillOamMepMtvrEgressPortIdSubtype,
                        trillOamMepMtvrEgressPortId,
                        trillOamMepMtvrChassisIdSubtype,
                        trillOamMepMtvrChassisId,
                        trillOamMepMtvrOrganizationSpecificTlv,
                        trillOamMepMtvrNextHopNicknames,
                        trillOamMepMtvrReceiverAvailability,
                        trillOamMepMtvrReceiverCount
                    }
    STATUS          current
    DESCRIPTION
        "TRILL OAM MEP MTVR objects group."
    ::= { trillOamMibGroups 4 }

trillOamMepDbGroup  OBJECT-GROUP
    OBJECTS   {
      trillOamMepDbFlowIndex,
      trillOamMepDbFlowEntropy,
      trillOamMepDbFlowState,
      trillOamMepDbFlowFailedOkTime,
      trillOamMepDbRBridgeName,
      trillOamMepDbLastGoodSeqNum
    }
    STATUS      current
    DESCRIPTION
       "TRILL OAM MEP DB objects group."
    ::= { trillOamMibGroups 5 }

trillOamNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS  { trillOamFaultAlarm }
    STATUS current
    DESCRIPTION
        "A collection of objects describing notifications(traps)."
    ::= { trillOamMibGroups 6 }

-- ******************************************************************
-- TRILL OAM MIB Module Compliance Statements
-- ******************************************************************

trillOamMibCompliance MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "The compliance statement for the TRILL OAM MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        trillOamMepMandatoryGroup,
                        trillOamMepFlowCfgTableGroup,
                        trillOamPtrTableGroup,
                        trillOamMtvrTableGroup,
                        trillOamMepDbGroup,
                        trillOamNotificationGroup
                    }
    ::= { trillOamMibCompliances 1 }

-- Compliance requirement for read-only implementation.

trillOamMibReadOnlyCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "Compliance requirement for implementations that only
         provide read-only support for TRILL-OAM-MIB.
         Such devices can be monitored but cannot be configured
         using this MIB module."
    MODULE -- this module
    MANDATORY-GROUPS {
                        trillOamMepMandatoryGroup,
                        trillOamMepFlowCfgTableGroup,
                        trillOamPtrTableGroup,
                        trillOamMtvrTableGroup,
                        trillOamMepDbGroup,
                        trillOamNotificationGroup
                      }
    -- trillOamMepTable

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-- trillOamMepFlowCfgTable

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

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

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

    OBJECT trillOamMepFlowCfgRowStatus
    MIN-ACCESS  read-only
         DESCRIPTION
             "Write access is not required."
    ::= { trillOamMibCompliances 2 }

END
