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