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

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

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

timMIB 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 TIM equipment table."
        
::= { equipment 23 }

timConformance       OBJECT IDENTIFIER ::= { timMIB 3 }
timCompliances       OBJECT IDENTIFIER ::= { timConformance 1 }
timGroups            OBJECT IDENTIFIER ::= { timConformance 2 }

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

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

TimEntry ::= SEQUENCE {
    timMoId                     DisplayString,
    timProvEqptType             InfnEqptType,
    timRowStatus                RowStatus,
    timOperatingModeStatus      INTEGER,
    timOperatingMode            InfnFPGAOperatingMode,
    timPortMappingModeGroup1    InfnPortMappingMode,
    timPortMappingModeGroup2    InfnPortMappingMode,
    timPortMappingModeGroup3    InfnPortMappingMode,
    timPortMappingModeGroup4    InfnPortMappingMode
}

timMoId  OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "This is the primary Key of the objects e.g 1-A-3-1"
    ::= { timEntry 1 }

timProvEqptType  OBJECT-TYPE
    SYNTAX     InfnEqptType
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "The configured TIM type."
    ::= { timEntry 2 }

timRowStatus  OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "The row status of this TIM 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 timMoId and timProvEqptType 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."
    ::= { timEntry 3 }


timOperatingModeStatus OBJECT-TYPE
    SYNTAX     INTEGER {
        active (1), 
        changeinprogress (2),
        preProvisioned (3),
        notDetermined (4)

    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
	DEFVAL      { active }
    ::= { timEntry 4 }


timOperatingMode   OBJECT-TYPE
    SYNTAX  InfnFPGAOperatingMode
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
	DEFVAL      { odu4odu2odu2e }
    ::= { timEntry 5 }

timPortMappingModeGroup1 OBJECT-TYPE
    SYNTAX  InfnPortMappingMode
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
	DEFVAL      { bmp-gmp }
    ::= { timEntry 6 }

timPortMappingModeGroup2    OBJECT-TYPE
    SYNTAX  InfnPortMappingMode
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
	DEFVAL      { bmp-gmp }
    ::= { timEntry 7 }
     

timPortMappingModeGroup3  OBJECT-TYPE
    SYNTAX  InfnPortMappingMode
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
	DEFVAL      { bmp-gmp }
    ::= { timEntry 8 }


timPortMappingModeGroup4  OBJECT-TYPE
    SYNTAX  InfnPortMappingMode
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
	DEFVAL      { bmp-gmp }
    ::= { timEntry 9 }
 

timCompliance  MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION ""
    MODULE
        MANDATORY-GROUPS { timGroup } 
    ::= { timCompliances 1 }

timGroup  OBJECT-GROUP
    OBJECTS { 
        timMoId, 
        timProvEqptType, 
        timRowStatus,
        timOperatingModeStatus,
        timOperatingMode,
        timPortMappingModeGroup1,
        timPortMappingModeGroup2,
        timPortMappingModeGroup3,
        timPortMappingModeGroup4   
        }
    STATUS      current
    DESCRIPTION ""
    ::= { timGroups 1 }
END





