1 karl 1.1 // ===================================================================
2 // Title: Network VLAN
3 // $State: Preliminary $
4 // $Date: 2004/07/15 21:32:36 $
5 // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Network_VLAN.mof,v $
6 // $Revision: 1.8 $
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 defines VLAN (virtual LAN)
49 // concepts.
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 Company Review
56 // CR1465 - Corrected compile errors and warnings. System_FileServices.mof
57 // was moved to CIM_Schema.mof to resolve compile order issues.
58 //
59 // Change Log for v2.9 - re-introduce new VLAN classes
60 // CR1458 - Correction of misspelled word (PruneEligibleVLANList
61 // instead of PruneElegibleVLANList)
62 // CR1024 - Updated version of VLAN model
63 // CR1123 - Incorporates member comments
64 karl 1.1 // CR1146 - Update cardinalities for associations VLANsInTrunk and
65 // EndstationInVLAN
66 //
67 // Change Log for v2.8
68 // CR1024 - Deprecate all classes and properties in VLAN model. The
69 // purpose of doing this is to introduce a new model in
70 // the upcoming the CIM releases.
71 // CR1226 - Change all references to CIM_802dot1QVLANService to
72 // CIM_Specific802dot1QVLANService
73 //
74 // /Change Log for v2.7
75 // CR867 - Remove Min(1), Max(1) cardinality restrictions on Related
76 // TransparentBridgingService
77 // CR920 - Add missing parenthesis to the Description for CIM_VLAN
78 // ===================================================================
79
80 #pragma Locale ("en_US")
81
82
83 // ==================================================================
84 // VLAN
85 karl 1.1 // ==================================================================
86 [Deprecated { "No Value" }, Version ( "2.8.0" ), Description (
87 "An instance of VLAN represents a VLAN within a switch. In a "
88 "particular switch, there should be an instance of VLAN for "
89 "every VLAN available. For example, in a switch with port-based "
90 "VLANs, if there are 16 VLANs to which ports can be assigned "
91 "(VLAN 1 through VLAN 16), there should be an instance of "
92 "CIM_VLAN for each of VLAN 1 through VLAN 16. \n"
93 "\n"
94 "VLAN inherits Name from ServiceAccessPoint. Use this for the "
95 "textual name of the VLAN, if there is one. Otherwise, "
96 "synthesize a textual name, e.g., VLAN 0003. (Consider leading "
97 "zero fill, as shown, to ensure that if the textual VLAN names "
98 "are extracted and presented by a management applictions, the "
99 "VLAN names will sort in the expected order.) The numeric part "
100 "of the name should be at least four digits wide since 802.1Q "
101 "specifies 4095 VLANs. \n"
102 "\n"
103 "It is intended that VLAN be subclassed only if necessary to "
104 "add attributes. The type of the VLAN can be inferred from the "
105 "VLANService(s) with which the VLAN is associated in the "
106 karl 1.1 "VLANFor association. \n"
107 "\n"
108 "An instance of VLAN may be associated with more than one "
109 "VLANService. For example, there are switches that support both "
110 "802.1Q VLANs and the vendor's proprietary VLANs. In some such "
111 "switches, if a broadcast packet is received on a port in an "
112 "802.1Q VLAN (VLAN 5, for example), it may be be transmitted "
113 "from a port in a 'proprietary' VLAN 5. In effect, there is "
114 "only one VLAN 5, and the type of port only determines the "
115 "packet format for tagged packets. In the case just described, "
116 "only one instance of CIM_VLAN should be instantiated for VLAN "
117 "5, and it should be associated both with the 802.1Q "
118 "VLANService and the proprietary VLANService. \n"
119 "\n"
120 "In typical VLAN-aware switches, packets can be assigned to a "
121 "VLAN based on the port on which they are received (port-based "
122 "VLANS), based on the source MAC address (MAC-based VLANs), or "
123 "based on the value of a set of bits in the packet "
124 "(protocol-based VLANs). If it is desirable to represent the "
125 "VLAN assignment predicate for some MAC-based VLAN switch, it "
126 "will be necessary to subclass VLAN. The list of MAC addresses "
127 karl 1.1 "associated with a VLAN might be an attribute of the subclass. "
128 "If it is desirable to represent the VLAN assignment predicate "
129 "in a protocol-based VLAN switch, it will also be necessary to "
130 "subclass VLAN, InboundVLAN, or both. If the predicate applies "
131 "to all ports in the switch, then only VLAN need be "
132 "used/instantiated. If the predicate may vary based on the "
133 "port, then InboundVLAN must be subclassed, and CIM_VLAN might "
134 "have to be subclassed as well.")]
135 class CIM_VLAN : CIM_ServiceAccessPoint {
136
137 [Deprecated { "No Value" }, Description (
138 "VLAN identifying number.")]
139 uint16 VLANNumber;
140 };
141
142
143 // ==================================================================
144 // InboundVLAN
145 // ==================================================================
146 [Association, Deprecated { "No Value" }, Version ( "2.8.0" ),
147 Description (
148 karl 1.1 "This class is deprecated in lieu or not being necessary to "
149 "indicate whether the VLAN is inbound/outbound This association "
150 "makes explicit the operational dependencies of a SwitchPort "
151 "when operating in a VLAN. If there is an association between a "
152 "particular SwitchPort and a particular VLAN, then there is the "
153 "possibility that a packet received by the port will be "
154 "assigned to the VLAN (or if the packet already has a VLAN tag, "
155 "that the packet will not be dropped). If there is no such "
156 "association, then there is NO possibility that a packet "
157 "received by the port will progress through the switch having "
158 "been assigned to the referenced VLAN.")]
159 class CIM_InboundVLAN : CIM_SAPSAPDependency {
160
161 [Deprecated { "No Value" }, Override ( "Antecedent" ),
162 Description (
163 "The VLAN to which the SwitchPort is assigned.")]
164 CIM_VLAN REF Antecedent;
165
166 [Deprecated { "No Value" }, Override ( "Dependent" ),
167 Description (
168 "The SwitchPort on the VLAN.")]
169 karl 1.1 CIM_SwitchPort REF Dependent;
170
171 [Deprecated { "No Value" }, Description (
172 "If TRUE, packets already tagged with this VLAN number will "
173 "be accepted when arriving at this port. For example, if "
174 "there is an InboundVLAN association between port 12 and "
175 "VLAN 7 for which Tagged is true, then when a packet tagged "
176 "with VLAN 7 arrives at port 12, the packet will be accepted "
177 "into the switch for further processing. If there is no such "
178 "association, then the packet will be dropped. \n"
179 "\n"
180 "If FALSE, it means that any untagged packets arriving at "
181 "this port MIGHT be classified into the associated VLAN. If, "
182 "for a particular SwitchPort, there is only one instance of "
183 "the association for which Tagged is FALSE, then all "
184 "incoming untagged packets will be classified into that "
185 "VLAN. This is the typical configuration of a non-trunk port "
186 "in a switch implementing port-based VLANs. If there is more "
187 "than one such association instance, then the packet MIGHT "
188 "be classified into any one of them, based on some criterion "
189 "other than the identity of the switch port. For example, in "
190 karl 1.1 "a MAC-based VLAN switch, the decision would be based on the "
191 "source MAC address. In a protocol-based VLAN switch, the "
192 "decision would be based on the values of some set of bits "
193 "in the packet. \n"
194 "\n"
195 "Note that the MAC address is formatted as twelve "
196 "hexadecimal digits (e.g., \"010203040506\"), with each pair "
197 "representing one of the six octets of the MAC address in "
198 "\"canonical\" bit order according to RFC 2469.")]
199 boolean Tagged;
200
201 [Deprecated { "No Value" }, Description (
202 "Default should be TRUE if untagged packets received by the "
203 "SwitchPort are assigned to the VLAN. For 802.1Q-compliant "
204 "ports, the Default property should be TRUE on the "
205 "association instance connecting a SwitchPort to the VLAN "
206 "corresponding to the port's PVID. Default MUST never be "
207 "TRUE if Tagged is true -- it applies only to untagged "
208 "packets.")]
209 boolean Default;
210 };
211 karl 1.1
212
213 // ==================================================================
214 // OutboundVLAN
215 // ==================================================================
216 [Association, Deprecated { "No Value" }, Version ( "2.8.0" ),
217 Description (
218 "This class is deprecated in lieu or not being necessary to "
219 "indicate whether the VLAN is inbound/outbound This association "
220 "makes explicit the operational dependencies of a SwitchPort "
221 "when operating in a VLAN. If there is no instance of "
222 "OutboundVLAN between a given SwitchPort and VLAN, then any "
223 "packet that has been assigned to the VLAN and whose "
224 "destination address is associated with the port will be "
225 "dropped by the switch without being transmitted. Otherwise, "
226 "the packet will be transmitted.")]
227 class CIM_OutboundVLAN : CIM_SAPSAPDependency {
228
229 [Deprecated { "No Value" }, Override ( "Antecedent" ),
230 Description (
231 "The VLAN to which the SwitchPort is assigned.")]
232 karl 1.1 CIM_VLAN REF Antecedent;
233
234 [Deprecated { "No Value" }, Override ( "Dependent" ),
235 Description (
236 "The SwitchPort on the VLAN.")]
237 CIM_SwitchPort REF Dependent;
238
239 [Deprecated { "No Value" }, Description (
240 "If Tagged is TRUE, then the packet will be transmitted in "
241 "encapsulated form, tagged with the associated VLAN tag. If "
242 "Tagged is FALSE, the packet will be trasmitted without any "
243 "VLAN tag.")]
244 boolean Tagged;
245 };
246
247
248 // ==================================================================
249 // VLANService
250 // ==================================================================
251 [Deprecated { "No Value" }, Abstract, Version ( "2.8.0" ),
252 Description (
253 karl 1.1 "This class is deprecated following discussion as to the need "
254 "of a modeling a VLAN as a service. It was determined that a "
255 "VLAN service was not needed. VLANService represents the VLAN "
256 "aspects of the function performed by a switch. Some VLAN-aware "
257 "devices participate in protocols where VLAN information is "
258 "propagated among switches, e.g., GVRP in 802.1Q switches and "
259 "VTP in Cisco Catalyst switches. VLANService also represents "
260 "the function performed by the switch as a participant in such "
261 "a protocol. VLANService must be subclassed so that the type of "
262 "instance can be distinguished by its class.")]
263 class CIM_VLANService : CIM_Service {
264 };
265
266
267 // ==================================================================
268 // Specific802dot1QVLANService
269 // ==================================================================
270 [Deprecated { "No Value" }, Version ( "2.8.0" ), Description (
271 "This class is deprecated following discussion as to the need "
272 "of a modeling a 802.1Q as a service. It was determined that a "
273 "802.1Q service was not needed. If a switch supports 802.1Q, an "
274 karl 1.1 "instance of this class should be instantiated in the switch. "
275 "If the switch supports GVRP, this class represents the "
276 "function that the switch performs with respect to GVRP.")]
277 class CIM_Specific802dot1QVLANService : CIM_VLANService {
278 };
279
280
281 // ==================================================================
282 // VLANFor
283 // ==================================================================
284 [Association, Deprecated { "No Value" }, Version ( "2.8.0" ),
285 Description (
286 "The VLAN for the VLAN Service.")]
287 class CIM_VLANFor : CIM_ServiceSAPDependency {
288
289 [Deprecated { "No Value" }, Override ( "Antecedent" ),
290 Description (
291 "The VLAN for the VLANService.")]
292 CIM_VLAN REF Antecedent;
293
294 [Deprecated { "No Value" }, Override ( "Dependent" ), Min ( 1 ),
295 karl 1.1 Description (
296 "The VLANService which uses the VLAN for processing.")]
297 CIM_VLANService REF Dependent;
298 };
299
300
301 // ==================================================================
302 // SwitchServiceVLAN
303 // ==================================================================
304 [Association, Deprecated { "No Value" }, Aggregation,
305 Version ( "2.8.0" ), Description (
306 "This class is deprecated as a fall out of the previous "
307 "deprecations within the existing model An association linking "
308 "SwitchService to a component VLANService.")]
309 class CIM_SwitchServiceVLAN : CIM_ServiceComponent {
310
311 [Deprecated { "No Value" }, Aggregate,
312 Override ( "GroupComponent" ), Min ( 1 ), Max ( 1 ),
313 Description (
314 "The SwitchService containing the VLANService.")]
315 CIM_SwitchService REF GroupComponent;
316 karl 1.1
317 [Deprecated { "No Value" }, Override ( "PartComponent" ),
318 Description (
319 "The VLANService that is a component of the SwitchService.")]
320 CIM_VLANService REF PartComponent;
321 };
322
323
324 // ==================================================================
325 // RelatedTransparentBridgingService
326 // ==================================================================
327 [Association, Deprecated { "No Value" }, Version ( "2.8.0" ),
328 Description (
329 "This class is deprecated as a fall out of the previous "
330 "deprecations within the existing model The association between "
331 "a VLAN and the forwarding database (some use the term "
332 "filtering database) used to determine which port a packet "
333 "should be transmitted on, given that it is assigned to the "
334 "VLAN and that it has a particular destination MAC address. The "
335 "TransparentBridgingService represents a forwarding database.")]
336 class CIM_RelatedTransparentBridgingService : CIM_ServiceSAPDependency {
337 karl 1.1
338 [Deprecated { "No Value" }, Override ( "Antecedent" ),
339 Description (
340 "The VLAN.")]
341 CIM_VLAN REF Antecedent;
342
343 [Deprecated { "No Value" }, Override ( "Dependent" ),
344 Description (
345 "The BridgingService that determines the port, given the the "
346 "VLAN and addressing information.")]
347 CIM_TransparentBridgingService REF Dependent;
348 };
349
350
351
352 // ==================================================================
353 // NetworkVLAN
354 // ==================================================================
355 [Experimental, Version ( "2.8.1000" ), Description (
356 "An instance of NetworkVLAN represents a collection of "
357 "VLANSwitchEndpoints and/or VLANEndstationEndpoints which are "
358 karl 1.1 "members of the VLAN. There SHOULD be an instance of "
359 "NetworkVLAN for every VLAN available in a switch. For example, "
360 "in a switch with port-based VLANs, if there are 16 VLANs to "
361 "which ports can be assigned (VLAN 1 through VLAN 16), there "
362 "SHOULD be an instance of NetworkVLAN for each of VLAN 1 "
363 "through VLAN 16.")]
364 class CIM_NetworkVLAN : CIM_ConnectivityCollection {
365
366 [Description (
367 "A 12-bit VLAN ID used in the VLAN Tag header."),
368 MinValue ( 1 ), MaxValue ( 4094 ),
369 MappingStrings { "MIB.IETF|Q-BRIDGE-MIB.VlanId" }]
370 uint16 VLANId;
371
372 [Description (
373 "The value of this property is set to a positive integer "
374 "when the value of the MTU for all members (switch "
375 "endpoints/endstationendpoints of the VLAN is the same, "
376 "otherwise is set to -1 and the MaxTransmission size is set "
377 "on each of the individual endpoints.")]
378 sint32 MaxTransmissionSize;
379 karl 1.1
380 [Description (
381 "The value of the 802.10 SAID field which would be used for "
382 "this VLAN.")]
383 uint32 SAIdentifier;
384 };
385
386
387 // ==================================================================
388 // OrgEntityAssignedVLAN
389 // ==================================================================
390 [Association, Experimental, Aggregation, Version ( "2.8.1000" ),
391 Description (
392 "The organizations that are members of the VLAN.")]
393 class CIM_OrgEntityAssignedVLAN : CIM_MemberOfCollection {
394
395 [Aggregate, Override ( "Collection" ), Max ( 1 ), Description (
396 "The VLAN to which the organization/group has been assigned "
397 "to.")]
398 CIM_NetworkVLAN REF Collection;
399
400 karl 1.1 [Override ( "Member" ), Description (
401 "One of the organizations (groups) that have been assigned "
402 "to this VLAN.")]
403 CIM_OrganizationalEntity REF Member;
404 };
405
406
407 // ==================================================================
408 // VLANSwitchEndpoint
409 // ==================================================================
410 [Experimental, Version ( "2.8.1000" ), Description (
411 "An endpoint on a switch which is assigned to a given VLAN or "
412 "accepts traffic from one or more VLANs. As defined by the "
413 "property, SwitchEndpointMode, the endpoint may be configured "
414 "as trunking or nontrunking. When operating in trunking mode, "
415 "the remaining properties of the class apply. Given this "
416 "statement, one might ask why a subclassing structure was not "
417 "chosen versus this design of a single class with properties "
418 "that may not be applicable. The reason is that an endpoint may "
419 "dynamically be converted to/from a trunking mode. When this "
420 "occurs, it is not correct to delete the instance and recreate "
421 karl 1.1 "it, since the SwitchEndpoint itself has not been "
422 "deleted/created, only its mode has changed. Note that when "
423 "configured as a trunk, the VLANsInTrunk association is used to "
424 "identify the VLANs which are allowed by the trunk.")]
425 class CIM_VLANSwitchEndpoint : CIM_ProtocolEndpoint {
426
427 [Description (
428 "The configuration mode for the SwitchEndpoint/switch port. "
429 "The following values are defined: \n"
430 "- Access: Puts the endpoint/switch port into permanent "
431 "nontrunking mode and negotiates to convert the link into a "
432 "nontrunk link. The endpoint becomes a nontrunk interface. \n"
433 "- Dynamic Auto: Makes the endpoint able to convert the link "
434 "to a trunk link. The endpoint becomes a trunk interface if "
435 "the neighboring interface is set to trunk or desirable "
436 "mode. \n"
437 "- Dynamic Desirable: Makes the endpoint actively attempt to "
438 "convert the link to a trunk link. The endpoint becomes a "
439 "trunk interface if the neighboring interface is set to "
440 "trunk, desirable, or auto mode. The default switch-port "
441 "mode for all Ethernet interfaces is 'dynamic desirable.' \n"
442 karl 1.1 "- Trunk: Puts the endpoint into permanent trunking mode and "
443 "negotiates to convert the link into a trunk link. The "
444 "endpoint becomes a trunk interface even if the neighboring "
445 "interface is not a trunk interface. \n"
446 "- Dot1Q Tunnel: Configures the interface as a tunnel "
447 "(nontrunking) endpoint/port to be connected in an "
448 "asymmetric link with an 802.1Q trunk port. 802.1Q tunneling "
449 "is used to maintain customer VLAN integrity across a "
450 "service provider network."),
451 ValueMap { "0", "2", "3", "4", "5", "6" },
452 Values { "Unknown", "Access", "Dynamic Auto",
453 "Dynamic Desirable", "Trunk", "Dot1Q Tunnel" }]
454 uint16 SwitchEndpointMode;
455
456 [Write, Description (
457 "The type of VLAN encapsulation that is requested for use "
458 "when trunking. (Note that the encapsulation currently in "
459 "use is given by the VLANTrunkOperationalEncapsulation "
460 "property.) This property is either 'not applicable' (i.e., "
461 "the endpoint will never be placed in trunking mode), a "
462 "particular type (802.1q or Cisco ISL today), or 'negotiate' "
463 karl 1.1 "(i.e., the result of the negotiation between this interface "
464 "(PE) and its neighbor). The value, \"Negotiate\" is not "
465 "allowed if the endpoint does not support negotiation. The "
466 "ability to negotiate the trunk encapsulation is hardware "
467 "and vendor dependent. Property "
468 "VLANSwitchEndpointCapabilities. "
469 "SupportsTrunkEncapsulationNegotiation is used to indicate "
470 "whether or not a particular endpoint (port) supports "
471 "encapsulation negotiation."),
472 ValueMap { "2", "3", "4", "5", "6", "7" },
473 Values { "Not Applicable", "802.1q", "Cisco ISL", "Negotiate",
474 "DMTF Reserved", "Vendor Reserved" },
475 ModelCorrespondence {
476 "CIM_VLANSwitchEndpointCapabilities.SupportsTrunkEncapsulationNegotiation"
477 }]
478 uint16 DesiredVLANTrunkEncapsulation;
479
480 [Description (
481 "The type of VLAN encapsulation in use on a trunk "
482 "endpoint/port. This property is either 'not applicable' "
483 "(i.e., the endpoint is not operating in trunking mode), a "
484 karl 1.1 "particular type (802.1q or Cisco ISL), 'negotiating' (i.e., "
485 "the endpoints are negotiating the encapsulation type)."),
486 ValueMap { "2", "3", "4", "5", "6", "7" },
487 Values { "Not Applicable", "802.1q", "Cisco ISL", "Negotiating",
488 "DMTF Reserved", "Vendor Reserved" }]
489 uint16 VLANTrunkOperationalEncapsulation;
490
491 [Description (
492 "If a VLAN Id is part of this array, then the system MAY "
493 "prune that VLAN on this trunk endpoint/port. This property "
494 "is applicable only when the endpoint is operating in "
495 "trunking mode (determined by examining the "
496 "SwitchEndpointMode property)."),
497 ModelCorrespondence {
498 "CIM_VLANSwitchEndpoint.SwitchEndpointMode" }]
499 uint16 PruneEligibleVLANList[];
500
501 [Description (
502 "VLAN Id that is used to tag untagged traffic received on "
503 "this trunk endpoint/port. This property is applicable only "
504 "when the endpoint is operating in trunking mode (determined "
505 karl 1.1 "by examining the SwitchEndpointMode property)."),
506 ModelCorrespondence {
507 "CIM_VLANSwitchEndpoint.SwitchEndpointMode" }]
508 uint16 NativeVLAN;
509
510 [Description (
511 "Default value for the native VLAN on this trunk "
512 "endpoint/port. This property is applicable only when the "
513 "endpoint is operating in trunking mode (determined by "
514 "examining the SwitchEndpointMode property)."),
515 ModelCorrespondence {
516 "CIM_VLANSwitchEndpoint.SwitchEndpointMode" }]
517 uint16 DefaultVLAN;
518
519 [Description (
520 "Indicates whether GARP VLAN Registration Protocol (GVRP) is "
521 "enabled or disabled on the trunk endpoint/port. This "
522 "property is 'not applicable' unless GVRP is supported by "
523 "the endpoint. This is indicated in the Capabilities "
524 "property, VLANSwitchEndpointCapabilities.Dot1QTagging. This "
525 "property is applicable only when the endpoint is operating "
526 karl 1.1 "in trunking mode (determined by examining the "
527 "SwitchEndpointMode property)."),
528 ValueMap { "2", "3", "4" },
529 Values { "Not Applicable", "Enabled", "Disabled" },
530 ModelCorrespondence {
531 "CIM_VLANSwitchEndpoint.SwitchEndpointMode",
532 "CIM_VLANSwitchEndpointCapabilities.Dot1QTagging" }]
533 uint16 GVRPStatus;
534 };
535
536
537 // ==================================================================
538 // VLANsInTrunk
539 // ==================================================================
540 [Association, Experimental, Version ( "2.8.1000" ), Description (
541 "The VLANs allowed by the VLANSwitchEndpoint. The reason for "
542 "the association is to permit query for either the endpoint or "
543 "the VLAN, instead of being one directional information (stored "
544 "as a property in the switch endpoint class). Note that this "
545 "association only applies to switch endpoints operating in "
546 "trunking mode (determined by examining the SwitchEndpointMode "
547 karl 1.1 "property).")]
548
549 class CIM_VLANsInTrunk : CIM_Dependency {
550
551 [Override ( "Antecedent" ), Max ( 1 ), Description (
552 "The SwitchEndpoint configured for trunking.")]
553 CIM_VLANSwitchEndpoint REF Antecedent;
554
555 [Override ( "Dependent" ), Description (
556 "The VLAN allowed by this SwitchEndpoint acting as a trunk.")]
557 CIM_NetworkVLAN REF Dependent;
558 };
559
560
561 // ==================================================================
562 // SwitchEndpointInVLAN
563 // ==================================================================
564 [Association, Experimental, Aggregation, Version ( "2.8.1000" ),
565 Description (
566 "The switchendpoints which participate in this VLAN.")]
567 class CIM_SwitchEndpointInVLAN : CIM_MemberOfCollection {
568 karl 1.1
569 [Aggregate, Override ( "Collection" ), Max ( 1 ), Description (
570 "The VLAN to which the endpoint belongs.")]
571 CIM_NetworkVLAN REF Collection;
572
573 [Override ( "Member" ), Description (
574 "One of the switch endpoints in this VLAN.")]
575 CIM_VLANSwitchEndpoint REF Member;
576 };
577
578
579 // ==================================================================
580 // VLANEndstationEndpoint
581 // ==================================================================
582 [Experimental, Version ( "2.8.1000" ), Description (
583 "An endpoint on an endstation which has been configured to "
584 "belong to a given VLAN and is a VLAN aware endstation that "
585 "sends traffic on a given VLAN.")]
586 class CIM_VLANEndstationEndpoint : CIM_ProtocolEndpoint {
587
588 [Description (
589 karl 1.1 "The type of VLAN encapsulation desired to be used on this "
590 "trunk port. Today this is only 802.1q for VLAN aware "
591 "endstations. The value of 'Not Applicable' is used when the "
592 "endstation is not VLAN aware."),
593 ValueMap { "2", "3", "4", "5" },
594 Values { "Not Applicable", "802.1q", "DMTF Reserved",
595 "Vendor Reserved" },
596 ModelCorrespondence { "CIM_VLANEndstationEndpoint.VLANAware" }]
597 uint16 DesiredVLANTrunkEncapsulation;
598
599 [Description (
600 "The type of VLAN encapsulation in use on this trunk port. "
601 "Today this is only 802.1q for VLAN aware endstations. The "
602 "value of 'Not Applicable' is used when the endstation is "
603 "not VLAN aware."),
604 ValueMap { "2", "3", "4", "5" },
605 Values { "Not Applicable", "802.1q", "DMTF Reserved",
606 "Vendor Reserved" },
607 ModelCorrespondence { "CIM_VLANEndstationEndpoint.VLANAware" }]
608 uint16 VLANTrunkOperationalEncapsulation;
609
610 karl 1.1 [Description (
611 "The Endstation is VLAN aware (i.e. can send 802.1q tagged "
612 "frames).")]
613 boolean VLANAware;
614 };
615
616
617 // ==================================================================
618 // EndstationInVLAN
619 // ==================================================================
620 [Association, Experimental, Aggregation, Version ( "2.8.1000" ),
621 Description (
622 "The endstation port (endpoints) which participate in this "
623 "VLAN.")]
624 class CIM_EndstationInVLAN : CIM_MemberOfCollection {
625
626 [Aggregate, Override ( "Collection" ), Description (
627 "The VLAN to which the endpoint belongs.")]
628 CIM_NetworkVLAN REF Collection;
629
630 [Override ( "Member" ), Description (
631 karl 1.1 "One of the endstation endpoints in this VLAN.")]
632 CIM_VLANEndstationEndpoint REF Member;
633 };
634
635
636 // ==================================================================
637 // VLANCapabilities
638 // ==================================================================
639 [Experimental, Version ( "2.8.1000" ), Description (
640 "Properties in VLANCapabilities represent the ComputerSystem's "
641 "constraints and capabilities for VLANs. The information "
642 "included in this class addresses the resource limits for the "
643 "ComputerSystem.")]
644 class CIM_VLANCapabilities : CIM_Capabilities {
645
646 [Description (
647 "The maximum number of IEEE 802.1Q VLANs that this device "
648 "supports."),
649 MappingStrings { "MIB.IETF|Q-BRIDGE-MIB.dot11MaxSupportedVlans"
650 }]
651 uint16 MaxSupportedVLANs;
652 karl 1.1
653 [Description (
654 "The maximum number of IEEE 802.1Q VLAN Ids that this device "
655 "supports."),
656 MappingStrings { "MIB.IETF|Q-BRIDGE-MIB.dot1qMaxVlanId" }]
657 uint16 MaxVLANId;
658 };
659
660
661 // ==================================================================
662 // VLANSwitchEndpointCapabilities
663 // ==================================================================
664 [Experimental, Version ( "2.8.1000" ), Description (
665 "Capabilities supported by the switch endpoint.")]
666 class CIM_VLANSwitchEndpointCapabilities : CIM_Capabilities {
667
668 [Description (
669 "Indicates support for dot1Q tagging and GVRP."),
670 MappingStrings { "MIB.IETF|P-BRIDGE-MIB.dot1dPortCapabilities" }]
671 boolean Dot1QTagging;
672
673 karl 1.1 [Description (
674 "Describes the type of frames that are accepted by the port."),
675 ValueMap { "2", "3" },
676 Values { "Accept All", "Admit VLAN Tagged Only" },
677 MappingStrings { "MIB.IETF|P-BRIDGE-MIB.dot1dPortCapabilities" }]
678 uint16 Dot1ConfigurableAcceptableFrameTypes;
679
680 [Description (
681 "Supports the discarding of any frame received on a "
682 "ProtocolEndpoint whose VLAN classification does not include "
683 "that ProtocolEndpoint in its Member set."),
684 MappingStrings { "MIB.IETF|P-BRIDGE-MIB.dot1dPortCapabilities"
685 }]
686 boolean Dot1qIngressFiltering;
687
688 [Description (
689 "This property indicates whether or not the protocol "
690 "endpoint supports negotiation of the trunk encapsulation."),
691 ModelCorrespondence {
692 "CIM_VLANSwitchEndpoint.SwitchEndpointMode" }]
693 boolean SupportsTrunkEncapsulationNegotiation;
694 karl 1.1 };
695
696
697 // ==================================================================
698 // GARPMembershipSettingData
699 // ==================================================================
700 [Experimental, Version ( "2.8.1000" ), Description (
701 "Configuration for the Generic Attribute Registration Protocol "
702 "(GARP). GARP is a protocol used by switches and end stations "
703 "to register and de-register attribute values, such as VLAN "
704 "Ids. The GVRP is an application of GARP for VLAN registration. "
705 "The properties (timers) in this class are GARP control "
706 "information about every ProtocolEndpoint supporting GARP & "
707 "GVRP.")]
708 class CIM_GARPMembershipSettingData : CIM_ConnectivityMembershipSettingData {
709
710 [Description (
711 "The GARP join time."),
712 Units ( "MilliSeconds" ),
713 MappingStrings { "MIB.IETF|Q-BRIDGE-MIB.dot1dPortGarpJoinTime" }]
714 uint32 Dot1dPortGarpJoinTime;
715 karl 1.1
716 [Description (
717 "The GARP leave time."),
718 Units ( "MilliSeconds" ),
719 MappingStrings { "MIB.IETF|Q-BRIDGE-MIB.dot1dPortGarpLeaveTime"
720 }]
721 uint32 Dot1dPortGarpLeaveTime;
722
723 [Description (
724 "The GARP leave all time."),
725 Units ( "MilliSeconds" ),
726 MappingStrings {
727 "MIB.IETF|Q-BRIDGE-MIB.dot1dPortGarpLeaveAllTime" }]
728 uint32 Dot1dPortGarpLeaveAllTime;
729 };
730
731
732 // ==================================================================
733 // VLANSwitchSettings
734 // ==================================================================
735 [Experimental, Version ( "2.8.1000" ), Description (
736 karl 1.1 "The VLAN configuration data for a system. It is associated "
737 "using ElementSettingData to the ComputerSystem to which it "
738 "applies.")]
739 class CIM_VLANSwitchSettings : CIM_SettingData {
740
741 [Description (
742 "List of VLANs which are reserved for pre-determined "
743 "uses/media types, etc. An example of this is reservation of "
744 "VLANs specifically for use with FDDI or Token Ring.")]
745 uint16 ReservedVLANList[ ];
746
747 [Description (
748 "This is a set of VLANs reserved for use internally by the "
749 "switch.")]
750 uint16 InternalVLANList[ ];
751
752 [Description (
753 "The current number of VLANs configured in the switch.")]
754 uint16 NumberOfConfiguredVLANs;
755
756 [Description (
757 karl 1.1 "List of VLANs dynamically created in the switch.")]
758 uint16 DynamicVLANList[];
759
760 [Description (
761 "List of VLANs statically created in the switch.")]
762 uint16 StaticVLANList[];
763 };
764
765
766 // ==================================================================
767 // VLANStatistics
768 // ==================================================================
769 [Experimental, Version ( "2.8.1000" ), Description (
770 "Performance metrics for a either a VLAN or a port (endpoint). "
771 "Depending on the switch's ability to collect statistics, these "
772 "statistics may be associated with all endpoints on the port "
773 "(i.e. port level stats) or they may be per VLAN per port "
774 "stats. When a port (endpoint) is configured as an access port "
775 "then port stats are equivalent to the VLAN stats. The "
776 "AssociatedStatisticalData association is used to tie the "
777 "VLANNetwork with its statistics.")]
778 karl 1.1 class CIM_VLANStatistics : CIM_StatisticalData {
779
780 [Description (
781 "The number of valid frames received by this "
782 "ProtocolEndpoint from its segment which were classified as "
783 "belonging to this VLAN. Note that a frame received on this "
784 "port is counted by this object if and only if it is for a "
785 "protocol being processed by the local forwarding process "
786 "for this VLAN. This object includes received bridge "
787 "management frames classified as belonging to this VLAN "
788 "(e.g. GMRP, but not GVRP or STP - RFC2674)."),
789 Counter,
790 MappingStrings {
791 "MIB.IETF|Q-BRIDGE-MIB.Dot1qTpVlanPortHCInFrames" }]
792 uint64 Dot1qTpVlanPortHCInFrames;
793
794 [Description (
795 "The number of valid frames transmitted by this port to its "
796 "segment from the local forwarding process for this VLAN. "
797 "This includes bridge management frames originated by this "
798 "device which are classified as belonging to this VLAN (e.g. "
799 karl 1.1 "GMRP, but not GVRP or STP - RFC2674)."),
800 Counter,
801 MappingStrings {
802 "MIB.IETF|Q-BRIDGE-MIB.Dot1qTpVlanPortHCOutFrames" }]
803 uint64 Dot1qTpVlanPortHCOutFrames;
804
805 [Description (
806 "The number of valid frames received by this port from its "
807 "segment which were classified as belonging to this VLAN "
808 "which were discarded due to VLAN related reasons. "
809 "Specifically, the IEEE 802.1Q counters for Discard Inbound "
810 "and Discard on Ingress Filtering - RFC2674."),
811 Counter,
812 MappingStrings { "MIB.IETF|Q-BRIDGE-MIB. "
813 "Dot1qTpVlanPortHCInDiscards" }]
814 uint64 Dot1qTpVlanPortHCInDiscards;
815
816 [Description (
817 "A 12-bit VLAN ID used in the VLAN Tag header."),
818 MinValue ( 1 ), MaxValue ( 4094 ),
819 MappingStrings { "MIB.IETF|Q-BRIDGE-MIB.VlanId" }]
820 karl 1.1 uint16 VLANId;
821 };
822
823
824 // ==================================================================
825 // VLANMembershipSettingData
826 // ==================================================================
827 [Experimental, Version ( "2.8.1000" ), Description (
828 "For dynamic VLAN assignment, these rules define how incoming "
829 "traffic is assigned to a VLAN. A typical set of assignment "
830 "rules include assignment based on MAC address, IP address, or "
831 "IP subnet. Many other criteria or combination of criteria may "
832 "be used.")]
833 class CIM_VLANMembershipSettingData : CIM_ConnectivityMembershipSettingData {
834 };
835
836
837 // ===================================================================
838 // end of file
839 // ===================================================================
|