-- extracted from draft-desanti-fc-name-server-01.txt -- at Sat Apr 3 06:17:51 2004 T11-FC-NAME-SERVER-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY,OBJECT-TYPE, NOTIFICATION-TYPE, Counter32,Integer32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF SnmpAdminString FROM SNMP-FRAMEWORK-MIB TruthValue, TEXTUAL-CONVENTION, TimeStamp FROM SNMPv2-TC FcAddressId, FcClasses, FcNameIdOrZero FROM FC-MGMT-MIB FabricID FROM T11-TC-MIB; t11NameServerMIB MODULE-IDENTITY LAST-UPDATED "200403170000Z" ORGANIZATION "T11" CONTACT-INFO " Editor: Phone: E-mail: xxx@yyy.com" DESCRIPTION "The MIB module for the management of the functionality, in a Fibre Channel switch, which realizes the FC-GS-3 (and FC-GS-4) requirements for Name Server (NS)." REVISION "200403170000Z" DESCRIPTION "Initial version of this MIB module." ::= { tbd 997 } t11NsMIBObjects OBJECT IDENTIFIER ::= { t11NameServerMIB 1 } t11NsMIBConformance OBJECT IDENTIFIER ::= { t11NameServerMIB 2 } t11NsConfiguration OBJECT IDENTIFIER ::= { t11NsMIBObjects 1 } t11NsStats OBJECT IDENTIFIER ::= { t11NsMIBObjects 2 } t11NsInformation OBJECT IDENTIFIER ::= { t11NsMIBObjects 3 } t11NsNotifications OBJECT IDENTIFIER ::= { t11NsMIBObjects 0 } -- Textual Conventions T11NsGs3RejectReasonCode ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The FC-GS-3 reject reason code for a request. none(1) - no error. invalidCmdCode(2) - req contains an invalid command code. invalidVerLevel(3) - req contains an invalid version number. logicalError(4) - there is a logical error. invalidIUSize(5) - Information Unit (IU) size is invalid. logicalBusy(6) - the module is busy. protocolError(7) - there is a protocol error. unableToPerformCmdReq(8) - the command specified in the req could not be executed. The details of exactly what failed will be in the corresponding reason code explanation. cmdNotSupported(9) - the command is not supported. vendorError(10) - specific vendor error." SYNTAX INTEGER { none(1), invalidCmdCode(2), invalidVerLevel(3), logicalError(4), invalidIUSize(5), logicalBusy(6), protocolError(7), unableToPerformCmdReq(8), cmdNotSupported(9), vendorError(10) } T11NsRejectReasonExpl ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The reject reason code explanation. noAdditionalExplanation(1) - no additional explanation. portIdentifierNotRegistered(2) - port Id not registered. portNameNotRegistered(3) - port name not registered. nodeNameNotRegistered(4) - node name not registered. classOfServiceNotRegistered(5) - class of service not registered. nodeIpAddressNotRegistered(6) - node IP address not registered. ipaNotRegistered(7) - Initial Process Associator (IPA) not registered. fc4TypeNotRegistered(8) - FC4 type not registered. symbolicPortNameNotRegistered(9) - symbolic port name not registered. symbolicNodeNameNotRegistered(10) - symbolic node name not registered. portTypeNotRegistered(11) - type of port not registered. portIpAddressNotRegistered(12) - port IP address not registered. fabricPortNameNotRegistered(13) - fabric port name not registered. hardAddressNotRegistered(14) - hard address not registered fc4DescriptorNotRegistered(15) - FC4 descriptor not registered. fc4FeaturesNotRegistered(16) - FC4 features not registered. accessDenied(17) - access is denied. unacceptablePortIdentifier(18) - port Id is invalid. databaseEmpty(19) - database is empty. noObjectRegInSpecifiedScope(20) - no object has been registered in the specified scope." SYNTAX INTEGER { noAdditionalExplanation(1), portIdentifierNotRegistered(2), portNameNotRegistered(3), nodeNameNotRegistered(4), classOfServiceNotRegistered(5), nodeIpAddressNotRegistered(6), ipaNotRegistered(7), fc4TypeNotRegistered(8), symbolicPortNameNotRegistered(9), symbolicNodeNameNotRegistered(10), portTypeNotRegistered(11), portIpAddressNotRegistered(12), fabricPortNameNotRegistered(13), hardAddressNotRegistered(14), fc4DescriptorNotRegistered(15), fc4FeaturesNotRegistered(16), accessDenied(17), unacceptablePortIdentifier(18), databaseEmpty(19), noObjectRegInSpecifiedScope(20) } -- -- Name Server MIB objects -- t11NsTableLastChange OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time of the last update to the t11NsTable. This includes creation of an entry, deletion of an entry and modification of an existing entry. If no updates have taken place since the last re-initialization of the local network management subsystem, then this object contains a zero value." ::= { t11NsConfiguration 1 } t11NsNumRows OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Nx_Ports currently registered with this device (across all fabrics)." ::= { t11NsConfiguration 2 } -- -- t11NsTable -- t11NsTable OBJECT-TYPE SYNTAX SEQUENCE OF T11NsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains entries for all Nx_Ports registered with Fx_Ports on all the Fabrics known to the local switch." ::= { t11NsConfiguration 3 } t11NsEntry OBJECT-TYPE SYNTAX T11NsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the t11NsTable. This contains information about an Nx_Port represented by t11NsPortIdentifier for a particular Fabric identified by t11NsFabricID." INDEX { t11NsFabricID, t11NsPortIdentifier } ::= { t11NsTable 1 } T11NsEntry ::= SEQUENCE { t11NsFabricID FabricID, t11NsPortIdentifier FcAddressId, t11NsPortName FcNameIdOrZero, t11NsNodeName FcNameIdOrZero, t11NsClassOfSvc FcClasses, t11NsNodeIpAddress OCTET STRING, t11NsProcAssoc OCTET STRING, t11NsFC4Type OCTET STRING, t11NsPortType INTEGER, t11NsPortIpAddress OCTET STRING, t11NsFabricPortName FcNameIdOrZero, t11NsHardAddress FcAddressId, t11NsSymbolicPortName SnmpAdminString, t11NsSymbolicNodeName SnmpAdminString, t11NsFC4Features OCTET STRING } t11NsFabricID OBJECT-TYPE SYNTAX FabricID MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique index value which uniquely identifies a particular Fabric. In a Fabric conformant to SW-3, only a single Fabric can operate within a physical infrastructure, and thus, the value of this Fabric Identifier will always be 1. However, it is possible that future standards will define how multiple Fabrics, each with its own management instrumentation, could operate within a single physical infrastructure. To allow for this future possibility, this index value is used to uniquely identify a particular Fabric within a physcial infrastructure." ::= { t11NsEntry 1 } t11NsPortIdentifier OBJECT-TYPE SYNTAX FcAddressId MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Fibre Channel Identifier (FC_ID) of this Nx_Port." ::= { t11NsEntry 2 } t11NsPortName OBJECT-TYPE SYNTAX FcNameIdOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The fibre channel Port_Name (WWN) of this Nx_Port. If this object is not set, then it contains the null value '0000000000000000'h." DEFVAL {'0000000000000000'h} ::= { t11NsEntry 3 } t11NsNodeName OBJECT-TYPE SYNTAX FcNameIdOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The fibre channel Node_Name (WWN) of this Nx_Port. If this object is not set, then it will contain the null value '0000000000000000'h." DEFVAL {'0000000000000000'h} ::= { t11NsEntry 4 } t11NsClassOfSvc OBJECT-TYPE SYNTAX FcClasses MAX-ACCESS read-only STATUS current DESCRIPTION "The class of service indicator. This object is a array of bits that contain a bit map of the classes of service supported by the associated port. If a bit in this object is 1, it indicates that the class of service is supported by the associated port. When a bit is set to 0, it indicates that no class of service is supported by this Nx_Port." ::= { t11NsEntry 5 } t11NsNodeIpAddress OBJECT-TYPE SYNTAX OCTET STRING (SIZE (16)) MAX-ACCESS read-write STATUS current DESCRIPTION "The IP address of the node of this Nx_Port, as indicated by the Nx_Port in a FC-GS-3 message that it transmitted. The FC-GS-3 format specifies a 32-bit IPv4 address or a 128-bit IPv6 address. For the former, the leftmost 96 bits (12 bytes) are set to x'00 00 00 00 00 00 00 00 00 00 FF FF' and the rightmost 32 bits are supposed to contain the IPv4 address." REFERENCE "ANSI INCITS 348-2000, Fibre Channel - Generic Services-3 (FC-GS-3)" ::= { t11NsEntry 6 } t11NsProcAssoc OBJECT-TYPE SYNTAX OCTET STRING (SIZE (8)) MAX-ACCESS read-only STATUS current DESCRIPTION "The Fibre Channel initial process associator (IPA)." ::= { t11NsEntry 7 } t11NsFC4Type OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..32)) MAX-ACCESS read-write STATUS current DESCRIPTION "The FC-4 protocol types supported by this Nx_Port. This is an array of 256-bits. Each bit in the array corresponds to a Type value as defined by the fibre channel standards and contained in the Type field of the frame header." REFERENCE "ANSI INCITS 348-2000, Fibre Channel - Generic Services-3 (FC-GS-3)" ::= { t11NsEntry 8 } t11NsPortType OBJECT-TYPE SYNTAX INTEGER { unknown(1), -- port type unknown nPort(2), -- port is N_Port nlPort(3) -- port is NL_Port } MAX-ACCESS read-only STATUS current DESCRIPTION "The port type of this port." ::= { t11NsEntry 9 } t11NsPortIpAddress OBJECT-TYPE SYNTAX OCTET STRING (SIZE (16)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object contains the IP address of the associated port in either 32-bit IPv4 format or 128-bit IPv6 format. When this object contains a IPv4 address, the leftmost 96 bits (12 bytes) should contain x'00 00 00 00 00 00 00 00 00 00 FF FF'. The IPv4 address should be present in the rightmost 32 bits. Note that the value of this object is the IP address value that is received in the FC-GS-3 message Register IP address (Port) RIPP_ID. It is not validated against any IP address format." REFERENCE "ANSI INCITS 348-2000, Fibre Channel - Generic Services-3, (FC-GS-3)" ::= { t11NsEntry 10 } t11NsFabricPortName OBJECT-TYPE SYNTAX FcNameIdOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The Fabric Port Name (WWN) of the Fx_Port to which this Nx_Port is attached. If this object is not set, then it will contain the null value '0000000000000000'h." DEFVAL {'0000000000000000'h} ::= { t11NsEntry 11 } t11NsHardAddress OBJECT-TYPE SYNTAX FcAddressId MAX-ACCESS read-only STATUS current DESCRIPTION "The format of this object is identical to the format of Hard Address defined in the Discover Address (ADISC) Extended Link Service (FC-FS). Hard Address is the 24-bit NL_Port identifier which consists of - the 8-bit Domain_ID in the most significant byte - the 8-bit Area Id in the next most significant byte - the 8-bit AL-PA(Arbitrated Loop Physical Address) which an NL_Port attempts acquire during FC-AL initialization in the least significant byte. If the port is not an NL_Port, or if it is an NL_Port but does not have a hard address, then all bits are reported as 0s." ::= { t11NsEntry 12 } t11NsSymbolicPortName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..255)) MAX-ACCESS read-write STATUS current DESCRIPTION "The user-defined name of this port. If this object has not been set, then the value of this object is the zero length string." DEFVAL {''H} ::= { t11NsEntry 13 } t11NsSymbolicNodeName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..255)) MAX-ACCESS read-write STATUS current DESCRIPTION "The user-defined name of the node of this port. If this object has not been set, then the value of this object is the zero length string." DEFVAL {''H} ::= { t11NsEntry 14 } t11NsFC4Features OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..128)) MAX-ACCESS read-write STATUS current DESCRIPTION "The FC-4 Features associated with this port and the FC-4 Type. Refer to FC-GS-3 specification for the format of this object. This object is an array of 4-bit values, one for each TYPE code value. The 5 most significant bits of the TYPE field will be used to identify the word for the FC-4 Features object. - Word 0 contains information related to TYPE code '00' thru' '07'; - Word 1 contains information related to TYPE code '08' thru' 0F'; - and so forth to Word 31 that contains information related to TYPE code 'F8' thru' 'FF'. The 3 least significant bits of the TYPE field will be used to identify the position within the word for the 4-bit FC-4 Features value." REFERENCE "ANSI INCITS 348-2000, Fibre Channel - Generic Services-3 (FC-GS-3)" ::= { t11NsEntry 15 } -- -- Proxy Port Table -- t11NsProxyPortTable OBJECT-TYPE SYNTAX SEQUENCE OF T11NsProxyPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of proxy ports on any Fabric known to the local switch. Only one proxy port is allowed on a Fabric." ::= { t11NsConfiguration 4 } t11NsProxyPortEntry OBJECT-TYPE SYNTAX T11NsProxyPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in this table." INDEX { t11NsFabricID } ::= { t11NsProxyPortTable 1 } T11NsProxyPortEntry ::= SEQUENCE { t11NsProxyPortName FcNameIdOrZero } t11NsProxyPortName OBJECT-TYPE SYNTAX FcNameIdOrZero MAX-ACCESS read-write STATUS current DESCRIPTION "Name of the proxy port which is allowed to register/deregister for other ports on this Fabric. Third party registrations are enabled by setting this object. In order to disable third party registrations, this object should be set to the zero-length string." DEFVAL {''H} ::= { t11NsProxyPortEntry 1 } -- -- Name Server Statistics -- t11NsTotalRejects OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of requests rejected by the local switch across all Fabrics." ::= { t11NsStats 1 } t11NsStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF T11NsStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains statistic counters which are maintained by the Name Server. These counters are maintained per Fabric." ::= { t11NsStats 2 } t11NsStatsEntry OBJECT-TYPE SYNTAX T11NsStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in this table." INDEX { t11NsFabricID } ::= { t11NsStatsTable 1 } T11NsStatsEntry ::= SEQUENCE { t11NsInGetReqs Counter32, t11NsOutGetReqs Counter32, t11NsInRegReqs Counter32, t11NsInDeRegReqs Counter32, t11NsInRscns Counter32, t11NsOutRscns Counter32, t11NsRejects Counter32 } t11NsInGetReqs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of Get Requests received by the local switch on this Fabric." ::= { t11NsStatsEntry 1 } t11NsOutGetReqs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of Get Requests sent by the local switch on this Fabric." ::= { t11NsStatsEntry 2 } t11NsInRegReqs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of Registration Requests received by the local switch on this Fabric." ::= { t11NsStatsEntry 3 } t11NsInDeRegReqs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of De-registration Requests received by the local switch on this Fabric." ::= { t11NsStatsEntry 4 } t11NsInRscns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of RSCN commands received by the local switch on this Fabric." ::= { t11NsStatsEntry 5 } t11NsOutRscns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of RSCN commands sent by the local switch on this Fabric." ::= { t11NsStatsEntry 6 } t11NsRejects OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of requests rejected by the local switch on this Fabric." ::= { t11NsStatsEntry 7 } -- Notification information objects t11NsRejectReasonCode OBJECT-TYPE SYNTAX T11NsGs3RejectReasonCode MAX-ACCESS read-only STATUS current DESCRIPTION "The registration reject reason code. This object contains the reason code corresponding to the most recent Name Server Registration request failure." ::= { t11NsInformation 1 } t11NsRejReasonCodeExp OBJECT-TYPE SYNTAX T11NsRejectReasonExpl MAX-ACCESS read-only STATUS current DESCRIPTION "The registration reject reason code explanation. This object contains the reason code explanation if the above object has a reason code corresponding to 'Unable to perform command request'. This object like the one above, corresponds to the most recent Name Server Registration request rejection." ::= { t11NsInformation 2 } t11NsNotifyFabricID OBJECT-TYPE SYNTAX FabricID MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "A unique index value which identifies a particular Fabric for which a particular notification is generated." ::= { t11NsInformation 3 } -- Notification control objects t11NsRejReqNotifyEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies if the Name Server should generate 't11NsRejectRegNotify' notifications. If value of this object is 'true', then the notification is generated when a request is rejected. If it is 'false', the notification is not generated." DEFVAL { false } ::= { t11NsConfiguration 5 } -- -- Notifications -- t11NsRejectRegNotify NOTIFICATION-TYPE OBJECTS {t11NsPortName, t11NsRejectReasonCode, t11NsRejReasonCodeExp} STATUS current DESCRIPTION "This notification is generated by the Name Server whenever it rejects a registration request. The Name Server should update the 't11NsRejectReasonCode' and 't11NsRejReasonCodeExp' objects with the corresponding reason code and reason code explanation before sending the notification. These two objects are also included along with the notification to provide the reason for the reject." ::= { t11NsNotifications 1 } t11NsDatabaseFull NOTIFICATION-TYPE OBJECTS {t11NsNotifyFabricID} STATUS current DESCRIPTION "This notification is generated by the Name Server when the Name Server is unable to allocate space for a new entry." ::= { t11NsNotifications 2 } -- -- Conformance -- t11NsMIBCompliances OBJECT IDENTIFIER ::= {t11NsMIBConformance 1} t11NsMIBGroups OBJECT IDENTIFIER ::= {t11NsMIBConformance 2} t11NsMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the name server." MODULE MANDATORY-GROUPS {t11NsDBGroup, t11NsStatsGroup, t11NsNotifyControlGroup, t11NsNotifyGroup} ::= { t11NsMIBCompliances 1 } -- Units of conformance t11NsDBGroup OBJECT-GROUP OBJECTS {t11NsProxyPortName, t11NsNumRows, t11NsTableLastChange, t11NsPortName, t11NsNodeName, t11NsClassOfSvc, t11NsNodeIpAddress, t11NsProcAssoc, t11NsFC4Type, t11NsPortType, t11NsPortIpAddress, t11NsFabricPortName, t11NsHardAddress, t11NsSymbolicPortName, t11NsSymbolicNodeName, t11NsFC4Features } STATUS current DESCRIPTION "A collection of objects for displaying and configuring Name Server objects." ::= { t11NsMIBGroups 1 } t11NsStatsGroup OBJECT-GROUP OBJECTS {t11NsTotalRejects, t11NsInGetReqs, t11NsOutGetReqs, t11NsInRegReqs, t11NsInDeRegReqs, t11NsInRscns, t11NsOutRscns, t11NsRejects} STATUS current DESCRIPTION "A collection of objects for displaying Name Server statistics." ::= { t11NsMIBGroups 2 } t11NsNotifyControlGroup OBJECT-GROUP OBJECTS {t11NsRejectReasonCode, t11NsRejReasonCodeExp, t11NsRejReqNotifyEnable, t11NsNotifyFabricID } STATUS current DESCRIPTION "A collection of notification control and notification information objects for monitoring Name Server registrations/de-registrations." ::= { t11NsMIBGroups 3 } t11NsNotifyGroup NOTIFICATION-GROUP NOTIFICATIONS {t11NsRejectRegNotify, t11NsDatabaseFull} STATUS current DESCRIPTION "A collection of notifications for monitoring Name Server registrations/de-registrations." ::= { t11NsMIBGroups 4 } END -- -- Copyright (C) The Internet Society (2001). All Rights Reserved. -- -- This document and translations of it may be copied and furnished to -- others, and derivative works that comment on or otherwise explain it or -- assist in its implementation may be prepared, copied, published and -- distributed, in whole or in part, without restriction of any kind, -- provided that the above copyright notice and this paragraph are included -- on all such copies and derivative works. However, this document itself -- may not be modified in any way, such as by removing the copyright notice -- or references to the Internet Society or other Internet organizations, -- except as needed for the purpose of developing Internet standards in -- which case the procedures for copyrights defined in the Internet -- Standards process must be followed, or as required to translate it into -- languages other than English. -- -- The limited permissions granted above are perpetual and will not be -- revoked by the Internet Society or its successors or assigns. -- -- This document and the information contained herein is provided on an "AS -- IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK -- FORCE DISCLAIMS 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.