1 kumpf 1.2 // ===================================================================
2 // Title: Device Fibre Channel 2.7
3 // Filename: Device27_FC.mof
4 // Version: 2.7.1
5 // Release: Final
6 // Date: 04/23/03
7 // ===================================================================
8 // Copyright 2000-2003 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 kumpf 1.2 // 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 kumpf 1.2 // ===================================================================
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 // - Fix Value/ValueMap mismatch in FCPort.SupportedCOS and
55 // ActiveCOS
56 //
57 // Change Log for v2.7 Final
58 // CR940 - Fix Value/ValueMap mismatch in FCPort.ActiveFC4Types
59 // CR948 - Add additional value of "G" to FCPort.PortType
60 // CR970 - Removal of the Experimental qualifier
61 // - Move ZoneCapabilities to CIM V2.8, as Experimental
62 // CR975 - Clean up of Zone
63 // CR976 - Remove ZoneAlias in lieu of the Network's class
64 kumpf 1.2 // NamedAddressCollection
65 // CR977 - Update to ZoneMemberSettingData to allow for common
66 // superclass of ConnectivitySettingData
67 //
68 // Change Log for v2.7
69 // CR630 - Add FCPort and FCPortStatistics
70 // CR674 - Add ZoneSet, Zone, ZoneAlias, ZoneMemberSettingData,
71 // ZoneService and ZoneCapabilities
72 // CR783 - Modify FCPort and FCPortStatistics
73 // ==================================================================
74
75 #pragma locale ("en_US")
76
77
78 // ==================================================================
79 // FCPort
80 // ==================================================================
81 [Version ("2.7.1"), Description (
82 "Capabilities and management of a Fibre Channel Port Device.") ]
83 class CIM_FCPort : CIM_NetworkPort {
84
85 kumpf 1.2 [Override("PortType"), Description (
86 "The specific mode currently enabled for the Port. "
87 "The values: \"N\" = Node Port, \"NL\" = Node Port "
88 "supporting FC arbitrated loop, \"E\" = Expansion Port "
89 "connecting fabric elements (for example, FC switches), "
90 "\"F\" = Fabric (element) Port, \"FL\" = Fabric (element) "
91 "Port supporting FC arbitrated loop, \"B\" = Bridge "
92 "and \"G\" = Generic Port. "
93 "PortTypes are defined in the ANSI X3 standards. "
94 "When set to 1 (\"Other\"), the related property "
95 "OtherPortType contains a string description of "
96 "the port's type."),
97 ValueMap {"0", "1", "10", "11", "12", "13", "14", "15",
98 "16", "17", "18", "16000..65535"},
99 Values {"Unknown", "Other", "N", "NL", "F/NL", "Nx", "E",
100 "F", "FL", "B", "G", "Vendor Reserved"} ]
101 uint16 PortType;
102
103 [Description (
104 "An array of integers indicating the Fibre Channel Classes of "
105 "Service that are supported. The active COS are indicated in "
106 kumpf 1.2 "ActiveCOS."),
107 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"},
108 Values {"Unknown", "1", "2", "3", "4", "5", "6", "F"} ]
109 uint16 SupportedCOS[];
110
111 [Description (
112 "An array of integers indicating the Classes of Service that "
113 "are active. The Active COS is indicated in ActiveCOS."),
114 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"},
115 Values {"Unknown", "1", "2", "3", "4", "5", "6", "F"},
116 ModelCorrespondence {"CIM_FCPort.SupportedCOS"} ]
117 uint16 ActiveCOS[];
118
119 [Description (
120 "An array of integers indicating the Fibre Channel FC-4 "
121 "protocols supported. The protocols that are active and "
122 "running are indicated in the ActiveFC4Types property."),
123 ValueMap {"0", "1", "4", "5", "8", "9",
124 "17", "18", "19", "21", "22", "23",
125 "25", "26", "27", "28", "32", "34", "36",
126 "64", "80", "81", "82", "88", "96", "255"},
127 kumpf 1.2 Values {"Unknown", "Other", "ISO/IEC 8802 - 2 LLC",
128 "IP over FC", "SCSI - FCP", "SCSI - GPP",
129 "IPI - 3 Master", "IPI - 3 Slave", "IPI - 3 Peer",
130 "CP IPI - 3 Master", "CP IPI - 3 Slave",
131 "CP IPI - 3 Peer", "SBCCS Channel",
132 "SBCCS Control Unit", "FC-SB-2 Channel",
133 "FC-SB-2 Control Unit",
134 "Fibre Channel Services (FC-GS, FC-GS-2, FC-GS-3)",
135 "FC-SW", "FC - SNMP", "HIPPI - FP", "BBL Control",
136 "BBL FDDI Encapsulated LAN PDU",
137 "BBL 802.3 Encapsulated LAN PDU", "FC - VI", "FC - AV",
138 "Vendor Unique"} ]
139 uint16 SupportedFC4Types[];
140
141 [Description (
142 "An array of integers indicating the Fibre Channel FC-4 "
143 "protocols currently running. A list of all protocols "
144 "supported is indicated in the SupportedFC4Types property."),
145 ValueMap {"0", "1", "4", "5", "8", "9",
146 "17", "18", "19", "21", "22", "23",
147 "25", "26", "27", "28", "32", "34", "36",
148 kumpf 1.2 "64", "80", "81", "82", "88", "96", "255"},
149 Values {"Unknown", "Other", "ISO/IEC 8802 - 2 LLC",
150 "IP over FC", "SCSI - FCP", "SCSI - GPP",
151 "IPI - 3 Master", "IPI - 3 Slave", "IPI - 3 Peer",
152 "CP IPI - 3 Master", "CP IPI - 3 Slave",
153 "CP IPI - 3 Peer", "SBCCS Channel",
154 "SBCCS Control Unit", "FC-SB-2 Channel",
155 "FC-SB-2 Control Unit",
156 "Fibre Channel Services (FC-GS, FC-GS-2, FC-GS-3)",
157 "FC-SW", "FC - SNMP", "HIPPI - FP", "BBL Control",
158 "BBL FDDI Encapsulated LAN PDU",
159 "BBL 802.3 Encapsulated LAN PDU", "FC - VI", "FC - AV",
160 "Vendor Unique"},
161 ModelCorrespondence {"CIM_FCPort.SupportedFC4Types"} ]
162 uint16 ActiveFC4Types[];
163 };
164
165
166 // ==================================================================
167 // ZoneSet
168 // ==================================================================
169 kumpf 1.2 [Version ("2.7.0"), Description (
170 "A ZoneSet is a group of zones that are managed collectively "
171 "by the same domain. The managing domain is indicated by the "
172 "HostedCollection association. For example, for Fibre Channel, "
173 "this would indicate a set of zones that are part of a fabric. "
174 "The zones are only under zone enforcement by the fabric,"
175 "if the zoneset is set to active.") ]
176 class CIM_ZoneSet : CIM_ConnectivityCollection {
177
178 [Override ("ElementName"), Required, Write, Description (
179 "A user-friendly name for the ZoneSet that is unique "
180 "within the AdminDomain.") ]
181 string ElementName;
182
183 [Required, Write, Description (
184 "Indicates that this ZoneSet is currently active (i.e. "
185 "under enforcement of a fabric). This property can be "
186 "used to distinguish between a ZoneSet that is currently "
187 "active and a snapshot of a ZoneSet (with the same "
188 "InstanceName) that is for \"offline\" editing.") ]
189 boolean Active;
190 kumpf 1.2 };
191
192
193 // ==================================================================
194 // Zone
195 // ==================================================================
196 [Version ("2.7.0"), Description (
197 "A zone is a group of Ports, Endpoints, Nodes, Zones, and/or "
198 "NamedAddressCollections that are managed collectively by "
199 "the same domain. The managing domain is indicated by the "
200 "HostedCollection association. For Fibre Channel, a zone "
201 "indicates a set of members that are participating together "
202 "in the fabric.") ]
203 class CIM_Zone : CIM_ConnectivityCollection {
204
205 [Override ("ElementName"), Required, Write, Description (
206 "A user-friendly name for the Zone that is unique "
207 "within the AdminDomain.") ]
208 string ElementName;
209
210 [Required, Description (
211 kumpf 1.2 "Indicates that this Zone is currently active (i.e. "
212 "under enforcement of a fabric). This property can be "
213 "used to distinguish between a Zone that is currently "
214 "active and a snapshot of a Zone (with the same "
215 "InstanceName) that is for \"offline\" editing.") ]
216 boolean Active;
217
218 [Required, Description (
219 "The type of zoning to be enforced."),
220 ValueMap {"0", "1", "2", "3", "..", "32768..65535"},
221 Values {"Unknown", "Other", "Default", "Protocol",
222 "DMTF Reserved", "Vendor Reserved"},
223 ModelCorrespondence {"CIM_Zone.OtherZoneTypeDescription"} ]
224 uint16 ZoneType;
225
226 [Description (
227 "A string describing the ZoneType when the ZoneType value "
228 "is 1 \"Other\"."),
229 ModelCorrespondence {"CIM_Zone.ZoneType"} ]
230 string OtherZoneTypeDescription;
231
232 kumpf 1.2 [Description (
233 "Specific clarification when necessary when the ProtocolType "
234 "has an enumeration that requires it. Specifically, if "
235 "ProtocolType is \"Protocol\", then SubType the Fibre Channel "
236 "FC4 type."),
237 ValueMap {"0", "1", "2", "3", "4", "..",
238 "32768..65535"},
239 Values {"Unknown", "Other", "SCSI", "VI", "IP",
240 "DMTF Reserved", "Vendor Reserved"},
241 ModelCorrespondence {"CIM_Zone.OtherZoneSubTypeDescription"} ]
242 uint16 ZoneSubType;
243
244 [Description (
245 "A string describing the ZoneSubType when the ZoneSubType "
246 "value is 1 \"Other\"."),
247 ModelCorrespondence {"CIM_Zone.ZoneSubType"} ]
248 string OtherZoneSubTypeDescription;
249 };
250
251
252 // ==================================================================
253 kumpf 1.2 // ZoneMembershipSettingData
254 // ==================================================================
255 [Version ("2.7.0"), Description (
256 "ZoneMembershipSettingData provides the identification criteria "
257 "for possible Zone and ZoneAlias members.") ]
258 class CIM_ZoneMembershipSettingData : CIM_SettingData {
259
260 [Required, Description (
261 "This specifies the type of identification "
262 "used in the ConnectivityMemberID field. For Fibre Channel: \n"
263 "* A ConnectivityMemberType of 'PermanentAddress', the "
264 "ConnectivityMemberID is the NxPort WWN; \n"
265 "* A ConnectivityMemberType of 'NetworkAddress', the "
266 "ConnectivityMemberID is the NXPort Address ID; \n"
267 "* A ConnectivityMemberType of 'SwitchPortID', the "
268 "ConnectivityMemberID is 'Domain:PortNumber'."),
269 ValueMap {"0", "1", "2", "3", "4", "5", "..",
270 "32768..65535"},
271 Values {"Unknown", "Other", "PermanentAddress",
272 "NetworkAddress", "SwitchPortID", "LogicalPortGroup",
273 "DMTF Reserved", "Vendor Reserved"},
274 kumpf 1.2 ModelCorrespondence {
275 "CIM_ConnectivityMemberSettingData.ConnectivityMemberID"} ]
276 uint16 ConnectivityMemberType;
277
278 [Required, Description (
279 "The identification of the member "
280 "based on the type specified by ConnectivityMemberType."),
281 ModelCorrespondence {
282 "CIM_ConnectivityMemberSettingData.ConnectivityMemberType"} ]
283 string ConnectivityMemberID;
284 };
285
286
287 // ==================================================================
288 // ZoneService
289 // ==================================================================
290 [Version ("2.7.0"), Description (
291 "The ZoneService if responsible for managing the zone "
292 "enforcement for the fabric. The ZoneService is hosted on an "
293 "AdminDomain. This is depicted by the HostedService "
294 "association. ") ]
295 kumpf 1.2 class CIM_ZoneService: CIM_Service {
296 };
297
298
299 // ==================================================================
300 // FibreProtocolService
301 // ==================================================================
302 [Version ("2.6.0"), Description (
303 "FibreProtocolService abstracts and allows the management of "
304 "the Alias, Management, Time, Security, Directory (Naming) and "
305 "other services and functions available in a Fibre Channel "
306 "network. This class will be further defined in a later "
307 "release of CIM.") ]
308 class CIM_FibreProtocolService : CIM_Service {
309 };
310
311
312 // ==================================================================
313 // FCPortStatistics
314 // ==================================================================
315 [Version ("2.7.0"), Description (
316 kumpf 1.2 "FCPortStatistics is the statistics for the FCPort.") ]
317 class CIM_FCPortStatistics : CIM_NetworkPortStatistics {
318
319 [Counter, Description (
320 "LIPCount is the number of LIP events that have occurred on "
321 "an arbitrated loop.") ]
322 uint64 LIPCount;
323
324 [Counter, Description (
325 "NOSCount is the number of NOS events that have occurred on "
326 "the switched fabric.") ]
327 uint64 NOSCount;
328
329 [Counter, Description (
330 "ErrorFrames is the number of frames that have been received "
331 "in error.") ]
332 uint64 ErrorFrames;
333
334 [Counter, Description (
335 "DumpedFrames is the number of frames that were lost due to "
336 "a lack of host buffers available.") ]
337 kumpf 1.2 uint64 DumpedFrames;
338
339 [Counter, Description (
340 "LinkFailure is the number of times a link error has "
341 "occurred. This count is part of the Link Error "
342 "Status Block (LESB).") ]
343 uint64 LinkFailures;
344
345 [Counter, Description (
346 "Number of times that signal is lost on the Port since last "
347 "reset of the Device. This count is part of the Link Error "
348 "Status Block (LESB).") ]
349 uint64 LossOfSignalCounter;
350
351 [Counter, Description (
352 "Number of times that synchronization is lost on the Port "
353 "since last reset of the Device. Synchronization is assumed "
354 "lost after a timeout period (identified by the Receiver"
355 "TransmitterTimeout property) is exceeded. This count is part "
356 "of the Link Error Status Block (LESB).") ]
357 uint64 LossOfSyncCounter;
358 kumpf 1.2
359 [Counter, Description (
360 "Count of primitive sequence protocol errors detected at this "
361 "port. This count is part of the Link Error Status Block "
362 "(LESB).") ]
363 uint64 PrimitiveSeqProtocolErrCount;
364
365 [Counter, Description (
366 "Number of times that the CRC in a frame does not match the "
367 "CRC computed by the receiver. This count is part of the "
368 "Link Error Status Block (LESB).") ]
369 uint64 CRCErrors;
370
371 [Counter, Description (
372 "The number of transmission words that had an invalid "
373 "character (8b10b code "
374 "violation) in one or more of its characters, had a "
375 "K28.5 (8b10b control) in its second, third or fourth "
376 "character positions, and/or had an incorrect Beginning "
377 "Running Disparity. This count is part of the Link Error "
378 "Status Block (LESB).") ]
379 kumpf 1.2 uint64 InvalidTransmissionWords;
380
381 [Counter, Description (
382 "The number of frames received that were shorter than 28 "
383 "octets. The value of 28 is calculated based on an "
384 "assumption of 24 header bytes plus 4 CRC bytes. The "
385 "count does not include SOF/EOF bytes which are not data.") ]
386 uint64 FramesTooShort;
387
388 [Counter, Description (
389 "The number of frames received that were longer than 2140 "
390 "octets. The value of 2140 is calculated based on an "
391 "assumption of 24 header bytes plus 4 CRC bytes and 2112 "
392 "bytes of payload.") ]
393 uint64 FramesTooLong;
394
395 [Counter, Description (
396 "Count of frames received with unknown addressing. An example "
397 "is an unknown SID or DID. The SID or DID is not known to the "
398 "routing algorithm.") ]
399 uint64 AddressErrors;
400 kumpf 1.2
401 [Counter, Description (
402 "Count of occurrences when all input buffers of a port were "
403 "full and outbound buffer-to-buffer credit transitioned to "
404 "zero. There is no credit to provide to other side.") ]
405 uint64 BufferCreditNotProvided;
406
407 [Counter, Description (
408 "Count of transitions in/out of BBcredit zero state. The "
409 "other side is not providing any credit.") ]
410 uint64 BufferCreditNotReceived;
411
412 [Counter, Description (
413 " Count of invalid frame delimiters received at this port. "
414 "An example is a frame with a class 2 start and a class 3 "
415 "at the end.") ]
416 uint64 DelimiterErrors;
417
418 [Counter, Description (
419 "Count of disparity errors received at this port.") ]
420 uint64 EncodingDisparityErrors;
421 kumpf 1.2
422 [Counter, Description (
423 "Count of Link resets. This is the number of LRs received.") ]
424 uint64 LinkResetsReceived;
425
426 [Counter, Description (
427 "Count of Link resets. This is the number of LRs transmitted.") ]
428 uint64 LinkResetsTransmitted;
429
430 [Counter, Description (
431 "Count of Multicast Frames or Packets received.") ]
432 uint64 MulticastFramesReceived;
433
434 [Counter, Description (
435 "Count of Multicast Frames or Packets transmitted.") ]
436 uint64 MulticastFramesTransmitted;
437 };
438
439
440 // ===================================================================
441 // end of file
442 kumpf 1.2 // ===================================================================
|