// =================================================================== // Title: Network Buffers 2.7 // Filename: Network27_Buffers.mof // Version: 2.7.0 // Status: Preliminary // Date: 08/02/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 the classes to manage // network buffers. // // 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 // CR790 - Add classes to support MPLS // =================================================================== #pragma Locale ("en_US") // =================================================================== // BufferPool // =================================================================== [Version ("2.6.0"), Description ( "This class represents the use of buffers by a Queuing" "Service. The existence and management of individual buffers " "will be modeled in a future release. At the current level " "of abstraction, modeling the existence of the BufferPool " "is necessary. Long term, it is not sufficient. \n" "\n" "In implementations where there are multiple " "buffer sizes, an instance of BufferPool should be " "defined for each set of buffers with identical or similar " "sizes. These instances of buffer pools can then be grouped " "together using the CollectedBuffersPool association. \n" "\n" "Note that this class is derived from CollectionOfMSEs, " "and not from Forwarding or ConditioningService. BufferPool " "is only a collection of storage, and is NOT a Service.") ] class CIM_BufferPool : CIM_CollectionOfMSEs { [Key, Override ("CollectionID"), MaxLen (256), Description ( "This property is defined in the CollectionOfMSEs class, " "but is overridden here to serve as part of the " "(composite) key that identifies the BufferPool instance.") ] string CollectionID; [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; [MaxLen (256), Description ( "The Name property defines the label by which the object " "is known.") ] string Name; [Description ( "This property is a 16-bit unsigned integer, and defines " "the number of bytes in each buffer."), Units ("Bytes") ] uint16 BufferSize; [Description ( "This property is a 32-bit unsigned integer, and defines " "the total number of buffers in the Pool.") ] uint32 TotalBuffers; [Description ( "This property is a 32-bit unsigned integer, and defines " "the number of buffers in the Pool that are currently " "not allocated to any instance of a QueuingService. " "Buffers allocated to a QueuingService could either be " "in use (containing packet data), or allocated to a Queue " "pending the arrival of new packet data.") ] uint32 AvailableBuffers; [Description ( "This property is a 32-bit unsigned integer, and defines " "the number of buffers in the Pool that have been " "simultaneously allocated to multiple instances of " "QueuingService.") ] uint32 SharedBuffers; }; // ================================================================== // CollectedBufferPool // ================================================================== [Association, Aggregation, Version ("2.6.0"), Description ( "CIM_CollectedBufferPool is an aggregation association " "representing that a Pool may itself be contained " "in a 'higher level' Pool.") ] class CIM_CollectedBufferPool : CIM_MemberOfCollection { [Override("Collection"), Aggregate, Description ("The 'higher level' or parent Pool.") ] CIM_BufferPool REF Collection; [Override("Member"), Description ("The 'collected' Pool.") ] CIM_BufferPool REF Member; }; // ================================================================== // MPLSBuffers // ================================================================== [Experimental, Version ("2.7.0"), Description ( "MPLSBuffers represents buffer resources supporting Label " "Switch Routers (LSRs) and MPLS interfaces on these LSRs.") ] class CIM_MPLSBuffers : CIM_BufferPool { [Description ( "The maximum allocation multiplier (MAM) determines " "the proportion of the buffer resource that is " "available for allocation to MPLS tunnels/traffic trunks. " "The value of the MAM can be chosen so that a resource " "can be under-allocated or over-allocated. A resource is " "said to be under-allocated if the aggregate demands of " "all traffic trunks that can be allocated to it are " "always less than the capacity of the resource. " "A resource is said to be over-allocated if the " "aggregate demands of all traffic trunks allocated to " "it can exceed the capacity of the resource."), Units ("Percent"), MinValue (0), MaxValue (100) ] uint16 MaxAllocMultiplier; [Description ( "This property describes the resource classes that a " "buffer resource belongs to. In general, a resource " "can be assigned to more than one resource class, since " "the classes are coded in the individual bits of the " "property. Resource classes can be used to implement a " "variety of policies. From a Traffic Engineering " "perspective, they can be used to implement policies " "with regard to both traffic and resource oriented " "performance optimization. For example, resource class " "attributes can specify the relative preference of " "sets of resources for path placement of traffic trunks; " "explicitly restrict the placement of traffic trunks to " "specific subsets of resources; etc.") ] uint32 ResourceClasses; }; // ================================================================== // MPLSEndpointBuffers // ================================================================== [Association, Experimental, Version ("2.7.0"), Description ( "This association indicates the buffer resources explicitly " "supporting an MPLS interface.") ] class CIM_MPLSEndpointBuffers : CIM_Dependency { [Override ("Antecedent"), Description ( "The MPLSBuffer supporting the MPLS interface.") ] CIM_MPLSBuffers REF Antecedent; [Override ("Dependent"), Description ( "The MPLSProtocolEndpoint dependent on the buffer.") ] CIM_MPLSProtocolEndpoint REF Dependent; }; // =================================================================== // end of file // ===================================================================