// =================================================================== // Title: Network OSPF 2.7 // Filename: Network27_OSPF.mof // Version: 2.7.0 // Status: Final // Date: April 15, 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.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."), MappingStrings {"MIB.IETF|OSPF-MIB.ospfExitOverflowInterval"}, Units ("Seconds") ] 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."), MappingStrings {"MIB.IETF|OSPF-MIB.ospfStubMetricType"}, ValueMap {"2", "3", "4"}, Values {"OSPF Metric", "Comparable Cost", "NonComparable"} ] 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." ), MappingStrings {"MIB.IETF|OSPF-MIB.ospfIfHelloInterval"}, Units ("Seconds") ] 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." ), MappingStrings {"MIB.IETF|OSPF-MIB.ospfIfRtrDeadInterval"}, Units ("Seconds") ] 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."), MappingStrings {"MIB.IETF|OSPF-MIB.ospfIfMulticastForwarding"}, ValueMap {"2", "3", "4"}, Values {"Disabled", "Data-link Multicast", "Data-link Unicast"} ] 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 // ===================================================================