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