1、American National StandardDeveloped byfor Information Technology iSCSI Management APIANSI INCITS 411-2007ANSIINCITS411-2007Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-Copyri
2、ght American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-ANSIINCITS 411-2007American National Standardfor Information Technology iSCSI Management APISecretariatInformation Technology Industry
3、CouncilApproved August 17, 2007American National Standards Institute, Inc.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 revi
4、ew 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 interest
5、s. 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; theirexistence doe
6、s 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 circumstances gi
7、ve 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 or spons
8、or 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. Purchase
9、rs 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 2006 by Information Techn
10、ology 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, 1250 Eye Street NW, Washington, DC 20005. Printed in the United States of AmericaCAUTION: The developers o
11、f this standard have requested that holders of patents that may berequired for the implementation of the standard 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 stan
12、dard. As of the date of publication of this standardand following calls for the identification of patents that 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 proc
13、esses. No representation is made or impliedthat licenses are not required to avoid infringement in the use of 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-,-,-iCont
14、entsPageForeword .viIntroduction .ix1 Scope. 12 References. 23 Document Conventions 33.1 API Description Format 34 Background Technical Information 44.1 Terms. 44.2 Concepts 75 Constants and Types. 155.1 IMA_WCHAR. 155.2 IMA_BYTE . 155.3 IMA_BOOL. 155.4 IMA_XBOOL 155.5 IMA_UINT 155.6 IMA_UINT16 155.
15、7 IMA_UINT32 155.8 IMA_UINT64 155.9 IMA_DATETIME 165.10 IMA_OBJECT_VISIBILITY_FN 175.11 IMA_OBJECT_PROPERTY_FN 185.12 IMA_OBJECT_TYPE. 195.13 IMA_STATUS 215.14 IMA_OID 255.15 IMA_OID_LIST. 265.16 IMA_NODE_NAME 275.17 IMA_NODE_ALIAS 285.18 IMA_IP_ADDRESS 295.19 IMA_HOST_NAME 305.20 IMA_HOST_ID. 315.2
16、1 IMA_TARGET_ADDRESS. 325.22 IMA_ADDRESS_KEY 335.23 IMA_ADDRESS_KEYS 345.24 IMA_STATIC_DISCOVERY_TARGET 35Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-iiPage5.25 IMA_DISCOVER
17、Y_ADDRESS_PROPERTIES. 365.26 IMA_STATIC_DISCOVERY_TARGET_PROPERTIES. 375.27 IMA_IP_PROPERTIES 385.28 IMA_LIBRARY_PROPERTIES 415.29 IMA_PLUGIN_PROPERTIES 425.30 IMA_NODE_PROPERTIES. 435.31 IMA_LHBA_PROPERTIES 455.32 Upper Level Protocol (ULP) Flags . 475.33 IMA_PHBA_PROPERTIES . 485.34 IMA_DISCOVERY_
18、PROPERTIES 515.35 IMA_PHBA_DOWNLOAD_IMAGE_TYPE 535.36 IMA_PHBA_DOWNLOAD_IMAGE_PROPERTIES. 545.37 IMA_ISNS_DISCOVERY_METHOD . 555.38 IMA_PHBA_DOWNLOAD_PROPERTIES 565.39 IMA_IPSEC_PROPERTIES 575.40 IMA_MIN_MAX_VALUE 585.41 IMA_BOOL_VALUE. 605.42 IMA_MAC_ADDRESS . 615.43 IMA_LNP_PROPERTIES 625.44 IMA_P
19、NP_PROPERTIES 635.45 IMA_PNP_STATISTICS 655.46 IMA_NETWORK_PORTAL_PROPERTIES 665.47 IMA_PHBA_STATUS 675.48 IMA_ NETWORK_PORT_STATUS. 685.49 IMA_TARGET_DISCOVERY_METHOD . 705.50 IMA_TARGET_PROPERTIES. 715.51 IMA_TARGET_ERROR_STATISTICS 735.52 IMA_LU_PROPERTIES. 755.53 IMA_DEVICE_STATISTICS 775.54 IMA
20、_STATISTICS_PROPERTIES 785.55 IMA_AUTHMETHOD . 795.56 IMA_CHAP_INITIATOR_AUTHPARMS 805.57 IMA_SRP_INITIATOR_AUTHPARMS. 825.58 IMA_KRB5_INITIATOR_AUTHPARMS. 835.59 IMA_SPKM_INITIATOR_AUTHPARMS 84Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo r
21、eproduction or networking permitted without license from IHS-,-,-iiiPage5.60 IMA_INITIATOR_AUTHPARMS 856 APIs 866.1 APIs by Category . 876.1.1 Library and Plugin APIs 876.1.2 Node APIs 876.1.3 Logical HBA APIs. 876.1.4 Physical HBA APIs. 896.1.5 Network Portal APIs . 896.1.6 Logical Network Port (LN
22、P) APIs . 896.1.7 Physical Network Port (PNP) APIs. 906.1.8 Target APIs 906.1.9 Logical Unit (LU) APIs 916.1.10 Miscellaneous APIs 916.2 APIs by Name 936.2.1 IMA_AddDiscoveryAddress . 956.2.2 IMA_AddStaticDiscoveryTarget . 976.2.3 IMA_DeregisterForObjectPropertyChanges 996.2.4 IMA_DeregisterForObjec
23、tVisibilityChanges . 1006.2.5 IMA_ExposeLu. 1016.2.6 IMA_FreeMemory 1036.2.7 IMA_GenerateNodeName 1046.2.8 IMA_GetAddressKeys 1056.2.9 IMA_GetAssociatedPluginOid 1066.2.10 IMA_GetDataPduInOrderProperties 1076.2.11 IMA_GetDataSequenceInOrderProperties. 1086.2.12 IMA_GetDefaultTime2RetainProperties. 1
24、096.2.13 IMA_GetDefaultTime2WaitProperties 1106.2.14 IMA_GetDeviceStatistics 1116.2.15 IMA_GetDiscoveryAddressOidList. 1136.2.16 IMA_GetDiscoveryAddressProperties 1156.2.17 IMA_GetDiscoveryProperties. 1166.2.18 IMA_GetErrorRecoveryLevelProperties. 1186.2.19 IMA_GetFirstBurstLengthProperties 1196.2.2
25、0 IMA_GetImmediateDataProperties 1206.2.21 IMA_GetInitialR2TProperties . 1216.2.22 IMA_GetInitiatorAuthParms . 1226.2.23 IMA_GetInUseInitiatorAuthMethods. 1246.2.24 IMA_GetIpProperties 1266.2.25 IMA_GetIpsecProperties 1276.2.26 IMA_GetLhbaOidList 1286.2.27 IMA_GetLhbaProperties. 1296.2.28 IMA_GetLib
26、raryProperties 1306.2.29 IMA_GetLnpOidList 1316.2.30 IMA_GetLnpProperties. 1326.2.31 IMA_GetLuOid . 1336.2.32 IMA_GetLuOidList 1356.2.33 IMA_GetLuProperties. 1376.2.34 IMA_GetMaxBurstLengthProperties 1386.2.35 IMA_GetMaxConnectionsProperties 1396.2.36 IMA_GetMaxOutstandingR2TProperties 140Copyright
27、American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-ivPage6.2.37 IMA_GetMaxRecvDataSegmentLengthProperties 1416.2.38 IMA_GetNetworkPortalOidList. 1426.2.39 IMA_GetNetworkPortalProperties 1436
28、.2.40 IMA_GetNetworkPortStatus. 1446.2.41 IMA_GetNodeProperties 1456.2.42 IMA_GetNonSharedNodeOidList. 1466.2.43 IMA_GetObjectType 1476.2.44 IMA_GetPhbaDownloadProperties 1486.2.45 IMA_GetPhbaOidList . 1496.2.46 IMA_GetPhbaProperties 1506.2.47 IMA_GetPhbaStatus 1516.2.48 IMA_GetPluginOidList . 1526.
29、2.49 IMA_GetPluginProperties 1536.2.50 IMA_GetPnpOidList . 1546.2.51 IMA_GetPnpProperties 1556.2.52 IMA_GetPnpStatistics 1566.2.53 IMA_GetSharedNodeOid. 1586.2.54 IMA_GetStaticDiscoveryTargetOidList 1596.2.55 IMA_GetStaticDiscoveryTargetProperties . 1616.2.56 IMA_GetStatisticsProperties 1626.2.57 IM
30、A_GetSupportedAuthMethods. 1636.2.58 IMA_GetTargetErrorStatistics 1656.2.59 IMA_GetTargetOidList . 1676.2.60 IMA_GetTargetProperties 1696.2.61 IMA_IsPhbaDownloadFile . 1706.2.62 IMA_LuInquiry 1716.2.63 IMA_LuReadCapacity 1746.2.64 IMA_LuReportLuns 1766.2.65 IMA_PhbaDownload 1796.2.66 IMA_PluginIOCtl
31、 1816.2.67 IMA_RegisterForObjectPropertyChanges . 1836.2.68 IMA_RegisterForObjectVisibilityChanges 1846.2.69 IMA_RemoveDiscoveryAddress 1856.2.70 IMA_RemoveStaleData . 1866.2.71 IMA_RemoveStaticDiscoveryTarget 1876.2.72 IMA_SetDataPduInOrder. 1886.2.73 IMA_SetDataSequenceInOrder . 1906.2.74 IMA_SetD
32、efaultGateway . 1926.2.75 IMA_SetDefaultTime2Retain . 1936.2.76 IMA_SetDefaultTime2Wait 1956.2.77 IMA_SetDnsServerAddress. 1976.2.78 IMA_SetErrorRecoveryLevel . 1996.2.79 IMA_SetFirstBurstLength. 2016.2.80 IMA_SetImmediateData. 2036.2.81 IMA_SetInitialR2T 2056.2.82 IMA_SetInitiatorAuthMethods 2066.2
33、.83 IMA_SetInitiatorAuthParms . 2086.2.84 IMA_SetIpConfigMethod 2106.2.85 IMA_SetIsnsDiscovery. 2126.2.86 IMA_SetMaxBurstLength. 2146.2.87 IMA_SetMaxConnections 2166.2.88 IMA_SetMaxRecvDataSegmentLength . 218Copyright American National Standards Institute Provided by IHS under license with ANSI Not
34、for ResaleNo reproduction or networking permitted without license from IHS-,-,-vPage6.2.89 IMA_SetMaxOutstandingR2T 2206.2.90 IMA_SetNetworkPortalIpAddress. 2226.2.91 IMA_SetNodeAlias. 2246.2.92 IMA_SetNodeName . 2266.2.93 IMA_SetSendTargetsDiscovery . 2286.2.94 IMA_SetSlpDiscovery 2306.2.95 IMA_Set
35、StaticDiscovery. 2326.2.96 IMA_SetStatisticsCollection . 2346.2.97 IMA_SetSubnetMask . 2366.2.98 IMA_UnexposeLu. 2377 Implementation Compliance. 2398 Notes 2408.1 Client Usage Notes 2408.2 Library Implementation Notes 2418.3 Plugin Implementation Notes . 241AnnexesA Device Names 244A.1 osDeviceName
36、Field of the IMA_LHBA_PROPERTIES Structure 244A.2 osDeviceName Field of the IMA_LU_PROPERTIES Structure . 244B Coding Examples. 245B.1 Example of Getting Library Properties . 246B.2 Example of Getting Plugin Properties 247B.3 Example of Getting an Associated Plugin ID . 248B.4 Example of Getting Nod
37、e Properties 249B.5 Example of Setting a Node Name 250B.6 Example of Getting LHBA Properties. 251B.7 Example of Getting PHBA Properties 252B.8 Example of Getting PHBA Discovery Properties 253B.9 Example of Getting/Setting LHBA Max Burst Length. 254B.10 Example of Getting all LUs of all Targets Visib
38、le to a System . 255Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-viForeword (This foreword is not part of American National Standard ANSI INCITS 411-2007.)This standard docum
39、ents an API that allows a management application to discoverand manage the iSCSI resources on a system. The API uses an architecture that al-lows multiple iSCSI HBAs, sometimes referred to as hardware initiators, and/or multi-ple iSCSI software initiators installed on a system to provide a common in
40、terface toclients of the library. This API can be used by host-based management applications.A client of the API should be able to move between platforms by simply recompiling.This standard includes two informative annexes, which are not considered part of thestandardRequests for interpretation, sug
41、gestions for improvement and addenda, or defect re-ports are welcome. They should be sent to the INCITS Secretariat, National Commit-tee for Information Technology Standards, Information Technology Institute, 1250Eye Street, NW, Suite 200, Washington, DC 20005-3922. This standard was processed and a
42、pproved for submittal to ANSI by the InterNation-al Committee for Information Technology Standards (INCITS). Committee approvalof the standard does not necessarily imply that all committee members voted for itsapproval. At the time it approved this standard, INCITS had the following members:Karen Hi
43、gginbottom, ChairJennifer Garner, SecretaryOrganization Represented Name of RepresentativeAIM Global Dan MullenCharles Biss (Alt.)Apple Computer, Inc. David MichaelElectronic Industries Alliance Edward Mikoski, Jr.David Thompson (Alt.)EMC Corporation Gary RobinsonFarance, Inc Frank FaranceTimothy Sc
44、hoechle (Alt.)GS1 US Frank SharkeyJames Chronowski (Alt.)Mary Wilson (Alt.)Hewlett-Packard Company. Karen HigginbottomSteve Mills (Alt.)Scott Jameson (Alt.)IBM Corporation . Ronald F. SillettiPeter Schirling (Alt.)IEEE . Judith GormanTerry DeCourcelle (Alt.)Bill Ash (Alt.)Jodi Haasz (Alt.)Bob Labell
45、e (Alt.)Intel. Philip WennblomDave Thewlis (Alt.)Jesse Walker (Alt.)Grace Wei (Alt.)Lexmark International . Don WrightDwight Lewis (Alt.)Paul Menard (Alt.)Microsoft Corporation . Jim HughesDon Stanwyck (Alt.)Isabelle Valet-Harper (Alt.)National Institute of Standards some implementations will have t
46、he ability to combine connections in a 5 Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-ANSI INCITS 411-2007 session across multiple Network Portals. A Portal Group defines a s
47、et of Network Portals within an iSCSI Network Entity that collectively supports the capability of coordinating a session with connections spanning these portals. Not all Network Portals within a Portal Group need participate in every session connected through that Portal Group. One or more Portal Gr
48、oups may provide access to an iSCSI Node. Each Network Portal, as utilized by a given iSCSI Node, belongs to exactly one portal group within that node. Portal Group Tag1This 16-bit quantity identifies the Portal Group within an iSCSI Node. All Network Portals with the same portal group tag in the co
49、ntext of a given iSCSI Node are in the same Portal Group. Primary Discovery Method A discovery method that does not depend upon any other discovery method to discover targets. iSNS target discovery, SLP target discovery, and static target discovery are all primary discovery methods. Secondary Discovery