// Title: Network Buffers // $State: Exp $ // $Date: 2004/08/04 14:02:12 $ // $Source: /cvs/MSB/pegasus/Schemas/CIMPrelim29/Attic/Network_Buffers.mof,v $ // $Revision: 1.1 $ // =================================================================== //#pragma inLine ("Includes/copyright.inc") // Copyright 1998-2004 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. //#pragma inLine // ================================================================== // 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 // CR982 - MPLS classes remain as Experimental for CIM V2.8 // Change Log for v2.8 // CR1061 - Add MPLSBuffers and MPLSBufferEndpointBuffers classes // CR1191 - CIM_MPLSBuffers and CIM_MPLSEndpointBuffers remain // experimental // in CIM v2.9 // CR1217 - Deprecate BufferPool.BufferSize in lieu of a larger uint // definition. // // Change log for v2.9 // No changes // =================================================================== #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; [Deprecated { "CIM_BufferPool.SizeOfBuffers" }, Description ( "This property is a 16-bit unsigned integer, and defines the " "number of bytes in each buffer. It is deprecated in lieu of " "a similar uint32 property."), Units ( "Bytes" )] uint16 BufferSize; [Description ( "This property is a 32-bit unsigned integer, and defines the " "number of bytes in each buffer."), Units ( "Bytes" )] uint32 SizeOfBuffers; [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.8.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.8.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 // ===================================================================