LUM-IFFC-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32
        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    DateAndTime
        FROM SNMPv2-TC
    lumModules, lumIfFcMIB
        FROM LUM-REG
    SignalStatusWithNA, FaultStatusWithNA, MgmtNameString,
    Unsigned32WithNA
        FROM LUM-TC;

lumIfFcMIBModule MODULE-IDENTITY
    LAST-UPDATED
        "201808010000Z" -- Aug 6th 2018
    ORGANIZATION
        "Infinera Corporation"
    CONTACT-INFO
        "techsupport@infinera.com"
    DESCRIPTION
        "This module describes the FC (Fiber Channel).

	The references refers to ANSI STD1.

        The tables contained in this MIB are:

        (1) The General group contains some general attributes as time stamps
            and tables sizes.

        (2) The Physical group contains information and
            configuration for the FC physical layer.

"
    REVISION
        "201808010000Z" -- Aug 6th 2018
    DESCRIPTION
        "Changes made for release r31.1:
         - Added Rx High Bit Error Rate Alarm.
         - Added Rx Local Link FaultAlarm.
         - Added Tx Local Link FaultAlarm."
    REVISION
        "201706150000Z" -- June 15th 2017
    DESCRIPTION
        "Changes made for release r29.0:
         - Changed ORGANIZATION and CONTACT-INFO"
    REVISION
        "201509300000Z" -- September 30th 2015
    DESCRIPTION
        "Added Tx PCS Loss of Sync Alarm."
    REVISION
        "201311200000Z" -- November 20th 2013
    DESCRIPTION
        "The initial revision of this module."
    ::= { lumModules 59 }

-- ----------------------------------------------------
-- Compliance area, containing groups and compliance
-- specifications.
-- ----------------------------------------------------

lumIfFcConfs OBJECT IDENTIFIER ::= { lumIfFcMIB 1 }
lumIfFcGroups OBJECT IDENTIFIER ::= { lumIfFcConfs 1 }
lumIfFcCompl OBJECT IDENTIFIER ::= { lumIfFcConfs 2 }

-- ----------------------------------------------------
-- Root for objects in the IFFC MIB
-- ----------------------------------------------------

lumIfFcMIBObjects OBJECT IDENTIFIER ::= { lumIfFcMIB 2 }

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

ifFcGeneral OBJECT IDENTIFIER ::= { lumIfFcMIBObjects 1 }
ifFcPhysicalList OBJECT IDENTIFIER ::= { lumIfFcMIBObjects 2 }

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

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

"
    ::= { ifFcGeneral 1 }

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

"
    ::= { ifFcGeneral 2 }

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

"
    ::= { ifFcGeneral 3 }

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

"
    ::= { ifFcGeneral 4 }

ifFcGeneralIfFcPhysicalStateLastChangeTime OBJECT-TYPE
   SYNTAX      DateAndTime
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The time when the state and/or configuration of the
       table was last changed.

"
   ::= { ifFcGeneral 5 }

-- ----------------------------------------------------
-- FC PHYSICAL group
-- ----------------------------------------------------

ifFcPhysicalTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF IfFcPhysicalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Physical group contains information and
         configuration for the FC physical layer."

    ::= { ifFcPhysicalList 1 }

ifFcPhysicalEntry OBJECT-TYPE
    SYNTAX      IfFcPhysicalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the ifFc physical list.

"
    INDEX { ifFcPhysicalIndex }
    ::= { ifFcPhysicalTable 1 }

IfFcPhysicalEntry ::=
    SEQUENCE {
        ifFcPhysicalIndex                       Unsigned32,
        ifFcPhysicalName                        MgmtNameString,
        ifFcPhysicalConnIfBasicIfIndex          Unsigned32WithNA,
        ifFcPhysicalTxSignalStatus              SignalStatusWithNA,
        ifFcPhysicalRxSignalStatus              SignalStatusWithNA,
        ifFcPhysicalRemoteLinkFault             FaultStatusWithNA,
        ifFcPhysicalLocalLinkFault              FaultStatusWithNA,
        ifFcPhysicalLinkDown                    FaultStatusWithNA,
        ifFcPhysicalPcsLossOfSync               FaultStatusWithNA,
        ifFcPhysicalTxPcsLossOfSync             FaultStatusWithNA,
        ifFcPhysicalRxHighBitErrorRate          FaultStatusWithNA,
        ifFcPhysicalRxLocalLinkFault            FaultStatusWithNA,
        ifFcPhysicalTxLocalLinkFault            FaultStatusWithNA }

ifFcPhysicalIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An index assigned to each entry.

"
    ::= { ifFcPhysicalEntry 1 }

ifFcPhysicalName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the optical transmission section,
        for example 'clientFcPh:1:2:1-2', where the first number indicates
        subrack, the second slot number and the third/fourth
        are the physical port numbers.

"
    ::= { ifFcPhysicalEntry 2 }

ifFcPhysicalConnIfBasicIfIndex OBJECT-TYPE
    SYNTAX      Unsigned32WithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An index that describes to which index in ifBasicIf table
        this object is related.

"
    ::= { ifFcPhysicalEntry 3 }

ifFcPhysicalTxSignalStatus OBJECT-TYPE
    SYNTAX      SignalStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The state for outgoing (TX) signal
        of the interface.

        down - A major fault has occurred.

        degraded - The signal quality is impaired.

        up - The signal is OK.

"
    ::= { ifFcPhysicalEntry 4 }

ifFcPhysicalRxSignalStatus OBJECT-TYPE
    SYNTAX      SignalStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The state for incoming (RX) signal
        of the interface.

        down - A major fault has occurred.

        degraded - The signal quality is impaired.

        up - The signal is OK.

"
    ::= { ifFcPhysicalEntry 5 }

ifFcPhysicalRemoteLinkFault OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Remote link fault (RLF).

        Reference: 1000Base-SX/LX: 37.2.1.5 RF1/RF2 IEEE 802.3ah

        alarm: Active remote link fault indication.

        ok: Inactive remote link fault indication.

"
    ::= { ifFcPhysicalEntry 6 }

ifFcPhysicalLocalLinkFault OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Local link fault (LLF).

        Reference: 49.2.4.5 => 46.3.4 (link_fault in 46.3.4.2) 49.2.13.3

        alarm: Active local link fault indication.

        ok: Inactive local link fault indication.

"
    ::= { ifFcPhysicalEntry 7 }

ifFcPhysicalLinkDown OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Link down.

        alarm: Failure to negotiate a connection with the
        other party.

        ok: A connection is negotiated.

"
    ::= { ifFcPhysicalEntry 8 }

ifFcPhysicalPcsLossOfSync OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Rx PCS Loss of sync.

        A: FC 'frame' can not be located.

        D: FC 'frame' is located.

"
    ::= { ifFcPhysicalEntry 9 }

ifFcPhysicalTxPcsLossOfSync OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Tx PCS Loss of sync.

        A: FC 'frame' can not be located.

        D: FC 'frame' is located.

"
    ::= { ifFcPhysicalEntry 10 }

ifFcPhysicalRxHighBitErrorRate OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Rx High bit error rate (Hi-Ber).

        alarm: Active high bit error rate.

        ok: Inactive high bit error rate.

"
    ::= { ifFcPhysicalEntry 11 }

ifFcPhysicalRxLocalLinkFault OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Rx Local link fault (LLF).

        alarm: Active local link fault indication.

        ok: Inactive local link fault indication.

"
    ::= { ifFcPhysicalEntry 12 }

ifFcPhysicalTxLocalLinkFault OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Tx Local link fault (LLF).

        alarm: Active local link fault indication.

        ok: Inactive local link fault indication.

"
    ::= { ifFcPhysicalEntry 13 }

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

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

ifFcGeneralGroupV1 OBJECT-GROUP
    OBJECTS {
        ifFcGeneralConfigLastChangeTime,
        ifFcGeneralStateLastChangeTime,
        ifFcGeneralIfFcPhysicalTableSize,
        ifFcGeneralIfFcPhysicalConfigLastChangeTime,
        ifFcGeneralIfFcPhysicalStateLastChangeTime }

    STATUS      current
    DESCRIPTION
        "The general objects."
    ::= { lumIfFcGroups 1 }

ifFcPhysicalGroupV1 OBJECT-GROUP
    OBJECTS {
        ifFcPhysicalIndex,
        ifFcPhysicalName,
        ifFcPhysicalConnIfBasicIfIndex,
        ifFcPhysicalTxSignalStatus,
        ifFcPhysicalRxSignalStatus,
        ifFcPhysicalRemoteLinkFault,
        ifFcPhysicalLocalLinkFault,
        ifFcPhysicalLinkDown,
        ifFcPhysicalPcsLossOfSync }

    STATUS      deprecated
    DESCRIPTION
        "The ifFc PHYSICAL objects (R22.0)."
    ::= { lumIfFcGroups 2 }

ifFcPhysicalGroupV2 OBJECT-GROUP
    OBJECTS {
        ifFcPhysicalIndex,
        ifFcPhysicalName,
        ifFcPhysicalConnIfBasicIfIndex,
        ifFcPhysicalTxSignalStatus,
        ifFcPhysicalRxSignalStatus,
        ifFcPhysicalRemoteLinkFault,
        ifFcPhysicalLocalLinkFault,
        ifFcPhysicalLinkDown,
        ifFcPhysicalPcsLossOfSync,
        ifFcPhysicalTxPcsLossOfSync }

    STATUS      deprecated
    DESCRIPTION
        "The ifFc PHYSICAL objects (R26.0)."
    ::= { lumIfFcGroups 3 }

ifFcPhysicalGroupV3 OBJECT-GROUP
    OBJECTS {
        ifFcPhysicalIndex,
        ifFcPhysicalName,
        ifFcPhysicalConnIfBasicIfIndex,
        ifFcPhysicalTxSignalStatus,
        ifFcPhysicalRxSignalStatus,
        ifFcPhysicalRemoteLinkFault,
        ifFcPhysicalLocalLinkFault,
        ifFcPhysicalLinkDown,
        ifFcPhysicalPcsLossOfSync,
        ifFcPhysicalTxPcsLossOfSync,
        ifFcPhysicalRxHighBitErrorRate,
        ifFcPhysicalRxLocalLinkFault,
        ifFcPhysicalTxLocalLinkFault }

    STATUS      current
    DESCRIPTION
        "The ifFc PHYSICAL objects (R31.1)."
    ::= { lumIfFcGroups 4 }

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

lumIfFcComplV1 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the ifFc MIB. (R22.0)"
    MODULE
        MANDATORY-GROUPS {
            ifFcGeneralGroupV1,
            ifFcPhysicalGroupV1 }
    ::= { lumIfFcCompl 1 }

lumIfFcComplV2 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the ifFc MIB. (R26.0)"
    MODULE
        MANDATORY-GROUPS {
            ifFcGeneralGroupV1,
            ifFcPhysicalGroupV2 }
    ::= { lumIfFcCompl 2 }

lumIfFcComplV3 MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "Basic implementation requirements for the ifFc MIB. (R31.1)"
    MODULE
        MANDATORY-GROUPS {
            ifFcGeneralGroupV1,
            ifFcPhysicalGroupV3 }
    ::= { lumIfFcCompl 3 }

END

