(file) Return to Network_OSPF.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIMPrelim29

  1 karl  1.1 // ===================================================================
  2           // Title:  Network OSPF
  3           // $State: Preliminary $
  4           // $Date: 2004/06/28 18:01:04 $
  5           // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Network_OSPF.mof,v $
  6           // $Revision: 1.3 $
  7           // ===================================================================
  8           //#pragma inLine ("Includes/copyright.inc")
  9           // Copyright 1998-2004 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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2