1、American National StandardDeveloped byfor Information Technology Storage Management Host Bus Adapter ApplicationProgramming Interface - 2nd Generation(SM-HBA-2)INCITS 508-2014INCITS 508-2014INCITS 508-2014American National Standardfor Information Technology Storage Management Host Bus Adapter Applic
2、ationProgramming Interface - 2nd Generation(SM-HBA-2)SecretariatInformation Technology Industry CouncilApproved March 5, 2014 American National Standards Institute, Inc.AbstractA standard Application Programming Interface defines a scope within which and a grammar by which it is possible to write ap
3、plication software without attention to vendor-specific infrastructure behavior. This standard defines a standard Application Programming Interface the scope of which is management of Fibre Channel and Serial Attached SCSI Host Bus Adapters and use of specific Fibre Channel and Serial Attached SCSI
4、facilities for the discovery and management of the components of Fibre Channel Storage Area Network and Serial Attached SCSI domain. This standard is to be used in conjunction with the Fibre Channel, Serial Attached SCSI and SCSI families of standards.Approval of an American National Standard requir
5、es review by ANSI that therequirements for due process, consensus, and other criteria for approval havebeen met by the standards developer.Consensus is established when, in the judgement of the ANSI Board ofStandards Review, substantial agreement has been reached by directly andmaterially affected i
6、nterests. Substantial agreement means much more thana simple majority, but not necessarily unanimity. Consensus requires that allviews and objections be considered, and that a concerted effort be madetowards their resolution.The use of American National Standards is completely voluntary; theirexiste
7、nce does not in any respect preclude anyone, whether he has approvedthe standards or not, from manufacturing, marketing, purchasing, or usingproducts, processes, or procedures not conforming to the standards.The American National Standards Institute does not develop standards andwill in no circumsta
8、nces give an interpretation of any American NationalStandard. Moreover, no person shall have the right or authority to issue aninterpretation of an American National Standard in the name of the AmericanNational Standards Institute. Requests for interpretations should beaddressed to the secretariat o
9、r sponsor whose name appears on the titlepage of this standard.CAUTION NOTICE: This American National Standard may be revised orwithdrawn at any time. The procedures of the American National StandardsInstitute require that action be taken periodically to reaffirm, revise, orwithdraw this standard. P
10、urchasers of American National Standards mayreceive current information on all standards by calling or writing the AmericanNational Standards Institute.American National StandardPublished byAmerican National Standards Institute, Inc.25 West 43rd Street, New York, NY 10036Copyright 2014 by Informatio
11、n Technology Industry Council (ITI)All rights reserved.No part of this publication may be reproduced in anyform, in an electronic retrieval system or otherwise,without prior written permission of ITI, 1101 K Street NW, Suite 610, Washington, DC 20005. Printed in the United States of AmericaCAUTION:
12、The developers of this standard have requested that holders of patents that may be re-quired for the implementation of the standard disclose such patents to the publisher. However, nei-ther the developers nor the publisher have undertaken a patent search in order to identify which, ifany, patents ma
13、y apply to this standard. As of the date of publication of this standard, followingcalls for the identification of patents that may be required for the implementation of the standard,notice of one or more such claims has been received. By publication of this standard, no positionis taken with respec
14、t to the validity of this claim or of any rights in connection therewith. The knownpatent holder(s) has (have), however, filed a statement of willingness to grant a license underthese rights on reasonable and nondiscriminatory terms and conditions to applicants desiring to ob-tain such a license. De
15、tails may be obtained from the publisher. No further patent search is con-ducted by the developer or publisher in respect to any standard it processes. No representation ismade or implied that this is the only license that may be required to avoid infringement in the use ofthis standard.iTable of Co
16、ntentsTopic PageForeword - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xviiiIntroduction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
17、xxii1 Scope - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 12 Normative References - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 42.1 Normative ref
18、erences - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 42.2 Approved references - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 42.3 References under development - - - - - - - - - -
19、 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 52.4 IETF references - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 52.5 Other references - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
20、- - - - - - - - - - - - - - - - - - - - - 63 Definitions, symbols, abbreviations, and conventions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 73.1 Definitions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7
21、3.2 Symbols and abbreviations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -123.3 Keywords - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -133.4 Conventions - - - - - - - - -
22、 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -133.5 Notation for Procedures and Functions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -144 General Constraints - - - - - - - - - - - - - - - - - - - - - - - - -
23、 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -154.1 Software Structure - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -154.2 Backwards Compatibility - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
24、- - - - - - - - - - - - - - -154.3 C language - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -154.4 Operating System Dependencies - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -165 Softwa
25、re Structure and Behavior - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -175.1 Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -175.2 Software Structure - - - - - - - - -
26、- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -175.2.1 OS specific structure - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -175.2.2 OS independent structure - - - - - - - - - - - - - - - - - - - - - -
27、 - - - - - - - - - - - - - - - - - - - - - - - - - - -175.3 Persistence of Identity - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -185.4 HBA Configuration Rediscovery Effect on the API - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
28、 - - - -185.4.1 Introduction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -185.4.2 HBA_STATUS_ERROR_STALE_DATA - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -195.4.3 Semistatic table model - - - - - -
29、- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -195.5 Multiuse considerations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -206 Attributes and Data Structures - - - - - - - - - - - - - - - - - - - - - -
30、 - - - - - - - - - - - - - - - - - - - - - - - - - - -216.1 Basic Attribute Types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -216.2 Status Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
31、- - - - - - - - - -226.3 Adapter Attributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -246.3.1 Generic Adapter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -246.3.1.1 Ge
32、neric Adapter Requirements - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -246.3.1.2 Generic Adapter Attribute Data Declarations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -246.3.1.3 Generic Adapter Attribute Specifications - - - - - - - -
33、- - - - - - - - - - - - - - - - - - - - - - - - - - - - -256.3.1.3.1 HBAHandle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -256.3.1.3.2 HBAOptions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
34、 - - - - - - - - - - - -256.3.1.3.3 Manufacturer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -256.3.1.3.4 SerialNumber - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -256.3.1.
35、3.5 Model - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -266.3.1.3.6 ModelDescription - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -26ii6.3.1.3.7 HardwareVersion - - - - -
36、 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -266.3.1.3.8 DriverVersion - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -266.3.1.3.9 OptionROMVersion - - - - - - - - - - - - - - - - - - - - -
37、- - - - - - - - - - - - - - - - - - - - - - - - - - - - -266.3.1.3.10 FirmwareVersion - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -266.3.1.3.11 VendorSpecificID - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
38、 - - - - - - - - -266.3.1.3.12 DriverName - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -266.3.1.3.13 HBASymbolicName - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -276.3.1.3.14 RedundantO
39、ptionROMVersion - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -276.3.1.3.15 RedundantFirmwareVersion - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -276.4 Adapter Bus Address - - - - - - - - - - - - - - - - - - - - - - - - - -
40、- - - - - - - - - - - - - - - - - - - - - - - - - - -276.4.1 Generic Adapter Bus Address - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -276.4.1.1 Generic Adapter Bus Address Requirements - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -27
41、6.4.1.2 Generic Adapter Bus Address Attribute Data Declarations - - - - - - - - - - - - - - - - - - - - - - - -276.4.1.3 Generic Adapter Bus Address Attribute Descriptions - - - - - - - - - - - - - - - - - - - - - - - - - - - -286.4.1.3.1 Type - - - - - - - - - - - - - - - - - - - - - - - - - - - -
42、- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -286.4.1.3.2 Address - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -286.4.2 PCI Adapter Bus Address Attributes - - - - - - - - - - - - - - - - - - - - - - - - - - - -
43、 - - - - - - - - - - - - -286.4.2.1 PCI Adapter Bus Address Requirements - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -286.4.2.2 PCI Adapter Bus Address Attribute Data Declarations - - - - - - - - - - - - - - - - - - - - - - - - - - -286.4.2.3 PCI Adapter Bus Address Attri
44、bute Specification - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -286.4.2.3.1 BusNumber - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -286.4.2.3.2 DeviceNumber - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
45、- - - - - - - - - - - - - - - - - - - - - - -286.4.2.3.3 FunctionNumber - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -286.5 Port Attributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
46、 - - - - - - -286.5.1 Generic Port - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -286.5.1.1 Generic Port Requirements - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -286.5.1.2 Generic Port
47、Attribute Data Declarations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -296.5.1.3 Generic Port Attribute Specifications - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -296.5.1.3.1 PortHandle - - - - - - - - - - - - - - - - - - - - - - - - -
48、 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -296.5.1.3.2 PortType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -296.5.1.3.3 PortState - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
49、- - - - - - - - - - - - - - - - - -306.5.1.3.4 OSDeviceName - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -306.5.1.3.5 PortSpecificAttributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -316.5.2 FC Port - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -316.5.2.1 FC Port Requirements - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -316.5.2.2 FC Port Attribute