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

INFINERA-ENTITY-TSM-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
    InfnEqptType                           FROM INFINERA-TC-MIB;

tsmMIB MODULE-IDENTITY
    LAST-UPDATED  "201110200000Z"
    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 TSM equipment table."

::= { equipment 22 }

tsmConformance       OBJECT IDENTIFIER ::= { tsmMIB 3 }
tsmCompliances       OBJECT IDENTIFIER ::= { tsmConformance 1 }
tsmGroups            OBJECT IDENTIFIER ::= { tsmConformance 2 }

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

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

TsmEntry ::= SEQUENCE {
    	tsmMoId        	        DisplayString,
	tsmProvEqptType   	InfnEqptType, 
	tsmRowStatus      	RowStatus,
	cardRedundancyState		INTEGER
}

tsmMoId  OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "The object identifier for TSM"
    ::= { tsmEntry 1 }

tsmProvEqptType  OBJECT-TYPE 
	SYNTAX     InfnEqptType
    	MAX-ACCESS read-create
    	STATUS     current
    	DESCRIPTION "The configured TSM type." 
	::= { tsmEntry 2 }

tsmRowStatus  OBJECT-TYPE 
	SYNTAX     RowStatus
    	MAX-ACCESS read-create
    	STATUS     current
    	DESCRIPTION 
	"The row status of this TSM entry. Because rows in this table are indexed by entPhysicalIndex, to create a new row one must choose a value of entPhys			icalIndex 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 tsmMoId and tsmProvEqptType 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." 
	::= { tsmEntry 3 }



cardRedundancyState OBJECT-TYPE 
		SYNTAX      INTEGER {
        	none (1),      	
        	active (2),
        	standby (3)
        	
    	}
		MAX-ACCESS read-only
    	STATUS     current
    	DESCRIPTION "" ::= { tsmEntry 4 } 



tsmCompliance  MODULE-COMPLIANCE
    STATUS     current
    DESCRIPTION 
        ""
    MODULE
        MANDATORY-GROUPS { tsmGroup } 
    ::= { tsmCompliances 1 }

tsmGroup  OBJECT-GROUP
    OBJECTS { 
        tsmMoId,
	tsmProvEqptType,
	tsmRowStatus,
	cardRedundancyState
         }
    STATUS     current
    DESCRIPTION 
        ""
    ::= { tsmGroups 1 }
END





