// =================================================================== // Title: Network OSPF 2.8 // Filename: Network28_OSPF.mof // Version: 2.8 // Status: Preliminary // Date: August 18, 2003 // =================================================================== // Copyright 1998-2003 Distributed Management Task Force, Inc. (DMTF). // All rights reserved. // DMTF is a not-for-profit association of industry members dedicated // to promoting enterprise and systems management and interoperability. // DMTF specifications and documents may be reproduced for uses // consistent with this purpose by members and non-members, // provided that correct attribution is given. // As DMTF specifications may be revised from time to time, // the particular version and release date should always be noted. // // Implementation of certain elements of this standard or proposed // standard may be subject to third party patent rights, including // provisional patent rights (herein "patent rights"). DMTF makes // no representations to users of the standard as to the existence // of such rights, and is not responsible to recognize, disclose, or // identify any or all such third party patent right, owners or // claimants, nor for any incomplete or inaccurate identification or // disclosure of such rights, owners or claimants. DMTF shall have no // liability to any party, in any manner or circumstance, under any // legal theory whatsoever, for failure to recognize, disclose, or // identify any such third party patent rights, or for such party's // reliance on the standard or incorporation thereof in its product, // protocols or testing procedures. DMTF shall have no liability to // any party implementing such standard, whether such implementation // is foreseeable or not, nor to any patent owner or claimant, and shall // have no liability or responsibility for costs or losses incurred if // a standard is withdrawn or modified after publication, and shall be // indemnified and held harmless by any party implementing the // standard from any and all claims of infringement by a patent owner // for such implementations. // // For information about patents held by third-parties which have // notified the DMTF that, in their opinion, such patent may relate to // or impact implementations of DMTF standards, visit // http://www.dmtf.org/about/policies/disclosures.php. // =================================================================== // Description: The Network Model extends the management concepts to // represent protocol interfaces and network/protocol // services. This file defines classes to manage OSPF // (Open Shortest Path First). // // The object classes below are listed in an order that // avoids forward references. Required objects, defined // by other working groups, are omitted. // ================================================================== // Change Log for v2.8 - None // // Change Log for v2.7 // CR788 - Add classes to support OSPF // CR806 - Update the OSPF model to take into account the // RangeOfIPAddresses class (vs IPAddressRange) // CR837 - Add the property RFC1583Compatibility to OSPFService, and // add the property StubMetricType to OSPFAreaConfiguration // CR863 - Update the format of the MappingStrings qualifier when // referencing IETF RFCs // CR903 - Correction of EndpointInLink.Member reference. // CR959 - Reposition OSPFLink using the ConnectivityCollection class // CR982 - Removal of Experimental for preliminary to final // CR994 - Update of the InstanceID property Description // =================================================================== #pragma Locale ("en_US") // ==================================================================== // OSPFArea // ==================================================================== [Version ("2.7.0"), Description ( "This class represents an OSPF area. The definition of an OSPF " "area from RFC2328, is 'OSPF allows sets of networks to be " "grouped together. Such a grouping is called an area. The " "topology of an area is hidden from the rest of the Autonomous " "System. This information hiding enables a significant " "reduction in routing traffic. Also, routing within the area " "is determined only by the area's own topology, lending the " "area protection from bad routing data.' This class has a " "'Type' propery, which distinguishes between the different area " "types. This approach was chosen, because it provides a " "simpler way to indicate the type of an area, and additional " "subclassing is not needed at this time.") ] class CIM_OSPFArea : CIM_RoutingProtocolDomain { [Description ( "The area ID of this OSPF area, see C.2 in RFC 2328."), MappingStrings {"MIB.IETF|OSPF-MIB.ospfAreaId"} ] uint32 AreaID; [Required, Description ( "The type of the OSPF area."), ValueMap {"2", "3", "4"}, Values {"Plain", "Stub", "NSSA"} ] uint16 AreaType; [Description ( "When the number of non-default AS-external-LSAs in a " "router's link-state database reaches this limit, the router " "enters OverflowState, see 2.1 in RFC 1765."), MappingStrings {"MIB.IETF|OSPF-MIB.ospfExtLsdbLimit"} ] uint32 ExtLsdbLimit; }; // ==================================================================== // OSPFService // ==================================================================== [Version ("2.7.0"), Description ( "This class is used to represent the basic operation of OSPF. " "It is derived from the RouteCalculationService, the superclass " "of all routing protocols.") ] class CIM_OSPFService : CIM_RouteCalculationService { [Description ( "This attribute indicates whether this router is running " "MOSPF (multicast enhancements to OSPF) or not, see B.1 in " "RFC 1584. This attribute only can be true, when the " "SupportMOSPF property in OSPFService Capabilities is also " "true. If SupportMOSPF is false, then this property has no " "meaning."), MappingStrings {"MIB.IETF|OSPF-MIB.ospfMulticastExtensions"}, ModelCorrespondence { "CIM_OSPFServiceCapabillities.SupportMOSPF"} ] boolean RunningMOSPF; [Description ( "This attribute indicates whether this router will forward " "multicast datagrams between OSPF areas or not, see B.1 in " "RFC 1584."), MappingStrings {"MIB.IETF|OSPF-MIB.ospfMulticastExtensions"} ] boolean IsInterAreaMulticastForwarder; [Description ( "This attribute indicates whether this router will forward " "multicast datagrams between Autonomous Systems or not, see " "B.1 in RFC 1584."), MappingStrings {"MIB.IETF|OSPF-MIB.ospfMulticastExtensions"} ] boolean IsInterAsMulticastForwarder; [Description ( "The number of seconds that, after entering OverflowState, a " "router will attempt to leave OverflowState. When set to 0, " "the router will not leave OverflowState until restarted, " "see 2.1 in RFC 1765."), Units ("Seconds"), MappingStrings {"MIB.IETF|OSPF-MIB.ospfExitOverflowInterval"} ] uint32 ExitOverflowInterval; [Description ( "Controls the preference rules used in choosing among " "multiple AS-external-LSAs advertising the same " "destination. When set to TRUE, the preference rules remain " "those specified by RFC 1583. When set to FALSE, the " "preference rules are those stated in RFC 2328, which " "prevent routing loops when AS-external-LSAs for the same " "destination have been originated from different areas. See " "C.1 in RFC2328.") ] boolean RFC1583Compatibility; }; // ================================================================== // OSPFServiceCapabilities // ================================================================== [Version ("2.7.0"), Description ( "The OSPFServiceCapabilities class represents the capabilities " "of an OSPF service.") ] class CIM_OSPFServiceCapabilities : CIM_Capabilities { [Description ( "This attribute indicates whether this router supports NSSA " "(\"not-so-stubby\") areas or not, see RFC 1587.") ] boolean SupportNSSA; [Description ( "This attribute indicates whether this router supports " "on-demand circuits or not, see RFC 1793."), MappingStrings {"MIB.IETF|OSPF-MIB.ospfDemandExtensions"} ] boolean SupportOnDemand; [Description ( "This attribute indicates whether this router supports MOSPF " "(multicast enhancements to OSPF) or not, see B.1 in RFC " "1584."), MappingStrings {"MIB.IETF|OSPF-MIB.ospfMulticastExtensions"} ] boolean SupportMOSPF; }; // ==================================================================== // OSPFAreaConfiguration // ==================================================================== [Version ("2.7.0"), Description ( "Each OSPF router has an association to one or more OSPF " "areas. Into these areas, a router advertises summaries " "filtered by specific address ranges. This would natively be " "modeled as a ternary association (router/OSPFService to " "OSPFArea to RangeOfIPAddresses), which is problematic in some " "implementations. To get around this issue, the " "OSPFAreaConfiguration class is defined to act as a focal point " "to bring together the router (indicated as a ComputerSystem " "with an instance of OSPFService, associated to the " "AreaConfiguration using OSPFServiceConfiguration), the area " "(indicated as an OSPFArea, associated to the AreaConfiguration " "using AreaOfConfiguration) and the address ranges for " "advertising (indicated as instances of RangeOfIPAddresses, " "associated to the AreaConfiguration using " "RangesOfConfiguration). There would be an instance of " "OSPFAreaConfiguration for each connected area of a router/OSPFService.\n" "\n" "When network administrators want to control the advertisements " "of OSPF routers by filters, they first define the relevant " "ranges. In order for a router to handle a range, an instance " "of RangeOfIPAddresses MUST be associated to the relevant " "OSPFAreaConfiguration (using the relationship, RangesOf " "Configuration). The association between the range and area " "configuration contains a property defining the handling " "(EnableAdvertise) to allow or disallow advertisements in the range.\n" "\n" " Notes:\n" "- Because RangeOfIPAddresses is scoped by a System (via the " "HostedCollection association), an instance of " "RangeOfIPAddresses would be associated to an OSPFArea, " "satisfying this semantic.\n" "- This class is inherited from LogicalElement, because a " "suitable subclass 'lower' in the inheritance hiearchy does not " "exist.") ] class CIM_OSPFAreaConfiguration : CIM_LogicalElement { [Key, Description ( "Within the scope of the instantiating Namespace, InstanceID " "opaquely and uniquely identifies an instance of this " "class. In order to ensure uniqueness within the NameSpace, " "the value of InstanceID SHOULD be constructed using the " "following 'preferred' algorithm:\n" ":\n" " where:\n" " and the remainder of the InstanceID are separated " "by a colon ':', and where MUST include a " "copyrighted, trademarked or otherwise unique name that is " "owned by the business entity creating/defining the " "InstanceID, or is a registered ID that is assigned to the " "business entity by a recognized global authority. (This is " "similar to the _ structure of " "Schema class names.) In addition, to ensure uniqueness " " MUST NOT contain a colon (':'). When using this " "algorithm, the first colon to appear in InstanceID MUST " "appear between and the . For DMTF " "defined instances, the 'preferred' algorithm MUST be used, " "and the set to 'CIM'.\n" " and MUST specify " "vendor-unique identifiers for the OSPFService and " "AreaConfiguration.") ] string InstanceID; [Description ( "This attribute contains the value of the default route that " "this router advertises into a stub area, see C.2 RFC 2328."), MappingStrings {"MIB.IETF|OSPF-MIB.ospfStubMetric"} ] uint32 StubDefaultCost; [Description ( "This attribute contains the type of metric advertised as a " "default route into a stub area, see 3. in RFC 1850."), ValueMap {"2", "3", "4"}, Values {"OSPF Metric", "Comparable Cost", "NonComparable"}, MappingStrings {"MIB.IETF|OSPF-MIB.ospfStubMetricType"} ] uint16 StubMetricType; }; // ==================================================================== // OSPFLink // ==================================================================== [Version ("2.7.0"), Description ( "This class is used to represent OSPF connectivity between two " "or more OSPF protocol endpoints.") ] class CIM_OSPFLink : CIM_ConnectivityCollection { [Required, Description ( "The type of the OSPF link, see section 1.2 in RFC 2328."), ValueMap {"2", "3", "4", "5"}, Values {"Point-To-Point", "Point-To-Multipoint", "Broadcast", "NBMA"} ] uint16 LinkType; [Description ( "The time, in seconds, between sending OSPF Hello-packets " "over the interface, see section C.3 in RFC 2328."), Units ("Seconds"), MappingStrings {"MIB.IETF|OSPF-MIB.ospfIfHelloInterval"} ] uint32 HelloInterval; [Description ( "After ceasing to hear a router's Hello-packets, the number " "of seconds before its neighbors declare the router down, " "see section C.3 in RFC 2328."), Units ("Seconds"), MappingStrings {"MIB.IETF|OSPF-MIB.ospfIfRtrDeadInterval"} ] uint32 RouterDeadInterval; [Required, Description ( "This parameter indicates whether IP multicast datagrams " "should be forwarded over this OSPF link, and if so, how the " "forwarding should be done, see section B.2 in RFC 1584."), ValueMap {"2", "3", "4"}, Values {"Disabled", "Data-link Multicast", "Data-link Unicast"}, MappingStrings {"MIB.IETF|OSPF-MIB.ospfIfMulticastForwarding"} ] uint16 MulticastForwarding; }; // ==================================================================== // AreaOfConfiguration // ==================================================================== [Association, Version ("2.7.0"), Description ( "This association connects an area configuration to its area. " "The OSPFAreaConfiguration class is defined to act as a focal " "point to bring together the router (indicated as a " "ComputerSystem with an instance of OSPFService, associated to " "the AreaConfiguration using OSPFServiceConfiguration), the " "area (indicated as an OSPFArea, associated to the " "AreaConfiguration using AreaOfConfiguration) and the address " "ranges for advertising (indicated as instances of " "RangeOfIPAddresses, associated to the AreaConfiguration using " "RangesOfConfiguration). There is an instance of " "OSPFAreaConfiguration for each connected area of a " "router/OSPFService.") ] class CIM_AreaOfConfiguration : CIM_Dependency { [Override ("Antecedent"), Max (1), Description ( "The OSPF area.") ] CIM_OSPFArea REF Antecedent ; [Override ("Dependent"), Description ( "The configuration which is applied to an OSPF area. This " "is the Dependent reference in this association, since it " "depends on the area for any functional significance.") ] CIM_OSPFAreaConfiguration REF Dependent; }; // ==================================================================== // OSPFServiceConfiguration // ==================================================================== [Association, Version ("2.7.0"), Description ( "OSPFServiceConfiguration connects an OSPF service to its area " "configurations. The configurations are defined for the OSPF " "Service, and so do not make sense as stand alone objects. " "This is the reason for the Min (1), Max (1) cardinalities on " "OSPFService. They mandate the instantiation of the service " "and of this association for the referenced instance of " "OSPFAreaConfiguration. The area configuration acts as a focal " "point to bring together the router (indicated as a " "ComputerSystem with an instance of OSPFService, associated to " "the AreaConfiguration using this relationship), the area " "(indicated as an OSPFArea, associated to the AreaConfiguration " "using AreaOfConfiguration) and the address ranges for " "advertising (indicated as instances of RangeOfIPAddresses, " "associated to the AreaConfiguration using " "RangesOfConfiguration). There would be an instance of " "OSPFAreaConfiguration for each connected area of a " "router/OSPFService.") ] class CIM_OSPFServiceConfiguration : CIM_Dependency { [Override ("Antecedent"), Min (1), Max (1), Description ( "The OSPF service.") ] CIM_OSPFService REF Antecedent ; [Override ("Dependent"), Description ( "The area configuration.") ] CIM_OSPFAreaConfiguration REF Dependent; }; // ==================================================================== // RangesOfConfiguration // ==================================================================== [Association, Version ("2.7.0"), Description ( "This association connects address ranges to the OSPF area " "configuration. When network administrators want to control " "the advertisements of OSPF routers by filters, they first " "define the relevant ranges. In order for a router to handle a " "range, an instance of RangeOfIPAddresses MUST be associated to " "the router's OSPFAreaConfiguration, using this relationship. " "The association between the range and area configuration " "contains a property (EnableAdvertise) defining the handling - " "to allow or disallow advertismenets in the range.") ] class CIM_RangesOfConfiguration : CIM_Dependency { [Override ("Antecedent"), Description ( "The address range that is in the OSPF area configuration.") ] CIM_RangeOfIPAddresses REF Antecedent; [Override ("Dependent"), Description ( "The OSPF area configuration that contains the range.") ] CIM_OSPFAreaConfiguration REF Dependent; [Description ( "The address range is advertised (TRUE) or not (FALSE), see " "C.2 in RFC 2328.") ] boolean EnableAdvertise; }; // ==================================================================== // EndpointInLink // ==================================================================== [Association, Aggregation, Version ("2.7.0"), Description ( "This association connects an OSPFLink to the OSPFProtocol " "Endpoints that this link aggregates.") ] class CIM_EndpointInLink : CIM_MemberOfCollection { [Aggregate, Override ("Collection"), Max (1), Description ( "The OSPF link.") ] CIM_OSPFLink REF Collection; [Override ("Member"), Description ( "The OSPF protocol endpoint.") ] CIM_OSPFProtocolEndpointBase REF Member; }; // ==================================================================== // EndpointInArea // ==================================================================== [Association, Aggregation, Composition, Version ("2.7.0"), Description ( "This relation connects an OSPF endpoint to an area.") ] class CIM_EndpointInArea : CIM_Component { [Aggregate, Override ("GroupComponent"), Min (1), Max (1), Description ( "The OSPF area.") ] CIM_OSPFArea REF GroupComponent; [Override ("PartComponent"), Description ( "The OSPF endpoint in the area.") ] CIM_OSPFProtocolEndpointBase REF PartComponent; }; // =================================================================== // end of file // ===================================================================