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