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

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

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32, Unsigned32                       FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP             FROM SNMPv2-CONF
    DisplayString                               FROM SNMPv2-TC
    ifIndex                                     FROM IF-MIB
    FloatTenths,InfnOcgChannelMap,InfnPowerControlLoop,
    InfnPmHistStatsControl, InfnOcgPortConfig,
    InfnSignalType,InfnShutterState             FROM INFINERA-TC-MIB
    terminationPoint                            FROM INFINERA-REG-MIB;


bmmOcgPtpMIB 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
        "First Version"
    ::= { terminationPoint 3 }



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

bmmOcgPtpEntry  OBJECT-TYPE
    SYNTAX      BmmOcgPtpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A BmmOcgPtp entry containing information pertaining to Infinera BMM OCG PTP interfaces.
        This table is a subclass of IfCommon. Entries will exist in this table only for interfaces
        of type BMM OCG PTP."
    INDEX { ifIndex }
    ::= { bmmOcgPtpTable 1 }


BmmOcgPtpEntry  ::= SEQUENCE {
    bmmOcgPtpDiscoveredOcgTP         DisplayString,
    bmmOcgPtpProvisionedOcgTP        DisplayString,
    bmmOcgPtpOcgNumber               Integer32,
    bmmOcgPtpOcgPowerControlLoop     InfnPowerControlLoop,
    bmmOcgPtpTargetRxOcgPower        FloatTenths,
    bmmOcgPtpMuxInsertionLoss        FloatTenths,
    bmmOcgPtpDeMuxInsertionLoss      FloatTenths,
    bmmOcgPtpPmHistStatsEnable       InfnPmHistStatsControl,
    bmmOcgPtpOcgPortConfig           InfnOcgPortConfig,
    bmmOcgPtpOcgSignalType           InfnSignalType,
    bmmOcgPtpOcgActiveChannelMap     BITS,
    bmmOcgPtpDiscoveredRemoteTP      DisplayString,
    bmmOcgPtpAutoDiscSoakTime        Unsigned32,
    bmmOcgPtpShutterState            InfnShutterState,
    bmmOcgPtpProvOpenWaveRemotePtp	 DisplayString
}

bmmOcgPtpDiscoveredOcgTP OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This refers to the name of the LM/BMM OCG PTP to which this fiber is connected."
    ::= { bmmOcgPtpEntry  1 }


bmmOcgPtpProvisionedOcgTP OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This refers to the name of the LM/BMM OCG PTP to which this fiber is configured.
        If the configured does not match the discovered, a mismatch alarm shall be raised.
        If this attribute is a zero-length string, the attribute is automatically filled
        as soon as a fiber is connected and a valid discoveredOcgTP is obtained.
        This attribute is persisted. This attribute can be pre-provisioned by the user."
    ::= { bmmOcgPtpEntry  2 }


bmmOcgPtpOcgNumber OBJECT-TYPE
    SYNTAX      Integer32 (1..8)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The OCG number that this BMM OCG TP is associated to. This maps 1-to-1 with the DLM/XLM type.
        Auto-discovery processes needs to ensure that the ocgNumber and the DLM/XLM type are
        compatible before turning the DLM on."
    ::= { bmmOcgPtpEntry  3 }


bmmOcgPtpOcgPowerControlLoop OBJECT-TYPE
    SYNTAX      InfnPowerControlLoop 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Parameter that indicates whether OCG Control Loop is enabled or disabled."
    DEFVAL      { enabled }
    ::= { bmmOcgPtpEntry  4 }


bmmOcgPtpTargetRxOcgPower OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The target power per OCG, computed by the BMM."
    DEFVAL      { 0 }
    ::= { bmmOcgPtpEntry  5 }

bmmOcgPtpMuxInsertionLoss OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The insertion loss from the OCG input to the TX EDFA Input."
    DEFVAL      { 0 }
    ::= { bmmOcgPtpEntry  6 }


bmmOcgPtpDeMuxInsertionLoss OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The insertion loss from the RX EDFA Output to the OCG Output."
    DEFVAL      { 0 }
    ::= { bmmOcgPtpEntry  7 }


bmmOcgPtpPmHistStatsEnable OBJECT-TYPE
    SYNTAX      InfnPmHistStatsControl 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Flag to enable or disable PM collection."
    DEFVAL      { enabled }
    ::= { bmmOcgPtpEntry  8 }


bmmOcgPtpOcgPortConfig OBJECT-TYPE
    SYNTAX      InfnOcgPortConfig 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Parameter that indicates whether the BMM OCG is configured as Express or Add/Drop."
    DEFVAL      { addDrop }
    ::= { bmmOcgPtpEntry  9 }

bmmOcgPtpOcgSignalType OBJECT-TYPE
    SYNTAX      InfnSignalType 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Signal type carried over OCG."
    DEFVAL      { normal }
    ::= { bmmOcgPtpEntry  10 }

bmmOcgPtpOcgActiveChannelMap OBJECT-TYPE
    SYNTAX      InfnOcgChannelMap
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "By default, the ocgChannelMap attribute is Zero which implies that the OCG is not carrying alien
        wavelengths.If the OCG is carrying alien waves (as defined by the ALIEN attribute), 
        the OCG value should be set to a list of active channels on the alien OCG populated."
    ::= { bmmOcgPtpEntry  11 }

bmmOcgPtpDiscoveredRemoteTP OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Discovered Remote TP"
    ::= { bmmOcgPtpEntry  12 }

bmmOcgPtpAutoDiscSoakTime OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { bmmOcgPtpEntry  13 }

bmmOcgPtpShutterState OBJECT-TYPE
    SYNTAX     InfnShutterState 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { bmmOcgPtpEntry  14 }

bmmOcgPtpProvOpenWaveRemotePtp 	OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "OCG value should be set to Manual in order to provision this attribute"
    ::= { bmmOcgPtpEntry  15 }

-- Conformance Statements
bmmOcgPtpConformance    OBJECT IDENTIFIER ::= { bmmOcgPtpMIB 3 }
bmmOcgPtpCompliances    OBJECT IDENTIFIER ::= { bmmOcgPtpConformance 1 }
bmmOcgPtpGroups         OBJECT IDENTIFIER ::= { bmmOcgPtpConformance 2 }

bmmOcgPtpCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the BMMOCGPTP-MIB"
    MODULE
        MANDATORY-GROUPS { bmmOcgPtpGroup }
    ::= { bmmOcgPtpCompliances 1 }

bmmOcgPtpGroup OBJECT-GROUP
    OBJECTS {
        bmmOcgPtpDiscoveredOcgTP,
        bmmOcgPtpProvisionedOcgTP,
        bmmOcgPtpOcgNumber,
        bmmOcgPtpOcgPowerControlLoop,
        bmmOcgPtpTargetRxOcgPower,
        bmmOcgPtpMuxInsertionLoss,
        bmmOcgPtpDeMuxInsertionLoss,
        bmmOcgPtpPmHistStatsEnable,
        bmmOcgPtpOcgPortConfig,
        bmmOcgPtpOcgSignalType,
        bmmOcgPtpOcgActiveChannelMap,
        bmmOcgPtpDiscoveredRemoteTP,
        bmmOcgPtpAutoDiscSoakTime,
        bmmOcgPtpShutterState,
		bmmOcgPtpProvOpenWaveRemotePtp
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for managing the bmmOcgPtp"
    ::= { bmmOcgPtpGroups 1 }


END
