F5 Networks
A. Rijhsinghani
Accton Technology Corporation
February 2006
-
Definitions of Managed Objects for Fibre Channel Over TCP/IP (FCIP)
Status of This Memo
-
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
-
Copyright © The Internet Society (2006).
Abstract
-
This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in TCP/IP-based internets. In particular, it defines objects for managing Fibre Channel Over TCP/IP (FCIP) entities, which are used to interconnect Fibre Channel (FC) fabrics with IP networks.
Table of Contents
-
1. The Internet-Standard Management Framework ......................2 2. Overview of FCIP Management Model ...............................2 3. Relationship to Other MIBs ......................................4 4. MIB Definitions .................................................6 5. Security Considerations ........................................29 6. IANA Considerations ............................................30 7. Acknowledgements ...............................................30 8. Normative References ...........................................30 9. Informative References .........................................31
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. Overview of FCIP Management Model
-
Note that the Fibre Channel Over TCP/IP (FCIP) Entity is fully described in [RFC3821] from a functional point of view. A collection of multiple instances of FCIP Entities and the corresponding FC Entities, described in [FCBB2], within an SNMP Context is referred to as an FCIP device here. This section describes FCIP from a management point of view.
+------------------------------------------+ | FCIP Device | | | | +-----------+ +-----------+ | | |FCIP Entity| |FCIP Entity| | | | | | | | | | | | | | | +--+--+--+--+ +--+--+--+--+ | | | | | | | | | | | | | | | | | | FCIP Links FCIP Links | | | +------------------------------------------+
The FCIP device provides an IP-based interconnection model for interconnecting FC fabric elements. In this model, the FCIP devices along with the IP network on which they are running provide a new FCIP transport network.
This IP-based FCIP Interconnection Model supports the following topology:
- The FCIP-based transport network is formed by interconnecting the FCIP devices.
- Each FCIP device has one or more FCIP Entities or Instances.
- Peer FCIP Entities are connected by FCIP Links attached to VE_ports/B_Access.
- Each FCIP Link Endpoint contains one or more Data Engines.
- The FCIP device can work as a stand-alone box or as part of a FC fabric element.
Each FCIP Entity managed by this MIB is referred to as an FCIP Instance. The MIB is broken up as follows:
2.1. FCIP Entity Instances Table
-
The FCIP Entity table contains information about this entity's existing instances of FCIP entities.
2.2. FCIP Link Table
-
The FCIP link table contains information about this FCIP device's existing FCIP links.
2.3. FCIP TCP Connection Table
-
The FCIP TCP Connection table contains information about existing TCP connections. Each FCIP link within an FCIP entity contains one or more TCP connections. The FCIP entity employs a Data Engine for each TCP connection for handling FC frame encapsulation, de-encapsulation, and transmission of FCIP frames on the connection.
2.4. FCIP Dynamic Route Table
-
The FCIP dynamic route table contains routing information that is dynamically discovered by this FCIP device. The FCIP device may use the SLPv2 protocol [RFC3822] in conjunction with other protocols, such as Fabric Shortest Path First (FSPF), to dynamically discover other FCIP entities and populate this table to map destination domains to FCIP Links.
2.5. FCIP Static Route Table
-
The FCIP static route table contains routing information that is statically configured into this FCIP device by the Network Admin. In the absence of dynamic discovery of remote FCIP entities, the Network Manager can configure remote domains and FCIP Entities that are reachable by this device into this table.
At any point in time, both the static and dynamic routing tables can be active. If a DID is present in both tables, information in the static route table will take precedence over the entry in the dynamic route table for the same DID.
2.6. FCIP Discovery Domain Table
-
The FCIP Discovery Domain Table maps this device's FCIP Entities into FCIP Discovery Domains.
2.7. FCIP Link Error Table
-
The FCIP Link Errors Table contains counters that indicate error conditions on an FCIP Link.
3. Relationship to Other MIBs
-
Objects accessible from other MIB modules applicable to FCIP devices have not been included in this MIB module. The following subsections list all applicable MIB modules that should be present with FCIP- MGMT-MIB.
3.1. Relationship to the 'TCP' Group
-
This group is mandatory for all systems that implement TCP. Objects relevant to TCP must be obtained from this group [RFC4022].
3.2. Relationship to the 'interfaces' MIB
-
The 'interfaces' group is defined as being mandatory for all systems and contains information on an entity's interfaces. Each logical/virtual interface created as an FCIP Link should be represented as a row in the ifTable with a unique ifIndex value and a value of ifType 'fcipLink' (224) for each such interface. For a complete list of interface types, refer to the IANA registry at "http://www.iana.org/assignments/smi-numbers". These are the only ifIndex values of relevance to an FCIP Entity because FCIP runs on top of TCP/IP.
FCIP runs over TCP. Thus, by definition, there is no ifTable interface directly beneath it, and so ifStackLowerLayer is always 0. For any protocol using FCIP (i.e., above FCIP), FCIP appears to be a regular FC interface. As stated in [RFC4044], a regular "FC interface will typically have no other ifTable rows stacked on top of it", and thus, ifStackHigherLayer is typically zero.
3.3. Relationship to the Fibre Channel Management MIB
-
The Fibre Channel Management MIB [RFC4044] is assumed for FC functionality managed objects.
3.4. Specific Interface Group MIB Objects
-
The following table provides specific implementation guidelines for applying the objects defined in the Interfaces Group MIB to FCIP Links. For those objects not listed here, refer to their generic definitions in [RFC2863].
Object Guidelines ifType 'fcipLink' (224) ifSpeed The ifSpeed for the physical interface(s) over which the FCIP Link runs. ifPhysAddress There is no physical address corresponding to an FCIP Link (only World Wide Name, WWN). Reported as 0. ifAdminStatus Write access is not required, and support for 'testing' is not required. ifOperStatus Support for 'testing' is not required. The value 'dormant' has no meaning for FCIP Links. ifInOctets The number of octets of FCIP information ifHCInOctets contained in received frames in TCP streams, starting with FCIP header. ifInUcastPkts The number of FCIP frames received ifHCInUcastPkts on this FCIP Link. ifOutOctets The number of octets of FCIP information ifHCOutOctets contained in transmitted frames in TCP streams, starting with FCIP header. ifOutUcastPkts The number of FCIP frames transmitted ifHCOutUcastPkts on this FCIP Link. ifInMulticastPkts These counters are not incremented. ifInBroadcastPkts ifOutMulticastPkts ifOutBroadcastPkts ifHCInMulticastPkts ifHCInBroadcastPkts ifHCOutMulticastPkts ifHCOutBroadcastPkts ifLinkUpDownTrapEnable Default is 'disabled'. ifPromiscuousMode This will be 'false'. ifConnectorPresent This will be 'false'.
4. MIB Definitions
-
The following MIB module has IMPORTS from [RFC2578], [RFC2579], [RFC4001], [RFC4044], [RFC2863], [RFC2580], and [RFC3411]. In REFERENCE clauses, it refers to [FC-SW-3], [RFC3821], [RFC2883], [RFC1323], [RFC2474] and [RFC3822]. FCIP-MGMT-MIB DEFINITIONS ::= BEGIN
IMPORTS
OBJECT-TYPE, MODULE-IDENTITY, Unsigned32, Counter32, mib-2 FROM SNMPv2-SMI TEXTUAL-CONVENTION, TruthValue, RowStatus, TimeStamp FROM SNMPv2-TC InetAddressType, InetAddress, InetPortNumber FROM INET-ADDRESS-MIB FcNameIdOrZero FROM FC-MGMT-MIB InterfaceIndex FROM IF-MIB MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF SnmpAdminString FROM SNMP-FRAMEWORK-MIB;
fcipMIB MODULE-IDENTITY
-
LAST-UPDATED "200602060000Z"
ORGANIZATION "IETF IPFC Working Group"
CONTACT-INFO "Anil Rijhsinghani-
-
-
-
Accton Technology Corporation
5 Mount Royal Ave
Marlboro, MA 01752 USA.
-
-
-
-
Ravi Natarajan F5 Networks 2460 North First Street, Suite 100 San Jose, CA 95131 USA." DESCRIPTION "The module defines management information specific to FCIP devices. Copyright(C) The Internet Society (2006). This version of this MIB module is part of RFC 4404; see the RFC itself for full legal notices." REVISION "200602060000Z" DESCRIPTION "Initial version of this module, published as RFC 4404." ::= { mib-2 224 } fcipObjects OBJECT IDENTIFIER ::= { fcipMIB 1 } fcipConformance OBJECT IDENTIFIER ::= { fcipMIB 2 } fcipConfig OBJECT IDENTIFIER ::= { fcipObjects 1 } -- ****************************************************************** -- Textual conventions --
FcipDomainIdInOctetForm ::= TEXTUAL-CONVENTION
STATUS current DESCRIPTION "The Domain ID of a FC entity in octet form to support the concatenation(000000h||Domain_ID) format defined in the FSPF routing protocol." REFERENCE "FC-SW-3 section 4.8" SYNTAX OCTET STRING (SIZE(1))
FcipEntityMode ::= TEXTUAL-CONVENTION
STATUS current DESCRIPTION "The type of port mode provided by an FCIP Entity for an FCIP Link. An FCIP Entity can be an E-Port mode for one of its FCIP Link Endpoints or a B-Port mode for another of its FCIP Link Endpoints." REFERENCE "FC-BB, rev 4.7, 2 May 1997, section 3." SYNTAX INTEGER { ePortMode(1), bPortMode(2) } FcipEntityId ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The FCIP entity identifier as defined in RFC 3821." REFERENCE "RFC 3821, Section 7.1, FCIP Special Frame Format" SYNTAX OCTET STRING (SIZE(8)) -- ****************************************************************** -- The FCIP group -- -- This group defines the global scalar objects applicable to FCIP -- devices only -- fcipDynIpConfType OBJECT-TYPE SYNTAX INTEGER { slpv2(1), none(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "The type of discovery protocol used to discover remote FCIP entities. The value of this object is persistent across system restarts." ::= { fcipConfig 1 } fcipDeviceWWN OBJECT-TYPE SYNTAX FcNameIdOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The World Wide Name of this FCIP device." ::= { fcipConfig 2 } fcipEntitySACKOption OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Indication of whether the TCP Selective Acknowledgement Option is enabled at this FCIP device to let the receiver acknowledge multiple lost packets in a single ACK for faster recovery." REFERENCE "The Selective Ack option is defined in RFC 2883." ::= { fcipConfig 3 } -- ****************************************************************** -- The FCIP Entity Table --
fcipEntityInstanceTable OBJECT-TYPE
SYNTAX SEQUENCE OF FcipEntityInstanceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about this FCIP device's existing instances of FCIP entities." REFERENCE "RFC 3821, Section 5.4, FCIP Entity" ::= { fcipConfig 4 }
fcipEntityInstanceEntry OBJECT-TYPE
SYNTAX FcipEntityInstanceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row of the FCIP entity table with information about a particular FCIP entity. Once a row has been created, it is non-volatile across agent restarts until it is deleted." INDEX { fcipEntityId } ::= { fcipEntityInstanceTable 1 }
FcipEntityInstanceEntry ::=
-
SEQUENCE {
fcipEntityId FcipEntityId, fcipEntityName SnmpAdminString, fcipEntityAddressType InetAddressType, fcipEntityAddress InetAddress, fcipEntityTcpConnPort InetPortNumber, fcipEntitySeqNumWrap TruthValue, fcipEntityPHBSupport TruthValue, fcipEntityStatus RowStatus } fcipEntityId OBJECT-TYPE SYNTAX FcipEntityId MAX-ACCESS not-accessible STATUS current DESCRIPTION "The FCIP entity identifier." REFERENCE "RFC 3821, Section 7.1, FCIP Special Frame Format" ::= { fcipEntityInstanceEntry 1 } fcipEntityName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "An administratively-assigned name for this FCIP entity." ::= { fcipEntityInstanceEntry 2 } fcipEntityAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "The type of Internet address by which the entity is reachable. Only address types IPv4 and IPv6 are supported." ::= { fcipEntityInstanceEntry 3 } fcipEntityAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The Internet address for the entity, if configured. The format of this address is determined by the value of the fcipEntityAddressType object." ::= { fcipEntityInstanceEntry 4 } fcipEntityTcpConnPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "A TCP port other than the FCIP Well-Known port on which the FCIP entity listens for new TCP connection requests. It contains the value zero(0) if the FCIP Entity only listens on the Well-Known port." DEFVAL { 0 } ::= { fcipEntityInstanceEntry 5 } fcipEntitySeqNumWrap OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "An indication of whether the FCIP Entity supports protection against sequence number wrap." REFERENCE "The PAWS option is defined in RFC 1323." ::= { fcipEntityInstanceEntry 6 } fcipEntityPHBSupport OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "An indication of whether the FCIP Entity supports PHB IP quality of service (QoS)." REFERENCE "Per hop behavior is defined in RFC 2474, definition of the Differentiated Services Field." ::= { fcipEntityInstanceEntry 7 } fcipEntityStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the operational status of the row.
-
-
When a management station sets the status to active(1), then the values for the objects fcipEntityName, fcipEntityAddressType, and fcipEntityAddress should be supplied as part of the set request. The values of the objects fcipEntityName, fcipEntityAddressType, and fcipEntityAddress can be changed if the row status is in active state. The object fcipEntityTcpConnPort takes the default value zero(0), if no value is supplied at the time of row creation.
-
Setting the status to destroy(6) deletes the specified FCIP entity instance row from the table. It also deletes all the rows corresponding to the specified FCIP entity from the fcipLinkTable and fcipTcpConnTable tables." ::= { fcipEntityInstanceEntry 8 } -- ****************************************************************** -- The FCIP Link Table --
fcipLinkTable OBJECT-TYPE
SYNTAX SEQUENCE OF FcipLinkEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about FCIP links that exist on this device." ::= { fcipConfig 5 }
fcipLinkEntry OBJECT-TYPE
SYNTAX FcipLinkEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row of the FCIP link table containing information about a particular FCIP link. The values of the read-create objects in this table are persistent across system restarts." INDEX { fcipEntityId, fcipLinkIndex } ::= { fcipLinkTable 1 } FcipLinkEntry ::= SEQUENCE { fcipLinkIndex Unsigned32, fcipLinkIfIndex InterfaceIndex, fcipLinkCost Unsigned32, fcipLinkLocalFcipEntityMode FcipEntityMode, fcipLinkLocalFcipEntityAddressType InetAddressType, fcipLinkLocalFcipEntityAddress InetAddress, fcipLinkRemFcipEntityWWN FcNameIdOrZero, fcipLinkRemFcipEntityId FcipEntityId, fcipLinkRemFcipEntityAddressType InetAddressType, fcipLinkRemFcipEntityAddress InetAddress, fcipLinkStatus RowStatus, fcipLinkCreateTime TimeStamp } fcipLinkIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary integer that uniquely identifies one FCIP link within an FCIP entity." ::= { fcipLinkEntry 1 } fcipLinkIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-only STATUS current DESCRIPTION "The ifIndex value of the virtual interface corresponding to the FCIP Link running over TCP/IP." ::= { fcipLinkEntry 2 } fcipLinkCost OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The FSPF cost associated with this FCIP Link." DEFVAL { 0 } ::= { fcipLinkEntry 3 } fcipLinkLocalFcipEntityMode OBJECT-TYPE SYNTAX FcipEntityMode MAX-ACCESS read-only STATUS current DESCRIPTION "The mode of the local end of the FCIP link." ::= { fcipLinkEntry 4 } fcipLinkLocalFcipEntityAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "The type of Internet address contained in the corresponding instance of fcipLinkLocalFcipEntityAddress. Only address types IPv4 and IPv6 are supported." ::= { fcipLinkEntry 5 } fcipLinkLocalFcipEntityAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The Internet address for the local end of this FCIP Link. The format of this object is determined by the value of the fcipLinkLocalFcipEntityAddressType object." ::= { fcipLinkEntry 6 } fcipLinkRemFcipEntityWWN OBJECT-TYPE SYNTAX FcNameIdOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "The World Wide Name of the remote FC Fabric Entity." REFERENCE "RFC 3821, Section 7.1, FCIP Special Frame Format" ::= { fcipLinkEntry 7 } fcipLinkRemFcipEntityId OBJECT-TYPE SYNTAX FcipEntityId MAX-ACCESS read-create STATUS current DESCRIPTION "The remote FCIP entity's identifier." REFERENCE "RFC 3821, Section 7.1, FCIP Special Frame Format" ::= { fcipLinkEntry 8 } fcipLinkRemFcipEntityAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "The type of Internet address contained in the corresponding instance of fcipLinkRemFcipEntityAddress. Only address types IPv4 and IPv6 are supported." ::= { fcipLinkEntry 9 } fcipLinkRemFcipEntityAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The Internet address for the remote end of this FCIP Link. The format of this object is determined by the value of the fcipLinkRemFcipEntityAddressType object." ::= { fcipLinkEntry 10 } fcipLinkStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the operational status of the row.
-
-
The values of objects fcipLinkLocalFcipEntityAddressType, fcipLinkLocalFcipEntityAddress, fcipLinkRemFcipEntityWWN, fcipLinkRemFcipEntityId, fcipLinkRemFcipEntityAddressType, and fcipLinkRemFcipEntityAddress can be changed if the row is in active(1) state. The object fcipLinkCost is set to the value zero(0) if no value is supplied at the time of row creation.
-
Setting the status to destroy(6) deletes the specified FCIP link from the table. It also deletes all rows corresponding to the specified FCIP link from the fcipTcpConnTable table." ::= { fcipLinkEntry 11 }
fcipLinkCreateTime OBJECT-TYPE
SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when this entry was last created." ::= { fcipLinkEntry 12 } -- ****************************************************************** -- The TCP Connection Table --
fcipTcpConnTable OBJECT-TYPE
SYNTAX SEQUENCE OF FcipTcpConnEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about existing TCP connections. Each FCIP link within an FCIP entity manages one or more TCP connections. The FCIP entity employs a Data Engine for each TCP connection for handling FC frame encapsulation, de-encapsulation, and transmission of FCIP frames on the connection." ::= { fcipConfig 6 }
fcipTcpConnEntry OBJECT-TYPE
SYNTAX FcipTcpConnEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row of the FCIP TCP Connection table containing information about a particular TCP connection." INDEX { fcipEntityId, fcipLinkIndex, fcipTcpConnLocalPort, fcipTcpConnRemPort} ::= { fcipTcpConnTable 1 } FcipTcpConnEntry ::= SEQUENCE { fcipTcpConnLocalPort InetPortNumber, fcipTcpConnRemPort InetPortNumber, fcipTcpConnRWSize Unsigned32, fcipTcpConnMSS Unsigned32 } fcipTcpConnLocalPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS not-accessible STATUS current DESCRIPTION "The local port number for this TCP connection." ::= { fcipTcpConnEntry 1 } fcipTcpConnRemPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS not-accessible STATUS current DESCRIPTION "The remote port number for this TCP connection." ::= { fcipTcpConnEntry 2 } fcipTcpConnRWSize OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The default maximum TCP Receiver Window size for this TCP connection." ::= { fcipTcpConnEntry 3 } fcipTcpConnMSS OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The TCP Maximum Segment Size (MSS) for this TCP connection." ::= { fcipTcpConnEntry 4 } -- ****************************************************************** -- The Dynamic Route Table --
fcipDynamicRouteTable OBJECT-TYPE
SYNTAX SEQUENCE OF FcipDynamicRouteEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about dynamically discovered routing information. The FCIP device may use the SLPv2 protocol in conjunction with other protocols (say, FSPF) for dynamically discovering other FCIP entities and may populate this table with FCIP link information for each Destination Address Identifier." ::= { fcipConfig 7 }
fcipDynamicRouteEntry OBJECT-TYPE
SYNTAX FcipDynamicRouteEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row of the FCIP Dynamic Route Table containing information about a particular FCIP route." INDEX { fcipEntityId, fcipDynamicRouteDID } ::= { fcipDynamicRouteTable 1 }
FcipDynamicRouteEntry ::=
-
SEQUENCE {
fcipDynamicRouteDID FcipDomainIdInOctetForm, fcipDynamicRouteLinkIndex Unsigned32 } fcipDynamicRouteDID OBJECT-TYPE SYNTAX FcipDomainIdInOctetForm MAX-ACCESS not-accessible STATUS current DESCRIPTION "8-bit ID of a Fibre Channel Domain that is reachable from this FCIP device." ::= { fcipDynamicRouteEntry 1 } fcipDynamicRouteLinkIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "The FCIP Link used to reach the domain specified by the corresponding instance of fcipDynamicRouteDID. The link identified by a value of this object is the same FCIP link as identified by the same value of fcipLinkIndex for the same FCIP entity." ::= { fcipDynamicRouteEntry 2 } -- ****************************************************************** -- The Static Route Table --
fcipStaticRouteTable OBJECT-TYPE
SYNTAX SEQUENCE OF FcipStaticRouteEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about static route entries configured by the Network Admin. In the absence of dynamic discovery of remote FCIP entities, the Network Manager will figure out all remote FCIP devices that are reachable from this device and populate this table with FCIP link information for each Domain ID. At any time, both static and dynamic routing can be active, and an entry in the static route table for a given DID takes precedence over the entry in the dynamic route table for the same Domain ID." ::= { fcipConfig 8 }
fcipStaticRouteEntry OBJECT-TYPE
SYNTAX FcipStaticRouteEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row of the FCIP Static Route Table containing information about a particular FCIP route. The values of the read-create objects in this table are persistent across system restarts." INDEX { fcipEntityId, fcipStaticRouteDID } ::= { fcipStaticRouteTable 1 }
FcipStaticRouteEntry ::=
-
SEQUENCE {
fcipStaticRouteDID FcipDomainIdInOctetForm, fcipStaticRouteLinkIndex Unsigned32, fcipStaticRouteStatus RowStatus } fcipStaticRouteDID OBJECT-TYPE SYNTAX FcipDomainIdInOctetForm MAX-ACCESS not-accessible STATUS current DESCRIPTION "8-bit ID of a Fibre Channel Domain that is reachable from this FCIP device." ::= { fcipStaticRouteEntry 1 } fcipStaticRouteLinkIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-create STATUS current DESCRIPTION "The FCIP Link used to reach the domain specified by the corresponding instance of fcipStaticRouteDID. The link identified by a value of this object is the same FCIP link as identified by the same value of fcipLinkIndex for the same FCIP entity." ::= { fcipStaticRouteEntry 2 } fcipStaticRouteStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the operational status of the row.
-
-
When a management station sets the status to active(1), the values for the object fcipStaticRouteLinkIndex should be supplied as part of the set request.
-
Setting the status to destroy(6) deletes the specified FCIP static route entry from the table." ::= { fcipStaticRouteEntry 3 } -- ****************************************************************** -- The FCIP Discovery Domain Table --
fcipDiscoveryDomainTable OBJECT-TYPE
SYNTAX SEQUENCE OF FcipDiscoveryDomainEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about FCIP Discovery Domains. Each FCIP Discovery Domain is associated with one or more FCIP entities." ::= { fcipConfig 9 }
fcipDiscoveryDomainEntry OBJECT-TYPE
SYNTAX FcipDiscoveryDomainEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row of the FCIP Discovery Domain Table containing information about a particular FCIP Discovery Domain that is associated with one or more FCIP entities. The values of the read-write object fcipDiscoveryDomainName are persistent across system restarts." INDEX { fcipEntityId, fcipDiscoveryDomainIndex } ::= { fcipDiscoveryDomainTable 1 }
FcipDiscoveryDomainEntry ::=
SEQUENCE { fcipDiscoveryDomainIndex Unsigned32, fcipDiscoveryDomainName SnmpAdminString }
fcipDiscoveryDomainIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An integer that uniquely identifies an FCIP Discovery Domain associated with this FCIP entity." ::= { fcipDiscoveryDomainEntry 1 } fcipDiscoveryDomainName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..128)) MAX-ACCESS read-write STATUS current DESCRIPTION "The name of this FCIP Discovery Domain." REFERENCE "RFC 3822, Section 4.1.1, FCIP Discovery Domains" ::= { fcipDiscoveryDomainEntry 2 } -- ****************************************************************** -- The FCIP Link Errors --
fcipLinkErrorsTable OBJECT-TYPE
SYNTAX SEQUENCE OF FcipLinkErrorsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of error counters for FCIP Links. Each counter records the number of times a particular error happened that caused a TCP connection to close down." REFERENCE "RFC 3821, Section 5.2, FCIP Link" ::= { fcipConfig 10 }
fcipLinkErrorsEntry OBJECT-TYPE
SYNTAX FcipLinkErrorsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row of the FCIP Link Errors Table containing error counters for an FCIP Link." INDEX { fcipEntityId, fcipLinkIndex } ::= { fcipLinkErrorsTable 1 }
FcipLinkErrorsEntry ::=
SEQUENCE { fcipLinkFcipLossofFcSynchs Counter32, fcipLinkFcipEncapErrors Counter32, fcipLinkFcipNotReceivedSfResps Counter32, fcipLinkFcipSfRespMismatches Counter32, fcipLinkFcipSfInvalidNonces Counter32, fcipLinkFcipReceivedSfDuplicates Counter32, fcipLinkFcipSfInvalidWWNs Counter32, fcipLinkFcipBB2LkaTimeOuts Counter32, fcipLinkFcipSntpExpiredTimeStamps Counter32, fcipLinkTcpTooManyErrors Counter32, fcipLinkTcpExcessiveDroppedDatagrams Counter32, fcipLinkTcpSaParamMismatches Counter32 }
fcipLinkFcipLossofFcSynchs OBJECT-TYPE
SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times FC synchronization was lost on this FCIP Link. The last discontinuity of this counter is indicated by fcipLinkCreateTime." ::= { fcipLinkErrorsEntry 1 }
fcipLinkFcipEncapErrors OBJECT-TYPE
SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of FCIP frames received with encapsulation errors such as improper header, format, or length. The last discontinuity of this counter is indicated by fcipLinkCreateTime." ::= { fcipLinkErrorsEntry 2 }
fcipLinkFcipNotReceivedSfResps OBJECT-TYPE
SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times an FCIP Special Frame Response was expected but not received on this FCIP Link. The last discontinuity of this counter is indicated by fcipLinkCreateTime." ::= { fcipLinkErrorsEntry 3 }
fcipLinkFcipSfRespMismatches OBJECT-TYPE
SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times FCIP Special Frame Bytes mismatch happened on this FCIP Link. The last discontinuity of this counter is indicated by fcipLinkCreateTime." ::= { fcipLinkErrorsEntry 4 }
fcipLinkFcipSfInvalidNonces OBJECT-TYPE
SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times FCIP Special Frame Invalid Connection Nonce happened on this FCIP Link. The last discontinuity of this counter is indicated by fcipLinkCreateTime." ::= { fcipLinkErrorsEntry 5 }
fcipLinkFcipReceivedSfDuplicates OBJECT-TYPE
SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times duplicate FCIP Special Frames were received on this FCIP Link. The last discontinuity of this counter is indicated by fcipLinkCreateTime." ::= { fcipLinkErrorsEntry 6 }
fcipLinkFcipSfInvalidWWNs OBJECT-TYPE
SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times FCIP Special Frames with invalid destination FC Fabric Entity WWN were received on this FCIP Link. The last discontinuity of this counter is indicated by fcipLinkCreateTime." ::= { fcipLinkErrorsEntry 7 }
fcipLinkFcipBB2LkaTimeOuts OBJECT-TYPE
SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of FC Keep Alive Time-outs that occurred on this FCIP Link. The last discontinuity of this counter is indicated by fcipLinkCreateTime." ::= { fcipLinkErrorsEntry 8 }
fcipLinkFcipSntpExpiredTimeStamps OBJECT-TYPE
SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of frames discarded due to an expired Simple Network Time Protocol (SNTP) timestamp on this FCIP Link. The last discontinuity of this counter is indicated by fcipLinkCreateTime." ::= { fcipLinkErrorsEntry 9 }
fcipLinkTcpTooManyErrors OBJECT-TYPE
SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of TCP connections that closed down on this FCIP Link due to too many errors on the connection. The last discontinuity of this counter is indicated by fcipLinkCreateTime." ::= { fcipLinkErrorsEntry 10 }
fcipLinkTcpExcessiveDroppedDatagrams OBJECT-TYPE
SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of TCP connections that closed down on this FCIP Link due to an excessive number of dropped FCIP packets. The last discontinuity of this counter is indicated by fcipLinkCreateTime." ::= { fcipLinkErrorsEntry 11 }
fcipLinkTcpSaParamMismatches OBJECT-TYPE
SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times TCP connections with Security Association parameter mismatches were closed down on this FCIP Link. The last discontinuity of this counter is indicated by fcipLinkCreateTime." REFERENCE "RFC 3821, Section 9.4.2, TCP Connection Security Associations (SAs)" ::= { fcipLinkErrorsEntry 12 } -- ****************************************************************** -- Conformance Statements -- fcipCompliances OBJECT IDENTIFIER ::= { fcipConformance 1 } fcipGroups OBJECT IDENTIFIER ::= { fcipConformance 2 }
fcipCompliance MODULE-COMPLIANCE
STATUS current DESCRIPTION "Compliance statement for FCIP MIB." MODULE -- this module MANDATORY-GROUPS { fcipEntityScalarGroup, fcipEntityInstanceGroup, fcipLinkGroup, fcipTcpConnGroup, fcipDiscoveryDomainGroup, fcipLinkErrorsGroup } GROUP fcipDynamicRouteGroup DESCRIPTION "This group is mandatory only for systems that do not have these objects in any other FC MIB. It may be implemented even in that case for convenience." GROUP fcipStaticRouteGroup DESCRIPTION "This group is mandatory only for systems that do not have these objects in any other FC MIB. It may be implemented even in that case for convenience." OBJECT fcipEntityAddressType SYNTAX INTEGER { ipv4(1), ipv6(2) } DESCRIPTION "Only IPv4 and IPv6 address types need to be supported for addressing FCIP entities." OBJECT fcipEntityAddress SYNTAX InetAddress (SIZE(4|16)) DESCRIPTION "Size of FCIP entity's IP address depends on address type. FCIP entity address size is four if the IP address is IPv4 and sixteen if the IP address type is IPv6." OBJECT fcipLinkLocalFcipEntityAddressType SYNTAX INTEGER { ipv4(1), ipv6(2) } DESCRIPTION "Only IPv4 and IPv6 address types need to be supported for addressing the local FCIP entities." OBJECT fcipLinkLocalFcipEntityAddress SYNTAX InetAddress (SIZE(4|16)) DESCRIPTION "Size of FCIP entity's IP address depends on address type. FCIP entity address size is four if the IP address is IPv4 and sixteen if the IP address type is IPv6." OBJECT fcipLinkRemFcipEntityAddressType SYNTAX INTEGER { ipv4(1), ipv6(2) } DESCRIPTION "Only IPv4 and IPv6 address types need to be supported for addressing the remote FCIP entities." OBJECT fcipLinkRemFcipEntityAddress SYNTAX InetAddress (SIZE(4|16))
-
-
DESCRIPTION
-
"Size of FCIP entity's IP address depends on the address
type. FCIP entity address size is four if the IP address is IPv4 and sixteen if the IP address type is IPv6."
-
::= { fcipCompliances 1 } fcipEntityScalarGroup OBJECT-GROUP OBJECTS { fcipDynIpConfType, fcipDeviceWWN, fcipEntitySACKOption } STATUS current DESCRIPTION "Collection of scalar objects applicable to all FCIP instances." ::= { fcipGroups 1 } fcipEntityInstanceGroup OBJECT-GROUP OBJECTS { fcipEntityName, fcipEntityAddressType, fcipEntityAddress, fcipEntityTcpConnPort, fcipEntitySeqNumWrap, fcipEntityPHBSupport, fcipEntityStatus } STATUS current DESCRIPTION "A collection of objects providing information about FCIP instances." ::= { fcipGroups 2 }
fcipLinkGroup OBJECT-GROUP
OBJECTS { fcipLinkIfIndex, fcipLinkCost, fcipLinkLocalFcipEntityMode, fcipLinkLocalFcipEntityAddressType, fcipLinkLocalFcipEntityAddress, fcipLinkRemFcipEntityWWN, fcipLinkRemFcipEntityId, fcipLinkRemFcipEntityAddressType, fcipLinkRemFcipEntityAddress, fcipLinkStatus, fcipLinkCreateTime } STATUS current DESCRIPTION "A collection of objects providing information about FCIP Links." ::= { fcipGroups 3 } fcipTcpConnGroup OBJECT-GROUP OBJECTS { fcipTcpConnRWSize, fcipTcpConnMSS } STATUS current DESCRIPTION "A collection of objects providing information about FCIP TCP connections." ::= { fcipGroups 4 } fcipDiscoveryDomainGroup OBJECT-GROUP OBJECTS { fcipDiscoveryDomainName } STATUS current DESCRIPTION "A collection of objects providing information about FCIP Discovery Domains." ::= { fcipGroups 5 } fcipLinkErrorsGroup OBJECT-GROUP OBJECTS { fcipLinkFcipLossofFcSynchs, fcipLinkFcipEncapErrors, fcipLinkFcipNotReceivedSfResps, fcipLinkFcipSfRespMismatches, fcipLinkFcipSfInvalidNonces, fcipLinkFcipReceivedSfDuplicates, fcipLinkFcipSfInvalidWWNs, fcipLinkFcipBB2LkaTimeOuts, fcipLinkFcipSntpExpiredTimeStamps, fcipLinkTcpTooManyErrors, fcipLinkTcpExcessiveDroppedDatagrams, fcipLinkTcpSaParamMismatches } STATUS current DESCRIPTION "A collection of objects providing information about FCIP link errors." ::= { fcipGroups 6 } fcipDynamicRouteGroup OBJECT-GROUP OBJECTS { fcipDynamicRouteLinkIndex } STATUS current DESCRIPTION "A collection of objects providing information about FCIP dynamic routes." ::= { fcipGroups 7 } fcipStaticRouteGroup OBJECT-GROUP OBJECTS { fcipStaticRouteLinkIndex, fcipStaticRouteStatus } STATUS current DESCRIPTION "A collection of objects providing information about FCIP static routes." ::= { fcipGroups 8 } END
5. Security Considerations
-
There are a number of management objects defined in this MIB that have 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. In particular, write access to fcipDiscoveryDomainName and fcipEntityAddress can cause a loss of reachability to portions of the Fibre Channel fabric, while write access to fcipStaticRouteStatus can create incorrect routes to remote devices.
There are a number of managed objects in this MIB that contain what could be considered as sensitive information. In particular, the objects which provide information on identification and network topology:
fcipDeviceWWN, fcipEntityName, fcipEntityAddress, fcipLinkLocalFcipEntityAddress, fcipLinkRemFcipEntityWWN, and fcipLinkRemFcipEntityAddress -- information on identification; fcipDiscoveryDomainName -- information on discovery domains; fcipDynamicRouteLinkIndex -- information on dynamic routes;
fcipStaticRouteLinkIndex and fcipStaticRouteStatus -- information on static routes
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 the SNMPv3 cryptographic mechanisms (for authentication and privacy).
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.
6. IANA Considerations
-
The IANA has assigned a MIB OID assignment under the transmission branch. Specifically, { transmission 224 } for fcipMIB since this MIB contains the media-specific definitions that correspond to the ifType value of fcipLink(224).
7. Acknowledgements
-
The authors acknowledge significant feedback and guidance from NM Area advisor Keith McCloghrie, Cisco. Comments and input from members of the FCIP Working Group have also been incorporated.
8. Normative References
-
[RFC3821] Rajagopal, M., Rodriguez, E., and R. Weber, "Fibre Channel Over TCP/IP (FCIP)", RFC 3821, July 2004. [FCBB2] Fibre Channel Backbone -2 v6 (FC-BB-2), T11/03-078v0, February 2003. [FC-SW-3] Fibre Channel Switch Fabric -3 (FC-SW-3), T11/03-018v4, December 2003. [RFC4044] McCloghrie, K., "Fibre Channel Management MIB", RFC 4044, May 2005. [RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB", RFC 2863, June 2000. [RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks", STD 62, RFC 3411, December 2002. [RFC2579] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", RFC 2474, December 1998. [RFC4022] Raghunarayan, R., "Management Information Base for the Transmission Control Protocol (TCP)", RFC 4022, March 2005. [RFC3822] Peterson, D., "Finding Fibre Channel over TCP/IP (FCIP) Entities Using Service Location Protocol version 2 (SLPv2)", RFC 3822, July 2004. [RFC2883] Floyd, S., Mahdavi, J., Mathis, M., and M. Podolsky, "An Extension to the Selective Acknowledgement (SACK) Option for TCP", RFC 2883, July 2000. [RFC1323] Jacobson, V., Braden, R., and D. Borman, "TCP Extensions for High Performance", RFC 1323, May 1992. [RFC4001] Daniele, M., Haberman, B., Routhier, S., and J. Schoenwaelder, "Textual Conventions for Internet Network Addresses", RFC 4001, February 2005.
9. 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.
Authors' Addresses
-
Anil Rijhsinghani
Accton Technology Corporation
5 Mount Royal Ave
Marlboro, MA 01752
USAEMail:
anil@charter.net
Ravi Natarajan
F5 Networks
2460 North First Street, Suite 100
San Jose, CA 95131
USAEMail: r.natarajan@f5.com
Full Copyright Statement
-
Copyright © The Internet Society (2006).
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.
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.
Intellectual Property
-
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 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.
Acknowledgement
-
Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA).