-- *****************************************************************
-- INFINERA-TP-IFCOMMON-MIB
--   
-- October 2008, Sharfuddin Syed / Narendra Gupta
--   
--   
-- Copyright (c) 2008-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

INFINERA-TP-IFCOMMON-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE                 FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP              FROM SNMPv2-CONF
    DisplayString                                FROM SNMPv2-TC
    ifIndex                                      FROM IF-MIB
    InfnOpsQualifierList, InfnAvailabilityState  FROM INFINERA-TC-MIB
    commonTerminationPoint                       FROM INFINERA-REG-MIB;


ifCommonMIB MODULE-IDENTITY
    LAST-UPDATED  "200810200000Z"
    ORGANIZATION  "Infinera"
    CONTACT-INFO
        "Infinera
        1322 Bordeaux Drive
        Sunnyvale, CA - 94089

        Contact : Technical Support
        Email   : support@infinera.com
        Phone   : 1-877-INF-5288"
    DESCRIPTION
        " "
    REVISION  "200810200000Z"
    DESCRIPTION
        " "
    ::= { commonTerminationPoint 1 }

ifCommonTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IfCommonEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "A list of IfCommon entries. Each entry is uniquely identified by
        the value of ifIndex."
    ::= { ifCommonMIB 1 } 

ifCommonEntry  OBJECT-TYPE  
    SYNTAX      IfCommonEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "An IfCommon entry containing information pertaining to
        Infinera interfaces. Entries will exist in this table for
        all interfaces."
    INDEX { ifIndex } 
    ::= { ifCommonTable 1 }


IfCommonEntry  ::= SEQUENCE {
    ifCommonMoId                           DisplayString,
    ifCommonAvailabilityState              InfnAvailabilityState,
    ifCommonAlarmReportControl             INTEGER,
    ifCommonOpStateQualifierList           InfnOpsQualifierList,
    ifCommonAlarmInhibitState              INTEGER
}

ifCommonMoId OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Managed object name for this object. This is the full name of the 
         object."
    ::= { ifCommonEntry  1 }


ifCommonAvailabilityState OBJECT-TYPE
    SYNTAX  InfnAvailabilityState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Availability State"
    DEFVAL      { unavailable } 
    ::= { ifCommonEntry  2 }


ifCommonAlarmReportControl OBJECT-TYPE
    SYNTAX  INTEGER {
        allowed(1),
        inhibited(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "This attribute provides the ability to suppress (inhibits) all alarm reporting of all alarms."
    DEFVAL      { allowed } 
    ::= { ifCommonEntry  3 }


ifCommonOpStateQualifierList OBJECT-TYPE
    SYNTAX      InfnOpsQualifierList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Op State Qualifier List indicates secondary states."
    ::= { ifCommonEntry  4 }


ifCommonAlarmInhibitState OBJECT-TYPE
    SYNTAX  INTEGER {
        allowed(1),
        inhibited(2)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Alarm Inhibit State of the object."
    DEFVAL      { allowed } 
    ::= { ifCommonEntry  5 } 


-- Conformance Statements 
ifCommonConformance    OBJECT IDENTIFIER ::= { ifCommonMIB 3 } 
ifCommonCompliances    OBJECT IDENTIFIER ::= { ifCommonConformance 1 } 
ifCommonGroups         OBJECT IDENTIFIER ::= { ifCommonConformance 2 } 

ifCommonCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "Describes the requirements for conformance to the IFCOMMON-MIB"
    MODULE
        MANDATORY-GROUPS { ifCommonGroup }
    ::= { ifCommonCompliances 1 }

ifCommonGroup OBJECT-GROUP
    OBJECTS { 
        ifCommonMoId,
        ifCommonAvailabilityState,
        ifCommonAlarmReportControl,
        ifCommonOpStateQualifierList,
        ifCommonAlarmInhibitState
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for managing common attributes of interfaces."
    ::= { ifCommonGroups 1 }


END
