--  ==========================================================================
--  File          : oaLdFc.mib
--  Description   : Private MIB for Fibre Channel Performance Monitoring Counters
--                
--  By            : Maoz Yona, Yakov Vaisman
--  Version       : Revision:   1.1
--  Original Date : July 30, 2012
--  Last Change   : July 30, 2012
--  ==========================================================================
--
--
-- Copyright (c) 2005 MRV.  All Rights Reserved.
--
-- Reproduction of this document is authorized on condition that this
-- copyright notice is included.  This MRV SNMP MIB Specification
-- embodies MRV proprietary intellectual property.  MRV
-- retains all title and ownership in the specification, including any
-- revisions.
--
-- It is MRV's intent to encourage the widespread use of this
-- specification in connection with the management of MRV's
-- products. MRV grants vendor, end-users, and other interested
-- parties a non-exclusive license to use this specification in
-- connection with the management of MRV's products.
--
-- This specification is supplied "AS IS," and MRV makes no
-- warranty, either express or implied, as to the use, operation,
-- condition, or performance of the specification.
--
-- MRV retains the right to change this MIB without notification.
--
OA-LD-FC-CNTR-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY, 
        enterprises, Integer32,
        Counter32,   OBJECT-TYPE    FROM SNMPv2-SMI          -- RFC2578
        MODULE-COMPLIANCE,
        OBJECT-GROUP                FROM SNMPv2-CONF;
        
------------------------------------------------------------------------------
-- Object Identifier Definition
------------------------------------------------------------------------------

oaLdFcCntrMib   MODULE-IDENTITY
    LAST-UPDATED "201207300000Z" -- July 30, 2012
    ORGANIZATION "MRV Communications, Inc."
    CONTACT-INFO
    "Maoz Yona
     MRV Communication, Inc
     http://www.mrv.com
     Email:  myona@mrv.com
    "

    DESCRIPTION

    "This MIB includes alarms and statistics for the LambdaDriver Fibre Channel Ports."

    -- Revision history

    REVISION "201207300000Z" -- July 30, 2012
    DESCRIPTION "Initial MIB Creation."
   
    ::= { oaLambdaDriver 82 }

-- ************************************************************
-- MIB place Definition
-- ************************************************************

oaccess                    OBJECT IDENTIFIER ::= { enterprises 6926 }
oaManagement               OBJECT IDENTIFIER ::= { oaccess 1 }
oaLambdaDriver             OBJECT IDENTIFIER ::= { oaManagement 41 }

oaLdFcCardPortCounters     OBJECT IDENTIFIER ::= { oaLdFcCntrMib 1 }
                
-- ----------------------------------------------------------------
--
-- Fibre Channel Performance Monitoring Counters table
--
-- ----------------------------------------------------------------
 
oaLdFcCardPortsCntrTable OBJECT-TYPE
        SYNTAX    SEQUENCE OF OaLdFcCardPortsCntrEntry
        MAX-ACCESS not-accessible
        STATUS    current 
        DESCRIPTION
        "Information table of LD modules that includes
         PM Counters for FibreChannel Ports."
        ::= {oaLdFcCardPortCounters 2}

oaLdFcCardPortsCntrEntry OBJECT-TYPE
        SYNTAX    OaLdFcCardPortsCntrEntry
        MAX-ACCESS not-accessible
        STATUS    current
        DESCRIPTION
        "Installed FibreChannel Port PM Counters."

        INDEX    { oaLdFcCrdPrtsCntrSlotNumber, oaLdFcCrdPrtsCntrPortNumber }

        ::= { oaLdFcCardPortsCntrTable 1 }

OaLdFcCardPortsCntrEntry ::= SEQUENCE {
        oaLdFcCrdPrtsCntrSlotNumber     Integer32,
        oaLdFcCrdPrtsCntrPortNumber     Integer32,
        oaLdFcCrdPrtsCntrTxStatus       BITS,
        oaLdFcCrdPrtsCntrRxStatus       BITS,
        oaLdFcCrdPrtsCntrTxTotalPckts   Counter32,
        oaLdFcCrdPrtsCntrRxTotalPckts   Counter32,
        oaLdFcCrdPrtsCntrTxLcvErrors    Counter32,
        oaLdFcCrdPrtsCntrRxLcvErrors    Counter32,
        oaLdFcCrdPrtsCntrTxBadCrcErrors Counter32,
        oaLdFcCrdPrtsCntrRxBadCrcErrors Counter32
       }

oaLdFcCrdPrtsCntrSlotNumber OBJECT-TYPE
        SYNTAX       Integer32 (1..255)
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
        "The slot#. An Index from 1 to The number of slots"
        ::= { oaLdFcCardPortsCntrEntry 1 }

oaLdFcCrdPrtsCntrPortNumber OBJECT-TYPE
        SYNTAX    Integer32 (1..255)
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
        "The port#. An index from 1 to The number of ports"
        ::= { oaLdFcCardPortsCntrEntry 2 }
        
oaLdFcCrdPrtsCntrTxStatus OBJECT-TYPE
        SYNTAX   BITS {
                 noDefect  (0),
                 txNoSync  (1),
                 txDLOL    (2)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This variable indicates the Tx (transmit) Status of the Interface.
         Each Bit in the value represents the corresponding Defect.
         The whole value represents multiple defects simultaneously.
         The various Bit positions are:
            0 - 'noDefect'
            1 - 'txNoSync'
            2 - 'txDLOL'(Digital Loss of Link)
         In case of 'noDefect' - Bit# 0 will be equal to '1' and
         all other Bits will be equal to '0'."
             
        ::= { oaLdFcCardPortsCntrEntry 3 }
     
oaLdFcCrdPrtsCntrRxStatus OBJECT-TYPE
       SYNTAX   BITS {
                 noDefect  (0),
                 rxNoSync  (1),
                 rxDLOL    (2),
                 rxASD     (3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This variable indicates the Rx (receive) Status of the Interface.
         Each Bit in the value represents the corresponding Defect.
         The whole value represents multiple defects simultaneously.
         The various Bit positions are:
            0 - 'noDefect'
            1 - 'rxNoSync'
            2 - 'rxDLOL'(Digital Loss of Link)
            3 - 'rxASD' (Analog LOS)
         In case of 'noDefect' - Bit# 0 will be equal to '1' and
         all other Bits will be equal to '0'."
             
        ::= { oaLdFcCardPortsCntrEntry 4 }

oaLdFcCrdPrtsCntrTxTotalPckts OBJECT-TYPE
        SYNTAX    Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This counter is counting the number of transmit valid frames that had been detected, not including 
         LCV errors within the frame of if any K character was detected between an SOF to EOF."
        ::= { oaLdFcCardPortsCntrEntry 5 }
     
oaLdFcCrdPrtsCntrRxTotalPckts OBJECT-TYPE
        SYNTAX    Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This counter is counting the number of valid frames that had been received, not including 
         LCV errors within the frame of if any K character was detected between an SOF to EOF."
        ::= { oaLdFcCardPortsCntrEntry 6 }

oaLdFcCrdPrtsCntrTxLcvErrors OBJECT-TYPE
        SYNTAX    Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This counter is counting the number of 8b/10b line code violations, invalid characters or incorrect 
        running disparity that occurred on the transmit data."
        ::= { oaLdFcCardPortsCntrEntry 7 }
     
 oaLdFcCrdPrtsCntrRxLcvErrors OBJECT-TYPE
        SYNTAX    Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This counter is counting the number of 8b/10b line code violations, invalid characters or incorrect 
        running disparity that occurred on the data from the received line interface."
        ::= { oaLdFcCardPortsCntrEntry 8 }
        
oaLdFcCrdPrtsCntrTxBadCrcErrors OBJECT-TYPE
        SYNTAX    Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This counter is counting the number of transmitted frames that had CRC-32 mismatch."
        ::= { oaLdFcCardPortsCntrEntry 9 }
        
oaLdFcCrdPrtsCntrRxBadCrcErrors OBJECT-TYPE
        SYNTAX    Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This counter is counting the number of received frames that had CRC-32 mismatch."
        ::= { oaLdFcCardPortsCntrEntry 10 }
               
------------------------------------------------------------------------------
-- conformance information
------------------------------------------------------------------------------

oaLdFcConformance          OBJECT IDENTIFIER ::= { oaLdFcCntrMib 2 }

oaLdFcGroups               OBJECT IDENTIFIER ::= { oaLdFcConformance 1 }
oaLdFcCompliances          OBJECT IDENTIFIER ::= { oaLdFcConformance 2 }

------------------------------------------------------------------------------
-- compliance statements
------------------------------------------------------------------------------

oaLdFcCompliance  MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for LD Fibre Channel-based Ports 
             in the Module."

    MODULE  -- this module
        MANDATORY-GROUPS {
                          oaLdFcCardPortCountersGroup
                         }

        ::= { oaLdFcCompliances 1 }

------------------------------------------------------------------------------
-- units of conformance
------------------------------------------------------------------------------

oaLdFcCardPortCountersGroup    OBJECT-GROUP
    OBJECTS { oaLdFcCrdPrtsCntrTxStatus,
              oaLdFcCrdPrtsCntrRxStatus,
              oaLdFcCrdPrtsCntrTxTotalPckts,
              oaLdFcCrdPrtsCntrRxTotalPckts,
              oaLdFcCrdPrtsCntrTxLcvErrors,
              oaLdFcCrdPrtsCntrRxLcvErrors,
              oaLdFcCrdPrtsCntrTxBadCrcErrors,
              oaLdFcCrdPrtsCntrRxBadCrcErrors }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information on
            Lambda Driver Fibre Channel Ports PM Statistics."
        ::= { oaLdFcGroups 1 }

------------------------------------------------------------------------------

END
