fcmFxPortCapClass3SeqDeliv OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "An indication of whether this Fx_Port is capable of supporting Class 3 Sequential Delivery." ::= { fcmFxPortEntry 10 } fcmFxPortCapHoldTimeMax OBJECT-TYPE SYNTAX Unsigned32 UNITS "microseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum holding time that this Fx_Port is capable of supporting." ::= { fcmFxPortEntry 11 } fcmFxPortCapHoldTimeMin OBJECT-TYPE SYNTAX Unsigned32 UNITS "microseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum holding time that this Fx_Port is capable of supporting." ::= { fcmFxPortEntry 12 } --******************************** -- The Fibre Channel Inter-Switch Port Table -- fcmISPortTable OBJECT-TYPE SYNTAX SEQUENCE OF FcmISPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Additional information about E_Ports, B_Ports, and any other type of Fibre Channel port to which inter-switch links can be connected. This table will contain one entry for each fcmPortTable entry that represents such a port." ::= { fcmgmtObjects 8 }
fcmISPortEntry OBJECT-TYPE SYNTAX FcmISPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry contains information about a specific port connected to an inter-switch link." INDEX { ifIndex } ::= { fcmISPortTable 1 } FcmISPortEntry ::= SEQUENCE { fcmISPortClassFCredit FcBbCredit, fcmISPortClassFDataFieldSize FcDataFieldSize } fcmISPortClassFCredit OBJECT-TYPE SYNTAX FcBbCredit MAX-ACCESS read-write STATUS current DESCRIPTION "The maximum number of Class F data frames that can be transmitted by the inter-switch port without receipt of ACK or Link_Response frames." ::= { fcmISPortEntry 1 } fcmISPortClassFDataFieldSize OBJECT-TYPE SYNTAX FcDataFieldSize UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The Receive Data Field Size that the inter-switch port has agreed to support for Class F frames to/from this port. The size specifies the largest Data Field Size for an FT_1 frame." ::= { fcmISPortEntry 2 }
--******************************** -- The Fabric Login table -- -- This table contains the information held by FC switches -- about the Nx_Ports that are logged-in/attached to their -- Fx_Ports fcmFLoginTable OBJECT-TYPE SYNTAX SEQUENCE OF FcmFLoginEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table that contains one entry for each Nx_Port logged- in/attached to a particular Fx_Port in the switch. Each entry contains the services parameters established during the most recent Fabric Login, explicit or implicit. Note that an Fx_Port may have one or more Nx_Ports attached to it." ::= { fcmgmtObjects 9 } fcmFLoginEntry OBJECT-TYPE SYNTAX FcmFLoginEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing service parameters established from a successful Fabric Login." INDEX { ifIndex, fcmFLoginNxPortIndex } ::= { fcmFLoginTable 1 } FcmFLoginEntry ::= SEQUENCE { fcmFLoginNxPortIndex Unsigned32, fcmFLoginPortWwn FcNameIdOrZero, fcmFLoginNodeWwn FcNameIdOrZero, fcmFLoginBbCreditModel FcBbCreditModel, fcmFLoginBbCredit FcBbCredit, fcmFLoginClassesAgreed FcClasses, fcmFLoginClass2SeqDelivAgreed TruthValue, fcmFLoginClass2DataFieldSize FcDataFieldSize, fcmFLoginClass3SeqDelivAgreed TruthValue, fcmFLoginClass3DataFieldSize FcDataFieldSize }
fcmFLoginNxPortIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary integer that uniquely identifies an Nx_Port amongst all those attached to the Fx_Port indicated by ifIndex. After a value of this object is assigned to a particular Nx_Port, that value can be re-used when and only when it is assigned to the same Nx_Port, or, after a reset of the value of the relevant instance of ifCounterDiscontinuityTime." REFERENCE "The Interfaces Group MIB, RFC 2863, June 2000." ::= { fcmFLoginEntry 1 } fcmFLoginPortWwn OBJECT-TYPE SYNTAX FcNameIdOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The port name of the attached Nx_Port, or the zero-length string if unknown." ::= { fcmFLoginEntry 2 } fcmFLoginNodeWwn OBJECT-TYPE SYNTAX FcNameIdOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The node name of the attached Nx_Port, or the zero-length string if unknown." ::= { fcmFLoginEntry 3 } fcmFLoginBbCreditModel OBJECT-TYPE SYNTAX FcBbCreditModel MAX-ACCESS read-only STATUS current DESCRIPTION "The buffer-to-buffer credit model in use by the Fx_Port." ::= { fcmFLoginEntry 4 } fcmFLoginBbCredit OBJECT-TYPE SYNTAX FcBbCredit MAX-ACCESS read-only STATUS current DESCRIPTION "The number of buffers available for holding frames to be
transmitted to the attached Nx_Port. These buffers are for buffer-to-buffer flow control in the direction from Fx_Port to Nx_Port." ::= { fcmFLoginEntry 5 } fcmFLoginClassesAgreed OBJECT-TYPE SYNTAX FcClasses MAX-ACCESS read-only STATUS current DESCRIPTION "The Classes of Service that the Fx_Port has agreed to support for this Nx_Port." ::= { fcmFLoginEntry 6 } fcmFLoginClass2SeqDelivAgreed OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "An indication of whether the Fx_Port has agreed to support Class 2 sequential delivery for this Nx_Port. This is only meaningful if Class 2 service has been agreed upon." ::= { fcmFLoginEntry 7 } fcmFLoginClass2DataFieldSize OBJECT-TYPE SYNTAX FcDataFieldSize MAX-ACCESS read-only STATUS current DESCRIPTION "The Receive Data Field Size that the Fx_Port has agreed to support for Class 2 frames to/from this Nx_Port. The size specifies the largest Data Field Size for an FT_1 frame. This is only meaningful if Class 2 service has been agreed upon." ::= { fcmFLoginEntry 8 } fcmFLoginClass3SeqDelivAgreed OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "An indication of whether the Fx_Port has agreed to support Class 3 sequential delivery for this Nx_Port. This is only meaningful if Class 3 service has been agreed upon." ::= { fcmFLoginEntry 9 }
fcmFLoginClass3DataFieldSize OBJECT-TYPE SYNTAX FcDataFieldSize MAX-ACCESS read-only STATUS current DESCRIPTION "The Receive Data Field Size that the Fx_Port has agreed to support for Class 3 frames to/from this Nx_Port. The size specifies the largest Data Field Size for an FT_1 frame. This is only meaningful if Class 3 service has been agreed upon." ::= { fcmFLoginEntry 10 } --******************************** -- The Link table -- -- This table is intended to assist management applications -- in determining the topology of the network. The table -- contains any recent information the known to the agent -- about Fibre Channel links, not only those that terminate at -- a local port but also any others for which information -- is known. fcmLinkTable OBJECT-TYPE SYNTAX SEQUENCE OF FcmLinkEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table containing any Fibre Channel link information that is known to local Fibre Channel managed instances. One end of such a link is typically at a local port, but the table can also contain information on links for which neither end is a local port. If one end of a link terminates locally, then that end is termed 'end1'; the other end is termed 'end2'." ::= { fcmgmtObjects 10 } fcmLinkEntry OBJECT-TYPE SYNTAX FcmLinkEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing information that a particular Fibre Channel managed instance has about a Fibre Channel link. The two ends of the link are called 'end1' and 'end2'." INDEX { fcmInstanceIndex, fcmLinkIndex } ::= { fcmLinkTable 1 }
FcmLinkEntry ::= SEQUENCE { fcmLinkIndex Unsigned32, fcmLinkEnd1NodeWwn FcNameIdOrZero, fcmLinkEnd1PhysPortNumber Unsigned32, fcmLinkEnd1PortWwn FcNameIdOrZero, fcmLinkEnd2NodeWwn FcNameIdOrZero, fcmLinkEnd2PhysPortNumber Unsigned32, fcmLinkEnd2PortWwn FcNameIdOrZero, fcmLinkEnd2AgentAddress SnmpAdminString, fcmLinkEnd2PortType FcPortType, fcmLinkEnd2UnitType FcUnitFunctions, fcmLinkEnd2FcAddressId FcAddressIdOrZero } fcmLinkIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary integer that uniquely identifies one link within the set of links about which a particular managed instance has information." ::= { fcmLinkEntry 1 } fcmLinkEnd1NodeWwn OBJECT-TYPE SYNTAX FcNameIdOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The node name of end1, or the zero-length string if unknown." ::= { fcmLinkEntry 2 } fcmLinkEnd1PhysPortNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The physical port number of end1, or zero if unknown." REFERENCE "FC-GS-3, section 6.1.2.2.5" ::= { fcmLinkEntry 3 }
fcmLinkEnd1PortWwn OBJECT-TYPE SYNTAX FcNameIdOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The port WWN of end1, or the zero-length string if unknown. ('end1' is local if this value is equal to the value of fcmPortWwn in one of the rows of the fcmPortTable.)" ::= { fcmLinkEntry 4 } fcmLinkEnd2NodeWwn OBJECT-TYPE SYNTAX FcNameIdOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The node name of end2, or the zero-length string if unknown." ::= { fcmLinkEntry 5 } fcmLinkEnd2PhysPortNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The physical port number of end2, or zero if unknown." REFERENCE "FC-GS-3, section 6.1.2.2.5" ::= { fcmLinkEntry 6 } fcmLinkEnd2PortWwn OBJECT-TYPE SYNTAX FcNameIdOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The port WWN of end2, or the zero-length string if unknown." ::= { fcmLinkEntry 7 } fcmLinkEnd2AgentAddress OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the management agent for the Fibre Channel Interconnect Element or Platform of which end2 is a part. The GS-4 specification provides some information about management agents. If the address is unknown, the value of this object is the zero-length string."
REFERENCE "FC-GS-3, section 6.1.2.1.7" ::= { fcmLinkEntry 8 } fcmLinkEnd2PortType OBJECT-TYPE SYNTAX FcPortType MAX-ACCESS read-only STATUS current DESCRIPTION "The port type of end2." REFERENCE "FC-GS-3, section 6.1.2.2.2" ::= { fcmLinkEntry 9 } fcmLinkEnd2UnitType OBJECT-TYPE SYNTAX FcUnitFunctions MAX-ACCESS read-only STATUS current DESCRIPTION "The type of/function(s) performed by the Fibre Channel Interconnect Element or Platform of which end2 is a part." REFERENCE "FC-GS-3, sections 6.1.2.1.2 and 6.1.2.3.2" ::= { fcmLinkEntry 10 } fcmLinkEnd2FcAddressId OBJECT-TYPE SYNTAX FcAddressIdOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The Fibre Channel Address ID of end2, or the zero-length string if unknown." ::= { fcmLinkEntry 11 }
--******************************** -- Conformance Section -- fcmgmtCompliances OBJECT IDENTIFIER ::= { fcmgmtConformance 1 } fcmgmtGroups OBJECT IDENTIFIER ::= { fcmgmtConformance 2 } fcmgmtCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Describes the requirements for compliance to this Fibre Channel Management MIB." MODULE -- this module MANDATORY-GROUPS { fcmInstanceBasicGroup, fcmPortBasicGroup, fcmPortErrorsGroup } GROUP fcmPortStatsGroup DESCRIPTION "This group is mandatory for all systems that are able to support the Counter64 date type." GROUP fcmPortClass23StatsGroup DESCRIPTION "This group is mandatory only for systems that keep class-specific traffic statistics on Class 2 and Class 3 traffic and are able to support the Counter64 date type." GROUP fcmPortClassFStatsGroup DESCRIPTION "This group is mandatory only for FC switches that keep statistics on Class F traffic." GROUP fcmPortLcStatsGroup DESCRIPTION "This group is mandatory only for agents that can not support the Counter64 data type and/or need to provide information accessible by SNMPv1 applications." GROUP fcmSwitchBasicGroup DESCRIPTION "This group is mandatory only for Fibre Channel managed instances that manage Fibre Channel switches." GROUP fcmSwitchPortGroup DESCRIPTION
"This group is mandatory only for Fibre Channel managed instances that manage Fibre Channel switches." GROUP fcmSwitchLoginGroup DESCRIPTION "This group is mandatory only for Fibre Channel managed instances that manage Fibre Channel switches." GROUP fcmLinkBasicGroup DESCRIPTION "This group is optional." OBJECT fcmInstancePhysicalIndex SYNTAX Integer32 (0) DESCRIPTION "Implementation of a non-zero value is not required." OBJECT fcmInstanceSoftwareIndex SYNTAX Integer32 (0) DESCRIPTION "Implementation of a non-zero value is not required." OBJECT fcmInstanceTextName MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT fcmInstanceDescr MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT fcmPortAdminType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT fcmPortAdminSpeed MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT fcmSwitchDomainId MIN-ACCESS read-only DESCRIPTION "Write access is not required."
OBJECT fcmISPortClassFCredit MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { fcmgmtCompliances 1 } --******************************** -- Object Groups -- fcmInstanceBasicGroup OBJECT-GROUP OBJECTS { fcmInstanceWwn, fcmInstanceFunctions, fcmInstancePhysicalIndex, fcmInstanceSoftwareIndex, fcmInstanceStatus, fcmInstanceTextName, fcmInstanceDescr, fcmInstanceFabricId } STATUS current DESCRIPTION "Basic information about Fibre Channel managed instances." ::= { fcmgmtGroups 1 } fcmSwitchBasicGroup OBJECT-GROUP OBJECTS { fcmSwitchDomainId, fcmSwitchPrincipal, fcmSwitchWWN } STATUS current DESCRIPTION "Basic information about Fibre Channel switches." ::= { fcmgmtGroups 2 } fcmPortBasicGroup OBJECT-GROUP OBJECTS { fcmPortInstanceIndex, fcmPortWwn, fcmPortNodeWwn, fcmPortAdminType, fcmPortOperType, fcmPortFcCapClass, fcmPortFcOperClass, fcmPortTransmitterType, fcmPortConnectorType, fcmPortSerialNumber, fcmPortPhysicalNumber, fcmPortAdminSpeed, fcmPortCapProtocols, fcmPortOperProtocols } STATUS current DESCRIPTION "Basic information about Fibre Channel ports." ::= { fcmgmtGroups 3 } fcmPortStatsGroup OBJECT-GROUP OBJECTS { fcmPortBBCreditZeros, fcmPortFullInputBuffers } STATUS current DESCRIPTION "Traffic statistics, which are not specific to any one class of service, for Fibre Channel ports." ::= { fcmgmtGroups 4 }
fcmPortClass23StatsGroup OBJECT-GROUP OBJECTS { fcmPortClass2RxFrames, fcmPortClass2RxOctets, fcmPortClass2TxFrames, fcmPortClass2TxOctets, fcmPortClass2Discards, fcmPortClass2RxFbsyFrames, fcmPortClass2RxPbsyFrames, fcmPortClass2RxFrjtFrames, fcmPortClass2RxPrjtFrames, fcmPortClass2TxFbsyFrames, fcmPortClass2TxPbsyFrames, fcmPortClass2TxFrjtFrames, fcmPortClass2TxPrjtFrames, fcmPortClass3RxFrames, fcmPortClass3RxOctets, fcmPortClass3TxFrames, fcmPortClass3TxOctets, fcmPortClass3Discards } STATUS current DESCRIPTION "Traffic statistics for Class 2 and Class 3 traffic on Fibre Channel ports." ::= { fcmgmtGroups 5 } fcmPortClassFStatsGroup OBJECT-GROUP OBJECTS { fcmPortClassFRxFrames, fcmPortClassFRxOctets, fcmPortClassFTxFrames, fcmPortClassFTxOctets, fcmPortClassFDiscards } STATUS current DESCRIPTION "Traffic statistics for Class F traffic on Fibre Channel ports." ::= { fcmgmtGroups 6 } fcmPortLcStatsGroup OBJECT-GROUP OBJECTS { fcmPortLcBBCreditZeros, fcmPortLcFullInputBuffers, fcmPortLcClass2RxFrames, fcmPortLcClass2RxOctets, fcmPortLcClass2TxFrames, fcmPortLcClass2TxOctets, fcmPortLcClass2Discards, fcmPortLcClass3Discards, fcmPortLcClass3RxFrames, fcmPortLcClass3RxOctets, fcmPortLcClass3TxFrames, fcmPortLcClass3TxOctets, fcmPortLcClass2RxFbsyFrames, fcmPortLcClass2RxPbsyFrames, fcmPortLcClass2RxFrjtFrames, fcmPortLcClass2RxPrjtFrames, fcmPortLcClass2TxFbsyFrames, fcmPortLcClass2TxPbsyFrames, fcmPortLcClass2TxFrjtFrames, fcmPortLcClass2TxPrjtFrames } STATUS current DESCRIPTION
"Low-capacity (32-bit) statistics for Fibre Channel ports." ::= { fcmgmtGroups 7 } fcmPortErrorsGroup OBJECT-GROUP OBJECTS { fcmPortRxLinkResets, fcmPortTxLinkResets, fcmPortLinkResets, fcmPortRxOfflineSequences, fcmPortTxOfflineSequences, fcmPortLinkFailures, fcmPortLossofSynchs, fcmPortLossofSignals, fcmPortPrimSeqProtocolErrors, fcmPortInvalidTxWords, fcmPortInvalidCRCs, fcmPortInvalidOrderedSets, fcmPortFrameTooLongs, fcmPortTruncatedFrames, fcmPortAddressErrors, fcmPortDelimiterErrors, fcmPortEncodingDisparityErrors, fcmPortOtherErrors } STATUS current DESCRIPTION "Error statistics for Fibre Channel ports." ::= { fcmgmtGroups 8 } fcmSwitchPortGroup OBJECT-GROUP OBJECTS { fcmFxPortRatov, fcmFxPortEdtov, fcmFxPortRttov, fcmFxPortHoldTime, fcmFxPortCapBbCreditMax, fcmFxPortCapBbCreditMin, fcmFxPortCapDataFieldSizeMax, fcmFxPortCapDataFieldSizeMin, fcmFxPortCapClass2SeqDeliv, fcmFxPortCapClass3SeqDeliv, fcmFxPortCapHoldTimeMax, fcmFxPortCapHoldTimeMin, fcmISPortClassFCredit, fcmISPortClassFDataFieldSize } STATUS current DESCRIPTION "Information about ports on a Fibre Channel switch." ::= { fcmgmtGroups 9 } fcmSwitchLoginGroup OBJECT-GROUP OBJECTS { fcmFLoginPortWwn, fcmFLoginNodeWwn, fcmFLoginBbCreditModel, fcmFLoginBbCredit, fcmFLoginClassesAgreed, fcmFLoginClass2SeqDelivAgreed, fcmFLoginClass2DataFieldSize, fcmFLoginClass3SeqDelivAgreed, fcmFLoginClass3DataFieldSize } STATUS current DESCRIPTION "Information known to a Fibre Channel switch about attached/logged-in Nx_Ports."
::= { fcmgmtGroups 10 } fcmLinkBasicGroup OBJECT-GROUP OBJECTS { fcmLinkEnd1NodeWwn , fcmLinkEnd1PhysPortNumber, fcmLinkEnd1PortWwn, fcmLinkEnd2NodeWwn , fcmLinkEnd2PhysPortNumber, fcmLinkEnd2PortWwn, fcmLinkEnd2AgentAddress, fcmLinkEnd2PortType, fcmLinkEnd2UnitType, fcmLinkEnd2FcAddressId } STATUS current DESCRIPTION "Information about Fibre Channel links." ::= { fcmgmtGroups 11 } END7. Acknowledgements
This memo is partly based on the information contained in the original submission of the Fibre Channel Management Integration MIB to the IETF's IPFC Working Group (now available as [MIB-FA]) and obsoletes RFC 2837. Feedback has been incorporated into this document based on comments from the following: Sudhir Pendse, SimpleSoft; Steve Senum, Cisco Systems; and Kha Sin Teow, Brocade.8. Normative References
[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998. [RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [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. [RFC2737] McCloghrie, K. and A. Bierman, "Entity MIB (Version 2)", RFC 2737, December 1999. [RFC2790] Waldbusser, S. and P. Grillo, "Host Resources MIB", RFC 2790, March 2000.
[RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB", RFC 2863, June 2000. [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. [FC-AL-2] "Fibre Channel - Arbitrated Loop (FC-AL-2)", ANSI INCITS 332-1999, 1999. [FC-BB] "Fibre Channel - Backbone (FC-BB)" ANSI INCITS 342-2001, 2001. [FC-FS] "Fibre Channel - Framing and Signaling (FC-FS)" ANSI INCITS 373-2003, April 2003. [FC-GS-3] "Fibre Channel - Generic Services - 3 (FC-GS-3)" ANSI INCITS 348-2001, 2001. [FC-MI] "Fibre Channel - Methodologies for Interconnects Technical Report (FC-MI)" INCITS TR-30-2002, 2002. [FC-PH] "Information Technology - Fibre Channel Physical and Signaling Interface (FC-PH)", ANSI X3.230, 1994. [FC-SW-3] "Fibre Channel - Switch Fabric - 3 (FC-SW-3)", ANSI INCITS 384-2004, June 2004.9. Informative References
[RFC2741] Daniele, M., Wijnen, B., Ellison, M., and D. Francisco, "Agent Extensibility (AgentX) Protocol Version 1", RFC 2741, January 2000. [RFC2837] Teow, K., "Definitions of Managed Objects for the Fabric Element in Fibre Channel Standard", RFC 2837, May 2000. [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction and Applicability Statements for Internet- Standard Management Framework", RFC 3410, December 2002. [RFC3433] Bierman, A., Romascanu, D., and K.C. Norseth, "Entity Sensor Management Information Base", RFC 3433, December 2002.
[MIB-FA] "INCITS Technical Report for Information Technology - Fibre Channel - Management Information Base - FA (MIB-FA)", INCITS, TR-32-2003. [WWN1] Snively, R., "New identifier formats based on IEEE registration", http://standards.ieee.org/regauth/oui/ tutorials/fibreformat.html, 16 January 2001. [WWN2] Snively, R., "Use of the IEEE Registration Authority assigned 'company_id' with the ANSI X3.230 FC-PH Fibre Channel specification and its extensions", http://standards.ieee.org/regauth/oui/tutorials/ fibrecomp_id.html, 24 February 1997.10. Security Considerations
There are a number of management objects defined in this MIB that have a MAX-ACCESS clause of read-write: fcmInstanceTextName fcmInstanceDescr fcmSwitchDomainId fcmPortAdminType fcmPortAdminSpeed fcmISPortClassFCredit Such objects may be considered sensitive or vulnerable in some network environments. For example, the ability to change network topology or network speed may afford an attacker the ability to obtain better performance at the expense of other network users; setting fcmSwitchDomainId to an invalid value could lead to denial of service in some configurations. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations. 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. In particular, these objects provide information on network topology: fcmLinkEnd1NodeWwn fcmLinkEnd1PhysPortNumber fcmLinkEnd1PortWwn fcmLinkEnd2NodeWwn fcmLinkEnd2PhysPortNumber
fcmLinkEnd2PortWwn fcmLinkEnd2AgentAddress fcmLinkEnd2PortType fcmLinkEnd2UnitType fcmLinkEnd2FcAddressId 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 implementors 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.11. IANA Considerations
11.1. OID Assignment
IANA has made a MIB OID assignment under the transmission branch. Specifically, transmission 56 has been assigned as the OID for fcMgmtMIB. This sub-identifier was requested because this MIB contains the media-specific definitions that correspond to the ifType value of fibreChannel(56).11.2. FC Port Type Registry
IANA has established a registry for Fibre Channel Port Types. The registry is split into disjointed subset ranges: 1) a 'standard' range for Fibre Channel Port Types that have been standardized by the InterNational Committee for Information Technology Standards (INCITS)'s Technical Committee T11. This range will be subject to the 'Expert Review' and 'Specification Required' policies described in [RFC2434], with the following provisions: - the Expert Reviewer is to be appointed by the IESG.
- the Expert Reviewer shall obtain approval (or rejection) from INCITS Technical Committee T11 via the chair of that Committee. Rejected values shall not be added to the registry. - if the addition is approved, the Expert shall advise IANA of how to record the reference to the T11 specification document that describes the newly added port type(s), and that is considered to be the "other permanent and readily available reference" required by [RFC2434]. The initial assignments in the 'standard' range will be as follows: Assigned Value Type Meaning -------- ------ ------- 1 unknown for use when the type is not known, or is "unidentified" as specified in section 5.1.2.10 of [FC-GS-3] 2 other used for types without assigned values 3 -- an obsolete value, not to be re-assigned 4 N_Port see [FC-FS] 5 NL_Port see [FC-FS] 6 F_Port see [FC-FS] 7 FL_Port see [FC-FS] 8 E_Port see [FC-FS] 9 B_Port see [FC-FS] 10 G_Port see [FC-SW-3] 11 GL_Port see [FC-SW-3] 12 F/NL_Port see [FC-AL-2] The above range extends up to a maximum of 9,999. 2) a range assigned under the "Private Use" policy described in [RFC2434] for values intended for private use by one party or among mutually consenting parties. Values in this range extend from 10,000 to 99,999. IANA will not make any allocations from this range. 3) values larger than 99,999 are RESERVED.
12. Comparison to the Fibre Channel Management Integration MIB
12.1. Problems with the Fibre Channel Management Integration MIB
The Fibre Channel Management Integration MIB [MIB-FA] had the following major problems: - It wasn't formatted using SMIv2, which is mandatory. - The MIB seemed to have been defined with the notion that it would be the only MIB that a Fibre Channel product will require. The notion of an agent implementing just a single MIB was abandoned by the IETF in 1992 as being non-scalable. Rather, a Fibre Channel MIB needed to be another MIB in the continuing series of MIBs defined by the IETF, and thus, it needed to be consistent with its predecessors. In other words, there are existing MIBs that all SNMP agents must support, even if the support of Fibre Channel interfaces is the only functionality that they have. Thus, it was essential that the Fibre Channel Integration MIB contained only objects for information that is specific to Fibre Channel. All objects relevant to non-Fibre Channel environments needed to be removed. This issue applied to a large fraction of the objects defined in the MIB. - The MIB had some but not complete overlap in functionality with RFC 2837. - Every SNMP agent must implement the ifTable. The ifTable counters are the MIB objects most well-used by administrators in SNMP management. SNMP agents need to implement a row in the ifTable for each of their network interfaces, including their Fibre Channel interfaces. The IF-MIB requires a media-specific MIB to specify how that type of interface uses the ifTable (see section 4 in RFC 2863). [RFC2837] doesn't do that, nor did the Fibre Channel Integration MIB. - It incorrectly used the OCTET STRING syntax (instead of Counter32 or Counter64) for counters.12.2. Detailed Changes
12.2.1. Removal of Sensor-Related Objects
Information about sensors is not specific to Fibre Channel, and therefore should not be in this MIB. (At the time of writing, the IETF's ENTITY MIB Working Group has produced a first draft of a Sensor MIB, see [RFC3433].) This removed the need for:
connUnitSensorTable (and all its contents) connUnitNumSensors connUnitSensorStatusChange12.2.2. Removal of Trap-registration Objects
Information about registering "traps" is not specific to Fibre Channel, and therefore should not be in this MIB. (For similar functionality, see SNMP-NOTIFICATION-MIB and SNMP-TARGET-MIB in RFC 2573). This removed the need for: trapMaxClients trapClientCount trapRegTable (and all its contents)12.2.3. Removal of Event-Related Objects
Information about generic events is not specific to Fibre Channel, and therefore should not be in this MIB. (For similar functionality, see the Event group in RFC 2819 and the Notification Log MIB in RFC 3014; the SNMP-NOTIFICATION-MIB provides for the filtering of notifications.) This removed the need for: connUnitEventTable (and all its contents) connUnitEventFilter connUnitNumEvents connUnitMaxEvents connUnitEventCurrID connUnitEventTrap12.2.4. Removal of Inventory-Related Information
Aspects of hardware (physical) components are represented in the Entity MIB (RFC 2737); aspects of software modules are represented in the Host Resources MIB (RFC 2790). Two new objects provide indexing from this MIB into those MIBs: one having the value of PhysicalIndex (or zero) and the other having the value of hrSWInstalledIndex (or zero). These replaced the need for: connUnitNumports connUnitRevsTable (and all its contents) connUnitNumRevs connUnitPortRevision connUnitPortVendor connUnitProduct connUnitInfo connUnitSn connUnitModuleId
connUnitVendorId connUnitDeletedTrap12.2.5. Removal of Revision Numbers
The forward/backward compatibility rules of how to evolve MIBs are designed such that MIBs do not have revision numbers. This removed the need for: revisionNumber12.2.6. Removal of Other Not FC-Specific Information
Other information was removed because it was not specific to Fibre Channel: systemURL statusChangeTime configurationChangeTime connUnitUrl connUnitUpTime connUnitState connUnitContact connUnitLocation connUnitProxyMaster connUnitControl connUnitStatus connUnitStatusChange12.2.7. Clean-up of Ambiguous/Obsolete Definitions
Some information in the FC Management integration was obsolete or ambiguous: statusChangeTime (obsolete) configurationChangeTime (obsolete) connUnitTableChangeTime (obsolete) connUnitStatusChangeTime (obsolete) connUnitConfigurationChangeTime (obsolete) connUnitNumZones (obsolete) connUnitZoneTable (referenced but not defined) connUnitLinkCurrIndex (badly defined)12.2.8. Use of an ifTable Entry
The following objects were removed because they duplicated existing IF-MIB objects:
redundant object existing object(s) ---------------- ------------------ connUnitPortStatCountError ifInErrors & ifOutErrors connUnitPortStatCountTxObjects ifOutUcastPkts & ifHCOutUcastPkts connUnitPortStatCountRxObjects ifInUcastPkts & ifHCInUcastPkts connUnitPortStatCountTxElements ifOutOctets & ifHCOutOctets connUnitPortStatCountRxElements ifInOctets & ifHCInOctets connUnitPortStatCountRxMulticastObjects ifInMulticastPkts & ifHCInMulticastPkts connUnitPortStatCountTxMulticastObjects ifOutMulticastPkts & ifHCOutMulticastPkts connUnitPortStatCountRxBroadcastObjects ifInBroadcastPkts & ifHCInBroadcastPkts connUnitPortStatCountTxBroadcastObjects ifOutBroadcastPkts & ifHCOutBroadcastPkts connUnitPortFCId ifPhysAddress connUnitPortControl ifAdminStatus connUnitPortState ifAdminStatus connUnitPortHWState ifOperStatus connUnitPortStatus ifOperStatus connUnitPortName ifAlias connUnitPortStatObject ifSpecific connUnitNumports ifNumber connUnitPortStatusChange linkUp/linkDown12.2.9. Removed Because of AgentX Difficulty
An AgentX environment [RFC2741] consists of a master agent and several sub-agents. It is not difficult to implement the same MIB in several such sub-agents if all of the MIB's tables have a common index variable as the first auxiliary object in their INDEX clauses. However, any scalars that the MIB contains pose a problem for the AgentX environment. All the (remaining) scalars were therefore removed: revisionNumber uNumber systemURL
12.2.10. FC Management Instance
The term "connectivity unit" was changed to "FC management instance". The term "connectivity unit" was not properly defined in [MIB-FA], and its usage provided a confused mixture of indications to the implementor: - the definition of FcUnitType suggested it was functional; - the definition of uNumber suggested it was physical; - the definition of connUnitProduct suggested it was a vendor's product; - etc. The common implementation strategy for the "connectivity unit" was which ever grouping provided access to the management functionality the easiest. (One such grouping accommodates a single SNMP agent having multiple AgentX [RFC2741] sub-agents, each supporting a separate implementation of the MIB.) In fact, this scenario is not new; in practice, a "connectivity unit" will have the same semantics as a management "instance" in other MIBs, e.g., the IPS WG's own iSCSI MIB. For this MIB, its meaning is: "a separable managed instance of Fibre Channel functionality". Given this definition, the "FC management instance" is a better name because it is more accurate and more representative of the definition than is "connectivity unit".12.2.11. Counter Syntax
All packet and octet counters have been changed to be Counter64's (but Counter32 versions of them are also included for use by old agents). The error counters have been changed to Counter32's. (In the probably impossible, and at most improbable, circumstances that the rate of occurrence of errors, even on a 10Gbs Fibre Channel interface, might wrap faster than an hour, the fact that errors are occurring will almost certainly be apparent from other MIB objects.)12.2.12. Obsolete/Little-Used Fibre Channel Features
Information relating to Fibre Channel features that are obsolete or not widely-implemented has been deleted. (For more information, see section 6.2.1 and section 6.2.2 of [FC-MI].)
- Class 1 service, - Intermix Mode, - Stacked Conn Mode. - PH version numbers Note that with support for Class 1 service being deleted, only class 2 now needs F_BSY, F_RJT, P_BSY, and P_RJT counters, and thus they no longer need to be counted for all classes as well as for class 2, and therefore the following objects have been deleted: connUnitPortStatCountFBSYFrames connUnitPortStatCountPBSYFrames connUnitPortStatCountFRJTFrames connUnitPortStatCountPRJTFrames12.3. Name Server Objects
A table of Name Server information was present in the Fibre Channel Management Integration MIB [MIB-FA]. That information is not currently represented in this MIB because this MIB is already quite large, and a set of Name Server objects are expected to be defined in a separate (new) MIB.12.4. Additional Objects
Support for Class F traffic, including 32-bit octet and frame counters, has been added.13. Comparison to RFC 2837
This MIB is a superset of RFC 2837, except for the following: - the fcFeClass1AccountingGroup group is obsolete, - fcFxPortConnectedNxPort, fcFxPortFcphVersionHigh, fcFxPortFcphVersionLow, fcFxPortFcphVersionAgreed, fcFxPortStackedConnModeAgreed, fcFxPortIntermixSuppAgreed, fcFxPortCapStackedConnMode, and fcFxPortCapIntermix are obsolete, - fcFxPortBbCredit and fcFxPortRxBufSize are per attached Nx_Port, - fcFxPortBbCreditAvailable is ephemeral, - fcFeModuleTable is mostly contained in the entPhysicalTable, - fcFxPortPhysAdminStatus, fcFxPortPhysOperStatus, and fcFxPortPhysLastChange have equivalents in the ifTable.
Author's Address
Keith McCloghrie Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA USA 95134 Phone: +1 408-526-5260 EMail: kzm@cisco.com
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. 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 currently provided by the Internet Society.