LUM-FC-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, NOTIFICATION-TYPE, Gauge32
        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    TEXTUAL-CONVENTION, DisplayString, DateAndTime
        FROM SNMPv2-TC
    lumModules, lumFcMIB
        FROM LUM-REG
    FaultStatus, MgmtNameString, SubrackNumber, SlotNumber, PortNumber,
    BoardOrInterfaceOperStatus, BoardOrInterfaceAdminStatus, ObjectProperty
        FROM LUM-TC;

lumFcMIBModule MODULE-IDENTITY
    LAST-UPDATED 
        "200212060000Z" -- Dec 6th 2002
    ORGANIZATION 
        "Transmode Systems AB"
    CONTACT-INFO
        "support@transmode.se"
    DESCRIPTION
        "The fiber channel client interface MIB.

        - General

        - Fiber channel client interfaces

        //$Id: LUM-FC-MIB.txt 3191 2007-12-20 08:55:32Z mac $
        //alias=fc"
    REVISION        
        "200212060000Z" -- Dec 6th 2002
    DESCRIPTION
        "powerLevel attributes removed; not supported in hardware."
    REVISION        
        "200211190000Z" -- Nov 19th 2002
    DESCRIPTION
        "InterpacketGap: removed 64."
    REVISION        
        "200211130000Z" -- Nov 13th 2002
    DESCRIPTION
        "Removed auto from autoNeg."
    REVISION        
        "200206250000Z" -- June 25th 2002
    DESCRIPTION
        "The initial revision of this module."
    ::= { lumModules 23 }


-- ----------------------------------------------------
-- Conformance area, containing groups and complicance
-- specifications.
-- ----------------------------------------------------

lumFcConfs OBJECT IDENTIFIER ::= { lumFcMIB 1 }
lumFcGroups OBJECT IDENTIFIER ::= { lumFcConfs 1 }
lumFcCompl OBJECT IDENTIFIER ::= { lumFcConfs 2 }


-- ----------------------------------------------------
-- Root for objects in the eth MIB
-- ----------------------------------------------------

lumFcMIBObjects OBJECT IDENTIFIER ::= { lumFcMIB 2 }


-- ----------------------------------------------------
-- This MIB contains the following groups:
-- ----------------------------------------------------

fcGeneral OBJECT IDENTIFIER ::= { lumFcMIBObjects 1 } -- //alias=general
fcIfList OBJECT IDENTIFIER ::= { lumFcMIBObjects 2 }
lumentisFcNotifications  OBJECT IDENTIFIER ::= { lumFcMIBObjects 3 }


-- ----------------------------------------------------
-- Textual Conventions
-- ----------------------------------------------------

FcSignalFormat ::= TEXTUAL-CONVENTION 
    STATUS current  
    DESCRIPTION
        "Signal format for fiber channel interfaces.
        
        fc1Gb - FIber channel 1.0625 Gbps signal"
    SYNTAX INTEGER {
        undefined (0),
        fc1Gb (1) }


-- ----------------------------------------------------
-- General group
-- ----------------------------------------------------

fcGeneralLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the configuration of the MIB was 
        last changed. 

        //alias=configLastChange"
    ::= { fcGeneral 1 }

fcGeneralStateLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the state of the MIB was last 
        changed. 

        //alias=stateLastChange"
    ::= { fcGeneral 2 }

fcGeneralFcIfTableSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Size of table

        //alias=fcIfTableSize
        //advanced=yes
        //tableSize='fcIf'"
    ::= { fcGeneral 3 }


-- ----------------------------------------------------
-- Multi-bit rate client interfaces
-- ----------------------------------------------------

fcIfTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF FcIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The interface list."
    ::= { fcIfList 1 }

fcIfEntry OBJECT-TYPE
    SYNTAX      FcIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the interface list.

        //alias=if"    
    INDEX { fcIfIndex }
    ::= { fcIfTable 1 }

FcIfEntry ::=
    SEQUENCE {
        fcIfIndex                       Unsigned32,
        fcIfName                        MgmtNameString,
        fcIfDescr                       DisplayString,
        fcIfSubrack                     SubrackNumber,
        fcIfSlot                        SlotNumber,
        fcIfTxPort                      PortNumber,
        fcIfRxPort                      PortNumber,
        fcIfInvPhysIndexOrZero          Unsigned32,
        fcIfFormat                      FcSignalFormat,
        fcIfHighSpeed                   Gauge32,
        fcIfAdminStatus                 BoardOrInterfaceAdminStatus, 
        fcIfOperStatus                  BoardOrInterfaceOperStatus,
        fcIfLaserStatus                 INTEGER,
        fcIfTxSignalStatus              INTEGER, 
        fcIfLossOfSignal                FaultStatus,
        fcIfLossOfSync                  FaultStatus,
        fcIfAuAlarmIndicationSignalW2C  FaultStatus,
        fcIfForwardAls                  INTEGER,
        fcIfSuppressRemoteAlarms        INTEGER,
        fcIfFarEndLoopback              INTEGER,
	fcIfEntityId			Unsigned32,
        fcIfObjectProperty              ObjectProperty }

fcIfIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each entry.

        //longAlias='Index'
        //alias=index
        //advanced=yes"
    ::= { fcIfEntry 1 }

fcIfName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the interface, for example 
        'fc:1:2:1', where the first number indicates 
        sub-rack, the second slot number and the third 
        is the port number. Examples:

        fc:s:s:p - Fiber channel client interface

        //longAlias='Name'
        //alias=name
        //table=yes" 
    ::= { fcIfEntry 2 }

fcIfDescr OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "User configurable label.

        //longAlias='Description'
        //alias=descr
        //persistent=yes" 
    DEFVAL { "" }
    ::= { fcIfEntry 3 }

fcIfSubrack OBJECT-TYPE
    SYNTAX      SubrackNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of the subrack where the interface 
        is located.

        //longAlias='Subrack number'
        //alias=subrack
        //advanced=yes"
    ::= { fcIfEntry 4 }

fcIfSlot OBJECT-TYPE
    SYNTAX      SlotNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of the slot where the interface is 
        located.

        //longAlias='Slot number'
        //alias=slot
        //advanced=yes"
    ::= { fcIfEntry 5 }

fcIfTxPort OBJECT-TYPE
    SYNTAX      PortNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of the port where the TX-side of the 
        interface is located.

        //longAlias='Tx port number'
        //alias=txPort
        //advanced=yes"
    ::= { fcIfEntry 6 }

fcIfRxPort OBJECT-TYPE
    SYNTAX      PortNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of the port where the RX-side of the
        interface is located.

        //longAlias='Rx port number'
        //alias=rxPort
        //advanced=yes"
    ::= { fcIfEntry 7 }

fcIfInvPhysIndexOrZero OBJECT-TYPE
    SYNTAX      Unsigned32 (0..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The row in the invPhysTable for this interface.
        Set to 0 if not known.

        //hidden=yes
        //longAlias='Physical index'
        //alias=invPhysIndex"
    ::= { fcIfEntry 8 }

fcIfFormat OBJECT-TYPE
    SYNTAX      FcSignalFormat
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The expected signal format.

        //longAlias='Expected signal format'
        //alias=format
        //persistent=no
        //table=no"
    DEFVAL { fc1Gb }
    ::= { fcIfEntry 9 }

fcIfHighSpeed OBJECT-TYPE
    SYNTAX      Gauge32 (1000..2000)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The expected signal bit rate in units of 
        1,000,000 bits (Mb) per second. 

        //longAlias='Expected signal bitrate'
        //alias=speed
        //table=no"
    DEFVAL { 1000 }
    ::= { fcIfEntry 10 }

fcIfAdminStatus OBJECT-TYPE
    SYNTAX      BoardOrInterfaceAdminStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administrative state for the interface.

        down - The interface should be inactive.
        
        service - The interface is activated but alarms 
        are suppressed. Intended for use during service 
        or re-configuration. When service is concluded
        adminStatus should be set to 'up' again.

        up - The interface should be activated when 
        it becomes available. Alarms are not suppressed.

        //longAlias='Administrative status'
        //alias=adminStatus
        //adminWarning=yes
        //insert=7.1
        //persistent=yes
        //table=yes"
    DEFVAL { up }
    ::= { fcIfEntry 11 }

fcIfOperStatus OBJECT-TYPE
    SYNTAX      BoardOrInterfaceOperStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational state for the interface.

        notPresent - The physical resources are not 
        available.

        down - The interface is de-activated or the are
        faults preventing it from going to the 
        'up'-state.
        
        up - The interface is operational.

        //longAlias='Operational status'
        //alias=operStatus
        //insert=7.2
        //table=yes"
    ::= { fcIfEntry 12 }

fcIfLaserStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    off (1),
                    on (2) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational state of the laser.

        off - The laser is turned off.
        
        on - The laser is turned on.

        //longAlias='Laser status'
        //alias=laserStatus
        //insert=8.2
        //table=yes"
    ::= { fcIfEntry 13 }

fcIfTxSignalStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                        down (1),
                        degraded (2),
                        up (3) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational state for outgoing (TX) signal 
        of the interface.

        down - A fault that would lead to a protection 
        switch has occurred.

        degraded - The signal quality is impaired.
        
        up - The signal is OK.

        //longAlias='Tx signal status'
        //alias=txSignalStatus
        //insert=8.1
        //advanced=yes
        //table=yes"
    ::= { fcIfEntry 14 }


fcIfLossOfSignal OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Loss of signal.
        Applicable for all signal formats.

        A(ctivation): Active loss of signal HW 
        indication. 

        D(e-activation): Inactive loss of signal HW 
        indication.

        //longAlias='Loss of signal'
        //alias=lossOfSignal
        //alarmText='Loss of signal'
        //alarmCause=lossOfSignal
        //alarmRaiseDelay=2
        //alarmClearDelay=5
        //alarmType=communications
        //alarmSeverity=critical"
    ::= { fcIfEntry 15 }

fcIfLossOfSync OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Loss of sync.

        A: FC 'frame' can not be located.

        D: FC 'frame' is located.

        //longAlias='Loss of sync'
        //alias=lossOfSync
        //alarmText='Loss of sync'
        //alarmType=communications
        //alarmCause=lossOfFrame
        //alarmSeverity=critical"
    ::= { fcIfEntry 16 }

fcIfAuAlarmIndicationSignalW2C OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Alarm Indication Signal in the direction WDM   
        to Client.

        A(ctivation): AIS detected in the WDM signal 
        for this channel. 

        D(e-activation): No AIS detected for this 
        channel.

        //availableTx=down
        //switch=yes
        //longAlias='Line side AU AIS'
        //alias=auAisW2C
        //alarmText='WDM-side AU alarm indication signal'
        //alarmType=communications
        //alarmCause=remoteNodeTransmissionError
        //alarmSeverity=minor"
    ::= { fcIfEntry 17 }

fcIfForwardAls OBJECT-TYPE
    SYNTAX      INTEGER {
                    disabled (1),
                    enabled (2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Forward Automatic Laser Shut-down. Decides the 
        behaviour of the client laser (W2C) when the 
        trunc signal is defected.

        disabled - The laser is NOT turned off at failure.
        
        enabled - The laser is turned off at failure.

        //longAlias='Forward ALS'
        //alias=forwardAls
        //persistent=yes
        //insert=12
        //table=no"
    DEFVAL { disabled }
    ::= { fcIfEntry 18 }


fcIfSuppressRemoteAlarms OBJECT-TYPE
    SYNTAX      INTEGER {
                    disabled (1),
                    enabled (2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Suppress AIS in the alarm list. The fault status 
        on the port object can, however, be seen.

        disabled - alarms are not suppressed.
        
        enabled - alarms are suppressed.

        //longAlias='Suppress remote alarms'
        //alias=suppressRemoteAlarms
        //persistent=yes
        //insert=12
        //table=no"
    DEFVAL { disabled }
    ::= { fcIfEntry 19 }

fcIfFarEndLoopback OBJECT-TYPE
    SYNTAX      INTEGER {
                    disabled (1),
                    enabled (2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Loop the client TX signal back to the client RX.

        disabled - the signal is not looped
        
        enabled - the signal is looped.

        //longAlias='Far end loopback'
        //alias=farEndLoopback
        //persistent=yes
        //insert=12
        //table=no"
    DEFVAL { disabled }
    ::= { fcIfEntry 20 }


fcIfEntityId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index in entity table.

        -- Only used for notifications

        //longAlias='Entity ID'
        //alias=entityId
        //hidden=yes"
    ::= { fcIfEntry 21 }

fcIfObjectProperty OBJECT-TYPE
    SYNTAX      ObjectProperty
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Property mask.

        //alias=objectProperty
        //hidden=yes
        //table=no"
    ::= { fcIfEntry 22 }

-- ----------------------------------------------------
-- Notifications
-- ----------------------------------------------------

fcNotifyPrefix OBJECT IDENTIFIER ::= { lumentisFcNotifications 0 }

fcIfTxSignalStatusDown NOTIFICATION-TYPE
    OBJECTS {
        fcIfIndex,
        fcIfName,
        fcIfSubrack,
        fcIfSlot,
        fcIfTxPort,
        fcIfRxPort,
        fcIfEntityId,
        fcIfTxSignalStatus }
    STATUS      current
    DESCRIPTION
        "Sent when the signal status attribute of an 
        interface changes.

        //alias=signalStatusDown"
    ::= { fcNotifyPrefix 1 }

fcIfTxSignalStatusUp NOTIFICATION-TYPE
    OBJECTS {
        fcIfIndex,
        fcIfName,
        fcIfSubrack,
        fcIfSlot,
        fcIfTxPort,
        fcIfRxPort,
        fcIfEntityId,
        fcIfTxSignalStatus }
    STATUS      current
    DESCRIPTION
        "Sent when the signal status attribute of an
        interface changes.

        //alias=signalStatusUp"
    ::= { fcNotifyPrefix 2 }

fcIfTxSignalStatusDegraded NOTIFICATION-TYPE
    OBJECTS {
        fcIfIndex,
        fcIfName,
        fcIfSubrack,
        fcIfSlot,
        fcIfTxPort,
        fcIfRxPort,
        fcIfEntityId,
        fcIfTxSignalStatus }
    STATUS      current
    DESCRIPTION
        "Sent when the signal status attribute of an
        interface changes.

        //alias=signalStatusDegraded"
    ::= { fcNotifyPrefix 3 }


-- ----------------------------------------------------
-- Object and event groups
-- ----------------------------------------------------

fcGeneralGroup OBJECT-GROUP
    OBJECTS {
        fcGeneralLastChangeTime,
        fcGeneralStateLastChangeTime}
    STATUS      deprecated
    DESCRIPTION
        "The general objects."
    ::= { lumFcGroups 1 }

fcIfGroup OBJECT-GROUP
    OBJECTS {
        fcIfIndex,
        fcIfName,
        fcIfDescr,
        fcIfSubrack,
        fcIfSlot,
        fcIfTxPort,
        fcIfRxPort,
        fcIfInvPhysIndexOrZero,
        fcIfFormat,
        fcIfHighSpeed,
        fcIfLaserStatus,
        fcIfAdminStatus,
        fcIfOperStatus,
        fcIfTxSignalStatus,
        fcIfLossOfSignal,
        fcIfLossOfSync,
        fcIfAuAlarmIndicationSignalW2C,
        fcIfForwardAls,
        fcIfSuppressRemoteAlarms,
        fcIfFarEndLoopback }
    STATUS      deprecated
    DESCRIPTION
        "The fc interface objects."
    ::= { lumFcGroups 2 }

fcNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        fcIfTxSignalStatusDown,
        fcIfTxSignalStatusUp,
        fcIfTxSignalStatusDegraded }
    STATUS      current
    DESCRIPTION
        "The fc notifications."
    ::= { lumFcGroups 3 }


fcGeneralGroupV2 OBJECT-GROUP
    OBJECTS {
        fcGeneralLastChangeTime,
        fcGeneralStateLastChangeTime,
        fcGeneralFcIfTableSize }
    STATUS      current
    DESCRIPTION
        "The general objects."
    ::= { lumFcGroups 4 }

fcIfGroupV2 OBJECT-GROUP
    OBJECTS {
        fcIfIndex,
        fcIfName,
        fcIfDescr,
        fcIfSubrack,
        fcIfSlot,
        fcIfTxPort,
        fcIfRxPort,
        fcIfInvPhysIndexOrZero,
        fcIfFormat,
        fcIfHighSpeed,
        fcIfLaserStatus,
        fcIfAdminStatus,
        fcIfOperStatus,
        fcIfTxSignalStatus,
        fcIfLossOfSignal,
        fcIfLossOfSync,
        fcIfAuAlarmIndicationSignalW2C,
        fcIfForwardAls,
        fcIfSuppressRemoteAlarms,
        fcIfFarEndLoopback,
	fcIfEntityId,
        fcIfObjectProperty }
    STATUS      current
    DESCRIPTION
        "The fc interface objects (4.0)."
    ::= { lumFcGroups 5 }


-- ----------------------------------------------------
-- Compliance 
-- ----------------------------------------------------

lumFcBasicComplV1 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the fc MIB V1."
    MODULE
        MANDATORY-GROUPS {
            fcGeneralGroup,
            fcIfGroup,
            fcNotificationGroup }
    ::= { lumFcCompl 1 }

lumFcBasicComplV2 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the fc MIB V2. (3.1)"
    MODULE
        MANDATORY-GROUPS {
            fcGeneralGroupV2,
            fcIfGroup,
            fcNotificationGroup }
    ::= { lumFcCompl 2 }

lumFcBasicComplV3 MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "Basic implementation requirements for the fc MIB V2. (4.0)"
    MODULE
        MANDATORY-GROUPS {
            fcGeneralGroupV2,
            fcIfGroupV2,
            fcNotificationGroup }
    ::= { lumFcCompl 3 }


END

