// =================================================================== // Title: Network Routes 2.7 // Filename: Network27_Routes.mof // Version: 2.7.0 // Status: Preliminary // Date: 07/28/2002 // =================================================================== // Copyright 1998-2002 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 network/next hop routes // (for use for both static and dynamic routes). Also, // default administrative distances for a system are // modeled - to be used when selecting a route. // // 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 // CR805 - Deprecate NextHopRouting, IPRoute, CalculatedRoutes, // RouteFowardedByService, and ForwardedRoutes // - Add NextHopRoute, HostedRoute, NextHopIPRoute, // RouteUsesEndpoint, and AssociatedNextHop // CR866 - Add default values to the definition of the distance // properties in AdministrativeDistance; Override the Name // property since it is inherited from MSE // =================================================================== #pragma Locale ("en_US") // ================================================================== // NextHopRoute // ================================================================== [Experimental, Version ("2.7.0"), Description ( "NextHopRoute represents one of a series of 'hops' to reach " "a network destination. A route is administratively defined, " "or calculated/learned by a particular routing process. A " "ConcreteDependency associaton may be instantiated between a " "route and its routing service to indicate this. (In this " "scenario, the route is dependent on the service.)") ] class CIM_NextHopRoute : CIM_ManagedElement { [Key, Description ( "InstanceID opaquely identifies a unique instance of Next" "HopRoute. The InstanceID must be unique within a namespace. " "In order to ensure uniqueness, the value of InstanceID " "SHOULD be constructed in the following manner: \n" " \n" " MUST include a copyrighted, trademarked " "or otherwise unique name that is owned by the business entity " "or a registered ID that is assigned to the business entity " "that is defining the InstanceID. (This is similar to the " "_ structure of Schema class names.) " "The purpose of is to ensure that is truly " "unique across multiple vendor implementations. If such a " "name is not used, the defining entity MUST assure that the " " portion of the Instance ID is unique when compared with " "other instance providers. For DMTF defined instances, the " " is 'CIM'. \n" " MUST include a vendor specified unique " "identifier.") ] string InstanceID; [Description ( "The address which serves as the destination to be " "reached.") ] string DestinationAddress; [Description ( "The specific administrative distance of this route, " "overriding any default distances specified by the system " "or routing service.") ] uint16 AdminDistance; [Description ( "RouteMetric provides a numeric indication as to the " "preference of this route, compared to other routes that " "reach the same destination.") ] uint16 RouteMetric; [Description ( "TRUE indicates that this is a static route, and FALSE " "indicates a dynamically-learned route.") ] boolean IsStatic; [Description ( "An enumerated integer indicating whether the route is " "administrator-defined (value=2), computed (via a routing " "protocol/algorithm, value=3) or the actual route " "implemented in the network (value=4). The default is " "a computed route."), ValueMap {"2", "3", "4"}, Values {"Administrator Defined Route", "Computed Route", "Actual Route"} ] uint16 TypeOfRoute=3; }; // ================================================================== // HostedRoute // ================================================================== [Association, Experimental, Version ("2.7.0"), Description ( "HostedRoute describes the relationship between the " "route and the system in whose context it is defined.") ] class CIM_HostedRoute : CIM_Dependency { [Override ("Antecedent"), Min (1), Max (1), Description ( "The network element that scopes/provides context " "for the route.") ] CIM_System REF Antecedent; [Override ("Dependent"), Description ( "The next hop route defined on the System.") ] CIM_NextHopRoute REF Dependent; }; // ================================================================== // NextHopIPRoute // ================================================================== [Experimental, Version ("2.7.0"), Description ( "NextHopIPRoute specifies routing in an IP network.") ] class CIM_NextHopIPRoute : CIM_NextHopRoute { [Description ( "An enumerated integer indicating how the route was " "derived. This is useful for display and query purposes."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"}, Values {"Unknown", "Other", "Connected", "User-Defined", "IGRP", "EIGRP", "RIP", "Hello", "EGP", "BGP", "ISIS", "OSPF"}, ModelCorrespondence { "CIM_NextHopIPRoute.OtherDerivation"} ] uint16 RouteDerivation; [Description ( "A string describing how the route was derived when " "the RouteDerivation property is 1 (\"Other\")."), ModelCorrespondence { "CIM_NextHopIPRoute.RouteDerivation"} ] string OtherDerivation; [Description ( "The mask for the Ipv4 destination address.") ] string DestinationMask; [Description ( "The prefix length for the IPv6 destination address.") ] uint8 PrefixLength; [Description ( "An enumeration that describes the format of the address " "properties."), ValueMap {"0", "1", "2"}, Values {"Unknown", "IPv4", "IPv6"} ] uint16 AddressType; }; // ================================================================== // RouteUsesEndpoint // ================================================================== [Association, Experimental, Version ("2.7.0"), Description ( "RouteUsesEndpoint depicts the relationship between a next " "hop route and the local Endpoint that is used to transmit the " "traffic to the 'next hop'.") ] class CIM_RouteUsesEndpoint : CIM_Dependency { [Override ("Antecedent"), Max (1), Description ( "The endpoint used to reach the route's destination.") ] CIM_ProtocolEndpoint REF Antecedent; [Override ("Dependent"), Description ("The route using the endpoint.") ] CIM_NextHopRoute REF Dependent; }; // ================================================================== // AssociatedNextHop // ================================================================== [Association, Experimental, Version ("2.7.0"), Description ( "AssociatedNextHop depicts the relationship between a " "route and the specification of its next hop. The next hop " "is external to a System, and hence is defined as a kind of " "RemoteServiceAccessPoint. Note that this relationship is " "independent of RouteUsesEndpoint (the local Endpoint used to " "transmit the traffic), and both may be defined for a route.") ] class CIM_AssociatedNextHop : CIM_Dependency { [Override ("Antecedent"), Max (1), Description ( "The next hop for the route.") ] CIM_RemoteServiceAccessPoint REF Antecedent; [Override ("Dependent"), Description ( "The route sending traffic to the next hop.") ] CIM_NextHopRoute REF Dependent; }; // ================================================================== // NextHopRouting // ================================================================== [Abstract, Deprecated {"CIM_NextHopRoute"}, Version ("2.7.0"), Description ( "NextHopRouting relates a destination address to the " "address or interface through which the remote address " "may be reached. An instance of this class can represent " "either static or dynamic routing, and may represent a routing " "table entry (but it is not required that all NextHopRoutes be " "in a routing table). Static routes are distinguished by " "setting the IsStatic boolean property to TRUE. Subclasses " "of NextHopRouting provide specific protocol and Key " "information. NextHopRoutes are dependent on at least one " "ForwardingService to execute them. This is conveyed by the " "CIM_NextHopForwardedByService association. \n" "\n" "NextHopRouting is deprecated in lieu of the more general, " "concrete NextHopRoute class. NextHopRoute allows the definition " "of BOTH a next hop address and an interface for transmission of " "the traffic. Also, it does not mandate the instantiation of a " "ForwardingService class. The latter is not needed if the sole " "purpose of the instance is to specify a 'desired/configured' route. " "This is simply a specification of the next hop.") ] class CIM_NextHopRouting : CIM_LogicalElement { [Deprecated {"CIM_NextHopRoute.DestinationAddress"}, Description ( "The address which serves as the destination to be " "reached.") ] string DestinationAddress; [Deprecated {"CIM_NextHopRoute.DestinationMask"}, Description ( "The mask for the DestinationAddress.") ] string DestinationMask; [Deprecated {"CIM_AssociatedNextHop.Antecedent", "CIM_RouteUsesEndpoint.Antecedent"}, Description ( "This contains either the address of the next-hop router, " "or the interface used to reach the destination.") ] string NextHop; [Deprecated {"CIM_NextHopRoute.IsStatic"}, Description ( "TRUE indicates that this is a static route, and FALSE " "indicates a dynamically-learned route.") ] boolean IsStatic; }; // ================================================================== // IPRoute // ================================================================== [Abstract, Version ("2.7.0"), Deprecated {"CIM_NextHopIPRoute"}, Description ( "An IPRoute relates a destination address to the " "address or interface through which the remote address " "may be reached. The destination address may be a " "specific IP endpoint or a subnet, dependent on the mask. " "An instance of this class represents either static or " "dynamic routing. Static routes are distinguished by " "setting the IsStatic boolean property to TRUE. \n" "\n" "Since many routes between endpoints can be defined " "(using different route calculation algorithms), the " "CIM_IPRoute class is defined as Abstract. This " "forces subclassing (for example, see CIM_BGPIPRoute) " "and allows the instances of its subclasses to be " "distinguished based on their CreationClassName key " "property. \n" "\n" "IPRoute is deprecated in lieu of the more general, concrete " "NextHopIPRoute class. NextHopIPRoute allows the definition " "of BOTH a next hop address and an interface for transmission of " "the traffic. Also, it does not mandate the instantiation of a " "ForwardingService class.") ] class CIM_IPRoute : CIM_NextHopRouting { [Deprecated {"No value"}, Propagated("CIM_ForwardingService.SystemCreationClassName"), Key, MaxLen (256), Description ( "The scoping ForwardingService's SystemCreationClassName.") ] string SystemCreationClassName; [Deprecated {"No value"}, Propagated("CIM_ForwardingService.SystemName"), Key, MaxLen (256), Description ( "The scoping ForwardingService's SystemName.") ] string SystemName; [Deprecated {"No value"}, Propagated("CIM_ForwardingService.CreationClassName"), Key, MaxLen (256), Description ( "The scoping ForwardingService's CreationClassName.") ] string ServiceCreationClassName; [Deprecated {"No value"}, Propagated("CIM_ForwardingService.Name"), Key, MaxLen (256), Description ( "The scoping ForwardingService's Name.") ] string ServiceName; [Deprecated {"No value"}, Key, MaxLen (256), Description ( "CreationClassName indicates the name of the class or the " "subclass used in the creation of an instance. When used " "with the other key properties of this class, this property " "allows all instances of this class and its subclasses to " "be uniquely identified.") ] string CreationClassName; [Key, Deprecated {"CIM_NextHopIPRoute.DestinationAddress"}, Description ( "The IP address which serves as the destination of the " "traffic, formatted according to the appropriate convention " "as defined in the AddressType property of this class. \n" "\n" "This property has the same semantics as DestinationAddress " "inherited from the NextHopRouting superclass, but a different " "property name. This is because this property and class were " "defined before NextHopRouting and are Key properties. They " "cannot be removed. ModelCorrespondence indicates that they " "should be set to equivalent values for consistency and " "ease of query."), ModelCorrespondence {"CIM_IPRoute.DestinationAddress"} ] string IPDestinationAddress; [Key, Deprecated {"CIM_NextHopIPRoute.DestinationMask"}, Description ( "The mask for the destination IP address, formatted " "according to the appropriate convention as defined in the " "AddressType property of this class. \n" "\n" "This property has the same semantics as DestinationMask " "inherited from the NextHopRouting superclass, but a different " "property name. This is because this property and class were " "defined before NextHopRouting and are Key properties. They " "cannot be removed. ModelCorrespondence indicates that they " "should be set to equivalent values for consistency and " "ease of query."), ModelCorrespondence {"CIM_IPRoute.DestinationMask"} ] string IPDestinationMask; [Key, Deprecated {"CIM_NextHopIPRoute.AddressType"}, Description ( "An enumeration that describes the format of the address " "property. Addresses that can be formatted in IPv4 format, " "must be formatted that way to ensure mixed IPv4/IPv6 " "support. \n" "\n" "AddressType is part of the key so that an IPv4 and an IPv6 " "route to IP subnets with the same network number but " "different IP versions (v4/v6) can coexist."), ValueMap {"0", "1", "2"}, Values {"Unknown", "IPv4", "IPv6"} ] uint16 AddressType; [Override ("DestinationAddress"), ModelCorrespondence {"CIM_IPRoute.IPDestinationAddress"} ] string DestinationAddress; [Override ("DestinationMask"), ModelCorrespondence {"CIM_IPRoute.IPDestinationMask"} ] string DestinationMask; }; // ================================================================== // RouteForwardedByService // ================================================================== [Association, Deprecated {"No value"}, Version ("2.7.0"), Description ( "This assocation makes explicit the next hops that are " "forwarded by a specific ForwardingService, to reach the " "destination. Every ForwardingService can have its own " "unique set of routing destinations and next hops. The " "association is deprecated since it is incorrect to mandate " "the existence of a ForwardingService in order to define " "the existence of a route.") ] class CIM_RouteForwardedByService : CIM_Dependency { [Deprecated {"No value"}, Override ("Antecedent"), Min (1), Description ("The forwarding service for the route.") ] CIM_ForwardingService REF Antecedent; [Deprecated {"No value"}, Override ("Dependent"), Description ("The route being forwarded.") ] CIM_NextHopRouting REF Dependent; [Deprecated {"CIM_NextHopRoute.AdminDistance"}, Description ( "This property contains the current administrative distance " "of this route, for the ForwardingService. Note that this " "property indicates current, specific values - whereas an " "instance of the CIM_AdministrativeDistance class " "defines default distances.") ] uint16 AdminDistance; [Deprecated {"CIM_NextHopRoute.RouteMetric"}, Description ( "PathMetric provides a numeric indication as to the " "preference of this route compared to other routes that " "reach the same destination.") ] uint16 PathMetric; }; // ================================================================== // ForwardedRoutes // ================================================================== [Association, Deprecated {"No value"}, Version ("2.7.0"), Description ( "This assocation makes explicit the IP routes that are " "defined in the context of a specific ForwardingService. " "Every ForwardingService can have its own unique set of IP " "routing destinations. The association is deprecated " "since it is incorrect to mandate the existence of a " "ForwardingService in order to define the existence of a " "route.") ] class CIM_ForwardedRoutes : CIM_RouteForwardedByService { [Deprecated {"No value"}, Override ("Antecedent"), Min (1), Max (1), Description ( "The forwarding service for the route.") ] CIM_ForwardingService REF Antecedent; [Deprecated {"No value"}, Override ("Dependent"), Weak, Description ("The IP route being forwarded.") ] CIM_IPRoute REF Dependent; }; // ================================================================== // CalculatedRoutes // ================================================================== [Association, Version ("2.7.0"), Deprecated {"CIM_ConcreteDependency", "CIM_NextHopIPRoute.RouteDerivation"}, Description ( "This assocation makes explicit the routes that are " "calculated by a specific RouteCalculationService. Thus, " "every RouteCalculationService can have its own unique set " "of calculated routes. The association is not necessary " "in the model and has been deprecated. An instance of the " "general ConcreteDependency association can tie a NextHopIPRoute " "to a RouteCalculationService. In addition, information on how " "the route was derived is available in NextHopIPRoute's " "RouteDerivation enumeration.") ] class CIM_CalculatedRoutes : CIM_Dependency { [Deprecated {"CIM_ConcreteDependency.Antecedent", "CIM_NextHopIPRoute.RouteDerivation"}, Override ("Antecedent"), Max (1), Description ("The route's calculation service.") ] CIM_RouteCalculationService REF Antecedent; [Deprecated {"CIM_ConcreteDependency.Dependent"}, Override ("Dependent"), Description ( "The IP route calculated by a specific service.") ] CIM_IPRoute REF Dependent; }; // ================================================================== // AdministrativeDistance // ================================================================== [Version ("2.7.0"), Description ( "Information in this class affects the choice of one " "protocol over another, when two protocols learn " "the same route. Properties define the preference of " "a protocol, called its distance. The lower the " "distance, the higher the preference for that protocol. " "This class affects ALL routes and contains the " "default distances. Specific administrative " "distances relative to an individual route and Forwarding" "Service are defined in the NextHopForwardedByService " "association, its AdminDistance property. \n" "\n" "AdministrativeDistance, being a global object, is weak to " "the AdminDomain that contains it. Hence, the AdminDomain " "keys are propagated to this class.") ] class CIM_AdministrativeDistance : CIM_LogicalElement { [Propagated ("CIM_AdminDomain.CreationClassName"), Key, MaxLen (256), Description ( "The scoping AdminDomain's CreationClassName.") ] string SystemCreationClassName; [Propagated ("CIM_AdminDomain.Name"), Key, MaxLen (256), Description ("The scoping AdminDomain's Name.") ] string SystemName; [Key, Description ( "CreationClassName indicates the name of the class or the " "subclass used in the creation of an instance. When used " "with the other key properties of this class, this property " "allows all instances of this class and its subclasses to " "be uniquely identified.") ] string CreationClassName; [Override ("Name"), Key, MaxLen(256), Description ( "This is the name of the AdministrativeDistance class.") ] string Name; [Description ( "The distance for directly connected peers. It has a default " "value of 0.") ] uint8 DirectConnect = 0; [Description ( "The distance for staticly connected peers. It has a default " "value of 1.") ] uint8 Static = 1; [Description ( "The distance for peers using EBGP. It has a default value " "of 20.") ] uint8 EBGP = 20; [Description ( "The distance for peers using internal EIGRP. It has a " "default value of 90.") ] uint8 EIGRPInternal = 90; [Description ( "The distance for peers using IGRP. It has a default value " "of 100.") ] uint8 IGRP = 100; [Description ( "The distance for peers using OSPF. It has a default value " "of 110.") ] uint8 OSPF = 110; [Description ( "The distance for peers using ISIS. It has a default value " "of 115.") ] uint8 ISIS = 115; [Description ( "The distance for peers using RIP. It has a default value " "of 120.") ] uint8 RIP = 120; [Description ( "The distance for peers using EGP. It has a default value " "of 140.") ] uint8 EGP = 140; [Description ( "The distance for peers using external EIGRP. It has a " "default value of 170.") ] uint8 EIGRPExternal = 170; [Description ( "The distance for peers using IBGP. It has a default value " "of 200.") ] uint8 IBGP = 200; [Description ( "The distance for peers using BGP locally. It has a default " "value of 200.") ] uint8 BGPLocal = 200; [Description ( "The distance for peers using an unknown protocol. It has a " "default value of 255.") ] uint8 Unknown = 255; }; // ================================================================== // HostedAdminDistance // ================================================================== [Association, Version ("2.6.0"), Description ( "AdministrativeDistance, being a global object, is weak to " "the AdminDomain that contains it. This association " "formalizes that relationship.") ] class CIM_HostedAdminDistance : CIM_Dependency { [Override ("Antecedent"), Min (1), Max (1), Description ( "The AdminDomain that scopes the AdministrativeDistance.") ] CIM_AdminDomain REF Antecedent; [Override ("Dependent"), Weak, Description ( "The table of (global) administrative distances that are " "defined in the context of the AdminDomain.") ] CIM_AdministrativeDistance REF Dependent; }; // =================================================================== // end of file // ===================================================================