IFCP-MGMT-MIB DEFINITIONS ::= BEGIN


   IMPORTS
       MODULE-IDENTITY,
       OBJECT-TYPE,
       Gauge32,
       Integer32,
       Unsigned32,
       transmission
            FROM SNMPv2-SMI

       OBJECT-GROUP,
       MODULE-COMPLIANCE
            FROM SNMPv2-CONF

       TEXTUAL-CONVENTION,
       TimeStamp,
       TruthValue,
       StorageType
            FROM SNMPv2-TC

   --  From RFC 4502
       ZeroBasedCounter32
            FROM RMON2-MIB

   --  From RFC 2856
       ZeroBasedCounter64
            FROM HCNUM-TC

   --  From RFC 2863
       InterfaceIndexOrZero
            FROM IF-MIB

   --  From RFC 3411
       SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB

   --  From RFC 4001
       InetAddressType,
       InetAddress,
       InetPortNumber
            FROM INET-ADDRESS-MIB









   --  From RFC 4044
       FcNameIdOrZero,
       FcAddressIdOrZero
            FROM FC-MGMT-MIB

   --  From RFC 4133
       PhysicalIndexOrZero
            FROM ENTITY-MIB
         ;

   ifcpMgmtMIB   MODULE-IDENTITY
         LAST-UPDATED "201103090000Z"
         ORGANIZATION "IETF STORage Maintenance (STORM) Working Group"
         CONTACT-INFO "
           Working Group Email : storm@ietf.org
           Attn: Prakash Venkatesen
                 HCL Technologies
                 Email: prakashvn@hcl.com"

         DESCRIPTION
                 "This module defines management information specific
                  to Internet Fibre Channel Protocol (iFCP) gateway
                  management.

                  Copyright (c) 2011 IETF Trust and the persons
                  identified as authors of the code. All rights
                  reserved.

                  Redistribution and use in source and binary forms,
                  with or without modification, is permitted pursuant
                  to, and subject to the license terms contained in, the
                  Simplified BSD License set forth in Section 4.c of the
                  IETF Trust's Legal Provisions Relating to IETF
                  Documents (http://trustee.ietf.org/license-info)."
             REVISION    "201103090000Z"
         DESCRIPTION
                  "Second version of iFCP Management Module.  The iFCP
                   address translation mode is deprecated.
                   This MIB module published as RFC 6173."
             REVISION    "200601170000Z"
         DESCRIPTION
                  "Initial version of iFCP Management Module.
                   This MIB module published as RFC 4369."
         ::=  { transmission 230 }

   --
   --  Textual Conventions
   --





     IfcpIpTOVorZero ::= TEXTUAL-CONVENTION
       DISPLAY-HINT   "d"
       STATUS         current
       DESCRIPTION    "The maximum propagation delay, in seconds,
                       for an encapsulated FC frame to traverse the
                       IP network.  A value of 0 implies fibre
                       channel frame lifetime limits will not be
                       enforced."
       REFERENCE      "RFC 4172, iFCP Protocol Specification"
       SYNTAX         Unsigned32 (0..3600)

     IfcpLTIorZero ::= TEXTUAL-CONVENTION
       DISPLAY-HINT   "d"
       STATUS         current
       DESCRIPTION    "The value for the Liveness Test Interval
                       (LTI) being used in an iFCP connection, in
                       seconds.  A value of 0 implies no Liveness
                       Test Interval will be used."
       REFERENCE      "RFC 4172, iFCP Protocol Specification"
       SYNTAX         Unsigned32 (0..65535)

     IfcpSessionStates ::= TEXTUAL-CONVENTION
       STATUS         current
       DESCRIPTION    "The value for an iFCP session state."
       SYNTAX         INTEGER {down(1), openPending(2), open(3)}

     IfcpAddressMode ::= TEXTUAL-CONVENTION
       STATUS         current
       DESCRIPTION    "The values for iFCP Address Translation
                       Mode."
       REFERENCE      "RFC 6172, Deprecation of iFCP Address
                       Translation Mode"
       SYNTAX         INTEGER {addressTransparent(1),
                               addressTranslation(2)}

   --
   -- Internet Fibre Channel Protocol (iFCP)
   --

   ifcpGatewayObjects      OBJECT IDENTIFIER ::= {ifcpMgmtMIB 1}
   ifcpGatewayConformance  OBJECT IDENTIFIER ::= {ifcpMgmtMIB 2}

   --
   -- Local iFCP Gateway Instance Information ==================
   --








   ifcpLclGatewayInfo OBJECT IDENTIFIER ::= {ifcpGatewayObjects 1}

   ifcpLclGtwyInstTable OBJECT-TYPE
       SYNTAX           SEQUENCE OF IfcpLclGtwyInstEntry
       MAX-ACCESS       not-accessible
       STATUS           current
       DESCRIPTION
   "Information about all local iFCP gateway instances that can
    be monitored and controlled.  This table contains an entry
    for each local iFCP gateway instance that is being managed."
       ::= {ifcpLclGatewayInfo 1}

   ifcpLclGtwyInstEntry OBJECT-TYPE
       SYNTAX           IfcpLclGtwyInstEntry
       MAX-ACCESS       not-accessible
       STATUS           current
       DESCRIPTION
   "An entry in the local iFCP gateway instance table.
    Parameters and settings for the gateway are found here."
       INDEX { ifcpLclGtwyInstIndex }
       ::= {ifcpLclGtwyInstTable 1}

   IfcpLclGtwyInstEntry ::= SEQUENCE {
       ifcpLclGtwyInstIndex             Unsigned32,
       ifcpLclGtwyInstPhyIndex          PhysicalIndexOrZero,
       ifcpLclGtwyInstVersionMin        Unsigned32,
       ifcpLclGtwyInstVersionMax        Unsigned32,
       ifcpLclGtwyInstAddrTransMode     IfcpAddressMode,
       ifcpLclGtwyInstFcBrdcstSupport   TruthValue,
       ifcpLclGtwyInstDefaultIpTOV      IfcpIpTOVorZero,
       ifcpLclGtwyInstDefaultLTInterval IfcpLTIorZero,
       ifcpLclGtwyInstDescr             SnmpAdminString,
       ifcpLclGtwyInstNumActiveSessions Gauge32,
       ifcpLclGtwyInstStorageType       StorageType
                                     }

   ifcpLclGtwyInstIndex  OBJECT-TYPE
       SYNTAX            Unsigned32 (1..2147483647)
       MAX-ACCESS        not-accessible
       STATUS            current
       DESCRIPTION
   "An arbitrary integer value to uniquely identify this iFCP
    gateway from other local gateway instances."
       ::= {ifcpLclGtwyInstEntry      1}









   ifcpLclGtwyInstPhyIndex OBJECT-TYPE
       SYNTAX            PhysicalIndexOrZero
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
   "An index indicating the location of this local gateway within
    a larger entity, if one exists.  If supported, this is the
    entPhysicalIndex from the Entity MIB (Version 3), for this
    iFCP gateway.  If not supported, or if not related to a
    physical entity, then the value of this object is 0."
       REFERENCE      "Entity MIB (Version 3)"
       ::= {ifcpLclGtwyInstEntry      2}

   ifcpLclGtwyInstVersionMin OBJECT-TYPE
       SYNTAX            Unsigned32 (0..255)
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
   "The minimum iFCP protocol version supported by the local iFCP
    gateway instance."
       REFERENCE      "RFC 4172, iFCP Protocol Specification"
       ::= {ifcpLclGtwyInstEntry      3}

   ifcpLclGtwyInstVersionMax OBJECT-TYPE
       SYNTAX            Unsigned32 (0..255)
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
   "The maximum iFCP protocol version supported by the local iFCP
    gateway instance."
       REFERENCE      "RFC 4172, iFCP Protocol Specification"
       ::= {ifcpLclGtwyInstEntry      4}

   ifcpLclGtwyInstAddrTransMode OBJECT-TYPE
       SYNTAX            IfcpAddressMode
       MAX-ACCESS        read-write
       STATUS            current
       DESCRIPTION
   "The local iFCP gateway operating mode.  Changing this value
    may cause existing sessions to be disrupted."
       REFERENCE      "RFC 4172, iFCP Protocol Specification;
                       RFC 6172, Deprecation of iFCP Address
                       Translation Mode"
       DEFVAL            { addressTransparent }
       ::= {ifcpLclGtwyInstEntry      5}








   ifcpLclGtwyInstFcBrdcstSupport OBJECT-TYPE
       SYNTAX            TruthValue
       MAX-ACCESS        read-write
       STATUS            current
       DESCRIPTION
   "This value indicates whether the local iFCP gateway supports
    FC Broadcast.  Changing this value may cause existing sessions
    to be disrupted."
       REFERENCE      "RFC 4172, iFCP Protocol Specification"
       DEFVAL            { false }
       ::= {ifcpLclGtwyInstEntry      6}

   ifcpLclGtwyInstDefaultIpTOV OBJECT-TYPE
       SYNTAX            IfcpIpTOVorZero
       UNITS             "seconds"
       MAX-ACCESS        read-write
       STATUS            current
       DESCRIPTION
   "The default IP_TOV used for iFCP sessions at this gateway.
    This is the default maximum propagation delay that will be
    used for an iFCP session.  The value can be changed on a
    per-session basis.  The valid range is 0 - 3600 seconds.
    A value of 0 implies that fibre channel frame lifetime limits
    will not be enforced."
       REFERENCE      "RFC 4172, iFCP Protocol Specification"
       DEFVAL            { 6 }
       ::= {ifcpLclGtwyInstEntry      7}

   ifcpLclGtwyInstDefaultLTInterval OBJECT-TYPE
       SYNTAX            IfcpLTIorZero
       UNITS             "seconds"
       MAX-ACCESS        read-write
       STATUS            current
       DESCRIPTION
   "The default Liveness Test Interval (LTI), in seconds, used
    for iFCP sessions at this gateway.  This is the default
    value for an iFCP session and can be changed on a
    per-session basis.  The valid range is 0 - 65535 seconds.
    A value of 0 implies no Liveness Test Interval will be
    performed on a session."
       REFERENCE      "RFC 4172, iFCP Protocol Specification"
       DEFVAL            { 10 }
       ::= {ifcpLclGtwyInstEntry      8}










   ifcpLclGtwyInstDescr  OBJECT-TYPE
       SYNTAX            SnmpAdminString (SIZE (0..64))
       MAX-ACCESS        read-write
       STATUS            current
       DESCRIPTION
   "A user-entered description for this iFCP gateway."
       DEFVAL            { "" }
       ::= {ifcpLclGtwyInstEntry      9}

   ifcpLclGtwyInstNumActiveSessions OBJECT-TYPE
       SYNTAX            Gauge32 (0..4294967295)
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
   "The current total number of iFCP sessions in the open or
    open-pending state."
       ::= {ifcpLclGtwyInstEntry      10}

   ifcpLclGtwyInstStorageType OBJECT-TYPE
       SYNTAX            StorageType
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
   "The storage type for this row.  Parameter values defined
    for a gateway are usually non-volatile, but may be volatile
    or permanent in some configurations.  If permanent, then
    the following parameters must have read-write access:
    ifcpLclGtwyInstAddrTransMode, ifcpLclGtwyInstDefaultIpTOV,
    and ifcpLclGtwyInstDefaultLTInterval."
       DEFVAL            { nonVolatile }
       ::= {ifcpLclGtwyInstEntry      11}

   --
   -- iFCP N Port Session Information ============================
   --

   ifcpNportSessionInfo
              OBJECT IDENTIFIER ::= {ifcpGatewayObjects 2}

   ifcpSessionAttributesTable OBJECT-TYPE
       SYNTAX                         SEQUENCE OF
                                       IfcpSessionAttributesEntry
       MAX-ACCESS                     not-accessible
       STATUS                         current
       DESCRIPTION
   "An iFCP session consists of the pair of N_PORTs comprising
    the session endpoints joined by a single TCP/IP connection.
    This table provides information on each iFCP session





    currently using a local iFCP gateway instance.  iFCP sessions
    are created and removed by the iFCP gateway instances, which
    are reflected in this table."
       ::= {ifcpNportSessionInfo 1}

   ifcpSessionAttributesEntry OBJECT-TYPE
       SYNTAX                         IfcpSessionAttributesEntry
       MAX-ACCESS                     not-accessible
       STATUS                         current
       DESCRIPTION
   "Each entry contains information about one iFCP session consisting
    of a pair of N_PORTs joined by a single TCP/IP connection.  This
    table's INDEX includes ifcpLclGtwyInstIndex, which identifies the
    local iFCP gateway instance that created the session for the
    entry.

    Soon after an entry is created in this table for an iFCP session, it
    will correspond to an entry in the tcpConnectionTable of the TCP-MIB
    (RFC 4022).  The corresponding entry might represent a preexisting
    TCP connection, or it might be a newly created entry.  (Note that if
    IPv4 is being used, an entry in RFC 2012's tcpConnTable may also
    correspond.)  The values of ifcpSessionLclPrtlAddrType and
    ifcpSessionRmtPrtlIfAddrType in this table and the values of
    tcpConnectionLocalAddressType and tcpConnectionRemAddressType used
    as INDEX values for the corresponding entry in the
    tcpConnectionTable should be the same; this makes it simpler to
    locate a session's TCP connection in the TCP-MIB.  (Of course, all
    four values need to be 'ipv4' if there's a corresponding entry in
    the tcpConnTable.)

    If an entry is created in this table for a session, prior to
    knowing which local and/or remote port numbers will be used for
    the TCP connection, then ifcpSessionLclPrtlTcpPort and/or
    ifcpSessionRmtPrtlTcpPort have the value zero until such time as
    they can be updated to the port numbers (to be) used for the
    connection.  (Thus, a port value of zero should not be used to
    locate a session's TCP connection in the TCP-MIB.)

    When the TCP connection terminates, the entry in the
    tcpConnectionTable and the entry in this table both get deleted
    (and, if applicable, so does the entry in the tcpConnTable)."
       INDEX { ifcpLclGtwyInstIndex, ifcpSessionIndex }
       ::= {ifcpSessionAttributesTable 1}

   IfcpSessionAttributesEntry ::= SEQUENCE {
       ifcpSessionIndex               Integer32,
       ifcpSessionLclPrtlIfIndex      InterfaceIndexOrZero,
       ifcpSessionLclPrtlAddrType     InetAddressType,





       ifcpSessionLclPrtlAddr         InetAddress,
       ifcpSessionLclPrtlTcpPort      InetPortNumber,
       ifcpSessionLclNpWwun           FcNameIdOrZero,
       ifcpSessionLclNpFcid           FcAddressIdOrZero,
       ifcpSessionRmtNpWwun           FcNameIdOrZero,
       ifcpSessionRmtPrtlIfAddrType   InetAddressType,
       ifcpSessionRmtPrtlIfAddr       InetAddress,
       ifcpSessionRmtPrtlTcpPort      InetPortNumber,
       ifcpSessionRmtNpFcid           FcAddressIdOrZero,
       ifcpSessionRmtNpFcidAlias      FcAddressIdOrZero,
       ifcpSessionIpTOV               IfcpIpTOVorZero,
       ifcpSessionLclLTIntvl          IfcpLTIorZero,
       ifcpSessionRmtLTIntvl          IfcpLTIorZero,
       ifcpSessionBound               TruthValue,
       ifcpSessionStorageType         StorageType
                                          }

   ifcpSessionIndex                   OBJECT-TYPE
       SYNTAX                         Integer32 (1..2147483647)
       MAX-ACCESS                     not-accessible
       STATUS                         current
       DESCRIPTION
   "The iFCP session index is a unique value used as an index
    to the table, along with a specific local iFCP gateway
    instance.  This index is used because the local N Port and
    remote N Port information would create a complex index that
    would be difficult to implement."
       ::= {ifcpSessionAttributesEntry 1}

   ifcpSessionLclPrtlIfIndex          OBJECT-TYPE
       SYNTAX                         InterfaceIndexOrZero
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "This is the interface index in the IF-MIB ifTable being used
    as the local portal in this session, as described in the
    IF-MIB.  If the local portal is not associated with an entry
    in the ifTable, then the value is 0.  The ifType of the
    interface will generally be a type that supports IP, but an
    implementation may support iFCP using other protocols.  This
    object can be used to obtain additional information about the
    interface."
       REFERENCE     "RFC 2863, The Interfaces Group MIB (IF-MIB)"
       ::= {ifcpSessionAttributesEntry 2}

   ifcpSessionLclPrtlAddrType         OBJECT-TYPE
       SYNTAX                         InetAddressType
       MAX-ACCESS                     read-only





       STATUS                         current
       DESCRIPTION
   "The type of address in ifcpSessionLclIfAddr."
       ::= {ifcpSessionAttributesEntry 3}

   ifcpSessionLclPrtlAddr             OBJECT-TYPE
       SYNTAX                         InetAddress
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "This is the external IP address of the interface being used
    for the iFCP local portal in this session.  The address type
    is defined in ifcpSessionLclPrtlAddrType.  If the value is a
    DNS name, then the name is resolved once, during the initial
    session instantiation."
       ::= {ifcpSessionAttributesEntry 4}

   ifcpSessionLclPrtlTcpPort          OBJECT-TYPE
       SYNTAX                         InetPortNumber
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "This is the TCP port number that is being used for the iFCP
    local portal in this session.  This is normally an ephemeral
    port number selected by the gateway.  The value may be 0
    during an initial setup period."
       ::= {ifcpSessionAttributesEntry 5}

   ifcpSessionLclNpWwun               OBJECT-TYPE
       SYNTAX                         FcNameIdOrZero
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "World Wide Unique Name of the local N Port.  For an unbound
    session, this variable will be a zero-length string."
       REFERENCE      "RFC 4172, iFCP Protocol Specification"
       DEFVAL                         { "" }
       ::= {ifcpSessionAttributesEntry 6}

   ifcpSessionLclNpFcid               OBJECT-TYPE
       SYNTAX                         FcAddressIdOrZero
       MAX-ACCESS                     read-only
       STATUS                         current










       DESCRIPTION
   "Fibre Channel Identifier of the local N Port.  For an unbound
    session, this variable will be a zero-length string."
       REFERENCE      "RFC 4172, iFCP Protocol Specification"
       ::= {ifcpSessionAttributesEntry 7}

   ifcpSessionRmtNpWwun               OBJECT-TYPE
       SYNTAX                         FcNameIdOrZero
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "World Wide Unique Name of the remote N Port.  For an unbound
    session, this variable will be a zero-length string."
       REFERENCE      "RFC 4172, iFCP Protocol Specification"
       DEFVAL                         { "" }
       ::= {ifcpSessionAttributesEntry 8}

   ifcpSessionRmtPrtlIfAddrType       OBJECT-TYPE
       SYNTAX                         InetAddressType
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The type of address in ifcpSessionRmtPrtlIfAddr."
       ::= {ifcpSessionAttributesEntry 9}

   ifcpSessionRmtPrtlIfAddr           OBJECT-TYPE
       SYNTAX                         InetAddress
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "This is the remote gateway IP address being used for the
    portal on the remote iFCP gateway.  The address type is
    defined in ifcpSessionRmtPrtlIfAddrType.  If the value is a
    DNS name, then the name is resolved once, during the initial
    session instantiation."
       ::= {ifcpSessionAttributesEntry 10}

   ifcpSessionRmtPrtlTcpPort          OBJECT-TYPE
       SYNTAX                         InetPortNumber
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "This is the TCP port number being used for the portal on the
    remote iFCP gateway.  Generally, this will be the iFCP
    canonical port.  The value may be 0 during an initial setup
    period."
       DEFVAL                         { 3420 }
       ::= {ifcpSessionAttributesEntry 11}





   ifcpSessionRmtNpFcid               OBJECT-TYPE
       SYNTAX                         FcAddressIdOrZero
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "Fibre Channel Identifier of the remote N Port.  For an
    unbound session, this variable will be a zero-length string."
       REFERENCE      "RFC 4172, iFCP Protocol Specification"
       ::= {ifcpSessionAttributesEntry 12}

   ifcpSessionRmtNpFcidAlias          OBJECT-TYPE
       SYNTAX                         FcAddressIdOrZero
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "Fibre Channel Identifier Alias assigned by the local gateway
    for the remote N Port.  For an unbound session, this variable
    will be a zero-length string."
       REFERENCE      "RFC 4172, iFCP Protocol Specification"
       ::= {ifcpSessionAttributesEntry 13}

   ifcpSessionIpTOV                   OBJECT-TYPE
       SYNTAX                         IfcpIpTOVorZero
       UNITS                          "seconds"
       MAX-ACCESS                     read-write
       STATUS                         current
       DESCRIPTION
   "The IP_TOV being used for this iFCP session.  This is the
    maximum propagation delay that will be used for the iFCP
    session.  The value can be changed on a per-session basis
    and initially defaults to ifcpLclGtwyInstDefaultIpTOV for
    the local gateway instance.  The valid range is 0 - 3600
    seconds.  A value of 0 implies fibre channel frame lifetime
    limits will not be enforced."
       REFERENCE      "RFC 4172, iFCP Protocol Specification"
       ::= {ifcpSessionAttributesEntry 14}

   ifcpSessionLclLTIntvl              OBJECT-TYPE
       SYNTAX                         IfcpLTIorZero
       UNITS                          "seconds"
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The Liveness Test Interval (LTI) used for this iFCP session.
    The value can be changed on a per-session basis and initially
    defaults to ifcpLclGtwyInstDefaultLTInterval for the local







    gateway instance.  The valid range is 0 - 65535 seconds.
    A value of 0 implies that the gateway will not originate
    Liveness Test messages for the session."
       REFERENCE      "RFC 4172, iFCP Protocol Specification"
       ::= {ifcpSessionAttributesEntry 15}

   ifcpSessionRmtLTIntvl              OBJECT-TYPE
       SYNTAX                         IfcpLTIorZero
       UNITS                          "seconds"
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The Liveness Test Interval (LTI) as requested by the remote
    gateway instance to use for this iFCP session.  This value may
    change over the life of the session.  The valid range is 0 -
    65535 seconds.  A value of 0 implies that the remote gateway
    has not been requested to originate Liveness Test messages for
    the session."
       REFERENCE      "RFC 4172, iFCP Protocol Specification"
       ::= {ifcpSessionAttributesEntry 16}

   ifcpSessionBound                   OBJECT-TYPE
       SYNTAX                         TruthValue
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "This value indicates whether this session is bound to a
    specific local and remote N Port.  Sessions by default are
    unbound and ready for future assignment to a local and remote
    N Port."
       REFERENCE      "RFC 4172, iFCP Protocol Specification"
       ::= {ifcpSessionAttributesEntry 17}

   ifcpSessionStorageType             OBJECT-TYPE
       SYNTAX                         StorageType
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The storage type for this row.  Parameter values defined
    for a session are usually non-volatile, but may be volatile
    or permanent in some configurations.  If permanent, then
    ifcpSessionIpTOV must have read-write access."
       DEFVAL            { nonVolatile }
       ::= {ifcpSessionAttributesEntry 18}

   --
   -- Local iFCP Gateway Instance Session Statistics =============
   --





   ifcpSessionStatsTable              OBJECT-TYPE
       SYNTAX                         SEQUENCE OF
                                         IfcpSessionStatsEntry
       MAX-ACCESS                     not-accessible
       STATUS                         current
       DESCRIPTION
   "This table provides statistics on an iFCP session."
       ::= {ifcpNportSessionInfo 2}

   ifcpSessionStatsEntry              OBJECT-TYPE
       SYNTAX                         IfcpSessionStatsEntry
       MAX-ACCESS                     not-accessible
       STATUS                         current
       DESCRIPTION
   "Provides iFCP-specific statistics per session."
       AUGMENTS {ifcpSessionAttributesEntry}
       ::= {ifcpSessionStatsTable 1}

   IfcpSessionStatsEntry ::= SEQUENCE {
       ifcpSessionState               IfcpSessionStates,
       ifcpSessionDuration            Unsigned32,
       ifcpSessionTxOctets            ZeroBasedCounter64,
       ifcpSessionRxOctets            ZeroBasedCounter64,
       ifcpSessionTxFrames            ZeroBasedCounter64,
       ifcpSessionRxFrames            ZeroBasedCounter64,
       ifcpSessionStaleFrames         ZeroBasedCounter64,
       ifcpSessionHeaderCRCErrors     ZeroBasedCounter64,
       ifcpSessionFcPayloadCRCErrors  ZeroBasedCounter64,
       ifcpSessionOtherErrors         ZeroBasedCounter64,
       ifcpSessionDiscontinuityTime   TimeStamp
                                      }

   ifcpSessionState                   OBJECT-TYPE
       SYNTAX                         IfcpSessionStates
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The current session operating state."
       ::= {ifcpSessionStatsEntry 1}

   ifcpSessionDuration                OBJECT-TYPE
       SYNTAX                         Unsigned32 (0..4294967295)
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "This indicates, in seconds, how long the iFCP session has
    been in an open or open-pending state.  When a session is
    down, the value is reset to 0."





       ::= {ifcpSessionStatsEntry 2}

   ifcpSessionTxOctets                OBJECT-TYPE
       SYNTAX                         ZeroBasedCounter64
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The total number of octets transmitted by the iFCP gateway
    for this session.  Discontinuities in the value of this
    counter can occur at reinitialization of the management
    system, and at other times as indicated by the value of
    ifcpSessionDiscontinuityTime."
       ::= {ifcpSessionStatsEntry 3}

   ifcpSessionRxOctets                OBJECT-TYPE
       SYNTAX                         ZeroBasedCounter64
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The total number of octets received by the iFCP gateway for
    this session.  Discontinuities in the value of this
    counter can occur at reinitialization of the management
    system, and at other times as indicated by the value of
    ifcpSessionDiscontinuityTime."
       ::= {ifcpSessionStatsEntry 4}

   ifcpSessionTxFrames                OBJECT-TYPE
       SYNTAX                         ZeroBasedCounter64
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The total number of iFCP frames transmitted by the gateway
    for this session.  Discontinuities in the value of this
    counter can occur at reinitialization of the management
    system, and at other times as indicated by the value of
    ifcpSessionDiscontinuityTime."
       ::= {ifcpSessionStatsEntry 5}

   ifcpSessionRxFrames                OBJECT-TYPE
       SYNTAX                         ZeroBasedCounter64
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The total number of iFCP frames received by the gateway
    for this session.  Discontinuities in the value of this
    counter can occur at reinitialization of the management
    system, and at other times as indicated by the value of
    ifcpSessionDiscontinuityTime."





       ::= {ifcpSessionStatsEntry 6}

   ifcpSessionStaleFrames             OBJECT-TYPE
       SYNTAX                         ZeroBasedCounter64
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The total number of received iFCP frames that were stale and
    discarded by the gateway for this session.  Discontinuities
    in the value of this counter can occur at reinitialization
    of the management system, and at other times as indicated by
    the value of ifcpSessionDiscontinuityTime."
       ::= {ifcpSessionStatsEntry 7}

   ifcpSessionHeaderCRCErrors         OBJECT-TYPE
       SYNTAX                         ZeroBasedCounter64
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The total number of Cyclic Redundancy Check (CRC) errors that
    occurred in the frame header, detected by the gateway for this
    session.  Usually, a single Header CRC error is sufficient to
    terminate an iFCP session.  Discontinuities in the value of this
    counter can occur at reinitialization of the management system,
    and at other times as indicated by the value of
    ifcpSessionDiscontinuityTime."
       ::= {ifcpSessionStatsEntry 8}

   ifcpSessionFcPayloadCRCErrors      OBJECT-TYPE
       SYNTAX                         ZeroBasedCounter64
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The total number of CRC errors that occurred in the Fibre
    Channel frame payload, detected by the gateway for this
    session.  Discontinuities in the value of this counter can
    occur at reinitialization of the management system, and
    at other times as indicated by the value of
    ifcpSessionDiscontinuityTime."
       ::= {ifcpSessionStatsEntry 9}

   ifcpSessionOtherErrors             OBJECT-TYPE
       SYNTAX                         ZeroBasedCounter64
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The total number of errors, other than errors explicitly
    measured, detected by the gateway for this session.





    Discontinuities in the value of this counter can occur at
    reinitialization of the management system, and at other
    times as indicated by the value of
    ifcpSessionDiscontinuityTime."
       ::= {ifcpSessionStatsEntry 10}

   ifcpSessionDiscontinuityTime       OBJECT-TYPE
       SYNTAX                         TimeStamp
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The value of sysUpTime on the most recent occasion at which
    any one (or more) of the ifcpSessionStatsTable counters
    suffered a discontinuity.  The relevant counters are the
    specific Counter64-based instances associated with the
    ifcpSessionStatsTable: ifcpSessionTxOctets,
    ifcpSessionRxOctets, ifcpSessionTxFrames,
    ifcpSessionRxFrames, ifcpSessionStaleFrames,
    ifcpSessionHeaderCRCErrors, ifcpSessionFcPayloadCRCErrors,
    and ifcpSessionOtherErrors.  If no such discontinuities have
    occurred since the last reinitialization of the local
    management subsystem, then this object contains a zero value."
       ::= {ifcpSessionStatsEntry 11}

   --
   -- Low-Capacity Statistics
   --

   ifcpSessionLcStatsTable            OBJECT-TYPE
       SYNTAX                         SEQUENCE OF
                                        IfcpSessionLcStatsEntry
       MAX-ACCESS                     not-accessible
       STATUS                         current
       DESCRIPTION
   "This table provides low-capacity statistics for an iFCP
    session.  These are provided for backward compatibility with
    systems that do not support Counter64-based objects.  At
    1-Gbps rates, a Counter32-based object can wrap as often as
    every 34 seconds.  Counter32-based objects can be sufficient
    for many situations.  However, when possible, it is
    recommended to use the high-capacity statistics in
    ifcpSessionStatsTable based on Counter64 objects."
       ::= {ifcpNportSessionInfo 3}

   ifcpSessionLcStatsEntry            OBJECT-TYPE
       SYNTAX                         IfcpSessionLcStatsEntry
       MAX-ACCESS                     not-accessible
       STATUS                         current





       DESCRIPTION
   "Provides iFCP-specific statistics per session."
       AUGMENTS {ifcpSessionAttributesEntry}
       ::= {ifcpSessionLcStatsTable 1}

   IfcpSessionLcStatsEntry ::= SEQUENCE {
       ifcpSessionLcTxOctets            ZeroBasedCounter32,
       ifcpSessionLcRxOctets            ZeroBasedCounter32,
       ifcpSessionLcTxFrames            ZeroBasedCounter32,
       ifcpSessionLcRxFrames            ZeroBasedCounter32,
       ifcpSessionLcStaleFrames         ZeroBasedCounter32,
       ifcpSessionLcHeaderCRCErrors     ZeroBasedCounter32,
       ifcpSessionLcFcPayloadCRCErrors  ZeroBasedCounter32,
       ifcpSessionLcOtherErrors         ZeroBasedCounter32
                                      }
   ifcpSessionLcTxOctets              OBJECT-TYPE
       SYNTAX                         ZeroBasedCounter32
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The total number of octets transmitted by the iFCP gateway
    for this session."
       ::= {ifcpSessionLcStatsEntry 1}

   ifcpSessionLcRxOctets              OBJECT-TYPE
       SYNTAX                         ZeroBasedCounter32
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The total number of octets received by the iFCP gateway for
    this session."
       ::= {ifcpSessionLcStatsEntry 2}

   ifcpSessionLcTxFrames              OBJECT-TYPE
       SYNTAX                         ZeroBasedCounter32
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The total number of iFCP frames transmitted by the gateway
    for this session."
       ::= {ifcpSessionLcStatsEntry 3}

   ifcpSessionLcRxFrames              OBJECT-TYPE
       SYNTAX                         ZeroBasedCounter32
       MAX-ACCESS                     read-only
       STATUS                         current







       DESCRIPTION
   "The total number of iFCP frames received by the gateway
    for this session."
       ::= {ifcpSessionLcStatsEntry 4}

   ifcpSessionLcStaleFrames           OBJECT-TYPE
       SYNTAX                         ZeroBasedCounter32
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The total number of received iFCP frames that were stale and
    discarded by the gateway for this session."
       ::= {ifcpSessionLcStatsEntry 5}

   ifcpSessionLcHeaderCRCErrors       OBJECT-TYPE
       SYNTAX                         ZeroBasedCounter32
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The total number of CRC errors that occurred in the frame
    header, detected by the gateway for this session.  Usually,
    a single Header CRC error is sufficient to terminate an
    iFCP session."
       ::= {ifcpSessionLcStatsEntry 6}

   ifcpSessionLcFcPayloadCRCErrors    OBJECT-TYPE
       SYNTAX                         ZeroBasedCounter32
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The total number of CRC errors that occurred in the Fibre
    Channel frame payload, detected by the gateway for this
    session."
       ::= {ifcpSessionLcStatsEntry 7}

   ifcpSessionLcOtherErrors           OBJECT-TYPE
       SYNTAX                         ZeroBasedCounter32
       MAX-ACCESS                     read-only
       STATUS                         current
       DESCRIPTION
   "The total number of errors, other than errors explicitly
    measured, detected by the gateway for this session."
       ::= {ifcpSessionLcStatsEntry 8}

   --==========================================================








   ifcpCompliances
           OBJECT IDENTIFIER ::= {ifcpGatewayConformance 1}

   ifcpGatewayCompliance MODULE-COMPLIANCE
       STATUS deprecated
       DESCRIPTION
   "This MODULE-COMPLIANCE has been deprecated because address
   translation mode has been deprecated in the iFCP standard.  It has
   the implementation requirements for iFCP MIB module compliance."
       MODULE       -- this module
       MANDATORY-GROUPS {
           ifcpLclGatewayGroup,
           ifcpLclGatewaySessionGroup,
           ifcpLclGatewaySessionStatsGroup,
           ifcpLclGatewaySessionLcStatsGroup
                        }

           OBJECT      ifcpSessionLclPrtlAddrType
           SYNTAX      InetAddressType { ipv4(1), ipv6(2) }
           DESCRIPTION
                  "Support is only required for global IPv4
                  and IPv6 address types."
           OBJECT      ifcpSessionRmtPrtlIfAddrType
           SYNTAX      InetAddressType { ipv4(1), ipv6(2) }
           DESCRIPTION
                  "Support is only required for global IPv4
                  and IPv6 address types."

           OBJECT      ifcpLclGtwyInstAddrTransMode
           SYNTAX      IfcpAddressMode {addressTransparent(1),
                                        addressTranslation(2)}
           DESCRIPTION
                  "This object must support addressTransparent(1) and
                    addressTranslation(2)."

       ::= {ifcpCompliances 1}

   ifcpGatewayComplianceNoTranslation MODULE-COMPLIANCE
       STATUS current
       DESCRIPTION
   "Implementation requirements for iFCP MIB module compliance.
    Address translation mode has been deprecated in the iFCP standard."
       REFERENCE      "RFC 4172, iFCP Protocol Specification;
                       RFC 6172, Deprecation of iFCP Address
                       Translation Mode"
       MODULE       -- this module







       MANDATORY-GROUPS {
           ifcpLclGatewayGroup,
           ifcpLclGatewaySessionGroupNoTranslation,
           ifcpLclGatewaySessionStatsGroup,
           ifcpLclGatewaySessionLcStatsGroup
                        }

           OBJECT      ifcpSessionLclPrtlAddrType
           SYNTAX      InetAddressType { ipv4(1), ipv6(2) }
           DESCRIPTION
                  "Support is only required for global IPv4
                  and IPv6 address types."

           OBJECT      ifcpSessionRmtPrtlIfAddrType
           SYNTAX      InetAddressType { ipv4(1), ipv6(2) }
           DESCRIPTION
                  "Support is only required for global IPv4
                  and IPv6 address types."

           OBJECT      ifcpLclGtwyInstAddrTransMode
           SYNTAX      IfcpAddressMode {addressTransparent(1)}
           DESCRIPTION
                  "Support is only required for addressTransparent(1)."

       ::= {ifcpCompliances 2}

   ifcpGroups OBJECT IDENTIFIER ::= {ifcpGatewayConformance 2}

   ifcpLclGatewayGroup OBJECT-GROUP
       OBJECTS {
       ifcpLclGtwyInstPhyIndex,
       ifcpLclGtwyInstVersionMin,
       ifcpLclGtwyInstVersionMax,
       ifcpLclGtwyInstAddrTransMode,
       ifcpLclGtwyInstFcBrdcstSupport,
       ifcpLclGtwyInstDefaultIpTOV,
       ifcpLclGtwyInstDefaultLTInterval,
       ifcpLclGtwyInstDescr,
       ifcpLclGtwyInstNumActiveSessions,
       ifcpLclGtwyInstStorageType
              }
       STATUS current
       DESCRIPTION
   "iFCP local device info group.  This group provides
    information about each gateway."
       ::= {ifcpGroups 1}







   ifcpLclGatewaySessionGroup OBJECT-GROUP
       OBJECTS {
       ifcpSessionLclPrtlIfIndex,
       ifcpSessionLclPrtlAddrType,
       ifcpSessionLclPrtlAddr,
       ifcpSessionLclPrtlTcpPort,
       ifcpSessionLclNpWwun,
       ifcpSessionLclNpFcid,
       ifcpSessionRmtNpWwun,
       ifcpSessionRmtPrtlIfAddrType,
       ifcpSessionRmtPrtlIfAddr,
       ifcpSessionRmtPrtlTcpPort,
       ifcpSessionRmtNpFcid,
       ifcpSessionRmtNpFcidAlias,
       ifcpSessionIpTOV,
       ifcpSessionLclLTIntvl,
       ifcpSessionRmtLTIntvl,
       ifcpSessionBound,
       ifcpSessionStorageType
              }
       STATUS deprecated
       DESCRIPTION
   "This OBJECT-GROUP has been deprecated because address translation
   mode has been deprecated in the iFCP standard. iFCP Session group.
   This group provides information about each iFCP session currently
   active between iFCP gateways."
       ::= {ifcpGroups 4}

   ifcpLclGatewaySessionStatsGroup OBJECT-GROUP
       OBJECTS {
       ifcpSessionState,
       ifcpSessionDuration,
       ifcpSessionTxOctets,
       ifcpSessionRxOctets,
       ifcpSessionTxFrames,
       ifcpSessionRxFrames,
       ifcpSessionStaleFrames,
       ifcpSessionHeaderCRCErrors,
       ifcpSessionFcPayloadCRCErrors,
       ifcpSessionOtherErrors,
       ifcpSessionDiscontinuityTime
              }
       STATUS current










       DESCRIPTION
   "iFCP Session Statistics group.  This group provides
    statistics with 64-bit counters for each iFCP session
    currently active between iFCP gateways.  This group
    is only required for agents that can support Counter64-
    based data types."
       ::= {ifcpGroups 5}

   ifcpLclGatewaySessionLcStatsGroup OBJECT-GROUP
       OBJECTS {
       ifcpSessionLcTxOctets,
       ifcpSessionLcRxOctets,
       ifcpSessionLcTxFrames,
       ifcpSessionLcRxFrames,
       ifcpSessionLcStaleFrames,
       ifcpSessionLcHeaderCRCErrors,
       ifcpSessionLcFcPayloadCRCErrors,
       ifcpSessionLcOtherErrors
              }
       STATUS current
       DESCRIPTION
   "iFCP Session Low-Capacity Statistics group.  This group
    provides statistics with low-capacity 32-bit counters
    for each iFCP session currently active between iFCP
    gateways.  This group is only required for agents that
    do not support Counter64-based data types, or that need
    to support SNMPv1 applications."
       ::= {ifcpGroups 6}

   ifcpLclGatewaySessionGroupNoTranslation OBJECT-GROUP
       OBJECTS {
       ifcpSessionLclPrtlIfIndex,
       ifcpSessionLclPrtlAddrType,
       ifcpSessionLclPrtlAddr,
       ifcpSessionLclPrtlTcpPort,
       ifcpSessionLclNpWwun,
       ifcpSessionLclNpFcid,
       ifcpSessionRmtNpWwun,
       ifcpSessionRmtPrtlIfAddrType,
       ifcpSessionRmtPrtlIfAddr,
       ifcpSessionRmtPrtlTcpPort,
       ifcpSessionRmtNpFcid,
       ifcpSessionIpTOV,
       ifcpSessionLclLTIntvl,
       ifcpSessionRmtLTIntvl,
       ifcpSessionBound,
       ifcpSessionStorageType
              }





       STATUS current
       DESCRIPTION
   "iFCP Session group.  This group provides information
    about each iFCP session currently active between iFCP
    gateways."
       ::= {ifcpGroups 7}

   END


