1 karl 1.1 // ===================================================================
2 // Title: Device Fibre Channel 2.7.1
3 // Filename: Device27_FC.mof
4 // Version: 2.7.1
5 // Release: Preliminary
6 // Date: 10/21/02
7 // ===================================================================
8 // Copyright 2002 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 karl 1.1 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party's
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 karl 1.1 // ===================================================================
44 // Description: The Device Model extends the management concepts that
45 // are related to LogicalDevices. This file defines the
46 // concepts and classes to manage Fibre Channel devices
47 // and Zones.
48 //
49 // The object classes below are listed in an order that
50 // avoids forward references. Required objects, defined
51 // by other working groups, are omitted.
52 // ==================================================================
53 // Change Log for v2.7.1
54 // CR914 - Remove "5" from the ValueMap for FCPort.SupportedCOS.
55 // There is a mismatch between the Values and ValueMap arrays.
56 //
57 // Change Log for v2.7
58 // CR630 - Add FCPort and FCPortStatistics
59 // CR674 - Add ZoneSet, Zone, ZoneAlias, ZoneMemberSettingData,
60 // ZoneService and ZoneCapabilities
61 // CR783 - Modify FCPort and FCPortStatistics
62 // ==================================================================
63
64 karl 1.1 #pragma locale ("en_US")
65
66
67 // ==================================================================
68 // FCPort
69 // ==================================================================
70 [Experimental, Version ("2.7.1"), Description (
71 "Capabilities and management of a Fibre Channel Port Device.") ]
72 class CIM_FCPort : CIM_NetworkPort {
73
74 [Override("PortType"), Description (
75 "The specific mode currently enabled for the Port. "
76 "The values: \"N\" = Node Port, \"NL\" = Node Port "
77 "supporting FC arbitrated loop, \"E\" = Expansion Port "
78 "connecting fabric elements (for example, FC switches), "
79 "\"F\" = Fabric (element) Port, \"FL\" = Fabric (element) "
80 "Port supporting FC arbitrated loop, and \"B\" = Bridge "
81 "Port. PortTypes are defined in the ANSI X3 standards."
82 "When set to 1 (\"Other\"), the related property "
83 "OtherPortType contains a string description of "
84 "the port's type."),
85 karl 1.1 ValueMap {"0", "1", "10", "11", "12", "13", "14", "15",
86 "16", "17", "16000.."},
87 Values {"Unknown", "Other", "N", "NL", "F/NL", "Nx", "E",
88 "F", "FL", "B", "Vendor Reserved"} ]
89 uint16 PortType;
90
91 [Description (
92 "An array of integers indicating the Fibre Channel Classes of "
93 "Service that are supported. The active COS are indicated in "
94 "ActiveCOS."),
95 ValueMap {"0", "1", "2", "3", "4", "6", "7"},
96 Values {"Unknown", "1", "2", "3", "4", "6", "F"} ]
97 uint16 SupportedCOS[];
98
99 [Description (
100 "An array of integers indicating the Classes of Service that "
101 "are active. The Active COS is indicated in ActiveCOS."),
102 ValueMap {"0", "1", "2", "3", "4", "6", "7"},
103 Values {"Unknown", "1", "2", "3", "4", "6", "F"},
104 ModelCorrespondence {"CIM_FCPort.SupportedCOS"} ]
105 uint16 ActiveCOS[];
106 karl 1.1
107 [Description (
108 "An array of integers indicating the Fibre Channel FC-4 "
109 "protocols supported. The protocols that are active and "
110 "running are indicated in the ActiveFC4Types property."),
111 ValueMap {"0", "1", "4", "5", "8", "9",
112 "17", "18", "19", "21", "22", "23",
113 "25", "26", "27", "28", "32", "34", "36",
114 "64", "80", "81", "82", "88", "96", "255"},
115 Values {"Unknown", "Other", "ISO/IEC 8802 - 2 LLC",
116 "IP over FC", "SCSI - FCP", "SCSI - GPP",
117 "IPI - 3 Master", "IPI - 3 Slave", "IPI - 3 Peer",
118 "CP IPI - 3 Master", "CP IPI - 3 Slave",
119 "CP IPI - 3 Peer", "SBCCS Channel",
120 "SBCCS Control Unit", "FC-SB-2 Channel",
121 "FC-SB-2 Control Unit",
122 "Fibre Channel Services (FC-GS, FC-GS-2, FC-GS-3)",
123 "FC-SW", "FC - SNMP", "HIPPI - FP", "BBL Control",
124 "BBL FDDI Encapsulated LAN PDU",
125 "BBL 802.3 Encapsulated LAN PDU", "FC - VI", "FC - AV",
126 "Vendor Unique"} ]
127 karl 1.1 uint16 SupportedFC4Types[];
128
129 [Description (
130 "An array of integers indicating the Fibre Channel FC-4 "
131 "protocols currently running. A list of all protocols "
132 "supported is indicated in the SupportedFC4Types property."),
133 ValueMap {"0", "1", "4", "5", "8", "9", "17", "18", "19", "21",
134 "22", "23", "25", "26", "27", "28", "32", "34", "36",
135 "64", "80", "81", "82", "88", "96", "255"},
136 Values {"Unknown", "Other", "ISO/IEC 8802 - 2 LLC",
137 "IP over FC", "SCSI - FCP", "SCSI - GPP",
138 "IPI - 3 Master", "IPI - 3 Slave", "IPI - 3 Peer",
139 "SBCCS Channel",
140 "SBCCS Control Unit", "FC-SB-2 Channel",
141 "FC-SB-2 Control Unit",
142 "Fibre Channel Services (FC-GS)",
143 "FC-SW", "FC - SNMP", "HIPPI - FP", "BBL Control",
144 "BBL FDDI Encapsulated LAN PDU",
145 "BBL 802.3 Encapsulated LAN PDU", "FC - VI", "FC - AV",
146 "Vendor Unique"},
147 ModelCorrespondence {"CIM_FCPort.SupportedFC4Types"} ]
148 karl 1.1 uint16 ActiveFC4Types[];
149 };
150
151
152 // ==================================================================
153 // ZoneSet
154 // ==================================================================
155 [Experimental, Version ("2.7.0"), Description (
156 "A ZoneSet is a group of zones that are managed collectively "
157 "by the same domain. The managing domain is indicated by the "
158 "HostedCollection association. For example, for Fibre Channel, "
159 "this would indicate a set of zones that are part of a fabric. "
160 "The zones are only under zone enforcement by the fabric,"
161 "if the zoneset is set to active.") ]
162 class CIM_ZoneSet : CIM_SystemSpecificCollection {
163
164 [Override ("ElementName"), Required, Write, Description (
165 "A user-friendly name for the ZoneSet that is unique "
166 "within the AdminDomain.") ]
167 string ElementName;
168
169 karl 1.1 [Required, Write, Description (
170 "Indicates that this ZoneSet is currently active (i.e. "
171 "under enforcement of a fabric). This property can be "
172 "used to distinguish between a ZoneSet that is currently "
173 "active and a snapshot of a ZoneSet (with the same "
174 "InstanceName) that is for \"offline\" editing.") ]
175 boolean Active;
176 };
177
178
179 // ==================================================================
180 // Zone
181 // ==================================================================
182 [Experimental, Version ("2.7.0"), Description (
183 "A zone is a group of Ports, Endpoints, Nodes, Zones, and/or "
184 "ZoneAliases that are managed collectively by the same domain. "
185 "The managing domain is indicated by the HostedCollection "
186 "association. For Fibre Channel a zones would indicate a set of "
187 "members that are participating together in the fabric.") ]
188 class CIM_Zone : CIM_SystemSpecificCollection {
189
190 karl 1.1 [Override ("ElementName"), Required, Write, Description (
191 "A user-friendly name for the Zone that is unique "
192 "within the AdminDomain.") ]
193 string ElementName;
194
195 [Required, Description (
196 "Indicates that this Zone is currently active (i.e. "
197 "under enforcement of a fabric). This property can be "
198 "used to distinguish between a Zone that is currently "
199 "active and a snapshot of a Zone (with the same "
200 "InstanceName) that is for \"offline\" editing.") ]
201 boolean Active;
202
203 [Required, Description (
204 "The type of zoning to be enforced."),
205 ValueMap {"0", "1", "2", "3", "..", "0x8000.."},
206 Values {"Unknown", "Other", "Default", "Protocol",
207 "DMTF Reserved", "Vendor Reserved"},
208 ModelCorrespondence {"CIM_Zone.OtherZoneTypeDescription"} ]
209 uint16 ZoneType;
210
211 karl 1.1 [Description (
212 "A string describing the ZoneType when the ZoneType value "
213 "is 1 \"Other\"."),
214 ModelCorrespondence {"CIM_Zone.ZoneType"} ]
215 string OtherZoneTypeDescription;
216
217 [Description (
218 "The protocol that is allowed to participate in the Zone. "
219 "For Fibre Channel, this is the FC4 type."),
220 ValueMap {"0", "1", "2", "3", "4"},
221 Values {"Unknown", "Other", "SCSI", "VI", "IP"},
222 ModelCorrespondence {"CIM_Zone.OtherProtocolTypeDescription"} ]
223 uint16 ProtocolType;
224
225 [Description (
226 "A string describing the ProtocolType when the ProtocolType "
227 "value is 1 \"Other\"."),
228 ModelCorrespondence {"CIM_Zone.ProtocolType"} ]
229 string OtherProtocolTypeDescription;
230
231 [Description (
232 karl 1.1 "The access mode allowed for the ProtocolType.") ]
233 boolean ReadOnly;
234 };
235
236
237 // ==================================================================
238 // ZoneAlias
239 // ==================================================================
240 [Experimental, Version ("2.7.0"), Description (
241 "A zone is a group of Ports, Endpoints, Nodes, and/or other Zones "
242 "that are managed collectively by the same domain. The managing "
243 "domain is indicated by the HostedCollection association.") ]
244 class CIM_ZoneAlias : CIM_SystemSpecificCollection {
245
246 [Override ("ElementName"), Required, Write, Description (
247 "A user-friendly name for the ZoneAlias that is unique "
248 "within the AdminDomain.") ]
249 string ElementName;
250 };
251
252
253 karl 1.1 // ==================================================================
254 // ZoneMemberSettingData
255 // ==================================================================
256 [Experimental, Version ("2.7.0"), Description (
257 "ZoneMemberSettingData provides the identification criteria for "
258 "possible Zone and ZoneAlias members.") ]
259 class CIM_ZoneMemberSettingData : CIM_SettingData {
260
261 [Required, Write, Description (
262 "This specifies the type of identification "
263 "used in the ZoneMemberID field. For Fibre Channel: \n"
264 "* A ZoneMemberType of 'PermanentAddress', the "
265 "ZoneMemberID is the NxPort WWN; \n"
266 "* A ZoneMemberType of 'NetworkAddress', the "
267 "ZoneMemberID is the NXPort Address ID; \n"
268 "* A ZoneMemberType of 'SwitchPortID', the ZoneMemberID "
269 "is 'Domain:PortNumber'; \n"
270 "* A ZoneMemberType of 'Alias', the ZoneMemberID is "
271 "ZoneAlias name."),
272 ValueMap {"0", "1", "2", "3", "4", "5", "6", "..",
273 "0x8000.."},
274 karl 1.1 Values {"Unknown", "Other", "PermanentAddress",
275 "NetworkAddress", "SwitchPortID", "LogicalPortGroup",
276 "Alias", "DMTF Reserved", "Vendor Reserved"},
277 ModelCorrespondence {
278 "CIM_ZoneMemberSettingData.ZoneMemberID"} ]
279 uint16 ZoneMemberType;
280
281 [Required, Write, Description (
282 "The identification of the member "
283 "based on the type specified by ZoneMemberType."),
284 ModelCorrespondence {
285 "CIM_ZoneMemberSettingData.ZoneMemberType"} ]
286 string ZoneMemberID;
287 };
288
289
290 // ==================================================================
291 // ZoneService
292 // ==================================================================
293 [Experimental, Version ("2.7.0"), Description (
294 "The ZoneService if responsible for managing the zone "
295 karl 1.1 "enforcement for the fabric. The ZoneService is hosted on an "
296 "AdminDomain. This is depicted by the HostedService "
297 "association. ") ]
298 class CIM_ZoneService: CIM_Service {
299 };
300
301
302 // ==================================================================
303 // ZoneCapabilities
304 // ==================================================================
305 [Experimental, Version ("2.7.0"), Description (
306 "ZoneCapabilities exposes the capabilities for zoning of an "
307 "AdminDomain.") ]
308 class CIM_ZoneCapabilities : CIM_Capabilities {
309
310 [Description (
311 "The maximum length for the Zone Name that the AdminDomain "
312 "is capable of supporting.") ]
313 uint32 ZoneNameMaxLen;
314
315 [Description (
316 karl 1.1 "The ZoneNameFormat supported by the AdminDomain."),
317 ValueMap {"0", "2", "3", "..", "0x8000.."},
318 Values {"Unknown", "Numeric", "Alpha Numeric",
319 "DMTF Reserved", "Vendor Reserved"} ]
320 uint16 ZoneNameFormat;
321
322 [Description (
323 "The maximum number of ZoneSets that the AdminDomain "
324 "is capable of supporting.") ]
325 uint32 MaxNumZoneSets;
326
327 [Description (
328 "The maximum number of Zones that the AdminDomain is "
329 "capable of supporting.") ]
330 uint32 MaxNumZone;
331
332 [Description (
333 "The maximum number of ZoneMembers that the AdminDomain "
334 "is capable of supporting.") ]
335 uint32 MaxNumZoneMembers;
336
337 karl 1.1 [Description (
338 "The maximum number of Zones per ZoneSet that the "
339 "AdminDomain is capable of supporting.") ]
340 uint32 MaxNumZonesPerZoneSet;
341
342 [Description (
343 "The maximum number of ZoneAliases that the AdminDomain "
344 "is capable of supporting.") ]
345 uint32 MaxNumZoneAliases;
346 };
347
348
349 // ==================================================================
350 // FibreProtocolService
351 // ==================================================================
352 [Version ("2.6.0"), Description (
353 "FibreProtocolService abstracts and allows the management of "
354 "the Alias, Management, Time, Security, Directory (Naming) and "
355 "other services and functions available in a Fibre Channel "
356 "network. This class will be further defined in a later "
357 "release of CIM.") ]
358 karl 1.1 class CIM_FibreProtocolService : CIM_Service {
359 };
360
361
362 // ==================================================================
363 // FCPortStatistics
364 // ==================================================================
365 [Experimental, Version ("2.7.0"), Description (
366 "FCPortStatistics is the statistics for the FCPort.") ]
367 class CIM_FCPortStatistics : CIM_NetworkPortStatistics {
368
369 [Counter, Description (
370 "LIPCount is the number of LIP events that have occurred on "
371 "an arbitrated loop.") ]
372 uint64 LIPCount;
373
374 [Counter, Description (
375 "NOSCount is the number of NOS events that have occurred on "
376 "the switched fabric.") ]
377 uint64 NOSCount;
378
379 karl 1.1 [Counter, Description (
380 "ErrorFrames is the number of frames that have been received "
381 "in error.") ]
382 uint64 ErrorFrames;
383
384 [Counter, Description (
385 "DumpedFrames is the number of frames that were lost due to "
386 "a lack of host buffers available.") ]
387 uint64 DumpedFrames;
388
389 [Counter, Description (
390 "LinkFailure is the number of times a link error has "
391 "occurred. This count is part of the Link Error "
392 "Status Block (LESB).") ]
393 uint64 LinkFailures;
394
395 [Counter, Description (
396 "Number of times that signal is lost on the Port since last "
397 "reset of the Device. This count is part of the Link Error "
398 "Status Block (LESB).") ]
399 uint64 LossOfSignalCounter;
400 karl 1.1
401 [Counter, Description (
402 "Number of times that synchronization is lost on the Port "
403 "since last reset of the Device. Synchronization is assumed "
404 "lost after a timeout period (identified by the Receiver"
405 "TransmitterTimeout property) is exceeded. This count is part "
406 "of the Link Error Status Block (LESB).") ]
407 uint64 LossOfSyncCounter;
408
409 [Counter, Description (
410 "Count of primitive sequence protocol errors detected at this "
411 "port. This count is part of the Link Error Status Block "
412 "(LESB).") ]
413 uint64 PrimitiveSeqProtocolErrCount;
414
415 [Counter, Description (
416 "Number of times that the CRC in a frame does not match the "
417 "CRC computed by the receiver. This count is part of the "
418 "Link Error Status Block (LESB).") ]
419 uint64 CRCErrors;
420
421 karl 1.1 [Counter, Description (
422 "The number of transmission words that had an invalid "
423 "character (8b10b code "
424 "violation) in one or more of its characters, had a "
425 "K28.5 (8b10b control) in its second, third or fourth "
426 "character positions, and/or had an incorrect Beginning "
427 "Running Disparity. This count is part of the Link Error "
428 "Status Block (LESB).") ]
429 uint64 InvalidTransmissionWords;
430
431 [Counter, Description (
432 "The number of frames received that were shorter than 28 "
433 "octets. The value of 28 is calculated based on an "
434 "assumption of 24 header bytes plus 4 CRC bytes. The "
435 "count does not include SOF/EOF bytes which are not data.") ]
436 uint64 FramesTooShort;
437
438 [Counter, Description (
439 "The number of frames received that were longer than 2140 "
440 "octets. The value of 2140 is calculated based on an "
441 "assumption of 24 header bytes plus 4 CRC bytes and 2112 "
442 karl 1.1 "bytes of payload.") ]
443 uint64 FramesTooLong;
444
445 [Counter, Description (
446 "Count of frames received with unknown addressing. An example "
447 "is an unknown SID or DID. The SID or DID is not known to the "
448 "routing algorithm.") ]
449 uint64 AddressErrors;
450
451 [Counter, Description (
452 "Count of occurrences when all input buffers of a port were "
453 "full and outbound buffer-to-buffer credit transitioned to "
454 "zero. There is no credit to provide to other side.") ]
455 uint64 BufferCreditNotProvided;
456
457 [Counter, Description (
458 "Count of transitions in/out of BBcredit zero state. The "
459 "other side is not providing any credit.") ]
460 uint64 BufferCreditNotReceived;
461
462 [Counter, Description (
463 karl 1.1 " Count of invalid frame delimiters received at this port. "
464 "An example is a frame with a class 2 start and a class 3 "
465 "at the end.") ]
466 uint64 DelimiterErrors;
467
468 [Counter, Description (
469 "Count of disparity errors received at this port.") ]
470 uint64 EncodingDisparityErrors;
471
472 [Counter, Description (
473 "Count of Link resets. This is the number of LRs received.") ]
474 uint64 LinkResetsReceived;
475
476 [Counter, Description (
477 "Count of Link resets. This is the number of LRs transmitted.") ]
478 uint64 LinkResetsTransmitted;
479
480 [Counter, Description (
481 "Count of Multicast Frames or Packets received.") ]
482 uint64 MulticastFramesReceived;
483
484 karl 1.1 [Counter, Description (
485 "Count of Multicast Frames or Packets transmitted.") ]
486 uint64 MulticastFramesTransmitted;
487 };
488
489
490 // ===================================================================
491 // end of file
492 // ===================================================================
|