-- ***************************************************************
-- INFINERA-ENTITY-XCM-MIB
--   
-- October 2011,  Sharfuddin Syed / Narendra Gupta
--   
-- 
-- Copyright (c) 2011-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

INFINERA-ENTITY-XCM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY           FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE        FROM SNMPv2-CONF
    RowStatus, TruthValue, DisplayString   FROM SNMPv2-TC
    entLPPhysicalIndex                     FROM ENTITY-MIB
    equipment                              FROM INFINERA-REG-MIB
    InfnXcmTimingSrcRedunState,
    InfnCorrelatedRedunStatus,
    InfnEqptType                           FROM INFINERA-TC-MIB;

xcmMIB MODULE-IDENTITY
    LAST-UPDATED  "200810200000Z"
    ORGANIZATION 
        "INFINERA"
    CONTACT-INFO 
        "Infinera
        169 Java Drive
        Sunnyvale, CA - 94089
        
        Contact : Technical Support
        Email   : support@infinera.com
        Phone   : 1-877-INF-5288"
    DESCRIPTION 
        "This MIB is modeling for XCM equipment table."

::= { equipment 21 }

xcmConformance       OBJECT IDENTIFIER ::= { xcmMIB 3 }
xcmCompliances       OBJECT IDENTIFIER ::= { xcmConformance 1 }
xcmGroups            OBJECT IDENTIFIER ::= { xcmConformance 2 }

xcmTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF XcmEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION 
        "This table contains all XCM modules that are currently present in a network element.
        "
    ::= { xcmMIB 1 }

xcmEntry  OBJECT-TYPE
    SYNTAX     XcmEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION 
        "A row in the XCM table. Each row in the table is identified with a unique entPhysicalIndexID. 
        "
    INDEX { entLPPhysicalIndex }
    ::= { xcmTable 1 }

XcmEntry ::= SEQUENCE {
    xcmMoId                		DisplayString,
    xcmProvType            		InfnEqptType,
    xcmRedundancyStatus    		InfnCorrelatedRedunStatus,
    xcmBrandingFault       		TruthValue,
    xcmRowStatus           		RowStatus,
    timingSrcRedunState			InfnXcmTimingSrcRedunState
}

xcmMoId  OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "The object identifier for XCM"
    ::= { xcmEntry 1 }

xcmProvType  OBJECT-TYPE
    SYNTAX     InfnEqptType
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "The configured XCM type."
    ::= { xcmEntry 2 }

xcmRedundancyStatus  OBJECT-TYPE
    SYNTAX    InfnCorrelatedRedunStatus 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        "Indicates the status of the XCM. Valid values:active, standby and makeStandbyInProgress"
    ::= { xcmEntry 3 }

xcmBrandingFault  OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        "This indiactes whether equpiment has branding faults."
    ::= { xcmEntry 4 }

xcmRowStatus  OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "The row status of this XCM entry.
                Because rows in this table are indexed by entPhysicalIndex, to create a new row one must
                choose a value of entPhysicalIndex that is not already in use.
        
                A side-effect of the creation of a row in this table is the creation of a corresponding
                row in the eqptTable and the entPhysicalTable.
        
                The status may not be set to active if the xcmMoId and xcmProvEqptType are not set to valid values.
        
                This row may only be deleted if it was a pre-provisioned row and the hardware is not present.
        
                If this row is deleted, the associated row in the Eqpt Table and entPhysicalTable will be
                deleted by the agent."
    ::= { xcmEntry 5 }



timingSrcRedunState OBJECT-TYPE 
    SYNTAX     InfnXcmTimingSrcRedunState
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION ""
    ::= { xcmEntry 6 } 


xcmCompliance  MODULE-COMPLIANCE
    STATUS     current
    DESCRIPTION 
        ""
    MODULE
        MANDATORY-GROUPS { xcmGroup } 
    ::= { xcmCompliances 1 }

xcmGroup  OBJECT-GROUP
    OBJECTS { 
        xcmBrandingFault, 
        xcmMoId, 
        xcmProvType, 
        xcmRedundancyStatus,
        xcmRowStatus,
        timingSrcRedunState}
    STATUS     current
    DESCRIPTION 
        ""
    ::= { xcmGroups 1 }
END





