IPS Kevin Gibbons Internet Draft Charles Monia Josh Tseng Category: standards-track McDATA Corporation Expires: July 2005 Franco Travostino Nortel January 2005 Definitions of Managed Objects for iFCP Status of this Memo By submitting this Internet-Draft, I certify that any applicable patent or other IPR claims of which I am aware have been disclosed, and any of which I become aware will be disclosed, in accordance with RFC 3668. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress". The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire in July 2005. Copyright Notice Copyright (C) The Internet Society (2005). All Rights Reserved. Abstract The iFCP protocol provides Fibre Channel fabric functionality on an IP network in which TCP/IP switching and routing elements replace Fibre Channel components. The iFCP protocol is used between iFCP Gateways. This draft provides a mechanism to monitor and control iFCP Gateway instances, and their associated sessions, using SNMP. This memo is a product of the IP Storage (IPS) working group within the Internet Engineering Task Force. Comments are solicited and Gibbons Expires July 2005 1 Internet Draft iFCP MIB January 2005 should be addressed to the working group's mailing list at ips@ece.cmu.edu and/or the authors. Table of Contents Status of this Memo................................................1 Copyright Notice...................................................1 Abstract...........................................................1 Table of Contents..................................................2 1. The Internet-Standard Management Framework.....................3 2. Introduction...................................................3 3. Technical Description..........................................4 4. MIB Definition.................................................4 5. IANA Considerations...........................................23 6. Security Considerations.......................................23 7. Normative References..........................................24 8. Informative References........................................25 9. Authors' Addresses............................................25 10. Intellectual Property Statement...............................25 11. Disclaimer of Validity........................................26 12. Full Copyright Statement......................................26 13. Acknowledgment................................................26 Gibbons Expires July 2005 2 Internet Draft iFCP MIB January 2005 1. The Internet-Standard Management Framework For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 [RFC3410]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580]. 2. Introduction The iFCP protocol can be used by FC to IP based storage gateways for FCP storage interconnects. Figure 1 provides an example interconnect between iFCP gateways. Gateway Region Gateway Region +--------+ +--------+ +--------+ +--------+ | FC | | FC | | FC | | FC | | Device | | Device | | Device | | Device | Fibre |........| |........| FC |........| |........| Channel | N_PORT | | N_PORT |<.........>| N_PORT | | N_PORT | Device +---+----+ +---+----+ Traffic +----+---+ +----+---+ Domain | | | | ^ +---+----+ +---+----+ +----+---+ +----+---+ | | F_PORT | | F_PORT | | F_PORT | | F_PORT | | =+========+==+========+===========+========+==+========+========== | iFCP Layer |<--------->| iFCP Layer | | |....................| ^ |....................| | | iFCP Portal | | | iFCP Portal | v +--------+-----------+ | +----------+---------+ IP iFCP|Gateway Control iFCP|Gateway Network | Data | | | | | |<------Encapsulated Frames------->| | +------------------+ | | | | | +------+ IP Network +--------+ | | +------------------+ The iFCP MIB Module is designed to allow SNMP to be used to monitor and manage local iFCP gateway instances, including the configuration of iFCP sessions between gateways. Gibbons Expires July 2005 3 Internet Draft iFCP MIB January 2005 3. Technical Description The iFCP MIB Module is divided into sections for iFCP local gateway instance management, iFCP session management, and iFCP session statistics. The section for iFCP gateway management provides default settings and information about each local instance. A single management entity can monitor multiple local gateway instances. Each local gateway is conceptually an independent gateway that has both Fibre Channel and IP interfaces. The default IP Time Out Value (IP_TOV) is configurable for each gateway. Other standard MIBs, such as the Fibre Management MIB [FCMGT01] or Interfaces Group MIB [RFC2863], can be used to manage non-iFCP specific gateway parameters. The local gateway instance section provides iFCP specific information as well as optional links to other standard management MIBs. The iFCP session management section provides information on iFCP sessions that are using one of the local iFCP gateway instances. This section allows the management of specific iFCP parameters, including changing the IP_TOV from the default setting of the gateway. The iFCP session statistics section provides statistical information on the iFCP sessions that are using one of the local iFCP gateways. These tables augment the session management table. Additional statistical information for an iFCP gateway or session, that is not iFCP specific, can be obtained using other standard MIBs. The iFCP statistics are provided in both standard and low-capacity (counter32) methods. 4. MIB Definition 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 Gibbons Expires July 2005 4 Internet Draft iFCP MIB January 2005 FROM SNMPv2-TC -- From RFC 2021 ZeroBasedCounter32 FROM RMON2-MIB -- From RFC 2856 ZeroBasedCounter64 FROM HCNUM-TC -- From RFC 2571 SnmpAdminString FROM SNMP-FRAMEWORK-MIB -- From RFC 2863 InterfaceIndexOrZero FROM IF-MIB -- From RFC 3291 InetAddressType, InetAddress, InetPortNumber FROM INET-ADDRESS-MIB -- From IETF Entity MIB v3, RFC TBD -- RFC Ed.: replace TBD with RFC number assigned to the -- Entity MIB v3, and remove this note PhysicalIndexOrZero FROM ENTITY-MIB -- From IETF Fibre Channel Management MIB, RFC TBD -- RFC Ed.: replace TBD with RFC number assigned to the Fibre -- Channel Management MIB, and remove this note FcNameIdOrZero, FcAddressIdOrZero FROM FC-MGMT-MIB ; ifcpMgmtMIB MODULE-IDENTITY LAST-UPDATED "200501230000Z" ORGANIZATION "IETF IPS Working Group" CONTACT-INFO " Attn: Kevin Gibbons McDATA Corporation 4555 Great America Pkwy Santa Clara, CA 95054-1208 USA Tel: +1 408 567-5765 Fax: +1 408 567-0063 Email: kevin.gibbons@mcdata.com Charles Monia Gibbons Expires July 2005 5 Internet Draft iFCP MIB January 2005 McDATA Corporation 4555 Great America Pkwy Santa Clara, CA 95054-1208 USA Tel: +1 408 567-5700 Email: cmonia@pacbell.net Josh Tseng McDATA Corporation 4555 Great America Pkwy Santa Clara, CA 95054-1208 USA Tel: +1 408 567-5700 Email: joshtseng@yahoo.com Franco Travostino Nortel Networks 3 Federal Street Billerica, MA 01821 USA Tel : +1 978 288-7708 email : travos@nortelnetworks.com " DESCRIPTION "The MIB for internet Fibre Channel Protocol (iFCP) management. Copyright (C) The Internet Society (2005). This version of this MIB module is part of RFC ZZZZ; see the RFC itself for full legal notices." -- RFC Ed.: replace ZZZZ with actual RFC number assigned to -- this document and remove this note REVISION "200501230000Z" DESCRIPTION "Initial version of iFCP Management Module. This MIB published as RFC ZZZZ." -- RFC Ed.: replace ZZZZ with RFC number assigned to this -- document and remove this note -- remove from final version ::= { transmission 9999 } ::= { transmission YYYY } -- RFC Ed.: enter the IANA assigned number to this MIB for YYYY, -- and remove this note -- -- 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 Gibbons Expires July 2005 6 Internet Draft iFCP MIB January 2005 channel frame lifetime limits will not be enforced." REFERENCE "iFCP Protocol Specification, RFC XXXX" -- RFC Ed.: throughout this document, replace XXXX with the -- RFC number assigned to the iFCP Protocol Spec., -- and remove this note 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 "iFCP Protocol Specification, RFC XXXX" 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 "iFCP Protocol Specification, RFC XXXX" 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." Gibbons Expires July 2005 7 Internet Draft iFCP MIB January 2005 ::= {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 Gibbons Expires July 2005 8 Internet Draft iFCP MIB January 2005 DESCRIPTION "The minimum iFCP protocol version supported by the local iFCP gateway instance." REFERENCE "iFCP Protocol Specification, RFC XXXX" ::= {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 "iFCP Protocol Specification, RFC XXXX" ::= {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 "iFCP Protocol Specification, RFC XXXX" DEFVAL { addressTranslation } ::= {ifcpLclGtwyInstEntry 5} ifcpLclGtwyInstFcBrdcstSupport OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Whether the local iFCP gateway supports FC Broadcast. Changing this value may cause existing sessions to be disrupted." REFERENCE "iFCP Protocol Specification, RFC XXXX" DEFVAL { false } ::= {ifcpLclGtwyInstEntry 6} ifcpLclGtwyInstDefaultIpTOV OBJECT-TYPE SYNTAX IfcpIpTOVorZero 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 "iFCP Protocol Specification, RFC XXXX" DEFVAL { 6 } Gibbons Expires July 2005 9 Internet Draft iFCP MIB January 2005 ::= {ifcpLclGtwyInstEntry 7} ifcpLclGtwyInstDefaultLTInterval OBJECT-TYPE SYNTAX IfcpLTIorZero 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 "iFCP Protocol Specification, RFC XXXX" 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. Paramater values defined for a gateway are usually non-volatile, but may be volatile or read-only in some configurations." DEFVAL { nonVolatile } ::= {ifcpLclGtwyInstEntry 11} -- -- iFCP N Port Session Information ============================ -- ifcpNportSessionInfo OBJECT IDENTIFIER ::= {ifcpGatewayObjects 2} Gibbons Expires July 2005 10 Internet Draft iFCP MIB January 2005 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 "An entry in the session table." 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 Gibbons Expires July 2005 11 Internet Draft iFCP MIB January 2005 instance. This index is used because the local N Port and remote N Port information would create an 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} Gibbons Expires July 2005 12 Internet Draft iFCP MIB January 2005 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 "iFCP Protocol Specification, RFC XXXX" 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 "iFCP Protocol Specification, RFC XXXX" ::= {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 "iFCP Protocol Specification, RFC XXXX" 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} Gibbons Expires July 2005 13 Internet Draft iFCP MIB January 2005 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 "iFCP Protocol Specification, RFC XXXX" ::= {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 "iFCP Protocol Specification, RFC XXXX" ::= {ifcpSessionAttributesEntry 13} ifcpSessionIpTOV OBJECT-TYPE SYNTAX IfcpIpTOVorZero 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 "iFCP Protocol Specification, RFC XXXX" ::= {ifcpSessionAttributesEntry 14} ifcpSessionLclLTIntvl OBJECT-TYPE SYNTAX IfcpLTIorZero MAX-ACCESS read-only STATUS current Gibbons Expires July 2005 14 Internet Draft iFCP MIB January 2005 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 "iFCP Protocol Specification, RFC XXXX" ::= {ifcpSessionAttributesEntry 15} ifcpSessionRmtLTIntvl OBJECT-TYPE SYNTAX IfcpLTIorZero 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 "iFCP Protocol Specification, RFC XXXX" ::= {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 "iFCP Protocol Specification, RFC XXXX" ::= {ifcpSessionAttributesEntry 17} ifcpSessionStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-only STATUS current DESCRIPTION "The storage type for this row. Paramater values defined for a session are usually non-volatile, but may be volatile or read-only in some configurations." DEFVAL { nonVolatile } ::= {ifcpSessionAttributesEntry 18} -- -- Local iFCP Gateway Instance Session Statistics ============= -- ifcpSessionStatsTable OBJECT-TYPE Gibbons Expires July 2005 15 Internet Draft iFCP MIB January 2005 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 Gibbons Expires July 2005 16 Internet Draft iFCP MIB January 2005 STATUS current DESCRIPTION "The total number of octets transmitted on this session since the iFCP connection was first established." ::= {ifcpSessionStatsEntry 3} ifcpSessionRxOctets OBJECT-TYPE SYNTAX ZeroBasedCounter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of octets received by on this session since the iFCP connection was first established." ::= {ifcpSessionStatsEntry 4} ifcpSessionTxFrames OBJECT-TYPE SYNTAX ZeroBasedCounter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of iFCP frames transmitted since the connection was first established." ::= {ifcpSessionStatsEntry 5} ifcpSessionRxFrames OBJECT-TYPE SYNTAX ZeroBasedCounter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of iFCP frames received since the connection was first established." ::= {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 since the connection was first established." ::= {ifcpSessionStatsEntry 7} ifcpSessionHeaderCRCErrors OBJECT-TYPE SYNTAX ZeroBasedCounter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of CRC errors that occurred in the frame header, detected since the connection was first established. Usually, a single Header CRC error is sufficient to terminate an iFCP session." ::= {ifcpSessionStatsEntry 8} Gibbons Expires July 2005 17 Internet Draft iFCP MIB January 2005 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 since the connection was first established." ::= {ifcpSessionStatsEntry 9} ifcpSessionOtherErrors OBJECT-TYPE SYNTAX ZeroBasedCounter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of errors, other then errors explicitly measured, detected since the connection was first established." ::= {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's counters suffered a discontinuity. The relevant counters are the specific Counter64 based instances associated with ifcpSessionStatsTable. 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 1Gbps 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 Gibbons Expires July 2005 18 Internet Draft iFCP MIB January 2005 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 on this session since the iFCP connection was first established." ::= {ifcpSessionLcStatsEntry 1} ifcpSessionLcRxOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of octets received by on this session since the iFCP connection was first established." ::= {ifcpSessionLcStatsEntry 2} ifcpSessionLcTxFrames OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of iFCP frames transmitted since the connection was first established." ::= {ifcpSessionLcStatsEntry 3} ifcpSessionLcRxFrames OBJECT-TYPE SYNTAX ZeroBasedCounter32 Gibbons Expires July 2005 19 Internet Draft iFCP MIB January 2005 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of iFCP frames received since the connection was first established." ::= {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 since the connection was first established." ::= {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 since the connection was first established. 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 since the connection was first established." ::= {ifcpSessionLcStatsEntry 7} ifcpSessionLcOtherErrors OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of errors, other then errors explicitly measured, detected since the connection was first established." ::= {ifcpSessionLcStatsEntry 8} --========================================================== ifcpCompliances OBJECT IDENTIFIER ::= {ifcpGatewayConformance 1} Gibbons Expires July 2005 20 Internet Draft iFCP MIB January 2005 ifcpGatewayCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Implementation requirements for iFCP MIB compliance." MODULE -- this module MANDATORY-GROUPS { ifcpLclGatewayGroup, ifcpLclGatewaySessionGroup, ifcpLclGatewaySessionStatsGroup, ifcpLclGatewaySessionLcStatsGroup } ::= {ifcpCompliances 1} 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, Gibbons Expires July 2005 21 Internet Draft iFCP MIB January 2005 ifcpSessionStorageType } STATUS current DESCRIPTION "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 which do not support Counter64 based data types, or need to support SNMPv1 applications." ::= {ifcpGroups 6} Gibbons Expires July 2005 22 Internet Draft iFCP MIB January 2005 END 5. IANA Considerations IANA is requested to make a unique MIB OID assignment under the transmission branch. 6. Security Considerations There are a number of management objects defined in this MIB module with a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations. Changing the following object values, with a MAX-ACCESS of read- write, may cause disruption in storage traffic: ifcpLclGtwyInstAddrTransMode ifcpLclGtwyInstFcBrdcstSupport ifcpLclGtwyInstDefaultIpTOV ifcpLclGtwyInstDefaultLTInterval ifcpSessionIpTOV Changing the following object value, with a MAX-ACCESS of read- write, may cause a user to lose track of the iFCP gateway: ifcpLclGtwyInstDescr Some of the readable objects in this MIB module (i.e., objects with a MAX-ACCESS other than not-accessible) may be considered sensitive or vulnerable in some network environments. It is thus important to control even GET and/or NOTIFY access to these objects and possibly to even encrypt the values of these objects when sending them over the network via SNMP. The following object tables provide information about storage traffic sessions, and can indicate to a user who is communicating and exchanging storage data: ifcpLclGtwyInstTable ifcpSessionAttributesTable SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPSec), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module. It is RECOMMENDED that implementers consider the security features as provided by the SNMPv3 framework (see [RFC3410], section 8), including full support for SNMPv3 cryptographic mechanisms (for authentication and privacy). Gibbons Expires July 2005 23 Internet Draft iFCP MIB January 2005 Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them. 7. Normative References [IFCP001] Charles Monia, Rod Mullendore, Franco Travostino, Wayland Jeong, Mark Edwards, "iFCP - A Protocol for Internet Fibre Channel Storage Networking", , Expires May 2003 [FCMGT01] McCloghrie, K., "Fibre Channel Management MIB", , Expires June 2005. [ENTMBV3] Bierman, A., and McCloghrie, K., "Entity MIB (Version 3)", , Expires July 2005. [RFC3291] M. Daniele, B. Haberman, S. Routhier, J. Schoenwaelder "Textual Conventions for Internet Network Addresses", RFC 3291, May 2002. [RFC2021] S. Waldbusser, "Remote Network Monitoring Management Information Base", RFC 2021, January 1997. [RFC2856] A. Bierman, K. McCloghrie, "Textual Conventions for Additional High Capacity Data Types", RFC 2021, June 2000. [RFC2863] K. McCloghrie, and F. Kastenholz, "The Interfaces Group MIB", RFC 2863, June 2000. [RFC2571] D. Harrington, R. Presuhn, and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999. [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. Gibbons Expires July 2005 24 Internet Draft iFCP MIB January 2005 8. Informative References [RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction and Applicability Statements for Internet-Standard Management Framework", RFC 3410, December 2002. [FC-FS] Fibre Channel Framing and Signaling Interface, ANSI/INCITS 373:2003. [FC-GS] Fibre Channel - Generic Services, NCITS 348-2000. 9. Authors' Addresses Kevin Gibbons E-mail: kevin.gibbons@mcdata.com, Charles Monia E-mail: cmonia@pacbell.net Josh Tseng E-mail: joshtseng@yahoo.com, Postal: McDATA Corporation 4555 Great America Pkwy Santa Clara, CA 95054-1208 USA Tel: (408) 567-5765 Fax: (408) 567-0063 Franco Travostino Nortel Networks 3 Federal Street Billerica, MA 01821 USA Tel: (978) 288-7708 E-mail: travos@nortelnetworks.com 10. Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an Gibbons Expires July 2005 25 Internet Draft iFCP MIB January 2005 attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. 11. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 12. Full Copyright Statement Copyright (C) The Internet Society (2005). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. 13. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Gibbons Expires July 2005 26