1 karl 1.1 // Title: Network Buffers
2 // $State: Preliminary $
3 // $Date: 2004/06/28 18:01:03 $
4 // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Network_Buffers.mof,v $
5 // $Revision: 1.4 $
6 // ===================================================================
7 //#pragma inLine ("Includes/copyright.inc")
8 // Copyright 1998-2004 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 karl 1.1 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party's
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 karl 1.1 //#pragma inLine
44 // ==================================================================
45 // Description: The Network Model extends the management concepts to
46 // represent protocol interfaces and network/protocol
47 // services. This file defines the classes to manage
48 // network buffers.
49 //
50 // The object classes below are listed in an order that
51 // avoids forward references. Required objects, defined
52 // by other working groups, are omitted.
53 // ==================================================================
54 // Change Log for v2.7
55 // CR790 - Add classes to support MPLS
56 // CR982 - MPLS classes remain as Experimental for CIM V2.8
57 // Change Log for v2.8
58 // CR1061 - Add MPLSBuffers and MPLSBufferEndpointBuffers classes
59 // CR1191 - CIM_MPLSBuffers and CIM_MPLSEndpointBuffers remain
60 // experimental
61 // in CIM v2.9
62 // CR1217 - Deprecate BufferPool.BufferSize in lieu of a larger uint
63 // definition.
64 karl 1.1 //
65 // Change log for v2.9
66 // No changes
67 // ===================================================================
68
69 #pragma Locale ("en_US")
70
71
72 // ===================================================================
73 // BufferPool
74 // ===================================================================
75 [Version ( "2.6.0" ), Description (
76 "This class represents the use of buffers by a Queuing Service. "
77 "The existence and management of individual buffers will be "
78 "modeled in a future release. At the current level of "
79 "abstraction, modeling the existence of the BufferPool is "
80 "necessary. Long term, it is not sufficient. \n"
81 "\n"
82 "In implementations where there are multiple buffer sizes, an "
83 "instance of BufferPool should be defined for each set of "
84 "buffers with identical or similar sizes. These instances of "
85 karl 1.1 "buffer pools can then be grouped together using the "
86 "CollectedBuffersPool association. \n"
87 "\n"
88 "Note that this class is derived from CollectionOfMSEs, and not "
89 "from Forwarding or ConditioningService. BufferPool is only a "
90 "collection of storage, and is NOT a Service.")]
91 class CIM_BufferPool : CIM_CollectionOfMSEs {
92
93 [Key, Override ( "CollectionID" ), Description (
94 "This property is defined in the CollectionOfMSEs class, but "
95 "is overridden here to serve as part of the (composite) key "
96 "that identifies the BufferPool instance."),
97 MaxLen ( 256 )]
98 string CollectionID;
99
100 [Key, Description (
101 "CreationClassName indicates the name of the class or the "
102 "subclass used in the creation of an instance. When used "
103 "with the other key properties of this class, this property "
104 "allows all instances of this class and its subclasses to be "
105 "uniquely identified."),
106 karl 1.1 MaxLen ( 256 )]
107 string CreationClassName;
108
109 [Description (
110 "The Name property defines the label by which the object is "
111 "known."),
112 MaxLen ( 256 )]
113 string Name;
114
115 [Deprecated { "CIM_BufferPool.SizeOfBuffers" }, Description (
116 "This property is a 16-bit unsigned integer, and defines the "
117 "number of bytes in each buffer. It is deprecated in lieu of "
118 "a similar uint32 property."),
119 Units ( "Bytes" )]
120 uint16 BufferSize;
121
122
123 [Description (
124 "This property is a 32-bit unsigned integer, and defines the "
125 "number of bytes in each buffer."),
126 Units ( "Bytes" )]
127 karl 1.1 uint32 SizeOfBuffers;
128
129
130 [Description (
131 "This property is a 32-bit unsigned integer, and defines the "
132 "total number of buffers in the Pool.")]
133 uint32 TotalBuffers;
134
135 [Description (
136 "This property is a 32-bit unsigned integer, and defines the "
137 "number of buffers in the Pool that are currently not "
138 "allocated to any instance of a QueuingService. Buffers "
139 "allocated to a QueuingService could either be in use "
140 "(containing packet data), or allocated to a Queue pending "
141 "the arrival of new packet data.")]
142 uint32 AvailableBuffers;
143
144 [Description (
145 "This property is a 32-bit unsigned integer, and defines the "
146 "number of buffers in the Pool that have been simultaneously "
147 "allocated to multiple instances of QueuingService.")]
148 karl 1.1 uint32 SharedBuffers;
149 };
150
151
152 // ==================================================================
153 // CollectedBufferPool
154 // ==================================================================
155 [Association, Aggregation, Version ( "2.6.0" ), Description (
156 "CIM_CollectedBufferPool is an aggregation association "
157 "representing that a Pool may itself be contained in a 'higher "
158 "level' Pool.")]
159 class CIM_CollectedBufferPool : CIM_MemberOfCollection {
160
161 [Aggregate, Override ( "Collection" ), Description (
162 "The 'higher level' or parent Pool.")]
163 CIM_BufferPool REF Collection;
164
165 [Override ( "Member" ), Description (
166 "The 'collected' Pool.")]
167 CIM_BufferPool REF Member;
168 };
169 karl 1.1
170
171 // ==================================================================
172 // MPLSBuffers
173 // ==================================================================
174 [Experimental, Version ( "2.8.1000" ), Description (
175 "MPLSBuffers represents buffer resources supporting Label "
176 "Switch Routers (LSRs) and MPLS interfaces on these LSRs.")]
177 class CIM_MPLSBuffers : CIM_BufferPool {
178
179 [Description (
180 "The maximum allocation multiplier (MAM) determines the "
181 "proportion of the buffer resource that is available for "
182 "allocation to MPLS tunnels/traffic trunks. The value of the "
183 "MAM can be chosen so that a resource can be under-allocated "
184 "or over-allocated. A resource is said to be under-allocated "
185 "if the aggregate demands of all traffic trunks that can be "
186 "allocated to it are always less than the capacity of the "
187 "resource. A resource is said to be over-allocated if the "
188 "aggregate demands of all traffic trunks allocated to it can "
189 "exceed the capacity of the resource."),
190 karl 1.1 Units ( "Percent" ), MinValue ( 0 ), MaxValue ( 100 )]
191 uint16 MaxAllocMultiplier;
192
193 [Description (
194 "This property describes the resource classes to which a "
195 "buffer resource belongs. ResourceClasses is defined as a "
196 "32-bit vector, and the classes are described in [RFC2702]. "
197 "In general, a resource can be assigned to more than one "
198 "resource class, since the classes are coded in the "
199 "individual bits of the property. \n"
200 "\n"
201 "Resource classes can be used to implement a variety of "
202 "policies. From a Traffic Engineering perspective, they can "
203 "be used to implement policies with regard to both traffic "
204 "and resource oriented performance optimization. For "
205 "example, resource class attributes can specify the relative "
206 "preference of sets of resources for path placement of "
207 "traffic trunks; explicitly restrict the placement of "
208 "traffic trunks to specific subsets of resources; etc.")]
209 uint32 ResourceClasses;
210 };
211 karl 1.1
212
213 // ==================================================================
214 // MPLSEndpointBuffers
215 // ==================================================================
216 [Association, Experimental, Version ( "2.8.1000" ), Description (
217 "This association indicates the buffer resources explicitly "
218 "supporting an MPLS interface.")]
219 class CIM_MPLSEndpointBuffers : CIM_Dependency {
220
221 [Override ( "Antecedent" ), Description (
222 "The MPLSBuffer supporting the MPLS interface.")]
223 CIM_MPLSBuffers REF Antecedent;
224
225 [Override ( "Dependent" ), Description (
226 "The MPLSProtocolEndpoint dependent on the buffer.")]
227 CIM_MPLSProtocolEndpoint REF Dependent;
228 };
229
230
231
232 karl 1.1 // ===================================================================
233 // end of file
234 // ===================================================================
|