RFC 4544 - Definitions of Managed Objects for Internet Small(2)

时间:2006-11-02 来源: 作者: 点击:
performance;itcountsiSCSIdatabytesandPDUs. Forimplementationsthatsupporterrorrecoverywithoutterminatinga session,theiscsiSessionCxnErrorStatsTablecontainscountersforthe numbersofdigestandconnectioner
  
   performance; it counts iSCSI data bytes and PDUs.

   For implementations that support error recovery without terminating a
   session, the iscsiSessionCxnErrorStatsTable contains counters for the
   numbers of digest and connection errors that have occurred within the
   session.

6.13.  iscsiConnection

   The iscsiConnectionAttributesTable contains a list of active
   connections within each session.  It contains the IP addresses and
   TCP (or other protocol) ports of both the local and remote sides of
   the connection.  These may be used to locate other connection-related
   information and statistics in the TCP MIB module [RFC4022].

   The attributes table also contains a connection state.  This state is
   not meant to directly map to the state tables included within the
   iSCSI specification; they are meant to be simplified, higher-level
   definitions of connection state that provide information more useful
   to a user or network manager.

   No statistics are kept for connections.

6.14.  IP Addresses and TCP Port Numbers

   The IP addresses in this module are represented by two attributes,
   one of type InetAddressType, and the other of type InetAddress.
   These are taken from [RFC4001], which specifies how to support
   addresses that may be either IPv4 or IPv6.

   The TCP port numbers that appear in a few of the structures are
   described as simply port numbers, with a protocol attribute
   indicating whether they are TCP ports or something else.  This will
   allow the module to be compatible with iSCSI over transports other
   than TCP in the future.

6.15.  Descriptors: Using OIDs in Place of Enumerated Types

   The iSCSI MIB module has a few attributes, namely, the digest method
   attributes, where an enumerated type would work well, except that an
   implementation may need to extend the attribute and add types of its
   own.  To make this work, this MIB module defines a set of object
   identities within the iscsiDescriptors subtree.  Each of these object
   identities is basically an enumerated type.

   Attributes that make use of these object identities have a value that
   is an Object Identifier (OID) instead of an enumerated type.  These
   OIDs can indicate either the object identities defined in this module
   or object identities defined elsewhere, such as in an enterprise MIB
   module.  Those implementations that add their own digest methods
   should also define a corresponding object identity for each of these
   methods within their own enterprise MIB module, and return its OID
   whenever one of these attributes is using that method.

6.16.  Notifications

   Three notifications are provided.  One is sent by an initiator
   detecting a critical login failure, another is sent by a target
   detecting a critical login failure, and the third is sent upon a
   session being terminated due to an abnormal connection or digest
   failure.  Critical failures are defined as those that may expose
   security-related problems that may require immediate action, such as
   failures due to authentication, authorization, or negotiation
   problems.  Attributes in the initiator, target, and instance objects
   provide the information necessary to send in the notification, such
   as the initiator or target name and IP address at the other end that
   may have caused the failure.

   To avoid sending an excessive number of notifications due to multiple
   errors counted, an SNMP agent implementing the iSCSI MIB module
   SHOULD NOT send more than three iSCSI notifications in any 10-second
   period.

   The 3-in-10 rule was chosen because one notification every three
   seconds was deemed often enough, but should two or three different
   notifications happen at the same time, it would not be desirable to
   suppress them.  Three notifications in 10 seconds is a happy medium,

   where a short burst of notifications is allowed, without inundating
   the network and/or notification host with a large number of
   notifications.

7.  MIB Definitions

ISCSI-MIB DEFINITIONS  ::= BEGIN

    IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY, NOTIFICATION-TYPE,
    Unsigned32, Counter32, Counter64, Gauge32,
    mib-2
    FROM SNMPv2-SMI

    TEXTUAL-CONVENTION, TruthValue, RowPointer, TimeStamp, RowStatus,
    AutonomousType, StorageType
    FROM SNMPv2-TC

    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
    FROM SNMPv2-CONF

    SnmpAdminString
    FROM SNMP-FRAMEWORK-MIB -- RFC 3411

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

iscsiMibModule MODULE-IDENTITY
    LAST-UPDATED  "200605220000Z" -- May 22, 2006
    ORGANIZATION  "IETF IPS Working Group"
    CONTACT-INFO
    "
    Mark Bakke
    Cisco Systems, Inc
    7900 International Drive, Suite 400
    Bloomington, MN
    USA 55425

    E-mail: mbakke@cisco.com

    Marjorie Krueger
    Hewlett-Packard
    Networked Storage Architecture
    Networked Storage Solutions Org.
    8000 Foothills Blvd.
    Roseville, CA 95747

    E-mail: marjorie_krueger@hp.com

    Tom McSweeney
    IBM Corporation
    600 Park Offices Drive
    Research Triangle Park, NC
    USA 27709

    E-mail: tommcs@us.ibm.com

    James Muchow
    Qlogic Corp.
    6321 Bury Dr.
    Eden Prairie, MN
    USA 55346

    E-mail: james.muchow@qlogic.com"

    DESCRIPTION
        "The iSCSI Protocol MIB module.
         Copyright (C) The Internet Society (2006).  This version of
         this MIB module is part of RFC 4544;  see the RFC itself for
         full legal notices."
    REVISION "200605220000Z" -- May 22, 2006
    DESCRIPTION
        "Initial version of the iSCSI Protocol MIB module"

::= { mib-2 142 }

iscsiNotifications OBJECT IDENTIFIER ::= { iscsiMibModule 0 }
iscsiObjects       OBJECT IDENTIFIER ::= { iscsiMibModule 1 }
iscsiConformance   OBJECT IDENTIFIER ::= { iscsiMibModule 2 }
iscsiAdmin         OBJECT IDENTIFIER ::= { iscsiMibModule 3 }

-- Textual Conventions

IscsiTransportProtocol ::= TEXTUAL-CONVENTION
    DISPLAY-HINT  "d"
    STATUS        current
    DESCRIPTION
        "This data type is used to define the transport
        protocols that will carry iSCSI PDUs."
    REFERENCE
        "RFC791, RFC1700

        The presently known, officially delegated numbers
        can be found at:
        http://www.iana.org/assignments/protocol-numbers"

    SYNTAX        Unsigned32 (0..255)

IscsiDigestMethod ::= TEXTUAL-CONVENTION
    STATUS        current
    DESCRIPTION
        "This data type represents the methods possible
        for digest negotiation.
        none     - a placeholder for a secondary digest method
                   that means only the primary method can be
                   used.
        other    - a digest method other than those defined below.
        noDigest - does not support digests (will operate without
                   a digest (Note: implementations must support
                   digests to be compliant with the RFC3720).
        CRC32c   - require a CRC32C digest."
    REFERENCE
        "RFC 3720, Section 12.1, HeaderDigest and DataDigest"
    SYNTAX        INTEGER {
                      none(1),
                      other(2),
                      noDigest(3),
                      crc32c(4)
                  }

IscsiName ::= TEXTUAL-CONVENTION
    DISPLAY-HINT  "223t"
    STATUS        current
    DESCRIPTION
        "This data type is used for objects whose value is an
        iSCSI name with the properties described in RFC 3720
        section 3.2.6.1, and encoded as specified in RFC 3720
        section 3.2.6.2.  A zero-length string indicates the
        absence of an iSCSI name."
    REFERENCE
        "RFC 3720, Section 3.2.6, iSCSI Names."
    SYNTAX        OCTET STRING (SIZE(0 | 16..223))

--**********************************************************************

iscsiDescriptors OBJECT IDENTIFIER ::= { iscsiAdmin 1 }

iscsiHeaderIntegrityTypes OBJECT IDENTIFIER ::= { iscsiDescriptors 1 }

iscsiHdrIntegrityNone OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
        "The authoritative identifier when no integrity
        scheme (for either the header or data) is being

        used."
    REFERENCE
        "RFC 3720, Section 12.1, HeaderDigest and DataDigest"
::= { iscsiHeaderIntegrityTypes 1 }

iscsiHdrIntegrityCrc32c OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
        "The authoritative identifier when the integrity
        scheme (for either the header or data) is CRC32c."
    REFERENCE
        "RFC 3720, Section 12.1, HeaderDigest and DataDigest"
::= { iscsiHeaderIntegrityTypes 2 }

iscsiDataIntegrityTypes OBJECT IDENTIFIER ::= { iscsiDescriptors 2 }

iscsiDataIntegrityNone OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
        "The authoritative identifier when no integrity
        scheme (for either the header or data) is being
        used."
    REFERENCE
        "RFC 3720, Section 12.1, HeaderDigest and DataDigest"
::= { iscsiDataIntegrityTypes 1 }

iscsiDataIntegrityCrc32c OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
        "The authoritative identifier when the integrity
        scheme (for either the header or data) is CRC32c."
    REFERENCE
        "RFC 3720, Section 12.1, HeaderDigest and DataDigest"
::= { iscsiDataIntegrityTypes 2 }

--**********************************************************************

iscsiInstance OBJECT IDENTIFIER ::= { iscsiObjects 1 }

-- Instance Attributes Table

iscsiInstanceAttributesTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF IscsiInstanceAttributesEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "A list of iSCSI instances present on the system."
::= { iscsiInstance 1 }

iscsiInstanceAttributesEntry OBJECT-TYPE
    SYNTAX        IscsiInstanceAttributesEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "An entry (row) containing management information applicable
        to a particular iSCSI instance."
    INDEX { iscsiInstIndex }
::= { iscsiInstanceAttributesTable 1 }

IscsiInstanceAttributesEntry ::= SEQUENCE {
    iscsiInstIndex                 Unsigned32,
    iscsiInstDescr                 SnmpAdminString,
    iscsiInstVersionMin            Unsigned32,
    iscsiInstVersionMax            Unsigned32,
    iscsiInstVendorID              SnmpAdminString,
    iscsiInstVendorVersion         SnmpAdminString,
    iscsiInstPortalNumber          Unsigned32,
    iscsiInstNodeNumber            Unsigned32,
    iscsiInstSessionNumber         Unsigned32,
    iscsiInstSsnFailures           Counter32,
    iscsiInstLastSsnFailureType    AutonomousType,
    iscsiInstLastSsnRmtNodeName    IscsiName,
    iscsiInstDiscontinuityTime     TimeStamp
}

iscsiInstIndex OBJECT-TYPE
    SYNTAX        Unsigned32 (1..4294967295)
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "An arbitrary integer used to uniquely identify a particular
        iSCSI instance.  This index value must not be modified or
        reused by an agent unless a reboot has occurred.  An agent
        should attempt to keep this value persistent across reboots."
::= { iscsiInstanceAttributesEntry 1 }

iscsiInstDescr OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "A UTF-8 string, determined by the implementation to
        describe the iSCSI instance.  When only a single instance
        is present, this object may be set to the zero-length
        string; with multiple iSCSI instances, it may be used in
        an implementation-dependent manner to describe the purpose
        of the respective instance."

::= { iscsiInstanceAttributesEntry 2 }

iscsiInstVersionMin OBJECT-TYPE
    SYNTAX        Unsigned32 (0..255)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The minimum version number of the iSCSI specification
        such that this iSCSI instance supports this minimum
        value, the maximum value indicated by the corresponding
        instance in iscsiInstVersionMax, and all versions in
        between."
    REFERENCE
        "RFC 3720, Section 10.12, Login Request"
::= { iscsiInstanceAttributesEntry 3 }

iscsiInstVersionMax OBJECT-TYPE
    SYNTAX        Unsigned32 (0..255)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The maximum version number of the iSCSI specification
        such that this iSCSI instance supports this maximum
        value, the minimum value indicated by the corresponding
        instance in iscsiInstVersionMin, and all versions in
        between."
    REFERENCE
        "RFC 3720, Section 10.12, Login Request"
::= { iscsiInstanceAttributesEntry 4 }

iscsiInstVendorID OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "A UTF-8 string describing the manufacturer of the
        implementation of this instance."
::= { iscsiInstanceAttributesEntry 5 }

iscsiInstVendorVersion OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "A UTF-8 string set by the manufacturer describing the
        version of the implementation of this instance.  The
        format of this string is determined solely by the
        manufacturer, and is for informational purposes only.

        It is unrelated to the iSCSI specification version numbers."
::= { iscsiInstanceAttributesEntry 6 }

iscsiInstPortalNumber OBJECT-TYPE
    SYNTAX        Unsigned32
    UNITS         "transport endpoints"
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The number of rows in the iscsiPortalAttributesTable
        that are currently associated with this iSCSI instance."
::= { iscsiInstanceAttributesEntry 7 }

iscsiInstNodeNumber OBJECT-TYPE
    SYNTAX        Unsigned32
    UNITS         "iSCSI nodes"
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The number of rows in the iscsiNodeAttributesTable
        that are currently associated with this iSCSI instance."
::= { iscsiInstanceAttributesEntry 8 }

iscsiInstSessionNumber OBJECT-TYPE
    SYNTAX        Unsigned32
    UNITS         "sessions"
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The number of rows in the iscsiSessionAttributesTable
        that are currently associated with this iSCSI instance."
::= { iscsiInstanceAttributesEntry 9 }

iscsiInstSsnFailures  OBJECT-TYPE
    SYNTAX        Counter32
    UNITS         "sessions"
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object counts the number of times a session belonging
        to this instance has been failed.  If this counter has
        suffered a discontinuity, the time of the last discontinuity
        is indicated in iscsiInstDiscontinuityTime."
    REFERENCE
        "RFC 3720, Section 12.1, HeaderDigest and DataDigest"
::= { iscsiInstanceAttributesEntry 10 }

iscsiInstLastSsnFailureType  OBJECT-TYPE

    SYNTAX        AutonomousType
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The counter object in the iscsiInstSsnErrorStatsTable
        that was incremented when the last session failure occurred.

        If the reason for failure is not found in the
        iscsiInstSsnErrorStatsTable, the value { 0.0 } is
        used instead."
::= { iscsiInstanceAttributesEntry 11 }

iscsiInstLastSsnRmtNodeName  OBJECT-TYPE
    SYNTAX        IscsiName
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The iSCSI name of the remote node from the failed
        session."
::= { iscsiInstanceAttributesEntry 12 }

iscsiInstDiscontinuityTime  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 this instance’s counters
        suffered a discontinuity.

        If no such discontinuities have occurred since the last
        re-initialization of the local management subsystem,
        then this object contains a zero value."
::= { iscsiInstanceAttributesEntry 13 }

-- Instance Session Failure Stats Table

iscsiInstanceSsnErrorStatsTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF IscsiInstanceSsnErrorStatsEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "Statistics regarding the occurrences of error types
        that result in a session failure."
::= { iscsiInstance 2 }

iscsiInstanceSsnErrorStatsEntry OBJECT-TYPE

    SYNTAX        IscsiInstanceSsnErrorStatsEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "An entry (row) containing management information applicable
        to a particular iSCSI instance."
    AUGMENTS { iscsiInstanceAttributesEntry }
::= { iscsiInstanceSsnErrorStatsTable 1 }

IscsiInstanceSsnErrorStatsEntry ::= SEQUENCE {
    iscsiInstSsnDigestErrors       Counter32,
    iscsiInstSsnCxnTimeoutErrors   Counter32,
    iscsiInstSsnFormatErrors       Counter32
}

iscsiInstSsnDigestErrors OBJECT-TYPE
    SYNTAX        Counter32
    UNITS         "sessions"
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The count of sessions that were failed due to receipt of
        a PDU containing header or data digest errors.  If this
        counter has suffered a discontinuity, the time of the last
        discontinuity is indicated in iscsiInstDiscontinuityTime."
    REFERENCE
        "RFC 3720, Section 6.7, Digest Errors"
::= { iscsiInstanceSsnErrorStatsEntry 1 }

iscsiInstSsnCxnTimeoutErrors OBJECT-TYPE
    SYNTAX        Counter32
    UNITS         "sessions"
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The count of sessions that were failed due to a sequence
        exceeding a time limit.  If this counter has suffered a
        discontinuity, the time of the last discontinuity
        is indicated in iscsiInstDiscontinuityTime."
    REFERENCE
        "RFC 3720, Section 6.4, Connection Timeout Management"
::= { iscsiInstanceSsnErrorStatsEntry 2 }

iscsiInstSsnFormatErrors OBJECT-TYPE
    SYNTAX        Counter32
    UNITS         "sessions"
    MAX-ACCESS    read-only
    STATUS        current

    DESCRIPTION
        "The count of sessions that were failed due to receipt of
        a PDU that contained a format error.  If this counter has
        suffered a discontinuity, the time of the last discontinuity
        is indicated in iscsiInstDiscontinuityTime."
    REFERENCE
        "RFC 3720, Section 6.6, Format Errors"
::= { iscsiInstanceSsnErrorStatsEntry 3 }

--**********************************************************************

iscsiPortal OBJECT IDENTIFIER ::= { iscsiObjects 2 }

-- Portal Attributes Table

iscsiPortalAttributesTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF IscsiPortalAttributesEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "A list of transport endpoints (using TCP or another transport
        protocol) used by this iSCSI instance.  An iSCSI instance may
        use a portal to listen for incoming connections to its targets,
        to initiate connections to other targets, or both."
::= { iscsiPortal 1 }

iscsiPortalAttributesEntry OBJECT-TYPE
    SYNTAX        IscsiPortalAttributesEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "An entry (row) containing management information applicable
        to a particular portal instance."
    INDEX { iscsiInstIndex, iscsiPortalIndex  }
::= { iscsiPortalAttributesTable 1 }

IscsiPortalAttributesEntry ::= SEQUENCE {
    iscsiPortalIndex               Unsigned32,
    iscsiPortalRowStatus           RowStatus,
    iscsiPortalRoles               BITS,
    iscsiPortalAddrType            InetAddressType,
    iscsiPortalAddr                InetAddress,
    iscsiPortalProtocol            IscsiTransportProtocol,
    iscsiPortalMaxRecvDataSegLength Unsigned32,
    iscsiPortalPrimaryHdrDigest    IscsiDigestMethod,
    iscsiPortalPrimaryDataDigest   IscsiDigestMethod,
    iscsiPortalSecondaryHdrDigest  IscsiDigestMethod,
    iscsiPortalSecondaryDataDigest IscsiDigestMethod,

    iscsiPortalRecvMarker          TruthValue,
    iscsiPortalStorageType         StorageType
}

iscsiPortalIndex OBJECT-TYPE
    SYNTAX        Unsigned32 (1..4294967295)
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "An arbitrary integer used to uniquely identify a particular
        transport endpoint within this iSCSI instance.  This index
        value must not be modified or reused by an agent unless a
        reboot has occurred.  An agent should attempt to keep this
        value persistent across reboots."
::= { iscsiPortalAttributesEntry 1 }

iscsiPortalRowStatus OBJECT-TYPE
    SYNTAX        RowStatus
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "This field allows entries to be dynamically added and
        removed from this table via SNMP.  When adding a row to
        this table, all non-Index/RowStatus objects must be set.
        When the value of this object is ’active’, the values of
        the other objects in this table cannot be changed.
        Rows may be discarded using RowStatus.

        Note that creating a row in this table will typically
        cause the agent to create one or more rows in
        iscsiTgtPortalAttributesTable and/or
        iscsiIntrPortalAttributesTable."
::= { iscsiPortalAttributesEntry 2 }

iscsiPortalRoles OBJECT-TYPE
    SYNTAX        BITS {
                      targetTypePortal(0),
                      initiatorTypePortal(1)
                  }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "A portal can operate in one or both of two roles:
        as a target portal and/or an initiator portal.  If
        the portal will operate in both roles, both bits
        must be set.

        This object will define a corresponding row that

        will exist or must be created in the
        iscsiTgtPortalAttributesTable, the
        iscsiIntrPortalAttributesTable or both.  If the
        targetTypePortal bit is set, one or more corresponding
        iscsiTgtPortalAttributesEntry rows will be found or
        created.  If the initiatorTypePortal bit is set,
        one or more corresponding iscsiIntrPortalAttributesEntry
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容