1 karl 1.1 // ===================================================================
2 // Title: Network Pipes
3 // $State: Preliminary $
4 // $Date: 2004/07/14 01:04:28 $
5 // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Network_Pipes.mof,v $
6 // $Revision: 1.5 $
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 Network Model extends the management concepts to
47 // represent protocol interfaces and network/protocol
48 // services. This file models network pipes, based on
49 // the ITU M.3100 definitions.
50 //
51 // The object classes below are listed in an order that
52 // avoids forward references. Required objects, defined
53 // by other working groups, are omitted.
54 // ==================================================================
55 // Change Log for v2.9 preliminary
56 // CR1347 - add iSCSI classes
57 // CR1355 - Add properties to iscsi session
58 // CR1465 - Remove extra space in MappingStrings
59 // { "MIB.IETF|IPS-AUTH-MIB.ipsAuthCredAuthMethod "}
60 //
61 // Change Log for v2.7
62 // CR696 - Add M.3100 concepts of Pipe; Define the associations,
63 // HostedPipe, EndpointOfPipe, and PipeComposition
64 karl 1.1 // CR850 - Change CIM_Pipe to CIM_NetworkPipe; Propagate this change
65 // through the model; Make similar name changes throughout
66 // the other classes
67 // CR961 - Changes to Enabled and RequestedState in NetworkPipe,
68 // inherited from EnabledLogicalElement
69 // CR982 - Removal of Experimental for preliminary to final
70 // CR994 - Update of the InstanceID property Description
71 // Change Log for v2.8
72 // CR1128 - Change subclassing from CIM_Dependency to
73 // CIM_HostedDependency for identified classes. This is
74 // needed as a result of the introduction of HostedDependency
75 // by SysDev
76 // ===================================================================
77
78 #pragma Locale ("en_US")
79
80
81 // ================================================================
82 // NetworkPipe
83 // ================================================================
84 [Version ( "2.7.0" ), Description (
85 karl 1.1 "NetworkPipe is a subclass of EnabledLogicalElement, "
86 "representing the state and management of a connection or trail "
87 "between endpoints. This object is different than the "
88 "association between the endpoints (CIM_ActiveConnection) since "
89 "the emphasis is NOT on the endpoints but on the management of "
90 "the pipe itself - its state, configuration, etc. NetworkPipes "
91 "are defined in the context of a CIM_Network and represent the "
92 "'transfer of information . . . between . . . endpoints'. These "
93 "concepts are aligned with the definition of the Pipe object in "
94 "ITU's M.3100 specification."),
95 MappingStrings { "Recommendation.ITU|M3100.Pipe",
96 "Recommendation.ITU|M3100.TrailR1",
97 "Recommendation.ITU|M3100.ConnectionR1",
98 "Recommendation.ITU|M3100.SubNetworkConnection" }]
99 class CIM_NetworkPipe : CIM_EnabledLogicalElement {
100
101 [Key, Description (
102 "Within the scope of the instantiating Namespace, InstanceID "
103 "opaquely and uniquely identifies an instance of this class. "
104 "In order to ensure uniqueness within the NameSpace, the "
105 "value of InstanceID SHOULD be constructed using the "
106 karl 1.1 "following 'preferred' algorithm: \n"
107 "<OrgID>:<LocalID> \n"
108 "Where <OrgID> and <LocalID> are separated by a colon ':', "
109 "and where <OrgID> MUST include a copyrighted, trademarked "
110 "or otherwise unique name that is owned by the business "
111 "entity creating/defining the InstanceID, or is a registered "
112 "ID that is assigned to the business entity by a recognized "
113 "global authority. (This is similar to the <Schema "
114 "Name>_<Class Name> structure of Schema class names.) In "
115 "addition, to ensure uniqueness <OrgID> MUST NOT contain a "
116 "colon (':'). When using this algorithm, the first colon to "
117 "appear in InstanceID MUST appear between <OrgID> and "
118 "<LocalID>. (For DMTF defined instances, the 'preferred' "
119 "algorithm MUST be used with the <OrgID> set to 'CIM'.) \n"
120 "<LocalID> MUST include either a vendor specified unique "
121 "identifier, or if mapping from an ITU M.3100 environment, "
122 "the trailID, connectionID or subNetworkConnectionID of the "
123 "instances of PipeR2."),
124 MappingStrings { "Recommendation.ITU|M3100.TrailR1.trailId",
125 "Recommendation.ITU|M3100.ConnectionR1.connectionID",
126 "Recommendation.ITU|M3100.SubNetworkConnection."
127 karl 1.1 "subNetworkConnectionID" }]
128 string InstanceID;
129
130 [Description (
131 "Indicates whether the pipe is bi-directional (value = 2), "
132 "unidirectional (value = 3), or this information is not "
133 "known (value = 0). For unidirectional pipes, the source and "
134 "sink are indicated by a property (SourceOrSink) of the "
135 "association, EndpointOfNetworkPipe."),
136 ValueMap { "0", "2", "3" },
137 Values { "Unknown", "Bi-Directional", "Unidirectional" },
138 MappingStrings { "Recommendation.ITU|M3100.Pipe.directionality"
139 }]
140 uint16 Directionality;
141
142 [Description (
143 "Indicates whether the pipe is composed of lower-level "
144 "pipes, and if so, how these lower-level pipes are "
145 "aggregated (in parallel or in sequence). The specific "
146 "instances of NetworkPipe that are combined are described "
147 "using the NetworkPipeComposition association. \n"
148 karl 1.1 "\n"
149 "In the context of M.3100, the ability to be composed of "
150 "lower-level pipes is modeled as a Trail. A Trail is made up "
151 "of one or more Connections. (Note that both Trails and "
152 "Connections are subclasses of Pipe). Because of the "
153 "flexibility of the NetworkPipeComposition association, "
154 "there is no need to subclass NetworkPipe, as was done in "
155 "M.3100, but merely to instantiate the "
156 "NetworkPipeComposition association to describe the bundling "
157 "of the lower-level pipes (i.e., the connections), or the "
158 "sequencing of them."),
159 ValueMap { "0", "2", "3", "4" },
160 Values { "Unknown", "No Lower-Level Composition",
161 "Combined In Parallel", "Combined In Sequence" }]
162 uint16 AggregationBehavior;
163
164 [Override ( "EnabledState" ),
165 MappingStrings {
166 "Recommendation.ITU|M3100.Pipe.operationalState" }]
167 uint16 EnabledState;
168
169 karl 1.1 [Override ( "RequestedState" ), Write,
170 MappingStrings {
171 "Recommendation.ITU|M3100.Pipe.administrativeState" }]
172 uint16 RequestedState = 5;
173 };
174
175
176 // ==================================================================
177 // HostedNetworkPipe
178 // ==================================================================
179 [Association, Version ( "2.7.0" ), Description (
180 "HostedNetworkPipe is an association between a pipe and the "
181 "network in whose context the pipe is defined. The cardinality "
182 "of this association is 1-to-many. A network may host many "
183 "pipes, and pipes are scoped/contained by only one network.")]
184 class CIM_HostedNetworkPipe : CIM_HostedDependency {
185
186 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
187 "The hosting network.")]
188 CIM_Network REF Antecedent;
189
190 karl 1.1 [Override ( "Dependent" ), Description (
191 "The pipe in the network.")]
192 CIM_NetworkPipe REF Dependent;
193 };
194
195
196 // ==================================================================
197 // EndpointOfNetworkPipe
198 // ==================================================================
199 [Association, Version ( "2.7.0" ), Description (
200 "EndpointOfNetworkPipe describes the endpoints between which a "
201 "pipe transfers information. Whether an endpoint is a source or "
202 "sink is indicated by a property of the association, "
203 "SourceOrSink."),
204 MappingStrings { "Recommendation.ITU|M3100.Pipe.a-TPInstance",
205 "Recommendation.ITU|M3100.Pipe.z-TPInstance" }]
206 class CIM_EndpointOfNetworkPipe : CIM_Dependency {
207
208 [Override ( "Antecedent" ), Min ( 2 ), Max ( 2 ), Description (
209 "One of the endpoints of the pipe.")]
210 CIM_ProtocolEndpoint REF Antecedent;
211 karl 1.1
212 [Override ( "Dependent" ), Description (
213 "The pipe which is dependent on the endpoints as the source "
214 "or sink of the transferred information.")]
215 CIM_NetworkPipe REF Dependent;
216
217 [Description (
218 "Indicates whether the endpoint is a source (value = 2), or "
219 "sink (value = 3) for the pipe. If this information is not "
220 "applicable, the property is set to 4. If the information is "
221 "not known, the property is set to 0."),
222 ValueMap { "0", "2", "3", "4" },
223 Values { "Unknown", "Source", "Sink", "Not Applicable" }]
224 uint16 SourceOrSink;
225 };
226
227
228 // ==================================================================
229 // NetworkPipeComposition
230 // ==================================================================
231 [Association, Aggregation, Composition, Version ( "2.7.0" ),
232 karl 1.1 Description (
233 "NetworkPipeComposition describes the makeup a pipe, based on "
234 "lower-level ones. If the pipe is not composed of lower-level "
235 "entities (i.e., its AggregationBehavior property is set to 2), "
236 "then no instances of this association should be defined where "
237 "the pipe has the role of GroupComponent. \n"
238 "\n"
239 "In the context of M.3100, this semantic is modeled as a Trail "
240 "that is made up of one or more Connections. Both Trails and "
241 "Connections are subclasses of M.3100's Pipe. Because of the "
242 "flexibility of the NetworkPipeComposition association, there "
243 "is no need to subclass NetworkPipe, as was done in M.3100, but "
244 "merely to instantiate this association to describe the "
245 "bundling of the lower-level pipes (connections), or the "
246 "sequencing of them. How the lower-level pipes are aggregated "
247 "is described by the property, AggregationBehavior, of "
248 "NetworkPipe. If the pipes are combined in a sequence, the "
249 "ordering is conveyed via the property, AggregationSequence, on "
250 "this association."),
251 MappingStrings {
252 "Recommendation.ITU|M3100.TrailR1.serverConnectionListPackage",
253 karl 1.1 "Recommendation.ITU|M3100.TrailR1.clientConnectionListPackage" }]
254 class CIM_NetworkPipeComposition : CIM_Component {
255
256 [Aggregate, Override ( "GroupComponent" ), Description (
257 "The higher level pipe that is composed of lower-level "
258 "parts/pipes.")]
259 CIM_NetworkPipe REF GroupComponent;
260
261 [Override ( "PartComponent" ), Description (
262 "A pipe which is a part of a higher-level one.")]
263 CIM_NetworkPipe REF PartComponent;
264
265 [Description (
266 "Indicates the ordering of the PartComponent pipes in the "
267 "GroupComponent. If the AggregationBehavior property of the "
268 "GroupComponent pipe is set to 0 or 3 (\"Unknown\" or "
269 "\"Combined In Parallel\"), then this property MUST be set "
270 "to 0. If the AggregationBehavior is set to 4 (\"Combined In "
271 "Sequence\"), then this property SHOULD indicate the "
272 "ordering of the component pipes. Ordering starts with 1 and "
273 "larger numbers indicate subsequent pipes. The numbering "
274 karl 1.1 "does not have to be in sequence. The word SHOULD is used in "
275 "this Description, since the specific ordering of all the "
276 "component pipes may not be known. In these cases, a value "
277 "of 0 would be placed in AggregationSequence to indicate "
278 "that ordering information is not available.")]
279 uint16 AggregationSequence;
280 };
281
282 // ==================================================================
283 // iSCSISession
284 // ==================================================================
285 [Experimental, Version ( "2.8.1000" ), Description (
286 "iSCSISession is a network pipe between an initiator and target "
287 "SCSIProtocolEndpoints. An iSCSISession is composed of one or "
288 "more TCP connections which MUST be selected from a "
289 "SystemSpecificCollection representing an iSCSI Portal Group. "
290 "NetworkPipeComposition aggregates NetworkPipe instances "
291 "representing iSCSI connections, which are associated to "
292 "TCPProtocolEndpoints. Only an iSCSI initiator can create an "
293 "iSCSI Session, an iSCSI Target MUST accept (or reject) a "
294 "session request. EndOfNetworkPipe associates iSCSISession with "
295 karl 1.1 "SCSIProtocolEndpoint.")]
296 class CIM_iSCSISession : CIM_NetworkPipe {
297
298 [Override ( "Directionality" ), Description (
299 "iSCSI sessions MUST be bidirectional."),
300 ValueMap { "2" },
301 Values { "Bi-Directional" }]
302 uint16 Directionality = 2;
303
304 [Description (
305 "iSCSI Session type."),
306 ValueMap { "2" ,"3" },
307 Values { "Discovery", "Normal" },
308 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiSsnType" }]
309 uint16 SessionType;
310
311 [Description (
312 "The Target Session Identifying Handle (TSIH) for this "
313 "session."),
314 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiSsnTSIH" }]
315 uint32 TSIH;
316 karl 1.1
317 [Description (
318 "The iSCSI Port Name (iSCSIProtocolEndPoint.Name), of the "
319 "device at the other end of this iSCSISession."),
320 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiSsnInitiatorName",
321 "MIB.IETF|iSCSI-MIB.iscsiSsnTargetName" }]
322 string EndPointName;
323
324 [Description (
325 "The number of transport protocol connections that currently "
326 "belong to this session."),
327 MinValue ( 1 ), MaxValue ( 65535 ),
328 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiSsnConnectionNumber" },
329 ModelCorrespondence {
330 "CIM_iSCSISessionSettings.MaxConnectionsPerSession" }]
331 uint32 CurrentConnections;
332
333 [Description (
334 "If set to true, indicates that the initiator MUST wait for "
335 "an R2T before sending to the target. If set to false, the "
336 "initiator MAY send data immediately, within limits set by "
337 karl 1.1 "iscsiSsnFirstBurstLength and the expected data transfer "
338 "length of the request."),
339 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiSsnInitialR2T" },
340 ModelCorrespondence {
341 "CIM_iSCSISessionSettings.InitialR2TPreference" }]
342 boolean InitialR2T;
343
344 [Description (
345 "Indicates whether the initiator and target have agreed to "
346 "support immediate data on this session."),
347 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiSsnImmediateData" },
348 ModelCorrespondence {
349 "CIM_iSCSISessionSettings.ImmediateDataPreference" }]
350 boolean ImmediateData;
351
352 [Description (
353 "The maximum number of outstanding request-to-transmit "
354 "(R2T)s per iSCSI task within this session."),
355 Units ( "Bytes" ), MinValue ( 1 ), MaxValue ( 65535 ),
356 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiSsnMaxOutstandingR2T"
357 },
358 karl 1.1 ModelCorrespondence {
359 "CIM_iSCSISessionSettings.MaxOutstandingR2T" }]
360 uint32 MaxOutstandingR2T;
361
362 [Description (
363 "The maximum length supported for unsolicited data sent "
364 "within this session."),
365 Units ( "Bytes" ), MinValue ( 512 ), MaxValue ( 16777215 ),
366 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiSsnFirstBurstLength" },
367 ModelCorrespondence {
368 "CIM_iSCSISessionSettings.MaxUnsolicitedFirstDataBurstLength"
369 }]
370 uint32 MaxUnsolicitedFirstDataBurstLength;
371
372 [Description (
373 "The maximum number of bytes which can be sent within a "
374 "single sequence of Data-In or Data-Out PDUs."),
375 Units ( "Bytes" ), MinValue ( 512 ), MaxValue ( 16777215 ),
376 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiSsnMaxBurstLength" },
377 ModelCorrespondence {
378 "CIM_iSCSISessionSettings.MaxDataBurstLength" }]
379 karl 1.1 uint32 MaxDataBurstLength;
380
381 [Description (
382 "The authentication method being used on this session, as "
383 "communicated during the login phase."),
384 ValueMap { "2", "3", "4", "5" },
385 Values { "None", "SRP", "CHAP", "Kerberos" },
386 MappingStrings { "MIB.IETF|IPS-AUTH-MIB.ipsAuthCredAuthMethod"
387 },
388 ModelCorrespondence {
389 "CIM_iSCSICapabilities.AuthenticationMethodsSupported" }]
390 uint16 AuthenticationMethodUsed;
391
392 [Description (
393 "False indicates that iSCSI data PDU sequences MAY be "
394 "transferred in any order. True indicates that data PDU "
395 "sequences MUST be transferred using continuously increasing "
396 "offsets, except during error recovery."),
397 MappingStrings {
398 "MIB.IETF|iSCSI-MIB.iscsiSsnDataSequenceInOrder" },
399 ModelCorrespondence {
400 karl 1.1 "CIM_iSCSISessionSettings.DataSequenceInOrderPreference" }]
401 boolean DataSequenceInOrder;
402
403 [Description (
404 "False indicates that iSCSI data PDUs within sequences MAY "
405 "be in any order. True indicates that data PDUs within "
406 "sequences MUST be at continuously increasing addresses, "
407 "with no gaps or overlay between PDUs. Default is true."),
408 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiSsnDataPDUInOrder" },
409 ModelCorrespondence {
410 "CIM_iSCSISessionSettings.DataPDUInOrderPreference" }]
411 boolean DataPDUInOrder;
412
413 [Description (
414 "The level of error recovery negotiated between the "
415 "initiator and the target. Higher numbers represent more "
416 "detailed recovery schemes."),
417 MinValue ( 1 ), MaxValue ( 255 ),
418 MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiSsnErrorRecoveryLevel"
419 },
420 ModelCorrespondence {
421 karl 1.1 "CIM_iSCSISessionSettings.ErrorRecoveryLevelPreference" }]
422 uint32 ErrorRecoveryLevel;
423
424
425 };
426
427 // ===================================================================
428 // end of file
429 // ===================================================================
|