1 tony 1.1 // ===================================================================
2 // Title: Network Buffers 2.8
3 // Filename: Network27_Buffers.mof
4 // Version: 2.8
5 // Status: Preliminary
6 // Date: May 21, 2003
7 // ===================================================================
8 // Copyright 1998-2003 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 tony 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 tony 1.1 // ===================================================================
44 // Description: The Network Model extends the management concepts to
45 // represent protocol interfaces and network/protocol
46 // services. This file defines the classes to manage
47 // network buffers.
48 //
49 // The object classes below are listed in an order that
50 // avoids forward references. Required objects, defined
51 // by other working groups, are omitted.
52 // ==================================================================
53 // Change Log for v2.8
54 // CR1061 - Add MPLSBuffers and MPLSBufferEndpointBuffers classes
55 //
56 // Change Log for v2.7
57 // CR790 - Add classes to support MPLS
58 // CR982 - MPLS classes remain as Experimental for CIM V2.8
59 // ===================================================================
60
61 #pragma Locale ("en_US")
62
63
64 tony 1.1 // ===================================================================
65 // BufferPool
66 // ===================================================================
67 [Version ("2.6.0"), Description (
68 "This class represents the use of buffers by a Queuing "
69 "Service. The existence and management of individual buffers "
70 "will be modeled in a future release. At the current level of "
71 "abstraction, modeling the existence of the BufferPool is "
72 "necessary. Long term, it is not sufficient.\n"
73 "\n"
74 "In implementations where there are multiple buffer sizes, an "
75 "instance of BufferPool should be defined for each set of "
76 "buffers with identical or similar sizes. These instances of "
77 "buffer pools can then be grouped together using the "
78 "CollectedBuffersPool association.\n"
79 "\n"
80 "Note that this class is derived from CollectionOfMSEs, and not "
81 "from Forwarding or ConditioningService. BufferPool is only a "
82 "collection of storage, and is NOT a Service.") ]
83 class CIM_BufferPool : CIM_CollectionOfMSEs {
84
85 tony 1.1 [Key, Override ("CollectionID"), Description (
86 "This property is defined in the CollectionOfMSEs class, but "
87 "is overridden here to serve as part of the (composite) key "
88 "that identifies the BufferPool instance."),
89 MaxLen (256) ]
90 string CollectionID;
91
92 [Key, Description (
93 "CreationClassName indicates the name of the class or the "
94 "subclass used in the creation of an instance. When used "
95 "with the other key properties of this class, this property "
96 "allows all instances of this class and its subclasses to be "
97 "uniquely identified."),
98 MaxLen (256) ]
99 string CreationClassName;
100
101 [Description (
102 "The Name property defines the label by which the object is "
103 "known."),
104 MaxLen (256) ]
105 string Name;
106 tony 1.1
107 [Description (
108 "This property is a 16-bit unsigned integer, and defines the "
109 "number of bytes in each buffer."),
110 Units ("Bytes") ]
111 uint16 BufferSize;
112
113 [Description (
114 "This property is a 32-bit unsigned integer, and defines the "
115 "total number of buffers in the Pool.") ]
116 uint32 TotalBuffers;
117
118 [Description (
119 "This property is a 32-bit unsigned integer, and defines the "
120 "number of buffers in the Pool that are currently not "
121 "allocated to any instance of a QueuingService. Buffers "
122 "allocated to a QueuingService could either be in use "
123 "(containing packet data), or allocated to a Queue pending "
124 "the arrival of new packet data.") ]
125 uint32 AvailableBuffers;
126
127 tony 1.1 [Description (
128 "This property is a 32-bit unsigned integer, and defines the "
129 "number of buffers in the Pool that have been simultaneously "
130 "allocated to multiple instances of QueuingService.") ]
131 uint32 SharedBuffers;
132 };
133
134
135 // ==================================================================
136 // CollectedBufferPool
137 // ==================================================================
138 [Association, Aggregation, Version ("2.6.0"), Description (
139 "CIM_CollectedBufferPool is an aggregation association "
140 "representing that a Pool may itself be contained in a 'higher "
141 "level' Pool.") ]
142 class CIM_CollectedBufferPool : CIM_MemberOfCollection {
143
144 [Aggregate, Override ("Collection"), Description (
145 "The 'higher level' or parent Pool.") ]
146 CIM_BufferPool REF Collection;
147
148 tony 1.1 [Override ("Member"), Description (
149 "The 'collected' Pool.") ]
150 CIM_BufferPool REF Member;
151 };
152
153 // ==================================================================
154 // MPLSBuffers
155 // ==================================================================
156 [Experimental, Version ("2.7.1000"), Description (
157 "MPLSBuffers represents buffer resources supporting Label "
158 "Switch Routers (LSRs) and MPLS interfaces on these LSRs.") ]
159 class CIM_MPLSBuffers : CIM_BufferPool {
160
161 [Description (
162 "The maximum allocation multiplier (MAM) determines the "
163 "proportion of the buffer resource that is available for "
164 "allocation to MPLS tunnels/traffic trunks. The value of "
165 "the MAM can be chosen so that a resource can be "
166 "under-allocated or over-allocated. A resource is said to "
167 "be under-allocated if the aggregate demands of all traffic "
168 "trunks that can be allocated to it are always less than the "
169 tony 1.1 "capacity of the resource. A resource is said to be "
170 "over-allocated if the aggregate demands of all traffic "
171 "trunks allocated to it can exceed the capacity of the "
172 "resource."),
173 Units ("Percent"), MinValue (0), MaxValue (100) ]
174 uint16 MaxAllocMultiplier;
175
176 [Description (
177 "This property describes the resource classes to which a "
178 "buffer resource belongs. ResourceClasses is defined as a "
179 "32-bit vector, and the classes are described in [RFC2702]. "
180 "In general, a resource can be assigned to more than one "
181 "resource class, since the classes are coded in the "
182 "individual bits of the property.\n"
183 "\n"
184 "Resource classes can be used to implement a variety of "
185 "policies. From a Traffic Engineering perspective, they can "
186 "be used to implement policies with regard to both traffic "
187 "and resource oriented performance optimization. For "
188 "example, resource class attributes can specify the relative "
189 "preference of sets of resources for path placement of "
190 tony 1.1 "traffic trunks; explicitly restrict the placement of "
191 "traffic trunks to specific subsets of resources; etc.") ]
192 uint32 ResourceClasses;
193 };
194
195
196 // ==================================================================
197 // MPLSEndpointBuffers
198 // ==================================================================
199 [Association, Experimental, Version ("2.7.1000"), Description (
200 "This association indicates the buffer resources explicitly "
201 "supporting an MPLS interface.") ]
202 class CIM_MPLSEndpointBuffers : CIM_Dependency {
203
204 [Override ("Antecedent"), Description (
205 "The MPLSBuffer supporting the MPLS interface.") ]
206 CIM_MPLSBuffers REF Antecedent;
207
208 [Override ("Dependent"), Description (
209 "The MPLSProtocolEndpoint dependent on the buffer.") ]
210 CIM_MPLSProtocolEndpoint REF Dependent;
211 tony 1.1 };
212
213 // ===================================================================
214 // end of file
215 // ===================================================================
|