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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2