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