(file) Return to Network_MPLS.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIMPrelim29

   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           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2