-- ***************************************************************
-- INFINERA-ENTITY-imm-MIB
--   
-- Copyright (c) 2011-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

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

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

immMIB 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 imm equipment table."

::= { equipment 27 } 

immConformance       OBJECT IDENTIFIER ::= { immMIB 3 }
immCompliances       OBJECT IDENTIFIER ::= { immConformance 1 }
immGroups            OBJECT IDENTIFIER ::= { immConformance 2 }

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

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

ImmEntry ::= SEQUENCE {
    immMoId                 DisplayString,
    immProvEqptType         InfnEqptType,
    immInterfaceTypeNCT 	INTEGER,
    immFlashStatus			InfnFlashStatus
}

immMoId     OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION ""
    ::= {   immEntry 1 }

immProvEqptType     OBJECT-TYPE
    SYNTAX      InfnEqptType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION ""
    ::= {   immEntry 2 }

immInterfaceTypeNCT OBJECT-TYPE
    SYNTAX      INTEGER {
        copper(1),
        fiber(2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION ""
    ::= { immEntry 3 }

immFlashStatus OBJECT-TYPE 
		SYNTAX      InfnFlashStatus
		MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION "" 
        ::= { immEntry 4 } 

immCompliance  MODULE-COMPLIANCE
    STATUS     current
    DESCRIPTION 
        ""
    MODULE
        MANDATORY-GROUPS { immGroup } 
    ::= { immCompliances 1 }

immGroup  OBJECT-GROUP
    OBJECTS {
        immMoId,
        immProvEqptType,
        immInterfaceTypeNCT,
        immFlashStatus
    }
    STATUS     current
    DESCRIPTION  ""
    ::= { immGroups 1 }
END
