-- Dot1ag MIB overview:

-- Dot1ag Private MIB falls under dnOS METRO MIB node of the private subtree.
-- Various MIB groups defined within this MIB are:

-- Config Group -> All objects within this group are conceptual MIB table: 

-- General Notes:

--    1) All objects of this MIB are prefixed with 'agentDot1ag' followed by the name of the 
--       object with the first letter in uppercase.

DNOS-METRO-DOT1AG-PRIVATE-MIB DEFINITIONS ::= BEGIN

-- Broadcom DNOS Dot1ag MIB
-- Copyright 2016 Broadcom.
-- This SNMP Management Information Specification
-- embodies Broadcom's confidential and proprietary
-- intellectual property.  Broadcom retains all title
-- and ownership in the Specification including any revisions.

-- This Specification is supplied "AS IS", Broadcom 
-- makes no warranty, either expressed or implied,
-- as to the use, operation, condition, or performance of the
-- Specification.


IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, 
    NOTIFICATION-TYPE, IpAddress,
    Integer32,Unsigned32                FROM SNMPv2-SMI
    
  
    TEXTUAL-CONVENTION,RowStatus,
    RowPointer,MacAddress,
    StorageType,TruthValue              FROM SNMPv2-TC
 
    IANAifType                          FROM IANAifType-MIB
    ifIndex,InterfaceIndex              FROM IF-MIB
    DisplayString                       FROM RFC1213-MIB
    dnOS                            FROM DELL-REF-MIB;

    fastPathDot1agPrivateMIB MODULE-IDENTITY
        LAST-UPDATED "201101260000Z" -- 26 Jan 2011 12:00:00 GMT
        ORGANIZATION "Dell EMC"
        CONTACT-INFO ""
        DESCRIPTION
          "The Broadcom Private MIB for DNOS Dot1ag"
          
        -- Revision history.	  
        REVISION
          "201101260000Z" -- 26 Jan 2011 12:00:00 GMT
        DESCRIPTION
          "Postal address updated."
        REVISION
          "200805270000Z" -- 27 May 2008 12:00:00 GMT
        DESCRIPTION
          "Initial vertion."
           
    ::= { dnOS 45 }


--**************************************************************************************
--       dot1agGlobalConfigGroup
--**************************************************************************************

    dot1agGlobalConfigGroup             OBJECT IDENTIFIER ::= { fastPathDot1agPrivateMIB 1 }

--**************************************************************************************
--       dot1agMipGroup
--**************************************************************************************

    dot1agMipConfigGroup                OBJECT IDENTIFIER ::= { fastPathDot1agPrivateMIB 2 }

--**************************************************************************************
--       dot1agRMepConfigGroup
--**************************************************************************************

    dot1agRMepConfigGroup             OBJECT IDENTIFIER ::= { fastPathDot1agPrivateMIB 3 }

--**************************************************************************************
--    agentDot1agGlobalConfigGroup
--**************************************************************************************

    agentDot1agGlobalConfigGroup        OBJECT IDENTIFIER ::= { dot1agGlobalConfigGroup 1 }
                                    

     agentDot1agCfmStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS read-write
         STATUS     current
         DESCRIPTION
                     "Enable or Disable Global CFM Mode."
         DEFVAL { disable }
         ::= { agentDot1agGlobalConfigGroup 1 }

     agentDot1agCfmArchieveHoldTime OBJECT-TYPE
         SYNTAX     INTEGER (1..65535)
         MAX-ACCESS read-write
         STATUS     current
         DESCRIPTION
                     "Specify Archieve Hold Time in Seconds. Time to hold the inactive Remote MEPs"
         ::= { agentDot1agGlobalConfigGroup 2 }

     agentDot1agCfmClearRemoteMEPs OBJECT-TYPE
         SYNTAX     INTEGER (1)
         MAX-ACCESS read-write
         STATUS     current
         DESCRIPTION
                     "Clear ALL Remote MEPs"
         ::= { agentDot1agGlobalConfigGroup 3 }

     agentDot1agCfmClearTraceRouteCache OBJECT-TYPE
         SYNTAX     INTEGER (1)
         MAX-ACCESS read-write
         STATUS     current
         DESCRIPTION
                     "Clear TraceRoute Cache"
         ::= { agentDot1agGlobalConfigGroup 4 }

     agentDot1agCfmClearStatistics OBJECT-TYPE
         SYNTAX     INTEGER (1)
         MAX-ACCESS read-write
         STATUS     current
         DESCRIPTION
                     "Clear MEP Statistics"
         ::= { agentDot1agGlobalConfigGroup 5 }

--**************************************************************************************
--    agentDot1agMipConfigGroup
--**************************************************************************************

    agentDot1agMipConfigGroup        OBJECT IDENTIFIER ::= { dot1agMipConfigGroup 1 }
                                    
    agentDot1agMipTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentDot1agMipEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table entries specifying the Dot1ag CFM MIP Details"
         ::= { agentDot1agMipConfigGroup 1 }

    agentDot1agMipEntry OBJECT-TYPE
         SYNTAX      AgentDot1agMipEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents a Dot1ag MIP Table."
         INDEX       { 
                       agentDot1agMipMdIndex,
                       agentDot1agMipIfIndex
                     }
         ::= { agentDot1agMipTable  1 }

    AgentDot1agMipEntry ::= SEQUENCE {
          agentDot1agMipMdIndex                       Unsigned32,
          agentDot1agMipIfIndex                       InterfaceIndex,
          agentDot1agMipMode                          INTEGER
         }

    agentDot1agMipMdIndex OBJECT-TYPE
         SYNTAX      Unsigned32(1..4294967295)
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "
                      The index of the Maintenance Domain in the 
                      agentDot1agMipTable to which the MP is associated.
                     "
    ::= { agentDot1agMipEntry 1 }

    agentDot1agMipIfIndex OBJECT-TYPE
         SYNTAX      InterfaceIndex
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Dot1ag CFM MIP Interface Index."
         ::= { agentDot1agMipEntry 2 }

    agentDot1agMipMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS read-create
         STATUS     current
         DESCRIPTION
                     "Enable or Disable MIP CFM Mode."
         DEFVAL { disable }
         ::= { agentDot1agMipEntry 3 }

--**************************************************************************************
--    agentDot1agRMepConfigGroup
--**************************************************************************************

    agentDot1agRMepConfigGroup        OBJECT IDENTIFIER ::= { dot1agRMepConfigGroup 1 }
 
agentDot1agRMepTable  OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentDot1agRMepEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table to configure the Dot1ag CFM Remote MEP entries"
         ::= { agentDot1agRMepConfigGroup 1 }

    agentDot1agRMepEntry OBJECT-TYPE
         SYNTAX      AgentDot1agRMepEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents a Dot1ag Remote MEP Table."
        INDEX { 
            agentDot1agRMepMdIndex,
            agentDot1agRMepMaIndex,
            agentDot1agRMepMepIdIndex,
            agentDot1agRMepIdentifier
          }
         ::= { agentDot1agRMepTable  1 }

     AgentDot1agRMepEntry ::= SEQUENCE {
         agentDot1agRMepMdIndex    Unsigned32,
         agentDot1agRMepMaIndex    Unsigned32,
         agentDot1agRMepMepIdIndex Unsigned32,
         agentDot1agRMepIdentifier Unsigned32,
         agentDot1agRMepIfIndex    InterfaceIndex,
         agentDot1agRMepMacAddress  MacAddress,
         agentDot1agRMepRowStatus  RowStatus
     }

      agentDot1agRMepMdIndex OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                      "The index of the Maintenance Domain in the agentDot1agRMepTable
                      to which the Remote MEP is associated."
    ::= { agentDot1agRMepEntry 1 }

    agentDot1agRMepMaIndex  OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The index of the Maintenance Association in the
                      agentDot1agRMepTable to which the Remote MEP is associated."
    ::= { agentDot1agRMepEntry 2 }


    agentDot1agRMepMepIdIndex  OBJECT-TYPE
         SYNTAX      Unsigned32 (0 | 1..8191)
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The index of the Maintenance End point in the
                      agentDot1agRMepTable to which the Remote MEP is associated."
    ::= { agentDot1agRMepEntry 3 }

       agentDot1agRMepIdentifier  OBJECT-TYPE
         SYNTAX      Unsigned32 (0 | 1..8191)
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The index of the Remote Maintenance End point in the
                      agentDot1agRMepTable."
    ::= { agentDot1agRMepEntry 4 }

     agentDot1agRMepIfIndex OBJECT-TYPE
         SYNTAX      InterfaceIndex
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Interface Index in the agentDot1agRMepTable
                      to which Remote MEP is associated"
    ::= { agentDot1agRMepEntry 5}
    
    agentDot1agRMepMacAddress OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The MAC address of the remote MEP in the agentDot1agRMepTable"
    ::= { agentDot1agRMepEntry 6}

    agentDot1agRMepRowStatus 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.
       "
    ::= { agentDot1agRMepEntry 7}

END
