1、American National StandardDeveloped byfor Information Technology Fabric ApplicationInterface Standard(FAIS-2)INCITS 449-2008INCITS 449-2008Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license fro
2、m IHS-,-,-Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-INCITS 449-2008American National Standardfor Information Technology Fabric ApplicationInterface Standard(FAIS-2)Secreta
3、riatInformation Technology Industry CouncilApproved December 19, 2008American National Standards Institute, Inc.AbstractThis standard defines an API by which a storage application may perform the functions of one or moreSCSI Targets or Initiators, and control high-performance command/data forwarding
4、 and manipulation fa-cilities.Copyright American National Standards 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 proc
5、ess, 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 interests. Substantial agreement means much more tha
6、na 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; theirexistence does not in any respect preclude anyone, whethe
7、r 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 circumstances give an interpretation of any American Nationa
8、lStandard. 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 or sponsor whose name appears on the titlepage of th
9、is 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. Purchasers of American National Standards mayreceive
10、 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 2009 by Information Technology Industry Council (ITI)All rights reser
11、ved.No part of this publication may be reproduced in anyform, in an 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
12、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 may apply to this standard. As of the date of publication of t
13、his 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 respect to the validity of this claim or of any rights in connecti
14、on 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. Details may be obtained from the publisher. No further patent
15、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.Copyright American National Standards Institute Provided by IHS under li
16、cense with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-iContentsPageForeword viii1 Scope 12 Normative References 22.1 Overview 22.2 Approved references 22.3 References under development . 22.4 Other References . 33 Definitions and conventions . 43.1 Overvi
17、ew 43.2 Definitions 43.3 Editorial Conventions . 63.4 Abbreviations and acronyms 73.5 Notation for Procedures and Functions . 83.6 Enumeration Lists 83.7 Notation Conventions . 93.7.1 aggregation 93.7.2 association. 93.7.3 attribute 93.7.4 constraint . 93.7.5 class. 93.7.6 dependency . 93.7.7 genera
18、lization. 93.7.8 multiplicity 93.7.9 object . 93.7.10 operation 93.7.11 role. 93.7.12 Class diagram conventions. 93.8 Keywords . 143.9 T10 Vendor ID fields 154 Operational Model 164.1 Overview 164.2 Operational Layering 174.3 Client/Provider Model . 184.4 Service Groups 184.4.1 Overview 184.4.2 Gene
19、ral Services . 184.4.3 Port Services 184.4.4 Front-end Services . 194.4.5 Back-end Services . 194.4.6 Volume Management Services 19Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-
20、,-iiPage4.5 Framework . 194.5.1 Function Call Type . 194.5.2 Requests and Completions 194.5.3 Function Parameter Block . 204.6 Events and Notifications 205 Object Model 215.1 Overview 215.2 Model . 225.3 Meta-Attributes 235.3.1 Description . 235.3.2 Attributes 235.3.3 Relationships . 235.3.4 Handles
21、 235.3.5 Identifiers . 255.4 Objects . 265.4.1 BI . 265.4.2 BIT . 265.4.3 BITL . 275.4.4 BITLSetEntry . 275.4.5 BITLSetVDEV 285.4.6 BlockRange . 285.4.7 Column 285.4.8 ConcatenatedVDEV . 295.4.9 FAIS_Portal . 295.4.10 FIT . 305.4.11 FITL . 305.4.12 FLUVDEV 315.4.13 FT 315.4.14 Mirror . 315.4.15 Mirr
22、oredVDEV 325.4.16 StripedVDEV 325.4.17 VDEV . 335.4.18 XMapEntry . 335.4.19 XMapVDEV 346 General Services 356.1 Overview 356.2 Constants . 356.3 Data Structures 376.3.1 FAIS_ObjectType 376.3.2 fais_ClientRequest_Header . 376.3.3 FAIS_ObjectCHandle 386.3.4 FAIS_ObjectPHandle . 396.3.5 FAIS_ClientCHan
23、dle 396.3.6 FAIS_ClientPHandle 396.3.7 FAIS_HandleSet 396.3.8 FAIS_LUN 406.3.9 FAIS_Status . 40Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-iiiPage6.3.10 FAIS_ProviderInfo 42
24、6.3.11 FAIS_EnumerationFilter . 426.3.12 FAIS_IO_Stats_T . 436.4 Function Calls 436.4.1 fais_Init . 436.4.2 fais_Deinit 446.4.3 fais_Object_Enumerate 456.4.4 fais_ObjectHandle_Update 466.4.5 fais_Get_IO_Stats 477 Port Services 487.1 Overview 487.2 Constants . 487.3 Data Structures 487.3.1 FAIS_Proto
25、col 487.3.2 FAIS_IPVERSION 497.3.3 FAIS_PortName_FCP 497.3.4 FAIS_PortName_ISCSI 507.3.5 FAIS_PortName . 507.3.6 FAIS_RegionId . 517.3.7 FAIS_Portal 517.3.8 FAIS_Portal_id_FCP 517.3.9 FAIS_Portal_id_ISCSI 527.3.10 FAIS_Portal_id . 527.4 Function Calls 537.4.1 fais_Region_Enumerate . 537.4.2 fais_Reg
26、ion_GetStatus 547.4.3 fais_Region_GetDetail . 557.4.4 fais_Region_SetDetail 567.4.5 fais_Portal_Create . 577.4.6 fais_Portal_Destroy 587.4.7 fais_Portal_GetStatus 598 Front-end Services . 618.1 Overview 618.2 Data Structures 618.2.1 FAIS_FT . 618.2.2 FAIS_FIT 618.2.3 FAIS_FITL 628.2.4 FAIS_FITLPermi
27、ssion 628.3 Function Calls 638.3.1 fais_FT_Create 638.3.2 fais_FT_Destroy . 648.3.3 fais_FT_Activate 658.3.4 fais_FT_Deactivate 668.3.5 fais_FT_GetStatus . 678.3.6 fais_FIT_Create . 688.3.7 fais_FIT_Destroy 688.3.8 fais_FIT_GetStatus 69Copyright American National Standards Institute Provided by IHS
28、under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-ivPage8.3.9 fais_FITL_Create . 708.3.10 fais_FITL_Destroy . 718.3.11 fais_FITL_UpdatePermission 718.3.12 fais_FITL_AbortIOs 728.3.13 fais_FITL_GetStatus 739 Back-end Services . 749.1 Overview 7
29、49.2 Data Structures 749.2.1 FAIS_BI . 749.2.2 FAIS_BIT . 749.2.3 FAIS_SCSI_CDB . 759.2.4 FAIS_SCSIFlag . 759.2.5 FAIS_SCSIStatus 759.2.6 FAIS_ResidualFlag 769.2.7 FAIS_TaskMgmtCmd 769.2.8 FAIS_TaskAttribute 779.2.9 FAIS_TaskMgmtResponse 779.2.10 FAIS_BITL . 789.2.11 FAIS_SCSI_SCB . 799.3 Function C
30、alls 809.3.1 fais_BI_Create . 809.3.2 fais_BI_Destroy . 819.3.3 fais_BI_Activate . 829.3.4 fais_BI_Deactivate . 829.3.5 fais_BI_SendSCSICommand 839.3.6 fais_BI_GetStatus 849.3.7 fais_BIT_Create . 859.3.8 fais_BIT_Destroy . 869.3.9 fais_BIT_SendSCSICommand 869.3.10 fais_BIT_GetStatus 879.3.11 fais_BI
31、TL_Create . 889.3.12 fais_BITL_Destroy . 899.3.13 fais_BITL_SendSCSICommand 899.3.14 fais_BITL_GetStatus 9010 Volume Management Services 9210.1 Overview 9210.2 Data Structures 9210.2.1 FAIS_BITLSetPathPolicy . 9210.2.2 FAIS_VDEV_ATTRIB_MASK 9310.2.3 FAIS_VDEV . 9410.2.4 FAIS_FLU 9410.2.5 FAIS_Concat
32、enatedVDEV . 9510.2.6 FAIS_VDEVType . 9510.2.7 FAIS_MirroredVDEV_ReadPolicy . 9610.2.8 FAIS_MirroredVDEV_WritePolicy 9610.2.9 FAIS_XMapPermission 9710.2.10 FAIS_XMAP_HINT 9810.2.11 FAIS_StripedVDEV 99Copyright American National Standards Institute Provided by IHS under license with ANSI Not for Resa
33、leNo reproduction or networking permitted without license from IHS-,-,-vPage10.2.12 FAIS_MirroredVDEV 9910.2.13 FAIS_XMapVDEV 9910.2.14 FAIS_BITLSetVDEV 10010.2.15 FAIS_VDEVParam . 10010.2.16 FAIS_Column . 10110.2.17 FAIS_Mirror 10110.2.18 FAIS_BlockRange 10210.2.19 FAIS_XMapEntry . 10210.2.20 FAIS_
34、BITLSetEntry 10310.2.21 FAIS_ChildVDEVParam . 10410.3 Function Calls 10410.3.1 fais_VDEV_Create . 10410.3.2 fais_VDEV_Destroy . 10510.3.3 fais_VDEV_Update 10610.3.4 fais_VDEV_AddChildren 10710.3.5 fais_VDEV_RemoveChildren . 10810.3.6 fais_VDEV_Quiesce . 10910.3.7 fais_VDEV_Resume 10910.3.8 fais_VDEV
35、_Copy . 11010.3.9 fais_VDEV_GetStatus 11111 Event Services 11311.1 Overview 11311.2 Common Data Structures . 11311.2.1 FAIS_ServiceGroup . 11311.2.2 FAIS_EventHandle . 11411.2.3 FAIS_EventType 11511.3 Event and Notification Data Structures 11611.3.1 FAIS_IOContext . 11611.3.2 FAIS_IOExceptionFlag_t
36、11611.3.3 FAIS_IOStatus_t 11711.3.4 FAIS_SCNType_t . 11711.3.5 FAIS_LoginEventType . 11811.3.6 FAIS_LogoutEventType . 11911.3.7 FAIS_VDEVStatus_T . 11911.4 Event and Notification Definitions 12011.4.1 FAIS_EventLogin . 12011.4.2 FAIS_EventLogout . 12011.4.3 FAIS_EventSCSICommand . 12111.4.4 FAIS_Eve
37、ntTMCommand 12211.4.5 FAIS_EventIOException 12211.4.6 FAIS_EventMapFault . 12311.4.7 FAIS_NotifCommandAbort . 12311.4.8 FAIS_NotifSCN 12411.5 Event Response Data Structures . 12411.5.1 FAIS_SCSIRspSet . 12411.5.2 FAIS_LogInOutResp 12511.5.3 FAIS_IOResolution 12511.5.4 FAIS_EventRespSendSCSIData . 12
38、6Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-viPage11.5.5 FAIS_RequestWriteData . 12611.5.6 FAIS_EventRespRequestWriteData 12711.5.7 FAIS_EventRespIO . 12711.5.8 FAIS_EventR
39、espTMCommand . 12811.5.9 FAIS_iSCSIRspSet 12811.5.10 FAIS_iSCSIFlags . 12911.6 Event Delivery and Resolution . 13011.6.1 FAIS_Event_Delivery . 13011.6.2 fais_Event_RegisterHandler 13111.6.3 fais_Event_Resolve . 132Tables1 ISO and American Conventions 72 Multiplicity Notation 113 General Services Con
40、stants 364 Valid Timeout Values. 385 APIVersion Values. 426 FAISEnumerationFilter_T values. 427 fais_Init Flag bits 448 fais_Deinit Flag Bits . 459 Port Services Constants 4810 fais_Portal_Create flags 5711 fais_FT_Create flags . 6312 fais_BI_Create flags 8013 FAIS_BITLSetPathPolicy_T Policy values.
41、 9214 FAIS_VDEV_ATTRIB_MASK_T values 9315 FAIS_MirroredVDEV_ReadPolicy_T values 9616 FAIS_MirroredVDEV_WritePolicy_T values 9617 FAIS_XMAPHINT_T values. 9818 Event Mapping. 11519 Notification Mapping 11520 Event/Notification mapping 13021 Event/Event Structure mapping . 132A.1 FAIS Naming Convention
42、s 133Figures1 Class Diagram Conventions 102 Notation for Association Relationships for Class Diagrams. 123 Notation for Aggregation Relationships for Class Diagrams 13Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking p
43、ermitted without license from IHS-,-,-viiPage4 Notation for Generalization Relationships for Class Diagrams 145 Operational Layering 176 Object Model 227 FAIS Provider and FAIS Client interaction via FAIS API 1138 Login Event Example . 121AnnexesA Naming Conventions . 133A.1 Overview 133B Implementa
44、tion Recommendations . 134C iSCSI Assumptions and Exclusions 135C.1 Assumptions . 135C.2 Exclusions 135Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-viiiForeword (This forewor
45、d is not part of American National Standard INCITS 449-2008.)This standard defines an API by which a storage application may perform the func-tions of one or more SCSI Targets or Initiators, and control high-performance com-mand/data forwarding and manipulation facilities.This standard was developed
46、 by Task Group T11 of Accredited Standards Commit-tee INCITS during 2003-2006. The standards approval process started in 2006. Thisdocument includes annexes that are informative and are not considered part of thestandard.Requests for interpretation, suggestions for improvements or addenda, or defect re-ports are welcome. They should be sent to the INCITS Secretariat, Information Tech-nology Industry Council, 1250 Eye Street, NW, Suite 200, Washington, DC 20005-3922.This standard was processed and approved for submittal to AN