-- This file was included in Ciena MIB release MIBS-CIENA-CES-08-06-00-5005
 --
 -- CIENA-CES-ICL-MIB.my
 --
 --
 CIENA-CES-ICL-MIB DEFINITIONS ::= BEGIN

 IMPORTS
    Integer32, Unsigned32, TimeTicks, Counter32, MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    DisplayString, RowStatus, MacAddress
        FROM SNMPv2-TC 
    CienaGlobalState,CienaStatsClear,CienaMacAddress
        FROM CIENA-TC                                                                          
    cienaGlobalSeverity, cienaGlobalMacAddress
        FROM  CIENA-GLOBAL-MIB
    cienaCesConfig, cienaCesNotifications
        FROM CIENA-SMI;


 cienaCesIclMIB MODULE-IDENTITY
        LAST-UPDATED "201706070000Z"
        ORGANIZATION "Ciena Corp."
        CONTACT-INFO
        "   Mib Meister
            7035 Ridge Road
            Hanover, Maryland 21076
            USA
            Phone:  +1 800 921 1144
            Email:  support@ciena.com"
        DESCRIPTION
               "This MIB defines the managed objects for Inter-chassis Links"
        REVISION    "201706070000Z"
            DESCRIPTION 
                  "Updated contact info."
        REVISION    "201612090000Z"
            DESCRIPTION
                  "Added cienaCesIclType, cienaCesIclVlan objects to the MIB."
        REVISION    "201608040000Z"	    
            DESCRIPTION
                  "Initial creation."
        ::= { cienaCesConfig 32 }
 
 --
 -- Node definitions
 --
 
 cienaCesIclMIBObjects OBJECT IDENTIFIER ::= { cienaCesIclMIB 1 } 
 cienaCesIcl  OBJECT IDENTIFIER ::= { cienaCesIclMIBObjects 1 }  
 
 -- Notifications 
  
 cienaCesIclMIBNotificationPrefix     OBJECT IDENTIFIER ::= { cienaCesIclMIB 2 } 
 cienaCesIclMIBNotifications          OBJECT IDENTIFIER ::= { cienaCesIclMIBNotificationPrefix 0 }

 
 -- Conformance information 
 
 cienaCesIclMIBConformance OBJECT IDENTIFIER ::= { cienaCesIclMIB 3 } 
 cienaCesIclMIBCompliances OBJECT IDENTIFIER ::= { cienaCesIclMIBConformance 1 } 		
 cienaCesIclMIBGroups      OBJECT IDENTIFIER ::= { cienaCesIclMIBConformance 2 } 
   
 CienaCesIclEntry ::=  SEQUENCE {          
     cienaCesIclIndex                 Unsigned32,
     cienaCesIclName                  DisplayString,
     cienaCesIclRemoteMacAddress      MacAddress,
     cienaCesIclType                  INTEGER,
     cienaCesIclVlan                  Unsigned32,
     cienaCesIclVsName                DisplayString,
     cienaCesIclCfmServicePrimary     DisplayString,
     cienaCesIclCfmServiceSecondary   DisplayString,   
     cienaCesIclOperState             CienaGlobalState,  
     cienaCesIclStatus                INTEGER,
     cienaCesIclAdminState            CienaGlobalState,
     cienaCesIclCfmFault              INTEGER,
     cienaCesIclVplsFault             INTEGER,
     cienaCesIclRxTimeout             INTEGER,
     cienaCesIclIntervalMismatch      INTEGER,
     cienaCesIclHeartbeatInterval     Unsigned32,
     cienaCesIclUpTime                Unsigned32,
     cienaCesIclTotalDownTime         Unsigned32,
     cienaCesIclRxFrames              Counter32,
     cienaCesIclTxFrames              Counter32, 
     cienaCesIclRxUnknownFrames       Counter32,
     cienaCesIclRxHtbtFrames          Counter32,
     cienaCesIclTxHtbtFrames          Counter32,
     cienaCesIclTxFailedFrames        Counter32,
     cienaCesIclNumberFailures        Counter32,
     cienaCesIclRxConfigMismatch      Counter32, 
     cienaCesIclRxTimeoutMultiplier   Unsigned32 
  }


 cienaCesIclTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF CienaCesIclEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
            "The table lists all the Inter-chassis Links (ICLs)."
     ::= { cienaCesIcl 1 }

 cienaCesIclEntry OBJECT-TYPE
     SYNTAX      CienaCesIclEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
            "An entry in the cienaCesIclTable."
     INDEX { cienaCesIclIndex }
     ::= { cienaCesIclTable 1 }

  cienaCesIclIndex  OBJECT-TYPE
     SYNTAX       Unsigned32 (1..47)
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
            "ICL Index for this entry"
     ::= { cienaCesIclEntry 1 }

  cienaCesIclName  OBJECT-TYPE
     SYNTAX       DisplayString
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the name of this ICL Entry."
     ::= { cienaCesIclEntry 2 }

 cienaCesIclRemoteMacAddress  OBJECT-TYPE
     SYNTAX       MacAddress
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the remote MAC address of this ICL Entry."
     ::= { cienaCesIclEntry 3 }

 cienaCesIclType              OBJECT-TYPE
     SYNTAX       INTEGER {
                 vlan(1),
                 mplsVs(2),
                 qinqVs(3),
                 none(4)
               }
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the Inter-chassis link type." 
     ::= { cienaCesIclEntry 4 }
 
 cienaCesIclVlan             OBJECT-TYPE
     SYNTAX       Unsigned32
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the ICL VLAN. This is valid only if cienaCesIclType is vlan(1)." 
     ::= { cienaCesIclEntry 5 }

 cienaCesIclVsName          OBJECT-TYPE
     SYNTAX       DisplayString
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the Virtual Switch assosiated to this ICL Entry."
     ::= { cienaCesIclEntry 6 }

 cienaCesIclCfmServicePrimary OBJECT-TYPE
     SYNTAX       DisplayString
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies primary CFM service for the ICL Entry."
     ::= { cienaCesIclEntry 7 }

 cienaCesIclCfmServiceSecondary OBJECT-TYPE
     SYNTAX       DisplayString
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies secondary CFM service for the ICL Entry."
     ::= { cienaCesIclEntry 8 }

 cienaCesIclOperState           OBJECT-TYPE
     SYNTAX       CienaGlobalState
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the operational state for the ICL Entry." 
     ::= { cienaCesIclEntry 9 } 

 cienaCesIclStatus          OBJECT-TYPE
     SYNTAX       INTEGER {
                    init(1),
                    active(2),
                    failed(3),
                    down(4),
                    none(5)
                  }
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the ICL StateMachine status." 
     ::= { cienaCesIclEntry 10 }

 cienaCesIclAdminState          OBJECT-TYPE
     SYNTAX       CienaGlobalState
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the admin state of the ICL Entry." 
     ::= { cienaCesIclEntry 11 }

 cienaCesIclCfmFault            OBJECT-TYPE
     SYNTAX       INTEGER {
                     no(1),
                     yes(2)
                  }
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies if CFM fault is set on the ICL." 
     ::= { cienaCesIclEntry 12 }

 cienaCesIclVplsFault           OBJECT-TYPE
     SYNTAX       INTEGER {
                     no(1),
                     yes(2)                 
                  }
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies if VPLS fault is set on the ICL." 
     ::= { cienaCesIclEntry 13 }

 cienaCesIclRxTimeout            OBJECT-TYPE
     SYNTAX       INTEGER {
                     no(1),
                     yes(2)                 
                     }
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies if Rx timeout fault is set on the ICL" 
     ::= { cienaCesIclEntry 14 }

 cienaCesIclIntervalMismatch      OBJECT-TYPE
     SYNTAX       INTEGER {
                     no(1),
                     yes(2)                 
                  }
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies if interval mismatch fault is set on the ICL" 
     ::= { cienaCesIclEntry 15 }   

 cienaCesIclHeartbeatInterval   OBJECT-TYPE
     SYNTAX       Unsigned32
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the ICL heartbeat interval. The range is 1 to 30sec." 
     ::= { cienaCesIclEntry 16 }

 cienaCesIclUpTime              OBJECT-TYPE
     SYNTAX       Unsigned32
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies total time for which the ICL has been operationally up." 
     ::= { cienaCesIclEntry 17 }

 cienaCesIclTotalDownTime       OBJECT-TYPE
     SYNTAX       Unsigned32
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies total time for which the ICL has been operationally down." 
     ::= { cienaCesIclEntry 18 }

 cienaCesIclRxFrames           OBJECT-TYPE
     SYNTAX       Counter32
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the number of CICP frames received by the ICL." 
     ::= { cienaCesIclEntry 19 }
 
 cienaCesIclTxFrames           OBJECT-TYPE
     SYNTAX       Counter32
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the number of CICP frames transmitted by the ICL." 
     ::= { cienaCesIclEntry 20 } 
     
 cienaCesIclRxUnknownFrames    OBJECT-TYPE
     SYNTAX       Counter32
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the number of unknown frames received by the ICL." 
     ::= { cienaCesIclEntry 21 } 
                                
  cienaCesIclRxHtbtFrames           OBJECT-TYPE
     SYNTAX       Counter32
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the number of Hearbeat frames received by the ICL." 
     ::= { cienaCesIclEntry 22 }
     
  cienaCesIclTxHtbtFrames           OBJECT-TYPE
     SYNTAX       Counter32
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the number of Hearbeat frames transmitted by the ICL." 
     ::= { cienaCesIclEntry 23 }

  cienaCesIclTxFailedFrames           OBJECT-TYPE
     SYNTAX       Counter32
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the number of failed to transmit frames." 
     ::= { cienaCesIclEntry 24 }
     
 cienaCesIclNumberFailures     OBJECT-TYPE
     SYNTAX       Counter32
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the number of ICL failures." 
     ::= { cienaCesIclEntry 25 }
 
 cienaCesIclRxConfigMismatch OBJECT-TYPE
     SYNTAX       Counter32
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the number of ICL config mismatch frames received." 
     ::= { cienaCesIclEntry 26 }

 cienaCesIclRxTimeoutMultiplier  OBJECT-TYPE
     SYNTAX       Unsigned32
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object specifies the ICL Rx Timeout multiplier. 
              ICL Rx Timeout interval = (ICL heartbeat interval) * (Rx Timeout multiplier)" 
     ::= { cienaCesIclEntry 27 }

    
  --
  -- Notification
  --     
 cienaCesIclStateChange NOTIFICATION-TYPE
     OBJECTS{
              cienaGlobalSeverity, 
              cienaGlobalMacAddress,
              cienaCesIclIndex,
              cienaCesIclName, 
              cienaCesIclAdminState,
              cienaCesIclOperState
            }
     STATUS   current
     DESCRIPTION
             "This notification is sent when ICL oper state changes.
              Var binding cienaCesIclIndex represents the ICL index." 
     ::= { cienaCesIclMIBNotifications 1 }  

 END

 --
 -- CIENA-CES-ICL-MIB
 --


