1 karl 1.1 // ===================================================================
2 // Title: Network iSCSI
3 // $State: Preliminary $
4 // $Date: 2004/07/15 21:32:36 $
5 // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Network_iSCSI.mof,v $
6 // $Revision: 1.7 $
7 // ===================================================================
8 //#pragma inLine ("Includes/copyright.inc")
9 // Copyright 1998-2004 Distributed Management Task Force, Inc. (DMTF).
10 // All rights reserved.
11 // DMTF is a not-for-profit association of industry members dedicated
12 // to promoting enterprise and systems management and interoperability.
13 // DMTF specifications and documents may be reproduced for uses
14 // consistent with this purpose by members and non-members,
15 // provided that correct attribution is given.
16 // As DMTF specifications may be revised from time to time,
17 // the particular version and release date should always be noted.
18 //
19 // Implementation of certain elements of this standard or proposed
20 // standard may be subject to third party patent rights, including
21 // provisional patent rights (herein "patent rights"). DMTF makes
22 karl 1.1 // no representations to users of the standard as to the existence
23 // of such rights, and is not responsible to recognize, disclose, or
24 // identify any or all such third party patent right, owners or
25 // claimants, nor for any incomplete or inaccurate identification or
26 // disclosure of such rights, owners or claimants. DMTF shall have no
27 // liability to any party, in any manner or circumstance, under any
28 // legal theory whatsoever, for failure to recognize, disclose, or
29 // identify any such third party patent rights, or for such party's
30 // reliance on the standard or incorporation thereof in its product,
31 // protocols or testing procedures. DMTF shall have no liability to
32 // any party implementing such standard, whether such implementation
33 // is foreseeable or not, nor to any patent owner or claimant, and shall
34 // have no liability or responsibility for costs or losses incurred if
35 // a standard is withdrawn or modified after publication, and shall be
36 // indemnified and held harmless by any party implementing the
37 // standard from any and all claims of infringement by a patent owner
38 // for such implementations.
39 //
40 // For information about patents held by third-parties which have
41 // notified the DMTF that, in their opinion, such patent may relate to
42 // or impact implementations of DMTF standards, visit
43 karl 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
44 //#pragma inLine
45 // ===================================================================
46 // Description: The iSCSI Model defines the classes related to
47 // management
48 // of iSCSI objects.
49 //
50 // The object classes below are listed in an order that
51 // avoids forward references. Required objects, defined
52 // by other working groups, are omitted.
53 // ==================================================================
54 // Change Log for v2.9 Preliminary Company Review
55 // CR1465 - Corrected compile errors and warnings. System_FileServices.mof
56 // was moved to CIM_Schema.mof to resolve compile order issues.
57 //
58 // Change Log for v2.9 Preliminary, initial release
59 //
60 // ==================================================================
61 //
62 // ===================================================================
63
64 karl 1.1 #pragma Locale ("en_US")
65
66
67
68 // ==================================================================
69 // iSCSICapabilities
70 // ==================================================================
71
72 [Experimental, Version ( "2.8.1000" ), Description (
73 "The capabilites for an iSCSI Network Entity. An instance of "
74 "this class will be associated by ElementCapabilities to a "
75 "instance of ComputerSystem that represents the Network Entity. "
76 "These capability properties are associated to a Network "
77 "Entity/ComputerSystem since they affect all login negotiations "
78 "on all iSCSI ProtocolEndpoints aggregated to the system.")]
79 class CIM_iSCSICapabilities : CIM_Capabilities {
80
81 [Description (
82 "The minimum version number of the iSCSI specification such "
83 "that this iSCSI instance supports this minimum value, the "
84 "maximum value indicated by the corresponding property "
85 karl 1.1 "MaximumSpecificationVersionSupported, and all versions in "
86 "between."),
87 MinValue ( 0 ), MaxValue ( 255 ),
88 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiInstVersionMin" },
89 ModelCorrespondence {
90 "CIM_iSCSICapabilities.MaximumSpecificationVersionSupported",
91 "CIM_iSCSIConnection.ActiveiSCSIVersion" }]
92 uint8 MinimumSpecificationVersionSupported;
93
94 [Description (
95 "The maximum version number of the iSCSI specification such "
96 "that this iSCSI instance supports this maximum value, the "
97 "minimum value indicated by the corresponding property "
98 "MinimumSpecificationVersionSupported, and all versions in "
99 "between."),
100 MinValue ( 0 ), MaxValue ( 2555 ),
101 MappingStrings { "MIB.IETF|ISCSI-MIB.iscsiInstVersionMax" },
102 ModelCorrespondence {
103 "CIM_iSCSICapabilities.MinimumSpecificationVersionSupported",
104 "CIM_iSCSIConnection.ActiveiSCSIVersion" }]
105 uint8 MaximumSpecificationVersionSupported;
106 karl 1.1
107 [Description (
108 "An array containing a list of authentication methods "
109 "supported by this Network Entity."),
110 ValueMap { "2", "3", "4", "5" },
111 Values { "(None", "SRP", "CHAP", "Kerberos" },
112 MappingStrings { "MIB.IETF|IPS-AUTH-MIB.ipsAuthCredAuthMethod"
113 }, ArrayType ( "Indexed" ),
114 ModelCorrespondence {
115 "CIM_iSCSISession.AuthenticationMethodUsed" }]
116 uint16 AuthenticationMethodsSupported[];
117
118 };
119
120
121 // ==================================================================
122 // iSCSISessionSettings
123 // ==================================================================
124 [Experimental, Version ( "2.8.1000" ), Description (
125 "The default negotiation settings for an iSCSI Session. These "
126 "properties are used as the starting position for login "
127 karl 1.1 "negotiations between initiator and target nodes. The "
128 "properties describing the resulting outcome of the login "
129 "negotiation are in the iSCSISession class. Depending on a "
130 "given implementation an instance of iSCSISessionSettings will "
131 "be associated by ElementSettingData to one or more instances "
132 "of iSCSIProtocolEndpoint, SCSIProtocolController, or "
133 "ComputerSystem.")]
134 class CIM_iSCSISessionSettings : CIM_SettingData {
135
136 [Write, Description (
137 "The maximum number of connections allowed in each session "
138 "to and/or from this node."),
139 MinValue ( 1 ), MaxValue ( 65535 ),
140 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiNodeMaxConnections" },
141 ModelCorrespondence { "CIM_iSCSISession.CurrentConnections" }]
142 uint32 MaxConnectionsPerSession = 1;
143
144 [Write, Description (
145 "This property indicates the InitialR2T preference for this "
146 "node: true = YES, false = will try to negotiate NO, will "
147 "accept YES."),
148 karl 1.1 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiNodeInitialR2T" },
149 ModelCorrespondence { "CIM_iSCSISession.InitialR2T" }]
150 boolean InitialR2TPreference = true;
151
152 [Write, Description (
153 "This property indicates ImmediateData preference for this "
154 "node True = YES (but will accept NO), False = NO."),
155 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiNodeImmediateData" },
156 ModelCorrespondence { "CIM_iSCSISession.ImmediateData" }]
157 boolean ImmediateDataPreference = true;
158
159 [Write, Description (
160 "Maximum number of outstanding R2Ts allowed per ISCSI task."),
161 MinValue ( 1 ), MaxValue ( 65535 ),
162 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiNodeMaxOutstandingR2T"
163 },
164 ModelCorrespondence { "CIM_iSCSISession.MaxOutstandingR2T" }]
165 uint32 MaxOutstandingR2T = 1;
166
167 [Write, Description (
168 "The maximum length (bytes) supported for unsolicited data "
169 karl 1.1 "to/from this node."),
170 Units ( "Bytes" ), MinValue ( 512 ), MaxValue ( 16777215 ),
171 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiNodeFirstBurstLength"
172 },
173 ModelCorrespondence {
174 "CIM_iSCSISession.MaxUnsolicitedFirstDataBurstLength" }]
175 uint32 MaxUnsolicitedFirstDataBurstLength = 65536;
176
177 [Write, Description (
178 "The maximum number of bytes which can be sent within a "
179 "single sequence of Data-In or Data-Out PDUs."),
180 Units ( "Bytes" ), MinValue ( 512 ), MaxValue ( 16777215 ),
181 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiNodeMaxBurstLength" },
182 ModelCorrespondence { "CIM_iSCSISession.MaxDataBurstLength" }]
183 uint32 MaxDataBurstLength = 262144;
184
185 [Write, Description (
186 "The DataSequenceInOrder preference of this node. False "
187 "(=No) indicates that iSCSI data PDU sequences MAY be "
188 "transferred in any order. True (=Yes) indicates that data "
189 "PDU sequences MUST be transferred using continuously "
190 karl 1.1 "increasing offsets, except during error recovery."),
191 MappingStrings {
192 "MIB.IETF|iSCSI-MIB.iscsiNodeDataSequenceInOrder" },
193 ModelCorrespondence { "CIM_iSCSISession.DataSequenceInOrder" }]
194 boolean DataSequenceInOrderPreference = true;
195
196 [Write, Description (
197 "The DataPDUInOrder preference of this node. False (=No) "
198 "indicates that iSCSI data PDUs within sequences MAY be in "
199 "any order. True (=Yes) indicates that data PDUs within "
200 "sequences MUST be at continuously increasing addresses, "
201 "with no gaps or overlay between PDUs."),
202 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiNodeDataPDUInOrder" },
203 ModelCorrespondence { "CIM_iSCSISession.DataPDUInOrder" }]
204 boolean DataPDUInOrderPreference = true;
205
206 [Write, Description (
207 "The DefaultTime2Wait preference of this node. This is the "
208 "minimum time, in seconds, to wait before attempting an "
209 "explicit/implicit logout or active iSCSI task reassignment "
210 "after an unexpected connection termination or a connection "
211 karl 1.1 "reset."),
212 Units ( "Seconds" ), MinValue ( 0 ), MaxValue ( 3600 ),
213 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiNodeDefaultTime2Wait"
214 }]
215 uint32 DefaultTimeToWaitPreference = 2;
216
217 [Write, Description (
218 "The DefaultTime2Retain preference of this node. This is the "
219 "maximum time, in seconds after an initial wait (Time2Wait), "
220 "before which an active iSCSI task reassignment is still "
221 "possible after an unexpected connection termination or a "
222 "connection reset."),
223 Units ( "Seconds" ), MinValue ( 0 ), MaxValue ( 3600 ),
224 MappingStrings {
225 "MIB.IETF|iSCSI-MIB.iscsiNodeDefaultTime2Retain" }]
226 uint32 DefaultTimeToRetainPreference = 20;
227
228 [Write, Description (
229 "The ErrorRecoveryLevel preference of this node. Currently, "
230 "only 0-2 are valid. This is designed to accommodate future "
231 "error recover levels. \n"
232 karl 1.1 "Higher error recovery levels imply support in addition to "
233 "support for the lower error level functions. In other "
234 "words, error level 2 implies support for levels 0-1, since "
235 "those functions are subsets of error level 2."),
236 MinValue ( 0 ), MaxValue ( 255 ),
237 MappingStrings {
238 "MIB.IETF|iSCSI-MIB.iscsiNodeErrorRecoveryLevel" },
239 ModelCorrespondence { "CIM_iSCSISession.ErrorRecoveryLevel" }]
240 uint32 ErrorRecoveryLevelPreference = 0;
241 };
242
243
244 // ==================================================================
245 // iSCSISessionStatistics
246 // ==================================================================
247 [Experimental, Version ( "2.8.1000" ), Description (
248 "Traffic and error statistics for an iSCSI Session. An instance "
249 "of this class will be associated by ElementStatisticalData to "
250 "the instance of iSCSISession.")]
251 class CIM_iSCSISessionStatistics : CIM_StatisticalData {
252
253 karl 1.1 [Description (
254 "The count of Command PDUs transferred on this session."),
255 Counter,
256 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiSsnCmdPDUs" }]
257 uint64 CommandPDUsTransferred;
258
259 [Description (
260 "The count of Response PDUs transferred on this session."),
261 Counter,
262 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiSsnRspPDUs" }]
263 uint64 ResponsePDUsTransferred;
264
265 [Description (
266 "The count of bytes(data octets) that were transmitted by "
267 "the local iSCSI node on this session."),
268 Units ( "Bytes" ), Counter,
269 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiSsnTxDataOctets" }]
270 uint64 BytesTransmitted;
271
272 [Description (
273 "The count of bytes(data octets) that were received by the "
274 karl 1.1 "local iSCSI node on this session."),
275 Units ( "Bytes" ), Counter,
276 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiSsnRxDataOctets" }]
277 uint64 BytesReceived;
278
279 [Description (
280 "The count of PDUs which were received on the session and "
281 "contained header or data digest errors."),
282 Counter,
283 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiSsnDigestErrors" }]
284 uint64 DigestErrors;
285
286 [Description (
287 "The count of connections within this session which have "
288 "been terminated due to timeout."),
289 Counter,
290 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiSsnCxnTimeoutErrors" }]
291 uint64 ConnectionTimeoutErrors;
292 };
293
294
295 karl 1.1 // ==================================================================
296 // iSCSIConnection
297 // ==================================================================
298 [Experimental, Version ( "2.8.1000" ), Description (
299 "This class contains the attributes of and negotiated values "
300 "for, an iSCSI Connection which is modeled as a subclass of "
301 "NetworkPipe. The original settings that are a starting point "
302 "for negotiation are found in the class "
303 "iSCSIConnectionSettings.")]
304 class CIM_iSCSIConnection : CIM_NetworkPipe {
305
306 [Description (
307 "The iSCSI Connection ID for this connection."),
308 MinValue ( 1 ), MaxValue ( 65535 ),
309 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiCxnCid" }]
310 uint32 ConnectionID;
311
312 [Description (
313 "The maximum data payload size supported for command or data "
314 "PDUs able to be received on this connection."),
315 Units ( "Bytes" ), MinValue ( 512 ), MaxValue ( 16777215 ),
316 karl 1.1 MappingStrings {
317 "MIB.IETF|iSCSI-MIB.iscsiCxnMaxRecvDataSegLength" },
318 ModelCorrespondence {
319 "CIM_iSCSIConnectionSettings.MaxReceiveDataSegmentLength" }]
320 uint16 MaxReceiveDataSegmentLength;
321
322 [Description (
323 "The maximum data payload size supported for command or data "
324 "PDUs to be sent on this connection."),
325 Units ( "Bytes" ), MinValue ( 512 ), MaxValue ( 16777215 ),
326 MappingStrings {
327 "MIB.IETF|iSCSI-MIB.iscsiCxnMaxXmitDataSegLength" }]
328 uint16 MaxTransmitDataSegmentLength;
329
330 [Description (
331 "This property identifies the iSCSI header digest scheme in "
332 "use within this connection."),
333 ValueMap { "1", "2", "3" },
334 Values { "Other", "No Digest", "CRC32C" },
335 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiCxnHeaderIntegrity" },
336 ModelCorrespondence {
337 karl 1.1 "CIM_iSCSIConnectionSettings.PrimaryHeaderDigestMethod",
338 "CIM_iSCSIConnectionSettings.SecondaryHeaderDigestMethod",
339 "CIM_iSCSIConnection.OtherHeaderDigestMethod" }]
340 uint16 HeaderDigestMethod;
341
342 [Description (
343 "A string describing the Header Digest scheme in use when "
344 "HeaderDigestMethod is equal to the value 1, \"Other\"."),
345 ModelCorrespondence {
346 "CIM_iSCSIConnectionSettings.OtherPrimaryHeaderDigestMethod",
347 "CIM_iSCSIConnectionSettings.OtherSecondaryHeaderDigestMethod",
348 "CIM_iSCSIConnection.HeaderDigestMethod" }]
349 string OtherHeaderDigestMethod;
350
351 [Description (
352 "This property identifies the iSCSI data digest scheme in "
353 "use within this connection."),
354 ValueMap { "1", "2", "3" },
355 Values { "Other", "No Digest", "CRC32C" },
356 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiCxnDataIntegrity" },
357 ModelCorrespondence {
358 karl 1.1 "CIM_iSCSIConnectionSettings.PrimaryHeaderDigestMethod",
359 "CIM_iSCSIConnectionSettings.SecondaryHeaderDigestMethod",
360 "CIM_iSCSIConnection.OtherDataDigestMethod" }]
361 uint16 DataDigestMethod;
362
363 [Description (
364 "A string describing the Data Digest scheme in use when "
365 "DataDigestMethod is equal to the value 1, \"Other\"."),
366 ModelCorrespondence {
367 "CIM_iSCSIConnectionSettings.OtherPrimaryDataDigestMethod",
368 "CIM_iSCSIConnectionSettings.OtherSecondaryDataDigestMethod",
369 "CIM_iSCSIConnection.DataDigestMethod" }]
370 string OtherDataDigestMethod;
371
372 [Description (
373 "This property indicates whether or not this connection is "
374 "receiving markers in in its incoming data stream."),
375 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiCxnRecvMarker" },
376 ModelCorrespondence {
377 "CIM_iSCSIConnectionSettings.RequestingMarkersOnReceive" }]
378 boolean ReceivingMarkers;
379 karl 1.1
380 [Description (
381 "This property indicates whether or not this connection is "
382 "inserting markers in in its outgoing data stream."),
383 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiCxnSendMarker" }]
384 boolean SendingMarkers;
385
386 [Description (
387 "Active version number of the iSCSI specification negotiated "
388 "on this connection."),
389 MinValue ( 0 ), MaxValue ( 255 ),
390 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiCxnVersionActive" },
391 ModelCorrespondence {
392 "CIM_iSCSICapabilities.MinimumSpecificationVersionSupported",
393 "CIM_iSCSICapabilities.MaximumSpecificationVersionSupported"
394 }]
395 boolean ActiveiSCSIVersion;
396 };
397
398
399 // ==================================================================
400 karl 1.1 // iSCSIConnectionSettings
401 // ==================================================================
402 [Experimental, Version ( "2.8.1000" ), Description (
403 "The settings for an iSCSI NetworkPortal that are the starting "
404 "point for negotiation for connection establishment. An "
405 "instance of this class will be associated by "
406 "ElementSettingData to an instance of either "
407 "TCPProtocolEndpoint (When the NetworkPortal is a target) or "
408 "IPProtocolEndpoint (When the NetworkPortal is an initiator). "
409 "The properties that reflect the actual outcome of the "
410 "negotiation are found in the iSCSIConnection class.")]
411 class CIM_iSCSIConnectionSettings : CIM_SettingData {
412
413 [Write, Description (
414 "The maximum PDU length this portal can receive. This MAY be "
415 "constrained by hardware characteristics and individual "
416 "implementations MAY choose not to allow this property to be "
417 "changed."),
418 Units ( "Bytes" ), MinValue ( 512 ), MaxValue ( 16777215 ),
419 MappingStrings {
420 "MIB.IETF|iSCSI-MIB.iscsiPortalMaxRecvDataSegLength" },
421 karl 1.1 ModelCorrespondence {
422 "CIM_iSCSIConnection.MaxReceiveDataSegmentLength" }]
423 uint32 MaxReceiveDataSegmentLength = 8192;
424
425 [Write, Description (
426 "The preferred header digest for this portal."),
427 ValueMap { "1", "2", "3" },
428 Values { "Other", "No Digest", "CRC32C" },
429 MappingStrings {
430 "MIB.IETF|iSCSI-MIB.iscsiPortalPrimaryHdrDigest" },
431 ModelCorrespondence { "CIM_iSCSIConnection.HeaderDigestMethod",
432 "CIM_iSCSIConnectionSettings.OtherPrimaryHeaderDigestMethod"
433 }]
434 uint16 PrimaryHeaderDigestMethod = 3;
435
436 [Write, Description (
437 "A string describing the preferred Header Digest method when "
438 "PrimaryHeaderDigestMethod is equal to the value 1, "
439 "\"Other\"."),
440 ModelCorrespondence {
441 "CIM_iSCSIConnection.OtherHeaderDigestMethod",
442 karl 1.1 "CIM_iSCSIConnectionSettings.PrimaryHeaderDigestMethod" }]
443 string OtherPrimaryHeaderDigestMethod;
444
445 [Write, Description (
446 "The preferred data digest method for this portal."),
447 ValueMap { "1", "2", "3" },
448 Values { "Other", "No Digest", "CRC32C" },
449 MappingStrings {
450 "MIB.IETF|iSCSI-MIB.iscsiPortalPrimaryDataDigest" },
451 ModelCorrespondence { "CIM_iSCSIConnection.DataDigestMethod",
452 "CIM_iSCSIConnectionSettings.OtherPrimaryDataDigestMethod" }]
453 uint16 PrimaryDataDigestMethod = 3;
454
455 [Write, Description (
456 "A string describing the preferred Data Digest method when "
457 "PrimaryDataDigestMethod is equal to the value 1, \"Other\"."),
458 ModelCorrespondence {
459 "CIM_iSCSIConnection.OtherDataDigestMethod",
460 "CIM_iSCSIConnectionSettings.PrimaryDataDigestMethod" }]
461 string OtherPrimaryDataDigestMethod;
462
463 karl 1.1 [Write, Description (
464 "An alternate header digest preference for this portal."),
465 ValueMap { "1", "2", "3" },
466 Values { "Other", "No Digest", "CRC32C" },
467 MappingStrings {
468 "MIB.IETF|iSCSI-MIB.iscsiPortalSecondaryHdrDigest" },
469 ModelCorrespondence { "CIM_iSCSIConnection.HeaderDigestMethod",
470 "CIM_iSCSIConnectionSettings.OtherSecondaryHeaderDigestMethod"
471 }]
472 uint16 SecondaryHeaderDigestMethod = 2;
473
474 [Write, Description (
475 "A string describing the alternate Header Digest method "
476 "preference when SecondaryHeaderDigestMethod is equal to the "
477 "value 1, \"Other\"."),
478 ModelCorrespondence {
479 "CIM_iSCSIConnection.OtherHeaderDigestMethod",
480 "CIM_iSCSIConnectionSettings.SecondaryHeaderDigestMethod" }]
481 string OtherSecondaryHeaderDigestMethod;
482
483 [Write, Description (
484 karl 1.1 "An alternate data digest preference for this portal."),
485 ValueMap { "1", "2", "3" },
486 Values { "Other", "No Digest", "CRC32C" },
487 MappingStrings {
488 "MIB.IETF|iSCSI-MIB.iscsiPortalSecondaryDataDigest" },
489 ModelCorrespondence { "CIM_iSCSIConnection.DataDigestMethod",
490 "CIM_iSCSIConnectionSettings.OtherSecondaryDataDigestMethod"
491 }]
492 uint16 SecondaryDataDigestMethod = 2;
493
494 [Write, Description (
495 "A string describing the alternate Data Digest method "
496 "preference when SecondaryDataDigestMethod is equal to the "
497 "value 1, \"Other\"."),
498 ModelCorrespondence {
499 "CIM_iSCSIConnection.OtherDataDigestMethod",
500 "CIM_iSCSIConnectionSettings.SecondaryDataDigestMethod" }]
501 string OtherSecondaryDataDigestMethod;
502
503 [Write, Description (
504 "This property indicates whether or not this portal will "
505 karl 1.1 "request markers in it's incoming data stream."),
506 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiPortalRecvMarker" },
507 ModelCorrespondence { "CIM_iSCSIConnection.ReceivingMarkers" }]
508 boolean RequestingMarkersOnReceive = false;
509 };
510
511
512 // ==================================================================
513 // iSCSIConfigurationService
514 // ==================================================================
515 [Experimental, Version ( "2.8.1000" ), Description (
516 "The iSCSIConfigurationService provides methods that allow a "
517 "client to manipulate iSCSIProtocolEndpoints in an iSCSI Node. "
518 "iSCSIProtocolController models the iSCSI Port. The instance of "
519 "the service is scoped by an instance of ComputerSystem that "
520 "represents that Network Entity. The capabilities of this "
521 "service are defined in the companion class "
522 "iSCSIConfigurationCapabilities.")]
523
524 class CIM_iSCSIConfigurationService : CIM_Service {
525
526 karl 1.1 [Description (
527 "This method creates an iSCSI Port in the form of an "
528 "instance of iSCSIProtocolEndpoint. As part of the creation "
529 "process the iSCSIProtocolEndpoint is 'bound to' the "
530 "underlying TCP or IP ProtocolEndpoints which are specified "
531 "as inputs by creating instances of the BindsTo association "
532 "between the new instance and those instances. In addition, "
533 "an instance of SAPAvailableForElement is created between "
534 "the specified SCSIProtocolController and the new instance "
535 "of iSCSIProtocolEndpoint."),
536 ValueMap { "0", "1", "2", "3", "4", "5", "6..4095", "4096",
537 "4097", "4098", "4099", "4100", "4101", "4102", "4103",
538 "4104..32767", "32768..65535" },
539 Values { "Success", "Not Supported", "Unspecified Error",
540 "Timeout", "Failed", "Invalid Parameter", "DMTF Reserved",
541 "SCSIProtocolController Non-existent",
542 "Role Not Supported By Specified SCSIProtocolController",
543 "Identifier In Use, Not Unique",
544 "Identifier Selection Not Supported",
545 "ProtocolEndpoint Non-Existent",
546 "TCPProtocolEndpoint Not Bound To Underlying "
547 karl 1.1 "IPProtocolEndpoint",
548 "TCPProtocolEndpoint In Use By Other iSCSIProtocolEndpoint In "
549 "Same Target SCSIProtocolController",
550 "ProtocolEndpoints Not From Same Endpoint Collection",
551 "Method Reserved", "Vendor Specific" }]
552 uint32 CreateiSCSIProtocolEndpoint (
553 [IN, Description (
554 "The SCSIProtocolController instance representing the "
555 "iSCSI Node that will contain the iSCSI Port.")]
556 CIM_SCSIProtocolController REF iSCSINode,
557 [IN, Description (
558 "For iSCSI, each iSCSIProtocolEndpoint must act as either "
559 "a target or an initiator endpoint. This property "
560 "indicates which role this iSCSIProtocolEndpoint "
561 "implements."),
562 ValueMap { "2", "3" },
563 Values { "Initiator", "Target" }]
564 uint16 Role,
565 [IN, Description (
566 "If this is an Initiator Port, Identifier MUST contain "
567 "the ISID, if this is a Target Port, Identifier MUST "
568 karl 1.1 "contain the Target Portal Group Tag (TGPT). Each "
569 "iSCSIProtocolEndpoint (iSCSI port) associated to a "
570 "common SCSIProtocolController (iSCSI node) must have a "
571 "unique Identifier. This field is a string that contains "
572 "12 hexadecimal digits. If the property "
573 "IdentifierSelectionSupported in class "
574 "iSCSIConfigurationCapabilities is false, this parameter "
575 "MUST be set to NULL."),
576 MaxLen ( 13 ),
577 ModelCorrespondence {
578 "CIM_iSCSIConfigurationCapabilities.IdentifierSelectionSupported"
579 }]
580 string Identifier,
581 [IN, Description (
582 "Array of References to either TCPProtocolEndpoints "
583 "representing Target NetworkPortals or IPProtocolEndpoint "
584 "instances representing Initiator NetworkPortals. If "
585 "TCPProtocolEndpoints are supplied each MUST be in turn "
586 "associated to an instance of IPProtocolEndpoint via a "
587 "BindsTo association in order to provide the Target "
588 "Network Portal functionality. The selected Portal "
589 karl 1.1 "endpoints MUST be from the same "
590 "SystemSpecificCollection, which represents a Portal "
591 "Group.")]
592 CIM_ProtocolEndpoint REF NetworkPortals[],
593 [IN ( false ), OUT, Description (
594 "A reference to the new iSCSIProtocolEndpoint that is "
595 "created.")]
596 CIM_iSCSIProtocolEndpoint REF iSCSIPort );
597
598 [Description (
599 "The method deletes an instance of iSCSIProtocolEndpoint and "
600 "all associations in which this iSCSIProtocolEndpoint is "
601 "referenced."),
602 ValueMap { "0", "1", "2", "3", "4", "5", "6..4095", "4096",
603 "4097..32767", "32768..65535" },
604 Values { "Success", "Not Supported", "Unspecified Error",
605 "Timeout", "Failed", "Invalid Parameter", "DMTF Reserved",
606 "Endpoint Non-Existent", "Method Reserved",
607 "Vendor Specific" }]
608 uint32 DeleteiSCSIProtocolEndpoint (
609 [IN, Description (
610 karl 1.1 "The iSCSIProtocolEndpoint to be deleted.")]
611 CIM_iSCSIProtocolEndpoint REF iSCSIPort );
612
613 [Description (
614 "This method provides for modification of an existing "
615 "iSCSIProtocolEndpoint by associating a TCPProtocolEndpoint "
616 "representing an Target NetworkPortal or an "
617 "IPProtocolEndpoint instance representing an Initiator "
618 "NetworkPortal to the iSCSIProtocolEndpoint. The association "
619 "is persisted as an instance of BindsTo. The selected Portal "
620 "endpoint must be from the same SystemSpecificCollection, "
621 "which represents a Portal Group, as the endpoints currently "
622 "bound to the iSCSIProtocolEndpoint. This action is intended "
623 "to be reversed by the use of the intrinsic method "
624 "'DeleteInstance'."),
625 ValueMap { "0", "1", "2", "3", "4", "5", "6..4095", "4096",
626 "4097", "4098", "4099", "4100..32767", "32768..65535" },
627 Values { "Success", "Not Supported", "Unspecified Error",
628 "Timeout", "Failed", "Invalid Parameter", "DMTF Reserved",
629 "ProtocolEndpoint Non-Existent",
630 "TCPProtocolEndpoint Not Bound To Underlying "
631 karl 1.1 "IPProtocolEndpoint",
632 "ProtocolEndpoint In Use By Other iSCSIProtocolEndpoint In "
633 "Same Target SCSIProtocolController",
634 "ProtocolEndpoint Not From Same Endpoint Collection",
635 "Method Reserved", "Vendor Specific" }]
636 uint32 BindiSCSIProtocolEndPoint (
637 [IN, Description (
638 "A reference to the iSCSIProtocolEndpoint.")]
639 CIM_iSCSIProtocolEndpoint REF iSCSIPort,
640 [IN, Description (
641 "The ProtocolEndpoint instance. If an iSCSI Initiator "
642 "Port is being modified this will be an "
643 "IPProtocolEndpoint. If an iSCSI Target Port is being "
644 "modified this will be a TCPProtocolEndpoint.")]
645 CIM_ProtocolEndpoint REF NetworkPortal );
646 };
647
648
649 // ==================================================================
650 // iSCSIConfigurationCapabilities
651 // ==================================================================
652 karl 1.1 [Experimental, Version ( "2.8.1000" ), Description (
653 "A subclass of Capabilities that defines the capabilities of a "
654 "iSCSIConfigurationService.")]
655
656 class CIM_iSCSIConfigurationCapabilities : CIM_Capabilities {
657
658 [Description (
659 "iSCSI Ports are modeled by instances of "
660 "iSCSIProtocolEndpoints. If true, this property indicates "
661 "that iSCSIProtocolEndpoints may be dynamically created and "
662 "deleted in a Node. If false, iSCSIProtocolEndpoints are "
663 "preexisting and statically defined within the Node.")]
664 boolean iSCSIProtocolEndpointCreationSupported = false;
665
666 [Description (
667 "If false, the implementation chooses the Identifier for the "
668 "iSCSIProtocolEndpoint and the Identifier cannot be supplied "
669 "as a parameter to CreateiSCSIProtocolEndpoint and MUST be "
670 "NULL.")]
671 boolean IdentifierSelectionSupported = false;
672 };
673 karl 1.1
674
675 // ==================================================================
676 // iSCSILoginStatistics
677 // ==================================================================
678 [Experimental, Version ( "2.8.1000" ), Description (
679 "Statistics for Logins and Logouts to or from an iSCSI Node. An "
680 "instance of this class will be associated by "
681 "ElementStatisticalData to an instance of "
682 "SCSIProtocolController that represents the Node. The Node can "
683 "be either an Initiator or Target and so the interpretation of "
684 "the properties in this class varies accordingly.")]
685 class CIM_iSCSILoginStatistics : CIM_StatisticalData {
686
687 [Description (
688 "This property counts the number of times a login attempt "
689 "from this node(initiator) or to this node(target) has "
690 "failed."),
691 Counter,
692 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiIntrLoginFailures",
693 "MIB.IETF|iSCSI-MIB.iscsiTgtLoginFailures" }]
694 karl 1.1 uint64 LoginFailures;
695
696 [Description (
697 "The timestamp of the most recent failure of a login attempt "
698 "from this node(initiator) or to this node(target). A value "
699 "of zero indicates that no such failures have occurred since "
700 "the last system boot."),
701 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiIntrLastFailureTime",
702 "MIB.IETF|iSCSI-MIB.iscsiTgtLastFailureTime" },
703 ModelCorrespondence {
704 "CIM_iSCSILoginStatistics.LastLoginFailureType",
705 "CIM_iSCSILoginStatistics.LastLoginFailureRemoteNodeName" }]
706 datetime LastLoginFailureTime;
707
708 [Description (
709 "The type of the most recent failure of a login attempt from "
710 "this node(initiator) or to this node(target)."),
711 ValueMap { "1", "2", "3", "4", "5" },
712 Values { "Other", "Negotiate", "Authenticate", "Authorize",
713 "Redirect" },
714 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiIntrLastFailureType",
715 karl 1.1 "MIB.IETF|iSCSI-MIB.iscsiTgtLastFailureType" },
716 ModelCorrespondence {
717 "CIM_iSCSILoginStatistics.OtherLastLoginFailureType",
718 "CIM_iSCSILoginStatistics.LastLoginFailureTime",
719 "CIM_iSCSILoginStatistics.LastLoginFailureRemoteNodeName" }]
720 uint16 LastLoginFailureType;
721
722 [Description (
723 "A string describing the type of the last login failure when "
724 "LastLoginFailureType is equal to the value 1, \"Other\"."),
725 ModelCorrespondence {
726 "CIM_iSCSILoginStatistics.LastLoginFailureType" }]
727 string OtherLastLoginFailureType;
728
729 [Description (
730 "The iSCSI name of the remote node that failed the last "
731 "login attempt."),
732 MappingStrings {
733 "MIB.IETF|iSCSI-MIB.iscsiIntrLastTgtFailureName",
734 "MIB.IETF|iSCSI-MIB.iscsiTgtLastIntrFailureName" },
735 ModelCorrespondence {
736 karl 1.1 "CIM_iSCSILoginStatistics.LastLoginFailureTime",
737 "CIM_iSCSILoginStatistics.LastLoginFailureType",
738 "CIM_iSCSILoginStatistics.LastLoginFailureRemoteAddressType",
739 "CIM_iSCSILoginStatistics.LastLoginFailureRemoteAddress" }]
740 string LastLoginFailureRemoteNodeName;
741
742 [Description (
743 "The type of Internet Network Address of the remote node "
744 "that failed the last login attempt."),
745 ValueMap { "1", "2" },
746 Values { "IPv4", "IPv6" },
747 MappingStrings {
748 "MIB.IETF|iSCSI-MIB.iscsiIntrLastTgtFailureAddrType",
749 "MIB.IETF|iSCSI-MIB.iscsiTgtLastIntrFailureAddrType" },
750 ModelCorrespondence {
751 "CIM_iSCSILoginStatistics.LastLoginFailureRemoteNodeName",
752 "CIM_iSCSILoginStatistics.LastLoginFailureRemoteAddress" }]
753 uint16 LastLoginFailureRemoteAddressType;
754
755 [Description (
756 "An Internet Network Address giving the host address of the "
757 karl 1.1 "remote node that failed the last login attempt."),
758 MappingStrings {
759 "MIB.IETF|iSCSI-MIB.iscsiIntrLastTgtFailureAddr",
760 "MIB.IETF|iSCSI-MIB.iscsiTgtLastIntrFailureAddr" },
761 ModelCorrespondence {
762 "CIM_iSCSILoginStatistics.LastLoginFailureRemoteNodeName",
763 "CIM_iSCSILoginStatistics.LastLoginFailureRemoteAddressType"
764 }]
765 uint32 LastLoginFailureRemoteAddress;
766
767 [Description (
768 "The count of Login Response PDUs with status 0x0000, Accept "
769 "Login, received by this node(initator), or transmitted by "
770 "this node (target)."),
771 Counter,
772 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiIntrLoginAcceptRsps",
773 "MIB.IETF|iSCSI-MIB.iscsiTgtLoginAccepts" }]
774 uint64 SuccessfulLogins;
775
776 [Description (
777 "If the node is an initiator this property is the number of "
778 karl 1.1 "times it has aborted a login because parameter negotiation "
779 "with the target failed. \n"
780 "If the node is a target the property is the number of times "
781 "a it has effectively refused a login because the parameter "
782 "negotiation failed. While this situation can occur, the "
783 "exact mechanism is as yet undefined in the iSCSI Protocol "
784 "Spec."),
785 Counter,
786 MappingStrings {
787 "MIB.IETF|iSCSI-MIB.iscsiIntrLoginNegotiateFails",
788 "MIB.IETF|iSCSI-MIB.iscsiTgtLoginNegotiateFails" }]
789 uint64 NegotiationLoginFailures;
790
791 [Description (
792 "If the node is an initiator this property is the number of "
793 "times it has aborted a login because the target could not "
794 "be authenticated. If the node is a target this property is "
795 "the count of Login Response PDUs with status 0x0201, "
796 "Authentication Failed, transmitted by this target."),
797 Counter,
798 MappingStrings {
799 karl 1.1 "MIB.IETF|iSCSI-MIB.iscsiIntrLoginAuthenticateFails",
800 "MIB.IETF|iSCSI-MIB.iscsiTgtLoginAuthenticateFails" }]
801 uint64 AuthenticationLoginFailures;
802
803 [Description (
804 "If the node is an initiator this property is the count of "
805 "Login Response PDUs with status class 0x201, "
806 "'Authentication Failed', received by this initiator. If the "
807 "node is a target the property is the count of Login "
808 "Response PDUs with status 0x0202, 'Forbidden Target', "
809 "transmitted by this target."),
810 Counter,
811 MappingStrings {
812 "MIB.IETF|iSCSI-MIB.iscsiIntrLoginAuthFailRsps",
813 "MIB.IETF|iSCSI-MIB.iscsiTgtLoginAuthorizeFails" }]
814 uint64 AuthorizationLoginFailures;
815
816 [Description (
817 "The count of Login Response PDUs with status class 0x01, "
818 "Redirection, received by this node(initiator) or "
819 "transmitted by this node(target)."),
820 karl 1.1 Counter,
821 MappingStrings {
822 "MIB.IETF|iSCSI-MIB.iscsiIntrLoginRedirectRsps",
823 "MIB.IETF|iSCSI-MIB.iscsiTgtLoginRedirects" }]
824 uint64 LoginRedirects;
825
826 [Description (
827 "The number of failure Login Response PDUs which were "
828 "received by this node(initiator) or were transmitted by "
829 "this node(target), and which were not counted by any other "
830 "property in this class."),
831 Counter,
832 MappingStrings {
833 "MIB.IETF|iSCSI-MIB.iscsiIntrLoginOtherFailRsps",
834 "MIB.IETF|iSCSI-MIB.iscsiTgtLoginOtherFails" }]
835 uint64 OtherLoginFailures;
836
837 [Description (
838 "The count of Logout Command PDUs generated by this node "
839 "(initiator) or received by this node(target), with reason "
840 "code 0 (closes the session)."),
841 karl 1.1 Counter,
842 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiIntrLogoutNormals",
843 "MIB.IETF|iSCSI-MIB.iscsiTgtLogoutNormals" }]
844 uint64 NormalLogouts;
845
846 [Description (
847 "The count of Logout Command PDUs generated by this node, "
848 "(initiator) or received by this node(target), with any "
849 "reason code other than 0."),
850 Counter,
851 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiIntrLogoutOthers",
852 "MIB.IETF|iSCSI-MIB.iscsiTgtLogoutOthers" }]
853 uint64 OtherLogouts;
854 };
855
856
857 // ==================================================================
858 // iSCSISessionFailures
859 // ==================================================================
860 [Experimental, Version ( "2.8.1000" ), Description (
861 "Failure Statistics for Sessions associated with a iSCSI Node. "
862 karl 1.1 "An instance of this class will be associated by "
863 "ElementStatisticalData to an instance of "
864 "SCSIProtocolController representing an iSCSI Node. These "
865 "statistics are associated to a Node since they describe the "
866 "aggregated Session data for all failed Sessions associated to "
867 "iSCSI protocol endpoints used by the Node.")]
868 class CIM_iSCSISessionFailures : CIM_StatisticalData {
869
870 [Description (
871 "The number of times a session belonging to this Network "
872 "Entity has been failed."),
873 Counter,
874 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiInstSsnFailures" }]
875 uint64 SessionFailures;
876
877 [Description (
878 "The type of the last session failure."),
879 ValueMap { "1", "2", "3", "4" },
880 Values { "Other", "Digest", "Timeout", "Format" },
881 MappingStrings {
882 "MIB.IETF|iSCSI-MIB.iscsiInstLastSsnFailureType" },
883 karl 1.1 ModelCorrespondence {
884 "CIM_iSCSISessionFailures.OtherLastSessionFailureType",
885 "CIM_iSCSISessionFailures.LastSessionFailureRemoteNodeName" }]
886 uint16 LastSessionFailureType;
887
888 [Description (
889 "A string describing the type of the last Session failure "
890 "when LastSessionFailureType is equal to the value 1, "
891 "\"Other\"."),
892 ModelCorrespondence {
893 "CIM_iSCSISessionFailures.LastSessionFailureType" }]
894 string OtherLastSessionFailureType;
895
896 [Description (
897 "The iSCSI name of the remote node from the failed session."),
898 MappingStrings {
899 "MIB.IETF|iSCSI-MIB.iscsiInstLastSsnRmtNodeName" },
900 ModelCorrespondence {
901 "CIM_iSCSISessionFailures.LastSessionFailureType" }]
902 string LastSessionFailureRemoteNodeName;
903
904 karl 1.1 [Description (
905 "The count of sessions which were failed due to receipt of a "
906 "PDU containing header or data digest errors."),
907 Counter,
908 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiInstSsnDigestErrors" }]
909 uint64 SessionDigestFailures;
910
911 [Description (
912 "The count of sessions which were failed due to a sequence "
913 "exceeding a time limit."),
914 Counter,
915 MappingStrings {
916 "MIB.IETF|iSCSI-MIB.iscsiInstSsnCxnTimeoutErrors" }]
917 uint64 SessionConnectionTimeoutFailures;
918
919 [Description (
920 "The count of sessions which were failed due to receipt of a "
921 "PDU which contained a format error."),
922 Counter,
923 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiInstSsnFormatErrors" }]
924 uint64 SessionFormatErrors;
925 karl 1.1 };
926
927
928 // ===================================================================
929 // end of file
930 // ===================================================================
|