1 karl 1.1 // ===================================================================
2 // Title: Network MPLS
3 // $State: Preliminary $
4 // $Date: 2004/06/28 18:01:03 $
5 // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Network_MPLS.mof,v $
6 // $Revision: 1.4 $
7 // ===================================================================
8 //#pragma inLine ("Includes/copyright.inc")
9 // Copyright 1998-2004 Distributed Management Task Force, Inc. (DMTF).
10 // All rights reserved.
11 // DMTF is a not-for-profit association of industry members dedicated
12 // to promoting enterprise and systems management and interoperability.
13 // DMTF specifications and documents may be reproduced for uses
14 // consistent with this purpose by members and non-members,
15 // provided that correct attribution is given.
16 // As DMTF specifications may be revised from time to time,
17 // the particular version and release date should always be noted.
18 //
19 // Implementation of certain elements of this standard or proposed
20 // standard may be subject to third party patent rights, including
21 // provisional patent rights (herein "patent rights"). DMTF makes
22 karl 1.1 // no representations to users of the standard as to the existence
23 // of such rights, and is not responsible to recognize, disclose, or
24 // identify any or all such third party patent right, owners or
25 // claimants, nor for any incomplete or inaccurate identification or
26 // disclosure of such rights, owners or claimants. DMTF shall have no
27 // liability to any party, in any manner or circumstance, under any
28 // legal theory whatsoever, for failure to recognize, disclose, or
29 // identify any such third party patent rights, or for such party's
30 // reliance on the standard or incorporation thereof in its product,
31 // protocols or testing procedures. DMTF shall have no liability to
32 // any party implementing such standard, whether such implementation
33 // is foreseeable or not, nor to any patent owner or claimant, and shall
34 // have no liability or responsibility for costs or losses incurred if
35 // a standard is withdrawn or modified after publication, and shall be
36 // indemnified and held harmless by any party implementing the
37 // standard from any and all claims of infringement by a patent owner
38 // for such implementations.
39 //
40 // For information about patents held by third-parties which have
41 // notified the DMTF that, in their opinion, such patent may relate to
42 // or impact implementations of DMTF standards, visit
43 karl 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
44 //#pragma inLine
45 // ===================================================================
46 // Description: The Network Model extends the management concepts to
47 // represent protocol interfaces and network/protocol
48 // services. This file defines concepts in support of
49 // managing MPLS (Multi-Protocol Label Switching).
50 //
51 // The object classes below are listed in an order that
52 // avoids forward references. Required objects, defined
53 // by other working groups, are omitted.
54 // ==================================================================
55 // Change Log for v2.9 Preliminary - re-introduce MPLS classes
56 //
57 // Change Log for v2.8 Preliminary
58 // CR1061 - Add the MPLS Sub-Model that was removed from 2.7 Final.
59 // CR1128 - Change subclassing from CIM_Dependency to
60 // CIM_HostedDependency for identified classes. This is
61 // needed as a result of the introduction of HostedDependency
62 // by SysDev
63 //
64 karl 1.1 // Change Log for v2.7.1
65 // CR920 - Add missing parenthesis to the Description for MPLSTunnel.
66 // IncludeAnyAffinity
67 //
68 // Change Log for v2.7
69 // CR790 - Add classes to support MPLS
70 // CR805 - Add MPLSSpecifiedRoute, MPLSSpecifiedNextHop,
71 // MPSLComputedNextHop, and RouteSpecifiedForLSP
72 // CR853 - MPLS Model changes: MPLSQoSPRTrfcProf should subclass from
73 // SettingData and several property names are updated in
74 // MPLSSegmentStats
75 // CR905 - MPLS cleanup and updates
76 // Add - MPLSTunnel, MPLSReverseDirectionTunnel,
77 // MPLSTunnelHops, MPLSNextTunnelHop,
78 // MPLSFecOfTunnel and MPLSTunnelStats
79 // Remove - MPLSSpecifiedRoute, MPLSSpecifedNextHop,
80 // MPLSComputedNextHop, RouteSpecifiedForLSP,
81 // MPLSLSPTunnel, MPLSTrafficTrunk,
82 // MPLSFecOfTrafficTrunk, MPLSFecOfLSP
83 // and MPLSBiDirectionalTrunks
84 // CR907 - MPLS cleanup and updates
85 karl 1.1 // Add - MPLSTunnelHop and HostedMPLSTunnelHop
86 // Rename MPLSTunnelHops to MPLSHopInTunnel
87 // Rename MPLSNextTunnelHop to MPLSNextHopInTunnel
88 // Change reference from MPLSTrafficTrunk to MPLSTunnel
89 // in MPLSCurrentlyAssignedLSP and MPLSBackupLSP
90 // Rename MPLSTunnel.TunnelingSignalingProtocol to
91 // TunnelSignalingProtocol
92 // Remove .IsPinned, .LocalProtectionAvailable, .IsAdaptive,
93 // and .IsDynamicallyRouted properties from MPLSLSP
94 // Promote properties of MPLSTEService to MPLSService,
95 // and remove MPLSTEService
96 // Rename MPLSTunnelStats.MPLSTunnelStateTransitions to
97 // TunnelStateTransitions
98 //
99 // ===================================================================
100
101 #pragma Locale ("en_US")
102
103 // ==================================================================
104 // MPLSService
105 // ==================================================================
106 karl 1.1 [Experimental, Version ( "2.8.1000" ), Description (
107 "This object class contains properties relating to the overall "
108 "operation of MPLS on a router. This service is weak to the "
109 "router (modeled as a ComputerSystem) via the association "
110 "CIM_HostedService.")]
111 class CIM_MPLSService : CIM_Service {
112
113 [Description (
114 "Path computation may be configured to be more or less "
115 "reactive to network state. It may be desirable to have "
116 "different values on different LSRs. Also, certain tunnels "
117 "may not be re-optimized. This property specifies the "
118 "re-optimization frequency for the LSR, in seconds. Default "
119 "is 3600 (1 hour). The maximum interval is 604800 seconds (1 "
120 "week). A value of 0 disables re- optimization."),
121 Units ( "Seconds" ), MaxValue ( 604800 )]
122 uint32 ReoptimizationFreq = 3600;
123
124 [Description (
125 "Specifies the time interval in seconds at which traffic "
126 "engineering information is flooded. Shorter intervals lead "
127 karl 1.1 "to more control overhead, more traffic in the network and "
128 "more cycles wasted in processing this information at the "
129 "routers. On the other hand longer intervals, make the route "
130 "chosen for the tunnels to be less optimal with respect to "
131 "the state of the network."),
132 Units ( "Seconds" )]
133 uint16 FloodingInterval;
134
135 [Description (
136 "This property describes what happens when the MPLSTEService "
137 "obtains knowledge about a new link coming into operation. "
138 "The value 'OnLinkUp' (1) denotes that immediately after "
139 "detecting the new link, a re-optimization step is "
140 "performed. 'NextTimeInSchedule' (2) waits until the next "
141 "time a re- optimization needs to take place. The frequency "
142 "is defined by the ReoptimizationFreq property. And, 'Manual "
143 "Trigger' (3) means the re-optimization MUST be triggered by "
144 "manual interaction such as a human operator triggering the "
145 "re-optimization."),
146 ValueMap { "0", "1", "2", "3" },
147 Values { "Unknown", "OnLinkUp", "NextTimeInSchedule",
148 karl 1.1 "ManualTrigger" }]
149 uint16 ReoptimizationLinkUp;
150 };
151
152
153 // ==================================================================
154 // MPLSCapabilities
155 // ==================================================================
156 [Experimental, Version ( "2.8.1000" ), Description (
157 "This class specifies the capabilities of an MPLSService or "
158 "MPLSProtocolEndpoint (interface) on a Label Switched Router "
159 "(LSR). The association CIM_ElementCapabilities relates the "
160 "instance with its MPLS Service and/or Endpoint.")]
161 class CIM_MPLSCapabilities : CIM_Capabilities {
162
163 [Description (
164 "This is the minimum value of an MPLS label that this "
165 "Endpoint or MPLSService is willing to receive. The values "
166 "of an MPLSProtocolEndpoint may overrule the values "
167 "specified for the LSR as a whole, based on the Endpoint's "
168 "boolean property OverruleLSR."),
169 karl 1.1 MappingStrings { "MIB.IETF|MPLS-LSR-MIB.MPLSInterfaceLabelMinIn"
170 }]
171 uint32 LabelMinIn;
172
173 [Description (
174 "This is the maximum value of an MPLS label that this "
175 "Endpoint or MPLSService is willing to receive. The values "
176 "of an MPLSProtocolEndpoint may overrule the values "
177 "specified for the LSR as a whole, based on the Endpoint's "
178 "boolean property OverruleLSR."),
179 MappingStrings { "MIB.IETF|MPLS-LSR-MIB.MPLSInterfaceLabelMaxIn"
180 }]
181 uint32 LabelMaxIn;
182
183 [Description (
184 "This is the minimum value of an MPLS label that this "
185 "Endpoint or MPLSService is willing to send. The values of "
186 "an MPLSProtocolEndpoint may overrule the values specified "
187 "for the LSR as a whole, based on the Endpoint's boolean "
188 "property OverruleLSR."),
189 MappingStrings {
190 karl 1.1 "MIB.IETF|MPLS-LSR-MIB.MPLSInterfaceLabelMinOut" }]
191 uint32 LabelMinOut;
192
193 [Description (
194 "This is the maximum value of an MPLS label that this "
195 "Endpoint or MPLSService is willing to send. The values of "
196 "an MPLSProtocolEndpoint may overrule the values specified "
197 "for the LSR as a whole, based on the Endpoint's boolean "
198 "property OverruleLSR."),
199 MappingStrings {
200 "MIB.IETF|MPLS-LSR-MIB.MPLSInterfaceLabelMaxOut" }]
201 uint32 LabelMaxOut;
202 };
203
204
205 // ==================================================================
206 // MPLSProtocolEndpointStats
207 // ==================================================================
208 [Experimental, Version ( "2.8.1000" ), Description (
209 "This class represents the statistics for an MPLSProtocol "
210 "Endpoint. The statistics are associated with the Endpoint "
211 karl 1.1 "using the relationship CIM_ElementStatisticalData.")]
212 class CIM_MPLSProtocolEndpointStats : CIM_StatisticalData {
213
214 [Description (
215 "This object contains the number of top-most labels that are "
216 "in use at this point in time on this interface in the "
217 "incoming direction."),
218 Gauge,
219 MappingStrings {
220 "MIB.IETF|MPLS-LSR-MIB.MPLSInterfaceInLabelsUsed" }]
221 uint32 InLabelsUsed;
222
223 [Description (
224 "This object contains the number of top-most labels that are "
225 "in use at this point in time on this interface in the "
226 "outgoing direction."),
227 Gauge,
228 MappingStrings {
229 "MIB.IETF|MPLS-LSR-MIB.MPLSInterfaceOutLabelsUsed" }]
230 uint32 OutLabelsUsed;
231
232 karl 1.1 [Description (
233 "This object counts the number of labeled packets that have "
234 "been received on this interface and were discarded because "
235 "there was no matching cross-connect entry."),
236 Counter,
237 MappingStrings {
238 "MIB.IETF|MPLS-LSR-MIB.MPLSInterfaceFailedLabelLookup" }]
239 uint32 FailedLabelLookups;
240
241 [Description (
242 "This object counts the number of outgoing MPLS packets that "
243 "required fragmentation before transmission on this "
244 "interface."),
245 Counter,
246 MappingStrings {
247 "MIB.IETF|MPLS-LSR-MIB.MPLSInterfaceOutFragments" }]
248 uint32 NumberOfPacketsFragmented;
249 };
250
251
252 // ==================================================================
253 karl 1.1 // MPLSLSP
254 // ==================================================================
255 [Experimental, Version ( "2.8.1000" ), Description (
256 "This class is used to represent an MPLS Label Switch Path "
257 "(LSP). This is usually a path from an ingress to an egress "
258 "label edge router, through a sequence of label switch routers. "
259 "Sometimes an LSP is a series of hop-by-hop LSPs that go from "
260 "the ingress to egress LSRs. For example, using unordered "
261 "downstream unsolicited mode in LDP, the result is a series of "
262 "'mini' LSPs along the path, each with incoming and outgoing "
263 "labels, and a FEC to accept traffic onto the 'mini' LSP at "
264 "each hop. \n"
265 "\n"
266 "An instance describes either an existing LSP, or the user's "
267 "configurations of one to be established in the network. The "
268 "boolean property, Established, indicates the state of the "
269 "instance. \n"
270 "\n"
271 "Note that MPLSLSP subclasses from EnabledLogicalElement. This "
272 "allows (via inherited properties) the explicit enabling and "
273 "disabling of the path, as well as the ability to request that "
274 karl 1.1 "the path be 'tested' or shut down.")]
275 class CIM_MPLSLSP : CIM_EnabledLogicalElement {
276
277 [Key, Description (
278 "InstanceID opaquely identifies a unique instance of "
279 "MPLSLSP. The InstanceID must be unique within a namespace. "
280 "In order to ensure uniqueness, the value of InstanceID "
281 "should be constructed in the following manner: The instance "
282 "id consists of the IPAddress of the ingress LSR, combined "
283 "with the LocalLSPId found in this class.")]
284 string InstanceID;
285
286 [Write, Description (
287 "Boolean indicating whether or not the LSP currently exists "
288 "in the network. Note that if the LSP is not established, "
289 "then the OperationalStatus properties inherited from "
290 "Managed SystemElement have no meaning.")]
291 boolean Established;
292
293 [Description (
294 "Property to indicate the nesting level of this LSP. Note "
295 karl 1.1 "that this a shortcut counting the number of instances of "
296 "the MPLSLSPInLSP association. It is advantageous to "
297 "determine the nesting level directly, instead of traversing "
298 "several associations to do so.")]
299 uint16 NestingLevel;
300
301 [Required, Description (
302 "Property indicating a unique (per ingress LSR) LSP ID.")]
303 uint16 LocalLSPId;
304
305 [Description (
306 "The IP addresses of the ingress node(s) (LERs) of the path. "
307 "This is an array to allow for multipoint LSPs.")]
308 string IngressIPAddresses[];
309
310 [Description (
311 "The IP addresses of the egress node(s) (LERs) of the path. "
312 "This is an array to allow for multipoint LSPs.")]
313 string EgressIPAddresses[];
314
315 [Description (
316 karl 1.1 "Flag to indicate that the LSP ingress node may choose to "
317 "reroute this LSP without tearing it down.")]
318 boolean IngressMayReroute;
319
320 [Description (
321 "Flag to indicate that this LSP should be restored "
322 "automatically after a failure occurs.")]
323 boolean IsPersistent;
324 };
325
326
327 // ==================================================================
328 // MPLSTunnel
329 // ==================================================================
330 [Experimental, Version ( "2.8.1000" ), Description (
331 "This class represents an MPLS traffic engineering tunnel as "
332 "defined in RFC 3031.")]
333 class CIM_MPLSTunnel : CIM_EnabledLogicalElement {
334
335 [Key, Description (
336 "InstanceID opaquely identifies a unique instance of "
337 karl 1.1 "SettingData. The InstanceID must be unique within a "
338 "namespace. In order to ensure uniqueness, the value of "
339 "InstanceID SHOULD be constructed in the following manner: \n"
340 "<Vendor ID><ID> \n"
341 "<Vendor ID> MUST include a copyrighted, trademarked or "
342 "otherwise unique name that is owned by the business entity "
343 "or a registered ID that is assigned to the business entity "
344 "that is defining the InstanceID. (This is similar to the "
345 "<Schema Name>_<Class Name> structure of Schema class "
346 "names). The purpose of <Vendor ID> is to ensure that <ID> "
347 "is truly unique across multiple vendor implementations. If "
348 "such a name is not used, the defining entity MUST assure "
349 "that the <ID> portion of the Instance ID is unique when "
350 "compared with other instance providers. For DMTF defined "
351 "instances, the <Vendor ID> is 'CIM'. \n"
352 "<ID> MUST include a vendor specified unique identifier.")]
353 string InstanceID;
354
355 [Write, Description (
356 "Boolean indicating whether or not the tunnel is currently "
357 "signaled. Note that if the tunnel is not established, then "
358 karl 1.1 "the OperationalStatus properties inherited from Managed "
359 "SystemElement have no meaning.")]
360 boolean Established;
361
362 [Description (
363 "The IsResilient property indicates the recovery procedure "
364 "to be applied to tunnels whose paths are impacted by "
365 "faults. More specifically, it contains a boolean value that "
366 "determines whether the tunnel is to be rerouted or not, "
367 "when segments of its path fail. If set to true, the tunnel "
368 "should be rerouted in case of failure; if false, it should "
369 "not (which means that other means are applied, e.g. lower "
370 "layer technologies for rerouting.)")]
371 boolean IsResilient;
372
373 [Description (
374 "The bandwidth property denotes the complete bandwidth (in "
375 "kilobits per second) required to be transported by the "
376 "tunnel. Note, that the bandwidth is not directly "
377 "implemented/ configured in a router, but the MPLSTunnel's "
378 "Reserved Bandwidth property might be derived from this "
379 karl 1.1 "information."),
380 Units ( "KiloBits per Second" )]
381 uint32 Bandwidth;
382
383 [Description (
384 "Reserved bandwidth for this tunnel in kilobits per second. "
385 "In a load sharing environment, the bandwidth on each tunnel "
386 "is set to be proportional to how traffic should be "
387 "balanced. An LSR then load-shares into the tunnels based on "
388 "the aggregate bandwidth. Note that it is possible to signal "
389 "0 bandwidth for a pure best-effort tunnel."),
390 Units ( "KiloBits per Second" )]
391 uint32 ReservedBandwidth;
392
393 [Description (
394 "Active bandwidth for this tunnel in kilobits per second. If "
395 "the tunnel is not yet Established, then this property has "
396 "no meaning. Knowing current Bandwidth is important because "
397 "several path options may be configured for the tunnel. Note "
398 "that it is possible to signal 0 bandwidth for a pure best- "
399 "effort tunnel."),
400 karl 1.1 Units ( "KiloBits per Second" )]
401 uint32 ActiveBandwidth;
402
403 [Description (
404 "Due to changes in network and traffic characteristics, "
405 "there may be a need to periodically change the paths of "
406 "tunnels for optimization purposes. This should not be done "
407 "too frequently as it could adversely affect the stability "
408 "of the network. This property indicates how often such "
409 "reoptimization should be performed for a specific tunnel. "
410 "Note that the class, CIM_MPLSTEService, also has a "
411 "reoptimization frequency property. The frequency specified "
412 "in this class is specific to a particular tunnel, whereas "
413 "the MPLSTEService's frequency is per service, on a Label "
414 "Switched Router."),
415 Units ( "Seconds" ), MaxValue ( 604800 )]
416 uint32 ReoptimizationFreq = 3600;
417
418 [Description (
419 "Indicates whether the tunnel is a candidate for "
420 "re-optimization at all. If true the ReoptimizationFreq "
421 karl 1.1 "property should be taken into account. By default, a tunnel "
422 "is re-optimized periodically.")]
423 boolean Lockdown = true;
424
425 [Description (
426 "Resource classes and resource class affinities are "
427 "described in [RFC2702]. Resource classes can be associated "
428 "with links and advertised in routing protocols. Resource "
429 "class affinities are used by RSVP-TE [RFC3209]. In order to "
430 "be used, a link MUST pass three tests. One of them is "
431 "against this property. \n"
432 "\n"
433 "ExcludeAllAffinity is one type of resource class affinity. "
434 "It specifies a set of attribute filters for the tunnel, and "
435 "a match on any of the filters renders a link unacceptable "
436 "(it is excluded for consideration). This test takes the "
437 "form, \n"
438 "(MPLSProtocolEndpoint.ResourceClass & ExcludeAllAffinity) "
439 "== 0."),
440 MappingStrings {
441 "MIB.IETF|MPLS-TE-MIB.MPLSTunnelExcludeAllAffinity" }]
442 karl 1.1 uint32 ExcludeAllAffinity;
443
444 [Description (
445 "Resource classes and resource class affinities are "
446 "described in [RFC2702]. Resource classes can be associated "
447 "with links and advertised in routing protocols. Resource "
448 "class affinities are used by RSVP-TE [RFC3209]. In order to "
449 "be used, a link MUST pass three tests. One of them against "
450 "this property. \n"
451 "\n"
452 "IncludeAllAffinity is one type of resource class affinity. "
453 "It specifies a set of attribute filters for the tunnel, and "
454 "all of the filters must match for a link to be acceptable "
455 "(i.e., pass this test). If IncludeAllAffinity is zero, then "
456 "the test automatically passes. The test takes the form, \n"
457 "(IncludeAllAffinity == 0) || "
458 "(((MPLSProtocolEndpoint.ResourceClass & IncludeAllAffinity) "
459 "^ IncludeAllAffinity) == 0)"),
460 MappingStrings {
461 "MIB.IETF|MPLS-TE-MIB.MPLSTunnelIncludeAllAffinity" }]
462 uint32 IncludeAllAffinity;
463 karl 1.1
464 [Description (
465 "Resource classes and resource class affinities are "
466 "described in [RFC2702]. Resource classes can be associated "
467 "with links and advertised in routing protocols. Resource "
468 "class affinities are used by RSVP-TE [RFC3209]. In order to "
469 "be used, a link MUST pass three tests. One of them against "
470 "this property. \n"
471 "\n"
472 "IncludeAnyAffinity is one type of resource class affinity. "
473 "It specifies a set of attribute filters for the tunnel, and "
474 "any of the filters must match for a link to be acceptable "
475 "(i.e., pass this test). If IncludeAllAffinity is zero, then "
476 "the test automatically passes. The test takes the form, \n"
477 "(IncludeAnyAffinity == 0) || "
478 "((MPLSProtocolEndpoint.ResourceClass & IncludeAnyAffinity) "
479 "!= 0)"),
480 MappingStrings {
481 "MIB.IETF|MPLS-TE-MIB.MPLSTunnelIncludeAnyAffinity" }]
482 uint32 IncludeAnyAffinity;
483
484 karl 1.1 [Description (
485 "Property to indicate the holding priority of an established "
486 "tunnel. If the tunnel is not yet established, this property "
487 "has no meaning. A new tunnel is allowed to preempt the "
488 "resources of this tunnel only if its SetupPriority is "
489 "smaller than the HoldingPriority of the established one. "
490 "(See RFC3209 for additional information.) The value 0 is "
491 "the highest priority."),
492 MinValue ( 0 ), MaxValue ( 7 ),
493 MappingStrings { "MIB.IETF|MPLS-TE-MIB.mplsTunnelHoldingPrio" }]
494 uint8 HoldingPriority;
495
496 [Description (
497 "Guaranteed bandwidth tunnels can have setup and preemption "
498 "priorities associated with them. These priorities determine "
499 "if an existing tunnel can be preempted by a new one. The "
500 "SetupPriority of the new tunnel is compared to the Holding "
501 "Priority of the established one, to determine if the new "
502 "tunnel can preempt the existing one. It does preempt if the "
503 "SetupPriority in smaller than the HoldingPriority. Note "
504 "that the value 0 is the highest priority."),
505 karl 1.1 MinValue ( 0 ), MaxValue ( 7 ),
506 MappingStrings { "MIB.IETF|MPLS-TE-MIB.mplsTunnelSetupPrio" }]
507 uint8 SetupPriority;
508
509 [Description (
510 "Flag to indicate that this tunnel should be restored "
511 "automatically after a failure occurs.")]
512 boolean IsPersistent;
513
514 [Description (
515 "Flag to indicate whether the loosely-routed hops of this "
516 "tunnel are to be pinned.")]
517 boolean IsPinned;
518
519 [Description (
520 "Flag to indicate that transit routers are permitted to use "
521 "a local repair mechanism which may result in violation of "
522 "the explicit routing of this tunnel. When a fault is "
523 "detected on an adjacent downstream link or node, a transit "
524 "router can reroute traffic for fast service restoration.")]
525 boolean LocalProtectionAvailable;
526 karl 1.1
527 [Description (
528 "In some situations, it is necessary to reroute a tunnel "
529 "without disrupting traffic. This flag indicates whether the "
530 "tunnel's route is adaptive.")]
531 boolean IsAdaptive;
532
533 [Description (
534 "Flag to indicate whether the route for the tunnel is "
535 "selected dynamically based on routing protocols - as "
536 "opposed to being specified 'statically' via configuration, "
537 "where a network operator or other external entity specifies "
538 "the path of the tunnel hop by hop.")]
539 boolean IsDynamicallyRouted;
540
541 [Description (
542 "Flag to indicate that the tunnel ingress node may choose to "
543 "reroute this tunnel without tearing it down.")]
544 boolean IngressMayReroute;
545
546 [Description (
547 karl 1.1 "The purpose of this object is to uniquely identity a tunnel "
548 "within a network. When the MPLS signaling protocol is "
549 "rsvp(3), this value SHOULD mimic the Extended Tunnel Id "
550 "field in the SESSION object. When the MPLS signaling "
551 "protoocol is crldp(4), this value SHOULD mimic the Ingress "
552 "LSR Router ID field in the LSPID TLV object."),
553 ModelCorrespondence { "CIM_MPLSTunnel.TunnelSignalingProtocol" }]
554 uint32 IngressLSRId;
555
556 [Description (
557 "ID of egress LSR.")]
558 uint32 EgressLSRId;
559
560 [Override ( "ElementName" ), Description (
561 "The canonical name assigned to the tunnel. This name can be "
562 "used to refer to the tunnel on the LSR's console port.")]
563 string ElementName;
564
565 [Description (
566 "The signaling protocol, if any, which was used to setup "
567 "this tunnel."),
568 karl 1.1 ValueMap { "0", "1", "2", "3", "4" },
569 Values { "Unknown", "Other", "None", "RSVP", "CRLDP" }]
570 uint8 TunnelSignalingProtocol;
571
572 [Description (
573 "Indicates which protocol created and is responsible for "
574 "managing this tunnel. Values rsvp(3) and crldp(4) should "
575 "NOT be used at the head-end of an MPLS tunnel."),
576 ValueMap { "0", "1", "2", "3", "4", "5" },
577 Values { "Unknown", "Other", "Admin", "RSVP", "CRDLP",
578 "Policy Agent" }]
579 uint8 TunnelManagementOwner;
580
581 [Description (
582 "This value represents the priority for a tunnel in "
583 "descending order, with 0 indicating the lowest priority, "
584 "within a group of tunnels used for redundancy/load sharing. "
585 "Tunnel group priorities are used to denote the priority at "
586 "which a particular tunnel instance will supercede another. "
587 "Instances of tunnels containing the same "
588 "TunnelInstancePriority will be used for load sharing.")]
589 karl 1.1 uint32 TunnelInstancePriority ;
590
591 [Description (
592 "This property signifies the role that this tunnel "
593 "entry/instance represents. The value MUST be set to head(2) "
594 "at the originating point of the tunnel, to transit(3) at "
595 "transit points along the tunnel (if transit points are "
596 "supported), and to tail(4) at the terminating point of the "
597 "tunnel (if tunnel tails are supported)."),
598 ValueMap { "0", "2", "3", "4" },
599 Values { "Unknown", "Head", "Transit", "Tail" }]
600 uint16 TunnelRole;
601 };
602
603
604 // ==================================================================
605 // MPLSReverseDirectionTunnel
606 // ==================================================================
607 [Association, Experimental, Version ( "2.8.1000" ), Description (
608 "Tunnels are unidirectional. This association relates two TE "
609 "tunnels that carry traffic in reverse directions, creating a "
610 karl 1.1 "bi-directional connection.")]
611 class CIM_MPLSReverseDirectionTunnel : CIM_Dependency {
612
613 [Override ( "Antecedent" ), Max ( 1 ), Description (
614 "An MPLSTunnel, which operates in the reverse direction of "
615 "the Dependent reference.")]
616 CIM_MPLSTunnel REF Antecedent;
617
618 [Override ( "Dependent" ), Max ( 1 ), Description (
619 "An MPLSTunnel, which operates in the reverse direction of "
620 "the Antecedent reference.")]
621 CIM_MPLSTunnel REF Dependent;
622 };
623
624
625 // ==================================================================
626 // MPLSTunnelHop
627 // ==================================================================
628 [Experimental, Version ( "2.8.1000" ), Description (
629 "A destination in an MPLS tunnel. This may be specified by the "
630 "user, calculated for the tunnel or actually in use. These "
631 karl 1.1 "different aspects are indicated by the HopDerivation "
632 "enumeration.")]
633 class CIM_MPLSTunnelHop : CIM_RemoteServiceAccessPoint {
634
635 [Description (
636 "The method used to determine the destination."),
637 ValueMap { "0", "2", "3" },
638 Values { "Unknown", "User", "Calculated" }]
639 uint16 HopDerivation;
640 };
641
642
643 // ==================================================================
644 // MPLSHopInTunnel
645 // ==================================================================
646 [Association, Experimental, Version ( "2.8.1000" ), Description (
647 "This association represents the relationship between the "
648 "tunnel head-end and the first hop in the tunnel's path. The "
649 "hop may be of type Specified, Computed, or Actual.")]
650 class CIM_MPLSHopInTunnel : CIM_Dependency {
651
652 karl 1.1 [Override ( "Antecedent" ), Description (
653 "The head-end of an MPLS traffic engineering tunnel.")]
654 CIM_MPLSTunnelHop REF Antecedent;
655
656 [Override ( "Dependent" ), Description (
657 "The MPLSTunnel whose first hop is described.")]
658 CIM_MPLSTunnel REF Dependent;
659 };
660
661
662 // ==================================================================
663 // MPLSNextHopInTunnel
664 // ==================================================================
665 [Association, Experimental, Version ( "2.8.1000" ), Description (
666 "This association represents the relationship between two "
667 "consecutive tunnels hops.")]
668 class CIM_MPLSNextHopInTunnel : CIM_Dependency {
669
670 [Override ( "Antecedent" ), Max ( 1 ), Description (
671 "Current MPLSTunnel hop.")]
672 CIM_MPLSTunnelHop REF Antecedent;
673 karl 1.1
674 [Override ( "Dependent" ), Max ( 1 ), Description (
675 "Next MPLSTunnel hop for the traversed path.")]
676 CIM_MPLSTunnelHop REF Dependent;
677 };
678
679
680 // ==================================================================
681 // HostedMPLSTunnelHop
682 // ==================================================================
683 [Association, Experimental, Version ( "2.8.1000" ), Description (
684 "HostedMPLSTunnelHop defines a MPLSTunnelHop in the context of "
685 "a scoping AutonomousSystem. It represents a MPLSTunnelHop that "
686 "only has meaning in the context of an AutonomousSystem.")]
687 class CIM_HostedMPLSTunnelHop : CIM_HostedDependency {
688
689 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
690 "The scoping system.")]
691 CIM_AutonomousSystem REF Antecedent;
692
693 [Override ( "Dependent" ), Description (
694 karl 1.1 "The collection defined in the context of a system.")]
695 CIM_MPLSTunnelHop REF Dependent;
696 };
697
698
699 // ==================================================================
700 // MPLSFecOfTunnel
701 // ==================================================================
702 [Association, Experimental, Version ( "2.8.1000" ), Description (
703 "This association defines the forwarding equivalency class "
704 "(FEC) for a traffic engineering tunnel. It is typically just "
705 "an IP destination address - and can be defined using a "
706 "FilterList. Although this is not truly a filter on the tunnel, "
707 "the FilterList class is reused to describe the traffic on the "
708 "tunnel.")]
709 class CIM_MPLSFecOfTunnel : CIM_Dependency {
710
711 [Override ( "Antecedent" ), Max ( 1 ), Description (
712 "The FilterList defining the FEC of the MPLSTunnel.")]
713 CIM_FilterList REF Antecedent;
714
715 karl 1.1 [Override ( "Dependent" ), Description (
716 "The MPLSTunnel.")]
717 CIM_MPLSTunnel REF Dependent;
718 };
719
720
721 // ==================================================================
722 // MPLSTunnelStats
723 // ==================================================================
724 [Experimental, Version ( "2.8.1000" ), Description (
725 "This class represents the statistics for an MPLSTunnel. The "
726 "statistics are associated to the tunnel using the "
727 "relationship, CIM_ElementStatisticalData.")]
728 class CIM_MPLSTunnelStats : CIM_StatisticalData {
729
730 [Description (
731 "Specifies the total time the primary tunnel has been "
732 "active. A primary tunnel is found/designated in situations "
733 "where multiple tunnels exist - i.e., when parallel or "
734 "backup tunnels are defined."),
735 Units ( "Hundredths of a Second" ), Counter,
736 karl 1.1 MaxValue ( 4294967295 ),
737 MappingStrings { "MIB.IETF|MPLS-TE-MIB.MPLSTunnelPrimaryTimeUp"
738 }]
739 uint32 TunnelPrimaryTimeUp;
740
741 [Description (
742 "Specifies the number of times the paths have changed for "
743 "this tunnel."),
744 Counter,
745 MappingStrings { "MIB.IETF|MPLS-TE-MIB.MPLSTunnelPathChanges" }]
746 uint32 TunnelPathChanges;
747
748 [Description (
749 "Specifies the time since the last path change for this "
750 "tunnel."),
751 Units ( "Hundredths of a Second" ), Counter,
752 MaxValue ( 4294967295 ),
753 MappingStrings { "MIB.IETF|MPLS-TE-MIB.MPLSTunnelLastPathChange"
754 }]
755 uint32 TunnelLastPathChange;
756
757 karl 1.1 [Description (
758 "Specifies the number of times the operational status of "
759 "this tunnel has changed."),
760 Counter,
761 MappingStrings {
762 "MIB.IETF|MPLS-TE-MIB.MPLSTunnelStateTransitions" }]
763 uint32 TunnelStateTransitions;
764
765 [Description (
766 "This value identifies the total time for which the the "
767 "OperationalStatus of the tunnel is up (i.e., \"OK\"=2)."),
768 Units ( "Hundredths of a Second" ), Counter,
769 MappingStrings { "MIB.IETF|MPLS-TE-MIB.MPLSTunnelInstanceUpTime"
770 }]
771 uint32 TunnelInstanceUpTime;
772 };
773
774
775 // ==================================================================
776 // MPLSPerformance
777 // ==================================================================
778 karl 1.1 [Experimental, Version ( "2.8.1000" ), Description (
779 "This class contains performance information for MPLS entities "
780 "such as an MPLS Endpoint or LSP Tunnel. The statistics are "
781 "associated with the MPSL entity, using the general "
782 "CIM_ElementStatisticalData relationship.")]
783 class CIM_MPLSPerformance : CIM_StatisticalData {
784
785 [Description (
786 "Denotes the number of packets lost."),
787 Counter]
788 uint32 NumberOfPacketsLost;
789
790 [Description (
791 "Denotes the number of packets successfully transmitted."),
792 Counter]
793 uint32 NumberOfPacketsTransmitted;
794
795 [Description (
796 "Denotes the number of octets transmitted."),
797 Counter]
798 uint32 NumberOfOctets;
799 karl 1.1
800 [Description (
801 "Denotes the average delay of the packets transmitted in "
802 "milliseconds."),
803 Units ( "MilliSeconds" ), Gauge]
804 uint16 Delay;
805
806 [Description (
807 "Denotes availability in hundredths of a percent."),
808 Units ( "Hundredths of Percent" ), MinValue ( 0 ),
809 MaxValue ( 100000 )]
810 uint16 Availability;
811 };
812
813
814 // ==================================================================
815 // MPLSSegment
816 // ==================================================================
817 [Experimental, Abstract, Version ( "2.8.1000" ), Description (
818 "This class is abstract, and generalizes the notion of incoming "
819 "and outgoing MPLS segments on an "
820 karl 1.1 "interface/MPLSProtocolEndpoint. (Both In and Out Segment "
821 "subclasses are derived from MPLSSegment.) An instance is "
822 "defined in the context of an MPLSProtocolEndpoint. This is "
823 "specified using the association, CIM_MPLSSegmentOnProtocolEP.")]
824 class CIM_MPLSSegment : CIM_LogicalElement {
825
826 [Key, Description (
827 "InstanceID opaquely identifies a unique instance of "
828 "MPLSSegment. The InstanceID must be unique within a "
829 "namespace. In order to ensure uniqueness, the value of "
830 "InstanceID should be constructed in the following manner: \n"
831 "<ID of the MPLSProtocolEndpoint>.<InLabel or TopLabel>.")]
832 string InstanceID;
833
834 [Description (
835 "Denotes the entity that created and is responsible for "
836 "managing this Segment. Note that the MappingString is "
837 "depending on the instantiated class and corresponds to "
838 "InSegmentOwner or OutSegmentOwner."),
839 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7" },
840 Values { "Unknown", "Other", "SNMP", "LDT", "RSVP", "CR-LDP",
841 karl 1.1 "Policy Agent", "CLI" },
842 MappingStrings { "MIB.IETF|MPLS-LSR-MIB.MPLSInSegmentOwner",
843 "MIB.IETF|MPLS-LSR-MIB.MPLSIOutSegmentOwner" },
844 ModelCorrespondence { "CIM_MPLSSegment.OtherOwner" }]
845 uint16 SegmentOwner;
846
847 [Description (
848 "If property SegmentOwner has a value 1 (\"Other\"), this "
849 "property contains a string explaining the entity that "
850 "created and manages the Segment."),
851 ModelCorrespondence { "CIM_MPLSSegment.SegmentOwner" }]
852 string OtherOwner;
853 };
854
855
856 // ==================================================================
857 // MPLSSegmentStats
858 // ==================================================================
859 [Experimental, Version ( "2.8.1000" ), Description (
860 "The class represents the statistics for an In or Out "
861 "MPLSSegment. The statistics are associated to the Segment "
862 karl 1.1 "using the relationship CIM_ElementStatisticalData.")]
863 class CIM_MPLSSegmentStats : CIM_StatisticalData {
864
865 [Description (
866 "This value represents the total number of octets "
867 "received/sent by this Segment. Whether it denotes In or Out "
868 "Segments depends on the instance associated with "
869 "MPLSSegmentStats."),
870 Counter,
871 MappingStrings { "MIB.IETF|MPLS-LSR-MIB.MPLSInSegmentOctets",
872 "MIB.IETF|MPLS-LSR-MIB.MPLSIOutSegmentOctets" }]
873 uint32 NumberOfOctets;
874
875 [Description (
876 "Total number of packets received/sent by this Segment. "
877 "Whether this value denotes In or Out Segments depends on "
878 "the instance associated with MPLSSegmentStats."),
879 Counter,
880 MappingStrings { "MIB.IETF|MPLS-LSR-MIB.MPLSInSegmentPackets",
881 "MIB.IETF|MPLS-LSR-MIB.MPLSOutSegmentPackets" }]
882 uint32 NumberOfPackets;
883 karl 1.1
884 [Description (
885 "The number of errored packets received/sent on this "
886 "Segment. Whether this value denotes In or Out Segments "
887 "depends on the instance associated with MPLSSegmentStats."),
888 Counter,
889 MappingStrings { "MIB.IETF|MPLS-LSR-MIB.MPLSInSegmentErrors",
890 "MIB.IETF|MPLS-LSR-MIB.MPLSIOutSegmentErrors" }]
891 uint32 NumberOfErrors;
892
893 [Description (
894 "The number of labeled packets received/sent on this "
895 "Segment, which were chosen to be discarded even though no "
896 "errors had been detected to prevent their being "
897 "transmitted. One possible reason for discarding such a "
898 "labeled packet could be to free up buffer space. Whether "
899 "this value denotes In or Out Segments depends on the "
900 "instance associated with MPLSSegmentStats."),
901 Counter,
902 MappingStrings { "MIB.IETF|MPLS-LSR-MIB.MPLSInSegmentDiscards",
903 "MIB.IETF|MPLS-LSR-MIB.MPLSIOutSegmentDiscards" }]
904 karl 1.1 uint32 NumberOfDiscards;
905 };
906
907
908 // ==================================================================
909 // MPLSInSegment
910 // ==================================================================
911 [Experimental, Version ( "2.8.1000" ), Description (
912 "This class represents an incoming Segment on an MPLS "
913 "interface.")]
914 class CIM_MPLSInSegment : CIM_MPLSSegment {
915
916 [Required, Description (
917 "The incoming label for this segment."),
918 MappingStrings { "MIB.IETF|MPLS-LSR-MIB.MPLSInSegmentLabel" }]
919 uint32 InLabel;
920
921 [Description (
922 "The number of labels to pop from the incoming packet. "
923 "Normally only the top label is popped from the packet, and "
924 "used for all switching decisions. Note that technologies "
925 karl 1.1 "which do not support label popping should leave this value "
926 "at its default (1)."),
927 MappingStrings { "MIB.IETF|MPLS-LSR-MIB.MPLSInSegmentNPop" }]
928 uint32 NPop = 1;
929
930 [Description (
931 "Describes the address type expected on the incoming "
932 "Segment. This is used when the last label is popped to know "
933 "to which IP stack the packet is forwarded."),
934 ValueMap { "0", "1", "2" },
935 Values { "Unknown", "IPv4", "IPv6" },
936 MappingStrings { "MIB.IETF|MPLS-LSR-MIB.MPLSInSegmentAddrFamily"
937 }]
938 uint16 AddressType;
939 };
940
941
942 // ==================================================================
943 // MPLSOutSegment
944 // ==================================================================
945 [Experimental, Version ( "2.8.1000" ), Description (
946 karl 1.1 "This class represents an outgoing Segment on an MPLS "
947 "interface.")]
948 class CIM_MPLSOutSegment : CIM_MPLSSegment {
949
950 [Description (
951 "This value indicates whether or not a top label should be "
952 "pushed onto the outgoing packet's label stack. The value of "
953 "this variable must be set to true if the outgoing interface "
954 "does not support pop- and-go (for example an ATM interface) "
955 "or if it is a tunnel origination."),
956 MappingStrings {
957 "MIB.IETF|MPLS-LSR-MIB.MPLSOutSegmentPushTopLabel" }]
958 boolean PushTopLabel = true;
959
960 [Required, Description (
961 "If the property, PushTopLabel, is true then this represents "
962 "the label that should be pushed onto the top of the "
963 "outgoing packet's label stack. If PushTopLabel is false, "
964 "then the value should be 0."),
965 MappingStrings { "MIB.IETF|MPLS-LSR-MIB.MPLSOutSegmentTopLabel"
966 },
967 karl 1.1 ModelCorrespondence { "CIM_MPLSOutSegment.PushTopLabel" }]
968 uint32 TopLabel;
969 };
970
971
972 // ==================================================================
973 // MPLSCrossConnect
974 // ==================================================================
975 [Experimental, Version ( "2.8.1000" ), Description (
976 "This class specifies information for switching between "
977 "Segments within a LSR. It is scoped by a Computer System, that "
978 "is the Label Switched Router, via the HostedService "
979 "association. Specific In/Out Segments are associated with the "
980 "cross-connect using the relationship, MPLSSegmentInXC. The "
981 "service can support point-to-point, point-to-multipoint and "
982 "multipoint-to-point connections by defining multiple instances "
983 "of the association. CrossConnect Services can be aggregated "
984 "into an overarching MPLSService using the CIM_ServiceComponent "
985 "association. And, the LSP to which the CrossConnect belongs is "
986 "indicated by the association, CrossConnectLSP.")]
987 class CIM_MPLSCrossConnect : CIM_Service {
988 karl 1.1
989 [Description (
990 "Denotes whether or not this CrossConnect entry and "
991 "associated In and Out Segments should be restored "
992 "automatically after failures."),
993 MappingStrings { "MIB.IETF|MPLS-LSR-MIB.MPLSXCIsPersistent" }]
994 boolean IsPersistent;
995
996 [Description (
997 "Identifies a stack of labels to be pushed beneath the top "
998 "label. Note that the top label identified in an instance of "
999 "OutSegment ensures that all the components of a "
1000 "multipoint-to-point connection have the same outgoing "
1001 "label. This array is 'Ordered' to maintain the sequence of "
1002 "entries."),
1003 ArrayType ( "Ordered" )]
1004 uint16 LabelStack[];
1005 };
1006
1007
1008 // ==================================================================
1009 karl 1.1 // MPLSQosPRTrfcProf
1010 // ==================================================================
1011 [Experimental, Version ( "2.8.1000" ), Description (
1012 "A QoS traffic profile, which is associated to an LSP when QoS "
1013 "is guaranteed. The association ElementSetting ties the Setting "
1014 "to the LSP.")]
1015 class CIM_MPLSQosPRTrfcProf : CIM_SettingData {
1016
1017 [Description (
1018 "The peak traffic rate in kilobits per second."),
1019 Units ( "KiloBits per Second" )]
1020 uint32 PRRate;
1021
1022 [Description (
1023 "Traffic burst size in bytes."),
1024 Units ( "Bytes" )]
1025 uint16 PRNormalBurst;
1026
1027 [Description (
1028 "Traffic excess burst in bytes."),
1029 Units ( "Bytes" )]
1030 karl 1.1 uint16 PRExcessBurst;
1031 };
1032
1033
1034 // ==================================================================
1035 // MPLSCRLSPTrfcProf
1036 // ==================================================================
1037 [Experimental, Version ( "2.8.1000" ), Description (
1038 "Class to represent the Constraint-based Routed LSP (CR-LSP) "
1039 "traffic parameters as specified in [RFC3212].")]
1040 class CIM_MPLSCRLSPTrfcProf : CIM_MPLSQosPRTrfcProf {
1041
1042 [Description (
1043 "Property to indicate at what granularity the CDR (allocated "
1044 "to the CR-LSP) is made available."),
1045 ValueMap { "0", "1", "2" },
1046 Values { "Unspecified", "Frequently", "Very Frequently" }]
1047 uint16 CRLSPFrequency;
1048
1049 [Description (
1050 "Property to indicate the CR-LSP's relative share (in "
1051 karl 1.1 "percent) of the possible excess bandwidth above its "
1052 "committed rate."),
1053 Units ( "Percent" ), MinValue ( 0 ), MaxValue ( 100 )]
1054 uint8 CRLSPWeight;
1055
1056 [Description (
1057 "Property to indicate the CR-LSP's committed data rate in "
1058 "bytes per second."),
1059 Units ( "Bytes per Second" )]
1060 uint16 CRLSPCommitedDataRate;
1061
1062 [Description (
1063 "Property to indicate the CR-LSP's committed burst size in "
1064 "bytes."),
1065 Units ( "Bytes" )]
1066 uint16 CRLSPCommitedBurstSize;
1067 };
1068
1069
1070 // ==================================================================
1071 // MPLSSegmentOnProtocolEP
1072 karl 1.1 // ==================================================================
1073 [Association, Experimental, Version ( "2.8.1000" ), Description (
1074 "An MPLSSegment is defined in the context of an MPLS Endpoint. "
1075 "This association makes that relationship explicit.")]
1076 class CIM_MPLSSegmentOnProtocolEP : CIM_Dependency {
1077
1078 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
1079 "The MPLSProtocolEndpoint which scopes the Segment.")]
1080 CIM_MPLSProtocolEndpoint REF Antecedent;
1081
1082 [Override ( "Dependent" ), Description (
1083 "An MPLSSegment on the ProtocolEndpoint.")]
1084 CIM_MPLSSegment REF Dependent;
1085 };
1086
1087
1088 // ==================================================================
1089 // MPLSSegmentInXC
1090 // ==================================================================
1091 [Association, Experimental, Version ( "2.8.1000" ), Description (
1092 "Defines the association between an In or Out Segment and a "
1093 karl 1.1 "CrossConnect Service. The Segment is dependent on the Cross "
1094 "Connect for switching within the LSR.")]
1095 class CIM_MPLSSegmentInXC : CIM_Dependency {
1096
1097 [Override ( "Antecedent" ), Description (
1098 "The MPLSCrossConnect.")]
1099 CIM_MPLSCrossConnect REF Antecedent;
1100
1101 [Override ( "Dependent" ), Description (
1102 "An MPLSSegment dependent on the CrossConnect for switching.")]
1103 CIM_MPLSSegment REF Dependent;
1104 };
1105
1106
1107 // ==================================================================
1108 // MPLSFilterAtXC
1109 // ==================================================================
1110 [Association, Experimental, Version ( "2.8.1000" ), Description (
1111 "The association denotes a filter list defining what traffic is "
1112 "mapped into the CrossConnect Service. A filter list is "
1113 "associated with the CrossConnect at the originating LSR.")]
1114 karl 1.1 class CIM_MPLSFilterAtXC : CIM_Dependency {
1115
1116 [Override ( "Antecedent" ), Max ( 1 ), Description (
1117 "A FilterList defining what traffic is mapped into the "
1118 "CrossConnect Service.")]
1119 CIM_FilterList REF Antecedent;
1120
1121 [Override ( "Dependent" ), Description (
1122 "The CrossConnect whose traffic is filtered.")]
1123 CIM_MPLSCrossConnect REF Dependent;
1124 };
1125
1126
1127 // ==================================================================
1128 // MPLSCurrentlyAssignedLSP
1129 // ==================================================================
1130 [Association, Experimental, Version ( "2.8.1000" ), Description (
1131 "Associates a traffic trunk with an LSP that is currently "
1132 "carrying its traffic.")]
1133 class CIM_MPLSCurrentlyAssignedLSP : CIM_Dependency {
1134
1135 karl 1.1 [Override ( "Antecedent" ), Description (
1136 "The LSP carrying the traffic of the trunk.")]
1137 CIM_MPLSLSP REF Antecedent;
1138
1139 [Override ( "Dependent" ), Description (
1140 "The MPLSTrafficTrunk which is signaling using the LSP.")]
1141 CIM_MPLSTunnel REF Dependent;
1142
1143 [Description (
1144 "The preference for the use of the LSP, if more than one LSP "
1145 "is available to a trunk. Possible values are 0 to 7, with 7 "
1146 "indicating the highest preference."),
1147 MinValue ( 0 ), MaxValue ( 7 )]
1148 uint16 Preference;
1149
1150 [Write, Description (
1151 "This property is used to indicate the relative proportion "
1152 "of traffic to be carried by parallel LSPs, specified as a "
1153 "percentage from 0 to 100. The value is defined by the "
1154 "network user/administrator to indicate how a LSPtunnel's "
1155 "bandwidth should be set on a router. It allows load "
1156 karl 1.1 "distribution across multiple parallel LSP tunnels, between "
1157 "two nodes. Quoting from RFC2702, 'In many practical "
1158 "situations, the aggregate traffic between two nodes may be "
1159 "such that no single link can carry the load. In this case, "
1160 "the only feasible solution is to appropriately divide the "
1161 "aggregate traffic into sub-streams and route the "
1162 "sub-streams through multiple paths between the two nodes. "
1163 "This problem can be addressed by instantiating multiple LSP "
1164 "tunnels between the two nodes, such that each traffic trunk "
1165 "carries a proportion of the aggregate traffic.' The "
1166 "proportion of traffic carried by each such LSP tunnel is "
1167 "specified by the TrafficProportion property."),
1168 Units ( "Percent" ), MinValue ( 0 ), MaxValue ( 100 )]
1169 uint8 TrafficProportion;
1170 };
1171
1172
1173 // ==================================================================
1174 // MPLSBackupLSP
1175 // ==================================================================
1176 [Association, Experimental, Version ( "2.8.1000" ), Description (
1177 karl 1.1 "Identifies an LSP as a backup LSP for a traffic trunk.")]
1178 class CIM_MPLSBackupLSP : CIM_Dependency {
1179
1180 [Override ( "Antecedent" ), Description (
1181 "The backup LSP for the traffic trunk.")]
1182 CIM_MPLSLSP REF Antecedent;
1183
1184 [Override ( "Dependent" ), Description (
1185 "The traffic trunk using the LSP for backup.")]
1186 CIM_MPLSTunnel REF Dependent;
1187
1188 [Description (
1189 "The preference for the use of the LSP, if more than one LSP "
1190 "is available to a trunk. Possible values are 0 to 7, with 7 "
1191 "indicating the highest preference."),
1192 MinValue ( 0 ), MaxValue ( 7 )]
1193 uint16 Preference;
1194 };
1195
1196
1197 // ==================================================================
1198 karl 1.1 // MPLSLSPInLSP
1199 // ==================================================================
1200 [Association, Experimental, Aggregation, Version ( "2.8.1000" ),
1201 Description (
1202 "Defines the nesting relationship of LSPs within LSPs. "
1203 "Arbitrary hierarchies of LSPs are possible.")]
1204 class CIM_MPLSLSPInLSP : CIM_Component {
1205
1206 [Aggregate, Override ( "GroupComponent" ), Description (
1207 "The higher-level LSP containing another LSP.")]
1208 CIM_MPLSLSP REF GroupComponent;
1209
1210 [Override ( "PartComponent" ), Description (
1211 "The LSP that is nested in the one referenced as "
1212 "GroupComponent.")]
1213 CIM_MPLSLSP REF PartComponent;
1214 };
1215
1216
1217 // ==================================================================
1218 // MPLSCrossConnectLSP
1219 karl 1.1 // ==================================================================
1220 [Association, Experimental, Version ( "2.8.1000" ), Description (
1221 "Defines the LSP to which the CrossConnect belongs.")]
1222 class CIM_MPLSCrossConnectLSP : CIM_Dependency {
1223
1224 [Override ( "Antecedent" ), Max ( 1 ), Description (
1225 "The LSP.")]
1226 CIM_MPLSLSP REF Antecedent;
1227
1228 [Override ( "Dependent" ), Description (
1229 "The CrossConnect belonging to the LSP.")]
1230 CIM_MPLSCrossConnect REF Dependent;
1231
1232 [Description (
1233 "The XcType property defines whether a CrossConnect is at "
1234 "the terminating end (\"Term\", 1), or originating end "
1235 "(\"Orig\", 2) of an LSP. A value of 4, \"Normal\", "
1236 "indicates the CrossConnect is switching through an LSP on "
1237 "an intermediate node. A value of 3, \"Special\", implies a "
1238 "terminating LSP for special traffic, e.g. signaling "
1239 "neighbor discovery, etc. Reserved MPLS labels with values 0 "
1240 karl 1.1 "through 15 are used."),
1241 ValueMap { "1", "2", "3", "4" },
1242 Values { "Term", "Orig", "Special", "Normal" }]
1243 uint16 XcType;
1244
1245 [Description (
1246 "This property defines the order of the CrossConnects in an "
1247 "LSP. An incrementally higher number indicates the next "
1248 "Cross Connect in the ordered sequence. Note that the first "
1249 "CrossConnect must be of type 'Orig', and the last of type "
1250 "'Term' (see the property, XcType).")]
1251 uint16 XcOrder;
1252 };
1253
1254
1255 // ===================================================================
1256 // end of file
1257 // ===================================================================
|