-- =====================================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- Description:
--      This MIB module is used for representing fabric login information.
-- Reference:
-- Version: V1.0
-- History:
--   V1.0 Initial version
--        created by qiaoxinghua 2013-02-27
-- =====================================================================
HPN-ICF-FC-FLOGIN-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY
        FROM SNMPv2-SMI
    TruthValue
        FROM SNMPv2-TC
    HpnicfFcNameId, HpnicfFcAddressId, HpnicfFcBbCredit,
    HpnicfFcClassOfServices, HpnicfFcRxMTU
        FROM HPN-ICF-FC-TC-MIB
    hpnicfSan, hpnicfVsanIndex
        FROM HPN-ICF-VSAN-MIB
    ifIndex
        FROM IF-MIB;

hpnicfFcFLogin MODULE-IDENTITY
    LAST-UPDATED   "201302271100Z"
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    DESCRIPTION
        "This MIB module is for representing fabric login information."
    REVISION       "201302271100Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { hpnicfSan 3 }

--
-- Node definitions
--
hpnicfFcFLoginMibObjects OBJECT IDENTIFIER ::= { hpnicfFcFLogin 1 }

hpnicfFcFLoginTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HpnicfFcFLoginEntry
    MAX-ACCESS         not-accessible
    STATUS             current
    DESCRIPTION
        "A table of Fibre Channel related service parameters
         used to represent the fabric login information in accord
         with each Nx_Port attached to a particular Fibre Channel
         port in a particular VSAN (Virtual Storage Area Network).

         Each entry is created by a fabric switch when an Nx_Port
         successfully logged in to it explicitly or implicitly,
         and is deleted when the port logged out."
    ::= { hpnicfFcFLoginMibObjects 1 }

hpnicfFcFLoginEntry OBJECT-TYPE
    SYNTAX      HpnicfFcFLoginEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A group of Fibre Channel related service parameters
         used to represent fabric login information of a specific
         Nx_Port."
    INDEX { ifIndex,
            hpnicfVsanIndex,
            hpnicfFcFLoginIndex }
    ::= { hpnicfFcFLoginTable 1 }

HpnicfFcFLoginEntry ::=
    SEQUENCE {
        hpnicfFcFLoginIndex
            HpnicfFcAddressId,
        hpnicfFcFLoginPortNodeWWN
            HpnicfFcNameId,
        hpnicfFcFLoginPortWWN
            HpnicfFcNameId,
        hpnicfFcFLoginPortFcId
            HpnicfFcAddressId,
        hpnicfFcFLoginRxBbCredit
            HpnicfFcBbCredit,
        hpnicfFcFLoginTxBbCredit
            HpnicfFcBbCredit,
        hpnicfFcFLoginClass2RxMTU
            HpnicfFcRxMTU,
        hpnicfFcFLoginClass3RxMTU
            HpnicfFcRxMTU,
        hpnicfFcFLoginSuppClassRequested
            HpnicfFcClassOfServices,
        hpnicfFcFLoginClass2ReqAgreed
            TruthValue,
        hpnicfFcFLoginClass3ReqAgreed
            TruthValue
       }

hpnicfFcFLoginIndex OBJECT-TYPE
    SYNTAX      HpnicfFcAddressId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index of current fabric login entry.  The Fibre Channel
         address identifier is used to identify the associated Nx_Port
         of this entry."
    ::= { hpnicfFcFLoginEntry 1 }

hpnicfFcFLoginPortNodeWWN OBJECT-TYPE
    SYNTAX      HpnicfFcNameId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The world wide name of the Remote Node to which the
         logged-in Nx_Port belongs."
    ::= { hpnicfFcFLoginEntry 2 }

hpnicfFcFLoginPortWWN OBJECT-TYPE
    SYNTAX      HpnicfFcNameId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The world wide name of the logged-in Nx_Port."
    ::= { hpnicfFcFLoginEntry 3 }

hpnicfFcFLoginPortFcId OBJECT-TYPE
    SYNTAX      HpnicfFcAddressId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Fibre Channel address identifier that has been
         assigned by the fabric to the logged-in Nx_Port."
    ::= { hpnicfFcFLoginEntry 4 }

hpnicfFcFLoginRxBbCredit OBJECT-TYPE
    SYNTAX      HpnicfFcBbCredit
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of buffers available for a recipient to
         receive frames from the logged-in Nx_Port in Class2, Class3.
         The object is used in the buffer-to-buffer flow control from
         the logged-in Nx_Port to Fx_Port."
    ::= { hpnicfFcFLoginEntry 5 }

hpnicfFcFLoginTxBbCredit OBJECT-TYPE
    SYNTAX      HpnicfFcBbCredit
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of buffers available for a sender to transmit
        frames to the logged-in Nx_Port in Class2, Class3.
        The object is used in the buffer-to-buffer flow control from
        Fx_Port to the logged-in Nx_Port."
    ::= { hpnicfFcFLoginEntry 6 }

hpnicfFcFLoginClass2RxMTU OBJECT-TYPE
    SYNTAX      HpnicfFcRxMTU
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The object specifies the Maximum Transmission Unit of an
         Fibre Channel frame that can be received by the logged-in
         Nx_Port in Class 2 service."
    ::= { hpnicfFcFLoginEntry 7 }

hpnicfFcFLoginClass3RxMTU OBJECT-TYPE
    SYNTAX      HpnicfFcRxMTU
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The object specifies the Maximum Transmission Unit of an
         Fibre Channel frame that can be received by the logged-in
         Nx_Port in Class 3 service."
    ::= { hpnicfFcFLoginEntry 8 }

hpnicfFcFLoginSuppClassRequested OBJECT-TYPE
    SYNTAX      HpnicfFcClassOfServices
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The object indicating the supported Classes that the logged-in
         Nx_Port has requested."
    ::= { hpnicfFcFLoginEntry 9 }

hpnicfFcFLoginClass2ReqAgreed OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The object indicating whether the Fx_Port has agreed to support
         Class 2 delivery that the logged-in Nx_Port requested.  It's
         meaningful only when the Class 2 delivery has been requested."
    ::= { hpnicfFcFLoginEntry 10 }

hpnicfFcFLoginClass3ReqAgreed OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The object indicating whether the Fx_Port has agreed to support
         Class 3 delivery that the logged-in Nx_Port requested.  It's
         meaningful only when the Class 3 delivery has been requested."
    ::= { hpnicfFcFLoginEntry 11 }

END
