1 karl 1.1 // ===================================================================
2 // Title: Network VLAN 2.8
3 // Filename: Network28_VLAN.mof
4 // Version: 2.8
5 // Status: Final
6 // Date: February 24, 2004
7 // ===================================================================
8 // Copyright 1998-2004 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 karl 1.1 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party's
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 karl 1.1 // ===================================================================
44 // Description: The 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 - Deprecate all classes and properties in VLAN model. The
55 // purpose of doing this is to introduce a new model in
56 // the upcoming the CIM releases.
57 // CR1226 - Change all references to CIM_802dot1QVLANService to
58 // CIM_Specific802dot1QVLANService
59 //
60 // /Change Log for v2.7
61 // CR867 - Remove Min(1), Max(1) cardinality restrictions on Related
62 // TransparentBridgingService
63 // CR920 - Add missing parenthesis to the Description for CIM_VLAN
64 karl 1.1 // ===================================================================
65
66 #pragma Locale ("en_US")
67
68
69 // ==================================================================
70 // VLAN
71 // ==================================================================
72 [Deprecated {"No Value"}, Version ("2.8.0"), Description (
73 "An instance of VLAN represents a VLAN within a switch. In a "
74 "particular switch, there should be an instance of VLAN for every "
75 "VLAN available. For example, in a switch with port-based VLANs, "
76 "if there are 16 VLANs to which ports can be assigned (VLAN 1 "
77 "through VLAN 16), there should be an instance of CIM_VLAN for "
78 "each of VLAN 1 through VLAN 16.\n"
79 "\n"
80 "VLAN inherits Name from ServiceAccessPoint. Use this for the "
81 "textual name of the VLAN, if there is one. Otherwise, "
82 "synthesize a textual name, e.g., VLAN 0003. (Consider leading "
83 "zero fill, as shown, to ensure that if the textual VLAN names "
84 "are extracted and presented by a management applictions, the "
85 karl 1.1 "VLAN names will sort in the expected order.) The numeric part "
86 "of the name should be at least four digits wide since 802.1Q "
87 "specifies 4095 VLANs.\n"
88 "\n"
89 "It is intended that VLAN be subclassed only if necessary to "
90 "add attributes. The type of the VLAN can be inferred from the "
91 "VLANService(s) with which the VLAN is associated in the "
92 "VLANFor association.\n"
93 "\n"
94 "An instance of VLAN may be associated with more than one "
95 "VLANService. For example, there are switches that support "
96 "both 802.1Q VLANs and the vendor's proprietary VLANs. In some "
97 "such switches, if a broadcast packet is received on a port in "
98 "an 802.1Q VLAN (VLAN 5, for example), it may be be transmitted "
99 "from a port in a 'proprietary' VLAN 5. In effect, there is "
100 "only one VLAN 5, and the type of port only determines the "
101 "packet format for tagged packets. In the case just described, "
102 "only one instance of CIM_VLAN should be instantiated for VLAN "
103 "5, and it should be associated both with the 802.1Q "
104 "VLANService and the proprietary VLANService.\n"
105 "\n"
106 karl 1.1 "In typical VLAN-aware switches, packets can be assigned to a "
107 "VLAN based on the port on which they are received (port-based "
108 "VLANS), based on the source MAC address (MAC-based VLANs), or "
109 "based on the value of a set of bits in the packet "
110 "(protocol-based VLANs). If it is desirable to represent the "
111 "VLAN assignment predicate for some MAC-based VLAN switch, it "
112 "will be necessary to subclass VLAN. The list of MAC addresses "
113 "associated with a VLAN might be an attribute of the subclass. "
114 "If it is desirable to represent the VLAN assignment predicate "
115 "in a protocol-based VLAN switch, it will also be necessary to "
116 "subclass VLAN, InboundVLAN, or both. If the predicate applies "
117 "to all ports in the switch, then only VLAN need be "
118 "used/instantiated. If the predicate may vary based on the "
119 "port, then InboundVLAN must be subclassed, and CIM_VLAN might "
120 "have to be subclassed as well.") ]
121 class CIM_VLAN : CIM_ServiceAccessPoint {
122
123 [Deprecated {"No Value"}, Description (
124 "VLAN identifying number.") ]
125 uint16 VLANNumber;
126 };
127 karl 1.1
128
129 // ==================================================================
130 // InboundVLAN
131 // ==================================================================
132 [Association, Deprecated {"No Value"}, Version ("2.8.0"),
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 karl 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 karl 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 karl 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.8.0"),
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 karl 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 karl 1.1 // ==================================================================
233 [Deprecated {"No Value"}, Abstract, Version ("2.8.0"),
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 // Specific802dot1QVLANService
252 // ==================================================================
253 karl 1.1 [Deprecated {"No Value"}, Version ("2.8.0"), 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_Specific802dot1QVLANService : CIM_VLANService {
261 };
262
263
264 // ==================================================================
265 // VLANFor
266 // ==================================================================
267 [Association, Deprecated {"No Value"}, Version ("2.8.0"),
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 karl 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.8.0"), 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 karl 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.8.0"),
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 karl 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 // end of file
332 // ===================================================================
|