1、American National StandardDeveloped byfor Information Technology Storage Management Host Bus AdapterApplication Programming Interface(SM-HBA)ANSI INCITS 428-2007ANSIINCITS428-2007Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or
2、networking permitted without license from IHS-,-,-Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-ANSIINCITS 428-2007American National Standardfor Information Technology Storage
3、 ManagementHost Bus AdapterApplication Programming Interface(SM-HBA)SecretariatInformation Technology Industry CouncilApproved February 1, 2007 American National Standards Institute, Inc.AbstractA standard Application Programming Interface defines a scope within which and a grammar by which it ispos
4、sible to write application software without attention to vendor-specific infrastructure behavior. Thisstandard defines a standard Application Programming Interface the scope of which is management ofFibre Channel and Serial Attached SCSI Host Bus Adapters and use of specific Fibre Channel and Serial
5、Attached SCSI facilities for the discovery and management of the components of Fibre Channel StorageArea Network and Serial Attached SCSI domain. This standard is to be used in conjunction with the Fibre Channel, Serial Attached SCSI and SCSIfamilies of standards.Copyright American National Standard
6、s Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-Approval of an American National Standard requires review by ANSI that therequirements for due process, consensus, and other criteria for approval havebeen met by th
7、e standards developer.Consensus is established when, in the judgement of the ANSI Board ofStandards Review, substantial agreement has been reached by directly andmaterially affected interests. Substantial agreement means much more thana simple majority, but not necessarily unanimity. Consensus requi
8、res that allviews and objections be considered, and that a concerted effort be madetowards their resolution.The use of American National Standards is completely voluntary; theirexistence does not in any respect preclude anyone, whether he has approvedthe standards or not, from manufacturing, marketi
9、ng, purchasing, or usingproducts, processes, or procedures not conforming to the standards.The American National Standards Institute does not develop standards andwill in no circumstances give an interpretation of any American NationalStandard. Moreover, no person shall have the right or authority t
10、o issue aninterpretation of an American National Standard in the name of the AmericanNational Standards Institute. Requests for interpretations should beaddressed to the secretariat or sponsor whose name appears on the titlepage of this standard.CAUTION NOTICE: This American National Standard may be
11、 revised orwithdrawn at any time. The procedures of the American National StandardsInstitute require that action be taken periodically to reaffirm, revise, orwithdraw this standard. Purchasers of American National Standards mayreceive current information on all standards by calling or writing the Am
12、ericanNational Standards Institute.American National StandardPublished byAmerican National Standards Institute, Inc.25 West 43rd Street, New York, NY 10036Copyright 2007 by Information Technology Industry Council (ITI)All rights reserved.No part of this publication may be reproduced in anyform, in a
13、n electronic retrieval system or otherwise,without prior written permission of ITI, 1250 Eye Street NW, Washington, DC 20005. Printed in the United States of AmericaCAUTION: The developers of this standard have requested that holders of patents that may berequired for the implementation of the stand
14、ard disclose such patents to the publisher. However,neither the developers nor the publisher have undertaken a patent search in order to identifywhich, if any, patents may apply to this standard. As of the date of publication of this standardand following calls for the identification of patents that
15、 may be required for the implementation ofthe standard, no such claims have been made. No further patent search is conducted by the de-veloper or publisher in respect to any standard it processes. No representation is made or impliedthat licenses are not required to avoid infringement in the use of
16、this standard.Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproducti
17、on or networking permitted without license from IHS-,-,-ContentsPageForeword xxviiIntroduction xxxiii1 Scope. 12 Normative References . 32.1 Normative references. 32.2 Approved references 32.3 References under development. 42.4 IETF references . 42.5 InfiniBandtmTrade Organization references 42.6 Ot
18、her references 43 Definitions, symbols, abbreviations, and conventions . 63.1 Definitions 63.2 Symbols and abbreviations 113.3 Keywords . 113.4 Conventions. 123.5 Notation for Procedures and Functions . 134 General Constraints. 144.1 Software Structure . 144.2 Backwards Compatibility with FC-HBA 154
19、.3 C language. 154.4 Operating System Dependencies 165 Software Structure and Behavior. 175.1 Overview 175.2 Software Structure . 175.2.1 OS specific structure 175.2.2 OS independent structure 175.3 Names, Handles and Their Usage. 185.4 HBA Configuration Rediscovery Effect on the API. . 195.4.1 Intr
20、oduction . 195.4.2 HBA_STATUS_ERROR_STALE_DATA . 195.4.3 Semistatic table model. 205.5 Multiuse considerations. 206 Attributes and Data Structures. 216.1 Basic Attribute Types. 21i6.2 Status Return Values. 21Copyright American National Standards Institute Provided by IHS under license with ANSI Not
21、for ResaleNo reproduction or networking permitted without license from IHS-,-,-Page6.3 SM-HBA Adapter Attributes. 246.3.1 Generic Adapter Attribute 246.3.2 Generic Adapter Attribute Specifications . 246.3.2.1 Compliance 246.3.2.2 Manufacturer 246.3.2.3 SerialNumber. 246.3.2.4 Model . 256.3.2.5 Model
22、Description . 256.3.2.6 HardwareVersion . 256.3.2.7 DriverVersion . 256.3.2.8 OptionROMVersion 256.3.2.9 FirmwareVersion 256.3.2.10 VendorSpecificID . 256.3.2.11 DriverName 256.3.2.12 HBASymbolicName . 266.3.2.13 RedundantOptionROMVersion 266.3.2.14 RedundantFirmwareVersion 266.4 SM-HBA Port Attribu
23、tes. . 266.4.1 Generic Port Attribute Data Declarations. 266.4.1.1 Port Type . 266.4.1.2 Port State. 276.4.2 Generic Port Attributes 276.4.3 Generic Port Attribute Specifications . 276.4.3.1 Compliance 276.4.3.2 PortType 276.4.3.3 PortState 276.4.3.4 OSDeviceName . 276.4.3.5 PortSpecificAttribute 28
24、6.4.4 SMHBA FC Port Attribute Data Declarations. 286.4.4.1 Class of Service. 286.4.4.2 FC-4 Types 296.4.5 SMHBA FC Port Attributes 296.4.6 SMHBA FC Port Attribute Specifications . 296.4.6.1 Compliance 296.4.6.2 NodeWWN. 296.4.6.3 PortWWN. 296.4.6.4 FcId 296.4.6.5 PortSupportedClassofService 296.4.6.
25、6 PortSupportedFc4Types 306.4.6.7 PortActiveFc4Types. 306.4.6.8 FabricName . 306.4.6.9 PortSymbolicName 306.4.6.10 NumberofDiscoveredPorts. 306.4.6.11 NumberofPhys . 306.4.7 SMHBA SAS Port Attribute Data Declarations 316.4.7.1 HBA_SASPortProtocol 316.4.8 SMHBA SAS Port Attributes 316.4.9 SMHBA SAS P
26、ort Attribute Specifications. 316.4.9.1 Compliance 316.4.9.2 PortProtocol . 31ii6.4.9.3 LocalSASAddress 31Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-Page6.4.9.4 AttachedSAS
27、Address. 316.4.9.5 NumberofDiscoveredPorts . 316.4.9.6 NumberofPhys . 326.5 SM-HBA Phy Attributes 326.5.1 SM-HBA FC Phy Attribute Data Declaration 326.5.1.1 FC Phy Speed 326.5.1.2 SM-HBA FC Phy Type . 326.5.2 SM-HBA FC Phy Attributes 326.5.3 SM-HBA FC Phy Attribute Specifications. 326.5.3.1 Complian
28、ce 326.5.3.2 PhySupportedSpeed 336.5.3.3 PhySpeed. 336.5.3.4 PhyType. 336.5.3.5 MaxFrameSize. 336.5.4 SM-HBA SAS PHY Attribute Data Declaration 336.5.5 SM-HBA SAS Phy Attribute . 336.5.6 SM-HBA SAS Phy Attribute Specifications 346.5.6.1 Compliance 346.5.6.2 PhyIdentifier . 346.5.6.3 NegotiatedLinkRa
29、te 346.5.6.4 ProgrammedMinLinkRate 346.5.6.5 HardwareMinLinkRate 346.5.6.6 ProgrammedMaxLinkRate . 346.5.6.7 HardwareMaxLinkRate. 346.5.6.8 domainPortWWN . 346.6 SM-HBA Statistics 346.6.1 SM-HBA Protocol Statistics 346.6.1.1 SM-HBA Protocol Statistics Data Declarations 346.6.1.2 SM-HBA Protocol Stat
30、istics Attribute Specifications 356.6.1.2.1 Compliance 356.6.1.2.2 SecondsSinceLastReset 356.6.1.2.3 InputRequests 356.6.1.2.4 OutputRequests . 356.6.1.2.5 ControlRequests 356.6.1.2.6 InputMegabytes 356.6.1.2.7 OutputMegabytes. 356.6.2 SM-HBA Phy Statistics. 366.6.2.1 SM-HBA Phy Statistics Data Decl
31、aration. 366.6.2.2 SM-HBA SAS Phy Statistics Data Declaration. 366.6.2.3 SM-HBA SAS Phy Statistics Attribute Specifications. 366.6.2.3.1 Compliance 366.6.2.3.2 SecondsSinceLastReset 366.6.2.3.3 TxFrames. 366.6.2.3.4 TxWords. 366.6.2.3.5 RxFrames. 366.6.2.3.6 RxWords 376.6.2.3.7 InvalidDwordCount. 37
32、6.6.2.3.8 RunningDisparityErrorCount 376.6.2.3.9 LossofDwordSynchronizationCount. 376.6.2.3.10 PhyResetProblemCount 37iii6.6.2.4 SM-HBA FC Phy Statistics Data Declaration . 38Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or netw
33、orking permitted without license from IHSPage6.6.2.5 SM-HBA FC Phy Statistics Attribute Specifications. 386.6.2.5.1 Compliance 386.6.2.5.2 SecondsSinceLastReset 386.6.2.5.3 TxFrames. 386.6.2.5.4 RxFrames 386.6.2.5.5 TxWords 386.6.2.5.6 RxWords 396.6.2.5.7 LIPCount 396.6.2.5.8 NOSCount . 396.6.2.5.9
34、ErrorFrames. 396.6.2.5.10 DumpedFrames 396.6.2.5.11 LinkFailureCount. 396.6.2.5.12 LossOfSyncCount . 396.6.2.5.13 LossOfSignalCount . 396.6.2.5.14 PrimitiveSeqProtocolErrCount 396.6.2.5.15 InvalidTxWordCount 396.6.2.5.16 Invalid CRC Count 406.7 SM-HBA Target Port Attributes 406.7.1 Target Port Attri
35、bute Data Declaration. 406.7.1.1 SMHBA_BIND_CAPABILITY. 406.7.1.2 SMHBA_BIND_TYPE 406.7.1.3 SMHBA_ScsiId 406.7.1.4 SMHBA_LUID 406.7.1.5 SMHBA_PORTLUN. 406.7.1.6 Composite types 416.7.2 Target Mapping and Persistent Binding Attribute Specifications 416.7.2.1 Overview 416.7.2.2 SMHBA_BIND_CAPABILITY.
36、416.7.2.3 SMHBA_BIND_TYPE 426.7.2.4 SMHBA_SCSIID 426.7.2.5 SMHBA_LUID 426.7.2.6 PortWWN. 426.7.2.7 domainPortWWN . 436.7.2.8 TargetLun 436.7.2.9 OSDeviceName . 436.7.2.10 ScsiBusNumber . 446.7.2.11 ScsiTargetNumber. 456.7.2.12 ScsiOSLun. 456.7.3 Persistent Binding Capabilities 456.7.3.1 Persistent B
37、inding Capability: SMHBA_CAN_BIND_TO_WWPN 456.7.3.2 Persistent Binding Capability: SMHBA_CAN_BIND_TO_LUID456.7.3.3 Persistent Binding Capability: SMHBA_CAN_BIND_ANY_LUNS 456.7.3.4 Persistent Binding Capability: SMHBA_CAN_ BIND_AUTOMAP 466.7.4 Persistent Binding Setting Types. 466.7.4.1 Persistent Bi
38、nding Type: SMHBA_BIND_TO_WWPN. 466.7.4.2 Persistent Binding Type: SMHBA_BIND_TO_LUID 466.8 SM-HBA Asynchronous Event Notification Attributes 466.8.1 Asynchronous Event Data Declarations 466.8.1.1 Callback Handle. 466.8.1.2 HBA Add Category Event Type . 46iv6.8.1.3 HBA Category Event Types. 47-,-,-C
39、opyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-Page6.8.1.4 Port Category Event Types 476.8.1.5 Port Statistics Category Event Types. 476.8.1.6 Phy Statistics Category Event Type
40、s. 476.8.1.7 Target Category Event Types 476.8.1.8 Link Category Event Types 476.8.2 Asynchronous Event Attribute Specifications. 486.8.2.1 EventType 486.9 SM-HBA Library Attributes. 496.9.1 Library Attribute Data Declarations 496.9.2 SM-HBA Function Prototypes 496.9.3 SM-HBA Entry Point Data Declar
41、ations . 516.9.4 SM-HBA Entry Point Specifications . 526.9.5 SM-HBA Library Attribute Data Declarations . 526.9.6 SM-HBA Library Attribute Specifications 526.9.6.1 Compliance 526.9.6.2 LibPath. 526.9.6.3 VName . 536.9.6.4 VVersion. 536.9.6.5 build_date. 536.10 FC-HBA HBA Attributes. 536.10.1 HBA Att
42、ribute Data Declarations 536.10.2 HBA Attribute Specifications 536.10.2.1 Compliance 536.10.2.2 Manufacturer 536.10.2.3 SerialNumber . 546.10.2.4 Model . 546.10.2.5 ModelDescription . 546.10.2.6 NodeWWN . 546.10.2.7 NodeSymbolicName 546.10.2.8 HardwareVersion . 546.10.2.9 DriverVersion . 546.10.2.10
43、 OptionROMVersion 556.10.2.11 FirmwareVersion 556.10.2.12 VendorSpecificID . 556.10.2.13 NumberOfPorts 556.10.2.14 DriverName 556.11 FC-HBA FC_Port Attributes. 556.11.1 FC_Port Attribute Data Declarations 556.11.1.1 Port Type 556.11.1.2 Port State . 566.11.1.3 Port Speed . 566.11.1.4 Class of Servic
44、e . 566.11.1.5 FC-4 Types 566.11.1.6 FC_Port Attributes 576.11.2 FC_Port Attribute Specifications 576.11.2.1 Compliance 576.11.2.2 NodeWWN . 576.11.2.3 PortWWN . 576.11.2.4 PortSymbolicName 57v6.11.2.5 PortFcId 57Copyright American National Standards Institute Provided by IHS under license with ANSI
45、 Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-Page6.11.2.6 PortType 576.11.2.7 PortState 586.11.2.8 PortSupportedClassofService 586.11.2.9 PortSupportedFc4Types 586.11.2.10 PortActiveFc4Types. 586.11.2.11 PortSupportedSpeed . 586.11.2.12 PortSpeed 586.11.2.13 Po
46、rtMaxFrameSize 586.11.2.14 OSDeviceName . 596.11.2.15 NumberofDiscoveredPorts. 596.11.2.16 FabricName . 596.12 FC-HBA End Port Statistics. . 606.12.1 End Port Statistics Data Declarations 606.12.2 End Port Statistics Attribute Specifications 606.12.2.1 Compliance 606.12.2.2 SecondsSinceLastReset 606
47、.12.2.3 TxFrames. 606.12.2.4 RxFrames 616.12.2.5 TxWords 616.12.2.6 RxWords 616.12.2.7 LIPCount 616.12.2.8 NOSCount . 616.12.2.9 ErrorFrames. 616.12.2.10 DumpedFrames . 616.12.2.11 LinkFailureCount 616.12.2.12 LossOfSyncCount 616.12.2.13 LossOfSignalCount 616.12.2.14 PrimitiveSeqProtocolErrCount . 6
48、16.12.2.15 InvalidTxWordCount 626.12.2.16 Invalid CRC Count . 626.12.2.17 InputRequests 626.12.2.18 OutputRequests. 626.12.2.19 ControlRequests 626.12.2.20 InputMegabytes . 626.12.2.21 OutputMegabytes 626.13 FC-HBA FCP_Port Attributes (see FCP-3) 626.13.1 FCP_Port Attribute Data Declarations . 626.13.1.1 HBA_FCPBINDINGTYPE 626.13.1.2 HBA_BIND_CAPABILITY 626.13.1.3 HBA_BIND_TYPE . 636.13.1.4 HBA_LUID . 636.13.1.5 HBA_ScsiId 636.13.1.6 HBA_FcpId 636.13.1.7 Composite types 636.13.2 Target Mapping and Persistent Binding Attribute Specifications 646.13.2.1 Overview 646.13.2.2 HBA_FCPBINDINGTYPE 65