// =================================================================== // Title: Network Buffers 2.8 // Filename: Network27_Buffers.mof // Version: 2.8 // Status: Preliminary // Date: May 21, 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 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.8 // CR1061 - Add MPLSBuffers and MPLSBufferEndpointBuffers classes // // Change Log for v2.7 // CR790 - Add classes to support MPLS // CR982 - MPLS classes remain as Experimental for CIM V2.8 // =================================================================== #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"), 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."), MaxLen (256) ] string CollectionID; [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."), MaxLen (256) ] string CreationClassName; [Description ( "The Name property defines the label by which the object is " "known."), MaxLen (256) ] 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 { [Aggregate, Override ("Collection"), 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.1000"), 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 to which a " "buffer resource belongs. ResourceClasses is defined as a " "32-bit vector, and the classes are described in [RFC2702]. " "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.\n" "\n" "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.1000"), 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 // ===================================================================