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