1 tony 1.1 // ===================================================================
2 // Title: Network OSPF 2.8
3 // Filename: Network28_OSPF.mof
4 // Version: 2.8.0
5 // Status: Final
6 // Date: Jan 26, 2004
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 classes to manage OSPF
47 // (Open Shortest Path First).
48 //
49 // The object classes below are listed in an order that
50 // avoids forward references. Required objects, defined
51 // by other working groups, are omitted.
52 // ==================================================================
53 // Change Log for v2.7
54 // CR788 - Add classes to support OSPF
55 // CR806 - Update the OSPF model to take into account the
56 // RangeOfIPAddresses class (vs IPAddressRange)
57 // CR837 - Add the property RFC1583Compatibility to OSPFService, and
58 // add the property StubMetricType to OSPFAreaConfiguration
59 // CR863 - Update the format of the MappingStrings qualifier when
60 // referencing IETF RFCs
61 // CR903 - Correction of EndpointInLink.Member reference.
62 // CR959 - Reposition OSPFLink using the ConnectivityCollection class
63 // CR982 - Removal of Experimental for preliminary to final
64 tony 1.1 // CR994 - Update of the InstanceID property Description
65 // Change Log for v2.8
66 // CR1231 - Update references
67 // Property CIM_OSPFService.RunningMOSPF
68 // (CIM_OSPFServiceCapabillities.SupportMOSPF)
69 // ===================================================================
70
71 #pragma Locale ("en_US")
72
73
74 // ====================================================================
75 // OSPFArea
76 // ====================================================================
77 [Version ( "2.7.0" ), Description (
78 "This class represents an OSPF area. The definition of an OSPF "
79 "area from RFC2328, is 'OSPF allows sets of networks to be "
80 "grouped together. Such a grouping is called an area. The "
81 "topology of an area is hidden from the rest of the Autonomous "
82 "System. This information hiding enables a significant "
83 "reduction in routing traffic. Also, routing within the area is "
84 "determined only by the area's own topology, lending the area "
85 tony 1.1 "protection from bad routing data.' This class has a 'Type' "
86 "propery, which distinguishes between the different area types. "
87 "This approach was chosen, because it provides a simpler way to "
88 "indicate the type of an area, and additional subclassing is "
89 "not needed at this time.")]
90 class CIM_OSPFArea : CIM_RoutingProtocolDomain {
91
92 [Description (
93 "The area ID of this OSPF area, see C.2 in RFC 2328."),
94 MappingStrings { "MIB.IETF|OSPF-MIB.ospfAreaId" }]
95 uint32 AreaID;
96
97 [Required, Description (
98 "The type of the OSPF area."),
99 ValueMap { "2", "3", "4" },
100 Values { "Plain", "Stub", "NSSA" }]
101 uint16 AreaType;
102
103 [Description (
104 "When the number of non-default AS-external-LSAs in a "
105 "router's link-state database reaches this limit, the router "
106 tony 1.1 "enters OverflowState, see 2.1 in RFC 1765."),
107 MappingStrings { "MIB.IETF|OSPF-MIB.ospfExtLsdbLimit" }]
108 uint32 ExtLsdbLimit;
109 };
110
111
112 // ====================================================================
113 // OSPFService
114 // ====================================================================
115 [Version ( "2.7.0" ), Description (
116 "This class is used to represent the basic operation of OSPF. "
117 "It is derived from the RouteCalculationService, the superclass "
118 "of all routing protocols.")]
119 class CIM_OSPFService : CIM_RouteCalculationService {
120
121 [Description (
122 "This attribute indicates whether this router is running "
123 "MOSPF (multicast enhancements to OSPF) or not, see B.1 in "
124 "RFC 1584. This attribute only can be true, when the "
125 "SupportMOSPF property in OSPFService Capabilities is also "
126 "true. If SupportMOSPF is false, then this property has no "
127 tony 1.1 "meaning."),
128 MappingStrings { "MIB.IETF|OSPF-MIB.ospfMulticastExtensions" }]
129 boolean RunningMOSPF;
130
131 [Description (
132 "This attribute indicates whether this router will forward "
133 "multicast datagrams between OSPF areas or not, see B.1 in "
134 "RFC 1584."),
135 MappingStrings { "MIB.IETF|OSPF-MIB.ospfMulticastExtensions" }]
136 boolean IsInterAreaMulticastForwarder;
137
138 [Description (
139 "This attribute indicates whether this router will forward "
140 "multicast datagrams between Autonomous Systems or not, see "
141 "B.1 in RFC 1584."),
142 MappingStrings { "MIB.IETF|OSPF-MIB.ospfMulticastExtensions" }]
143 boolean IsInterAsMulticastForwarder;
144
145 [Description (
146 "The number of seconds that, after entering OverflowState, a "
147 "router will attempt to leave OverflowState. When set to 0, "
148 tony 1.1 "the router will not leave OverflowState until restarted, "
149 "see 2.1 in RFC 1765."),
150 Units ( "Seconds" ),
151 MappingStrings { "MIB.IETF|OSPF-MIB.ospfExitOverflowInterval" }]
152 uint32 ExitOverflowInterval;
153
154 [Description (
155 "Controls the preference rules used in choosing among "
156 "multiple AS-external-LSAs advertising the same destination. "
157 "When set to TRUE, the preference rules remain those "
158 "specified by RFC 1583. When set to FALSE, the preference "
159 "rules are those stated in RFC 2328, which prevent routing "
160 "loops when AS-external-LSAs for the same destination have "
161 "been originated from different areas. See C.1 in RFC2328.")]
162 boolean RFC1583Compatibility;
163 };
164
165
166 // ==================================================================
167 // OSPFServiceCapabilities
168 // ==================================================================
169 tony 1.1 [Version ( "2.7.0" ), Description (
170 "The OSPFServiceCapabilities class represents the capabilities "
171 "of an OSPF service.")]
172 class CIM_OSPFServiceCapabilities : CIM_Capabilities {
173
174 [Description (
175 "This attribute indicates whether this router supports NSSA "
176 "(\"not-so-stubby\") areas or not, see RFC 1587.")]
177 boolean SupportNSSA;
178
179 [Description (
180 "This attribute indicates whether this router supports "
181 "on-demand circuits or not, see RFC 1793."),
182 MappingStrings { "MIB.IETF|OSPF-MIB.ospfDemandExtensions" }]
183 boolean SupportOnDemand;
184
185 [Description (
186 "This attribute indicates whether this router supports MOSPF "
187 "(multicast enhancements to OSPF) or not, see B.1 in RFC "
188 "1584."),
189 MappingStrings { "MIB.IETF|OSPF-MIB.ospfMulticastExtensions" }]
190 tony 1.1 boolean SupportMOSPF;
191 };
192
193
194 // ====================================================================
195 // OSPFAreaConfiguration
196 // ====================================================================
197 [Version ( "2.7.0" ), Description (
198 "Each OSPF router has an association to one or more OSPF areas. "
199 "Into these areas, a router advertises summaries filtered by "
200 "specific address ranges. This would natively be modeled as a "
201 "ternary association (router/OSPFService to OSPFArea to "
202 "RangeOfIPAddresses), which is problematic in some "
203 "implementations. To get around this issue, the "
204 "OSPFAreaConfiguration class is defined to act as a focal point "
205 "to bring together the router (indicated as a ComputerSystem "
206 "with an instance of OSPFService, associated to the "
207 "AreaConfiguration using OSPFServiceConfiguration), the area "
208 "(indicated as an OSPFArea, associated to the AreaConfiguration "
209 "using AreaOfConfiguration) and the address ranges for "
210 "advertising (indicated as instances of RangeOfIPAddresses, "
211 tony 1.1 "associated to the AreaConfiguration using "
212 "RangesOfConfiguration). There would be an instance of "
213 "OSPFAreaConfiguration for each connected area of a "
214 "router/OSPFService. \n"
215 "\n"
216 "When network administrators want to control the advertisements "
217 "of OSPF routers by filters, they first define the relevant "
218 "ranges. In order for a router to handle a range, an instance "
219 "of RangeOfIPAddresses MUST be associated to the relevant "
220 "OSPFAreaConfiguration (using the relationship, RangesOf "
221 "Configuration). The association between the range and area "
222 "configuration contains a property defining the handling "
223 "(EnableAdvertise) to allow or disallow advertisements in the "
224 "range. \n"
225 "\n"
226 "Notes: \n"
227 "- Because RangeOfIPAddresses is scoped by a System (via the "
228 "HostedCollection association), an instance of "
229 "RangeOfIPAddresses would be associated to an OSPFArea, "
230 "satisfying this semantic. \n"
231 "- This class is inherited from LogicalElement, because a "
232 tony 1.1 "suitable subclass 'lower' in the inheritance hiearchy does not "
233 "exist.")]
234 class CIM_OSPFAreaConfiguration : CIM_LogicalElement {
235
236 [Key, Description (
237 "Within the scope of the instantiating Namespace, InstanceID "
238 "opaquely and uniquely identifies an instance of this class. "
239 "In order to ensure uniqueness within the NameSpace, the "
240 "value of InstanceID SHOULD be constructed using the "
241 "following 'preferred' algorithm: \n"
242 "<OrgID>:<OSPFService ID><Area Configuration ID> \n"
243 "where: \n"
244 "<OrgID> and the remainder of the InstanceID are separated "
245 "by a colon ':', and where <OrgID> MUST include a "
246 "copyrighted, trademarked or otherwise unique name that is "
247 "owned by the business entity creating/defining the "
248 "InstanceID, or is a registered ID that is assigned to the "
249 "business entity by a recognized global authority. (This is "
250 "similar to the <Schema Name>_<Class Name> structure of "
251 "Schema class names.) In addition, to ensure uniqueness "
252 "<OrgID> MUST NOT contain a colon (':'). When using this "
253 tony 1.1 "algorithm, the first colon to appear in InstanceID MUST "
254 "appear between <OrgID> and the <OSPFService ID>. For DMTF "
255 "defined instances, the 'preferred' algorithm MUST be used, "
256 "and the <OrgID> set to 'CIM'. \n"
257 "<OSPFService ID> and <Area Configuration ID> MUST specify "
258 "vendor-unique identifiers for the OSPFService and "
259 "AreaConfiguration.")]
260 string InstanceID;
261
262 [Description (
263 "This attribute contains the value of the default route that "
264 "this router advertises into a stub area, see C.2 RFC 2328."),
265 MappingStrings { "MIB.IETF|OSPF-MIB.ospfStubMetric" }]
266 uint32 StubDefaultCost;
267
268 [Description (
269 "This attribute contains the type of metric advertised as a "
270 "default route into a stub area, see 3. in RFC 1850."),
271 ValueMap { "2", "3", "4" },
272 Values { "OSPF Metric", "Comparable Cost", "NonComparable" },
273 MappingStrings { "MIB.IETF|OSPF-MIB.ospfStubMetricType" }]
274 tony 1.1 uint16 StubMetricType;
275 };
276
277
278 // ====================================================================
279 // OSPFLink
280 // ====================================================================
281 [Version ( "2.7.0" ), Description (
282 "This class is used to represent OSPF connectivity between two "
283 "or more OSPF protocol endpoints.")]
284 class CIM_OSPFLink : CIM_ConnectivityCollection {
285
286 [Required, Description (
287 "The type of the OSPF link, see section 1.2 in RFC 2328."),
288 ValueMap { "2", "3", "4", "5" },
289 Values { "Point-To-Point", "Point-To-Multipoint", "Broadcast",
290 "NBMA" }]
291 uint16 LinkType;
292
293 [Description (
294 "The time, in seconds, between sending OSPF Hello-packets "
295 tony 1.1 "over the interface, see section C.3 in RFC 2328."),
296 Units ( "Seconds" ),
297 MappingStrings { "MIB.IETF|OSPF-MIB.ospfIfHelloInterval" }]
298 uint32 HelloInterval;
299
300 [Description (
301 "After ceasing to hear a router's Hello-packets, the number "
302 "of seconds before its neighbors declare the router down, "
303 "see section C.3 in RFC 2328."),
304 Units ( "Seconds" ),
305 MappingStrings { "MIB.IETF|OSPF-MIB.ospfIfRtrDeadInterval" }]
306 uint32 RouterDeadInterval;
307
308 [Required, Description (
309 "This parameter indicates whether IP multicast datagrams "
310 "should be forwarded over this OSPF link, and if so, how the "
311 "forwarding should be done, see section B.2 in RFC 1584."),
312 ValueMap { "2", "3", "4" },
313 Values { "Disabled", "Data-link Multicast",
314 "Data-link Unicast" },
315 MappingStrings { "MIB.IETF|OSPF-MIB.ospfIfMulticastForwarding" }]
316 tony 1.1 uint16 MulticastForwarding;
317 };
318
319 // ====================================================================
320 // AreaOfConfiguration
321 // ====================================================================
322 [Association, Version ( "2.7.0" ), Description (
323 "This association connects an area configuration to its area. "
324 "The OSPFAreaConfiguration class is defined to act as a focal "
325 "point to bring together the router (indicated as a "
326 "ComputerSystem with an instance of OSPFService, associated to "
327 "the AreaConfiguration using OSPFServiceConfiguration), the "
328 "area (indicated as an OSPFArea, associated to the "
329 "AreaConfiguration using AreaOfConfiguration) and the address "
330 "ranges for advertising (indicated as instances of "
331 "RangeOfIPAddresses, associated to the AreaConfiguration using "
332 "RangesOfConfiguration). There is an instance of "
333 "OSPFAreaConfiguration for each connected area of a "
334 "router/OSPFService.")]
335 class CIM_AreaOfConfiguration : CIM_Dependency {
336
337 tony 1.1 [Override ( "Antecedent" ), Max ( 1 ), Description (
338 "The OSPF area.")]
339 CIM_OSPFArea REF Antecedent ;
340
341 [Override ( "Dependent" ), Description (
342 "The configuration which is applied to an OSPF area. This is "
343 "the Dependent reference in this association, since it "
344 "depends on the area for any functional significance.")]
345 CIM_OSPFAreaConfiguration REF Dependent;
346 };
347
348
349 // ====================================================================
350 // OSPFServiceConfiguration
351 // ====================================================================
352 [Association, Version ( "2.7.0" ), Description (
353 "OSPFServiceConfiguration connects an OSPF service to its area "
354 "configurations. The configurations are defined for the OSPF "
355 "Service, and so do not make sense as stand alone objects. This "
356 "is the reason for the Min (1), Max (1) cardinalities on "
357 "OSPFService. They mandate the instantiation of the service and "
358 tony 1.1 "of this association for the referenced instance of "
359 "OSPFAreaConfiguration. The area configuration acts as a focal "
360 "point to bring together the router (indicated as a "
361 "ComputerSystem with an instance of OSPFService, associated to "
362 "the AreaConfiguration using this relationship), the area "
363 "(indicated as an OSPFArea, associated to the AreaConfiguration "
364 "using AreaOfConfiguration) and the address ranges for "
365 "advertising (indicated as instances of RangeOfIPAddresses, "
366 "associated to the AreaConfiguration using "
367 "RangesOfConfiguration). There would be an instance of "
368 "OSPFAreaConfiguration for each connected area of a "
369 "router/OSPFService.")]
370 class CIM_OSPFServiceConfiguration : CIM_Dependency {
371
372 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
373 "The OSPF service.")]
374 CIM_OSPFService REF Antecedent ;
375
376 [Override ( "Dependent" ), Description (
377 "The area configuration.")]
378 CIM_OSPFAreaConfiguration REF Dependent;
379 tony 1.1 };
380
381
382 // ====================================================================
383 // RangesOfConfiguration
384 // ====================================================================
385 [Association, Version ( "2.7.0" ), Description (
386 "This association connects address ranges to the OSPF area "
387 "configuration. When network administrators want to control the "
388 "advertisements of OSPF routers by filters, they first define "
389 "the relevant ranges. In order for a router to handle a range, "
390 "an instance of RangeOfIPAddresses MUST be associated to the "
391 "router's OSPFAreaConfiguration, using this relationship. The "
392 "association between the range and area configuration contains "
393 "a property (EnableAdvertise) defining the handling - to allow "
394 "or disallow advertismenets in the range.")]
395 class CIM_RangesOfConfiguration : CIM_Dependency {
396
397 [Override ( "Antecedent" ), Description (
398 "The address range that is in the OSPF area configuration.")]
399 CIM_RangeOfIPAddresses REF Antecedent;
400 tony 1.1
401 [Override ( "Dependent" ), Description (
402 "The OSPF area configuration that contains the range.")]
403 CIM_OSPFAreaConfiguration REF Dependent;
404
405 [Description (
406 "The address range is advertised (TRUE) or not (FALSE), see "
407 "C.2 in RFC 2328.")]
408 boolean EnableAdvertise;
409 };
410
411
412 // ====================================================================
413 // EndpointInLink
414 // ====================================================================
415 [Association, Aggregation, Version ( "2.7.0" ), Description (
416 "This association connects an OSPFLink to the OSPFProtocol "
417 "Endpoints that this link aggregates.")]
418 class CIM_EndpointInLink : CIM_MemberOfCollection {
419
420 [Aggregate, Override ( "Collection" ), Max ( 1 ), Description (
421 tony 1.1 "The OSPF link.")]
422 CIM_OSPFLink REF Collection;
423
424 [Override ( "Member" ), Description (
425 "The OSPF protocol endpoint.")]
426 CIM_OSPFProtocolEndpointBase REF Member;
427 };
428
429
430 // ====================================================================
431 // EndpointInArea
432 // ====================================================================
433 [Association, Aggregation, Composition, Version ( "2.7.0" ),
434 Description (
435 "This relation connects an OSPF endpoint to an area.")]
436 class CIM_EndpointInArea : CIM_Component {
437
438 [Aggregate, Override ( "GroupComponent" ), Min ( 1 ), Max ( 1 ),
439 Description (
440 "The OSPF area.")]
441 CIM_OSPFArea REF GroupComponent;
442 tony 1.1
443 [Override ( "PartComponent" ), Description (
444 "The OSPF endpoint in the area.")]
445 CIM_OSPFProtocolEndpointBase REF PartComponent;
446 };
447
448
449 // ===================================================================
450 // end of file
451 // ===================================================================
|