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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2