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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2