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

   1 karl  1.1 // ===================================================================
   2           // Title:  Network BGP Model
   3           // $State: Preliminary $
   4           // $Date: 2004/06/28 18:01:03 $
   5           // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Network_BGP.mof,v $
   6           // $Revision: 1.3 $
   7           // ===================================================================
   8           //#pragma inLine ("Includes/copyright.inc")
   9           // Copyright 1998-2004 Distributed Management Task Force, Inc. (DMTF).
  10           // All rights reserved.
  11           // DMTF is a not-for-profit association of industry members dedicated
  12           // to promoting enterprise and systems management and interoperability.
  13           // DMTF specifications and documents may be reproduced for uses
  14           // consistent with this purpose by members and non-members,
  15           // provided that correct attribution is given.
  16           // As DMTF specifications may be revised from time to time,
  17           // the particular version and release date should always be noted.
  18           // 
  19           // Implementation of certain elements of this standard or proposed
  20           // standard may be subject to third party patent rights, including
  21           // provisional patent rights (herein "patent rights"). DMTF makes
  22 karl  1.1 // no representations to users of the standard as to the existence
  23           // of such rights, and is not responsible to recognize, disclose, or
  24           // identify any or all such third party patent right, owners or
  25           // claimants, nor for any incomplete or inaccurate identification or
  26           // disclosure of such rights, owners or claimants. DMTF shall have no
  27           // liability to any party, in any manner or circumstance, under any
  28           // legal theory whatsoever, for failure to recognize, disclose, or
  29           // identify any such third party patent rights, or for such party's
  30           // reliance on the standard or incorporation thereof in its product,
  31           // protocols or testing procedures. DMTF shall have no liability to
  32           // any party implementing such standard, whether such implementation
  33           // is foreseeable or not, nor to any patent owner or claimant, and shall
  34           // have no liability or responsibility for costs or losses incurred if
  35           // a standard is withdrawn or modified after publication, and shall be
  36           // indemnified and held harmless by any party implementing the
  37           // standard from any and all claims of infringement by a patent owner
  38           // for such implementations.
  39           // 
  40           // For information about patents held by third-parties which have
  41           // notified the DMTF that, in their opinion, such patent may relate to
  42           // or impact implementations of DMTF standards, visit
  43 karl  1.1 // http://www.dmtf.org/about/policies/disclosures.php.
  44           //#pragma inLine
  45           // ===================================================================
  46           // Description: The Network Model extends the management concepts to
  47           //              represent protocol interfaces and network/protocol
  48           //              services.  This file defines the classes that model
  49           //              BGP (Border Gateway Protocol).
  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.7
  56           // CR792 - Add the Composition qualifer to BGPClustersInAS,
  57           //         ASBGPEndpoints, and Confederation
  58           // CR863 - Update the format of the MappingStrings qualifier when
  59           //         referencing IETF RFCs
  60           // CR866 - Fixes to the BGP Model
  61           // CR920 - BGPAttributes.AtomicAggregate is incorrectly defined with
  62           //         Values/ValueMap qualifiers when it is a boolean - these
  63           //         qualifiers must be removed and the Description updated
  64 karl  1.1 // CR965 - Update Description for BGPIPRoute
  65           // CR982 - Removal of Experimental for preliminary to final
  66           // CR983 - v2.7 Deprecations promoted to final
  67           // Change Log for v2.8
  68           // CR1128 - Change subclassing from CIM_Dependency to
  69           //          CIM_HostedDependency for identified classes. This is
  70           //          needed as a result of the introduction of HostedDependency
  71           //          by SysDev
  72           // CR1232 - Updated reference
  73           //          Property CIM_BGPStatistics.InUpdateElapsedTime
  74           //          (CIM_BGPEndpointStatistics.InUpdateEstablishedTime
  75           //          Property CIM_BGPRouteMap.OtherMatchConditionType
  76           //          (CIM_RouteMap.MatchConditionType)
  77           //                      Property CIM_BGPRouteMap.MatchConditionType
  78           //                      (CIM_RouteMap.OtherMatchConditionType)
  79           // CR1238 - Fix model correspondece reference problems in final version
  80           // 
  81           // Change Log for v2.9
  82           // No changes
  83           // ===================================================================
  84           
  85 karl  1.1 #pragma Locale ("en_US")
  86           
  87           
  88           // ==================================================================
  89           // BGPService
  90           // ==================================================================
  91              [Version ( "2.7.0" ), Description (
  92                  "This class is used to represent the basic operation of BGP. It "
  93                  "is derived from RouteCalculationService, the superclass of all "
  94                  "routing protocols.")]
  95           class CIM_BGPService : CIM_RouteCalculationService {
  96           
  97                 [Description (
  98                     "The BGPVersion property defines the version of BGP that "
  99                     "this router is using. This is part of the BGP peer "
 100                     "negotiation process)."), 
 101                  MappingStrings { "MIB.IETF|BGP4-MIB.bgpVersion" }]
 102              uint8 BGPVersion;
 103           
 104                 [Description (
 105                     "BGP sends errors using a NOTIFICATION message. This message "
 106 karl  1.1           "contains an error code, an error subcode, and error data. "
 107                     "The error code defines the type of the notification. The "
 108                     "'Cease' error is for all fatal errors that are not one of "
 109                     "the other five types of errors. For several of the errors, "
 110                     "subcode information is also enumerated in other properties "
 111                     "of this class."), 
 112                  ValueMap { "0", "1", "2", "3", "4", "5", "6" }, 
 113                  Values { "None", "Message Header Error", "OPEN Message Error",
 114                     "UPDATE Message Error", "Hold Timer Expired",
 115                     "Finite State Machine Error", "Cease" }]
 116              uint16 LastErrorCode;
 117           
 118                 [Description (
 119                     "This defines the BGP error subcode for message header "
 120                     "errors (LastErrorCode = 1). If LastErrorCode is any other "
 121                     "value, then this property should be set to NULL."), 
 122                  ValueMap { "0", "1", "2", "3" }, 
 123                  Values { "None", "Connection Not Synchronized",
 124                     "Bad Message Length", "Bad Message Type" }]
 125              uint16 LastMessageErrorSubCode;
 126           
 127 karl  1.1       [Description (
 128                     "This defines the BGP error subcode for OPEN message errors "
 129                     "(LastErrorCode = 2). If LastErrorCode is any other value, "
 130                     "then this property should be set to NULL."), 
 131                  ValueMap { "0", "1", "2", "3", "4", "5", "6" }, 
 132                  Values { "None", "Unsupported Version Number", "Bad Peer AS",
 133                     "Bad BGP Identifier", "Unsupported Optional Parameter",
 134                     "Authentication Failure", "Unacceptable Hold Time" }]
 135              uint16 LastOpenErrorSubCode;
 136           
 137                 [Description (
 138                     "This defines the BGP error subcode for UPDATE message "
 139                     "errors (LastErrorCode = 3). If LastErrorCode is any other "
 140                     "value, then this property should be set to NULL."), 
 141                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
 142                     "10", "11" }, 
 143                  Values { "None", "Malformed Attribute List",
 144                     "Unrecognized Well-Known Attribute",
 145                     "Missing Well-Known Attribute", "Attribute Flags Error",
 146                     "Attribute Length Error", "Invalid Origin Attribute",
 147                     "AS Routing Loop", "Invalid NEXT_HOP Attribute",
 148 karl  1.1           "Optional Attribute Error", "Invalid Network Field",
 149                     "Malformed AS_path" }]
 150              uint16 LastUpdateErrorSubCode;
 151           };
 152           
 153           
 154           // ==================================================================
 155           // BGPAdminDistance
 156           // ==================================================================
 157              [Association, Version ( "2.6.0" ), Description (
 158                  "This is a specialization of the Dependency association, and "
 159                  "defines the relationship between a BGPService and the "
 160                  "AdministrativeDistances that it uses to control the (BGP) "
 161                  "routing decisions that it makes.")]
 162           class CIM_BGPAdminDistance : CIM_Dependency {
 163           
 164                 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
 165                     "The table of (global) administrative distances that are "
 166                     "used by the BGPService.")]
 167              CIM_AdministrativeDistance REF Antecedent;
 168           
 169 karl  1.1       [Override ( "Dependent" ), Description (
 170                     "The BGPService object that makes BGP routing decisions.")]
 171              CIM_BGPService REF Dependent;
 172           };
 173           
 174           
 175           // ==================================================================
 176           // BGPCluster
 177           // ==================================================================
 178              [Version ( "2.6.0" ), Description (
 179                  "The BGP speakers in an AS are required to be fully meshed. "
 180                  "This can lead to a huge number of TCP connections per router. "
 181                  "One way to reduce the peering requirements is to use a route "
 182                  "reflector. This is based on specifying one or more routers to "
 183                  "act as focal points for IBGP sessions. \n"
 184                  "\n"
 185                  "The route reflector as a whole is called a cluster. It is "
 186                  "logically divided into three types of routers: reflectors, "
 187                  "clients of the route reflector(s), and non-clients of the "
 188                  "route reflector. There can be more than one route reflector in "
 189                  "a cluster, and there can be more than one cluster in an AS.")]
 190 karl  1.1 class CIM_BGPCluster : CIM_CollectionOfMSEs {
 191           
 192                 [Key, Description (
 193                     "If a cluster has more than one route reflector, all of the "
 194                     "route reflectors in the cluster need to be configured with "
 195                     "a 4-byte cluster ID. This allows route reflectors to "
 196                     "recognize updates from other route reflectors in the same "
 197                     "cluster.")]
 198              uint32 ClusterID;
 199           };
 200           
 201           
 202           // ==================================================================
 203           // RoutersInBGPCluster
 204           // ==================================================================
 205              [Association, Aggregation, Version ( "2.6.0" ), Description (
 206                  "This aggregation establishes the routers (ComputerSystems) in "
 207                  "a BGPCluster. At least three routers are required to form a "
 208                  "cluster - a reflector and two clients. The routers that form a "
 209                  "cluster share common configuration information.")]
 210           class CIM_RoutersInBGPCluster : CIM_CollectedMSEs {
 211 karl  1.1 
 212                 [Aggregate, Override ( "Collection" ), Max ( 1 ), Description (
 213                     "The Cluster that aggregates the routers participating in "
 214                     "it.")]
 215              CIM_BGPCluster REF Collection;
 216           
 217                 [Override ( "Member" ), Min ( 3 ), Description (
 218                     "The routers that form the Cluster.")]
 219              CIM_ComputerSystem REF Member;
 220           };
 221           
 222           
 223           // ==================================================================
 224           // BGPClustersInAS
 225           // ==================================================================
 226              [Association, Aggregation, Composition, Version ( "2.7.0" ), 
 227               Description (
 228                  "This aggregation establishes 'whole-part' relationships "
 229                  "between an AutonomousSystem and the BGPClusters that it "
 230                  "contains.")]
 231           class CIM_BGPClustersInAS {
 232 karl  1.1 
 233                 [Key, Aggregate, Max ( 1 ), Description (
 234                     "The AutonomousSystem that aggregates the Clusters belonging "
 235                     "to it and administers them.")]
 236              CIM_AutonomousSystem REF GroupAS;
 237           
 238                 [Key, Description (
 239                     "The Clusters that are contained in the AS.")]
 240              CIM_BGPCluster REF PartAS;
 241           };
 242           
 243           
 244           // ==================================================================
 245           // Confederation
 246           // ==================================================================
 247              [Association, Aggregation, Composition, Version ( "2.7.0" ), 
 248               Description (
 249                  "The BGP speakers in an AS are required to be fully meshed. "
 250                  "This can lead to a huge number of TCP connections per router. "
 251                  "One way to reduce the peering requirements is to use a "
 252                  "confederation. A confederation effectively partitions one AS "
 253 karl  1.1        "into a group of 'sub-ASs'. This enables all of the benefits of "
 254                  "IBGP to be applied inside the confederation, while enabling "
 255                  "EBGP to be run between each confederation. It also enables "
 256                  "certain BGP attribute values to be preserved between "
 257                  "confederations. However, to the outside world, the AS with its "
 258                  "confederations appear to be a single AS.")]
 259           class CIM_Confederation : CIM_SystemComponent {
 260           
 261                 [Aggregate, Override ( "GroupComponent" ), Max ( 1 ), 
 262                  Description (
 263                     "The AutonomousSystem that contains the confederations.")]
 264              CIM_AutonomousSystem REF GroupComponent;
 265           
 266                 [Override ( "PartComponent" ), Description (
 267                     "The Confederation within the AutonomousSystem.")]
 268              CIM_AutonomousSystem REF PartComponent;
 269           
 270                 [Description (
 271                     "A unique identifier of the AutonomousSystem that contains "
 272                     "the confederations.")]
 273              uint32 ParentASNumber;
 274 karl  1.1 
 275                 [Description (
 276                     "A unique identifier of the Confederation within the "
 277                     "AutonomousSystem.")]
 278              uint32 ChildASNumber;
 279           };
 280           
 281           
 282           // ==================================================================
 283           // BGPIPRoute
 284           // ==================================================================
 285              [Version ( "2.6.0" ), Description (
 286                  "BGPIPRoute describes a BGP routing entry that connects two "
 287                  "peer routers that are running BGP. The source and destination "
 288                  "addresses may be either specific IP endpoints or IP subnets. "
 289                  "Examining the BGPIPRoute class definition, note that its "
 290                  "superclass IPRoute is deprecated. Unfortunately, IPRoute "
 291                  "cannot be removed from the object hierarchy without a major "
 292                  "Schema release. When/if this occurs, the IPRoute superclass "
 293                  "will be removed, and BGPIPRoute will subclass from "
 294                  "CIM_NextHopRouting directly.")]
 295 karl  1.1 class CIM_BGPIPRoute : CIM_IPRoute {
 296           
 297                 [Description (
 298                     "Usually, the administrative distance is used to determine "
 299                     "which route gets installed in the routing table. Using this "
 300                     "scheme, routes learned via EBGP will win over routes "
 301                     "learned via an IGP. If this is not desired, then this "
 302                     "assigns the administrative distance of this route to be "
 303                     "equal to that of a local route, which means that the same "
 304                     "route learned by an IGP will have a lower administrative "
 305                     "distance and be installed instead.")]
 306              boolean IsBackDoorRoute;
 307           
 308                 [Description (
 309                     "Loopback interfaces are often used by IBGP peers, because "
 310                     "they eliminate a dependency that would otherwise occur if "
 311                     "the actual IP address of a physical interface was used to "
 312                     "configure BGP. The loopback interface instead instructs the "
 313                     "router to use any available interface.")]
 314              boolean UsesLoopbackPeering;
 315           };
 316 karl  1.1 
 317           
 318           // ==================================================================
 319           // RoutesBGP
 320           // ==================================================================
 321              [Association, Version ( "2.6.0" ), Description (
 322                  "This association defines a BGP route, and makes explicit the "
 323                  "dependency between a BGPIPRoute and a BGPProtocolEndpoint.")]
 324           class CIM_RoutesBGP : CIM_Dependency {
 325           
 326                 [Override ( "Antecedent" ), Max ( 2 ), Description (
 327                     "The BGPProtocolEndpoints that represent the source and "
 328                     "destination (or at least the next hop) of the BGP route.")]
 329              CIM_BGPProtocolEndpoint REF Antecedent;
 330           
 331                 [Override ( "Dependent" ), Min ( 1 ), Description (
 332                     "The routing table entry that represents a BGP route.")]
 333              CIM_BGPIPRoute REF Dependent;
 334           };
 335           
 336           
 337 karl  1.1 // ==================================================================
 338           // EGPRouteCalcDependency
 339           // ==================================================================
 340              [Association, Version ( "2.6.0" ), Description (
 341                  "This is a specialization of ServiceServiceDependency, and "
 342                  "captures the dependency that external gateway protocols (such "
 343                  "as BGP) have on interior gateway protocols (such as OSPF).")]
 344           class CIM_EGPRouteCalcDependency : CIM_ServiceServiceDependency {
 345           
 346                 [Override ( "Antecedent" ), Description (
 347                     "The independent RouteCalculationService that provides "
 348                     "routing information from the AS, for the EGP to use.")]
 349              CIM_RouteCalculationService REF Antecedent;
 350           
 351                 [Override ( "Dependent" ), Description (
 352                     "The dependent RouteCalculationService (e.g., the Route "
 353                     "CalculationService) that is functioning as an EGP.")]
 354              CIM_RouteCalculationService REF Dependent;
 355           
 356                 [Description (
 357                     "Sometimes it is necessary to inject EGP information, such "
 358 karl  1.1           "as that from BGP, into IGPs. This attribute defines whether "
 359                     "this should be done for the two routing protocols that are "
 360                     "defined by this association. The values below mean that no, "
 361                     "partial, and full EGP information is injected into the IGP, "
 362                     "respectively."), 
 363                  ValueMap { "1", "2", "3" }, 
 364                  Values { "None", "Partial", "Full" }]
 365              uint16 IGPInjection;
 366           };
 367           
 368           
 369           // ==================================================================
 370           // BGPPeerGroup
 371           // ==================================================================
 372              [Version ( "2.7.0" ), Description (
 373                  "A BGP Peer Group is a set of BGP neighbors that share the same "
 374                  "update policies. This enables an administrator to assign "
 375                  "policies to the peer group, instead of individually. This "
 376                  "enables the routers in the Peer Group to optimize UPDATE "
 377                  "messages. Consequently, Peer Groups have a set of restrictions "
 378                  "that must be followed in order to work correctly with external "
 379 karl  1.1        "BGP peers. Otherwise, loss of routing information could occur. "
 380                  "\n\n"
 381                  "A BGPPeerGroup is weak to the AutonomousSystem that contains "
 382                  "it. Therefore, the keys from System must be propagated to it.")]
 383           class CIM_BGPPeerGroup : CIM_CollectionOfMSEs {
 384           
 385                 [Key, Propagated ( "CIM_AutonomousSystem.CreationClassName" ), 
 386                  Description (
 387                     "The scoping AutonomousSystem's CreationClassName."), 
 388                  MaxLen ( 256 )]
 389              string SystemCreationClassName;
 390           
 391                 [Key, Propagated ( "CIM_AutonomousSystem.Name" ), Description (
 392                     "The scoping AutonomousSystem's Name."), 
 393                  MaxLen ( 256 )]
 394              string SystemName;
 395           
 396                 [Key, Description (
 397                     "CreationClassName indicates the name of the class or the "
 398                     "subclass used in the creation of an instance. When used "
 399                     "with the other key properties of this class, this property "
 400 karl  1.1           "allows all instances of this class and its subclasses to be "
 401                     "uniquely identified.")]
 402              string CreationClassName;
 403           
 404                 [Key, Description (
 405                     "This is the name of the BGP Peer Group."), 
 406                  MaxLen ( 256 )]
 407              string Name;
 408           
 409                 [Description (
 410                     "This defines the time interval, in seconds, for the "
 411                     "ConnectRetry timer for the endpoints of the routers in the "
 412                     "PeerGroup. The suggested value is 120 seconds."), 
 413                  Units ( "Seconds" ), 
 414                  MappingStrings { "MIB.IETF|BGP4-MIB.bgpConnectRetryInterval" }]
 415              uint32 ConnectRetryInterval = 120;
 416           
 417                 [Description (
 418                     "This defines the time interval in seconds for the Hold "
 419                     "TimeConfigured property of the endpoints of the routers in "
 420                     "the PeerGroup. This value must not be less than three "
 421 karl  1.1           "seconds. The suggested value for this timer is 90 seconds."), 
 422                  Units ( "Seconds" ), 
 423                  MappingStrings { "MIB.IETF|BGP4-MIB.bgpPeerHoldTimeConfigured" }]
 424              uint16 HoldTimeConfigured = 90;
 425           
 426                 [Description (
 427                     "This defines the time interval in seconds for the "
 428                     "KeepAliveConfigured timer for the endpoints of the routers "
 429                     "in the PeerGroup. The suggested value for this property is "
 430                     "30 seconds. The maximum value of this property is 21845 "
 431                     "seconds."), 
 432                  Units ( "Seconds" ), 
 433                  MappingStrings { "MIB.IETF|BGP4-MIB.bgpPeerKeepAliveConfigured" 
 434                     }]
 435              uint16 KeepAliveConfigured = 30;
 436           
 437                 [Description (
 438                     "This defines the time interval in seconds for the "
 439                     "MinASOriginationInterval timer for the endpoints of the "
 440                     "routers in the PeerGroup. The suggested value for this "
 441                     "property is 15 seconds."), 
 442 karl  1.1        Units ( "Seconds" ), 
 443                  MappingStrings { 
 444                     "MIB.IETF|BGP4-MIB.bgpPeerMinASOriginationInterval" }]
 445              uint16 MinASOriginationInterval = 15;
 446           
 447                 [Description (
 448                     "This defines the time interval in seconds for the "
 449                     "MinRouteAdvertisementInterval timer for the endpoints of "
 450                     "the routers in the PeerGroup. The suggested value for this "
 451                     "property is 30 seconds."), 
 452                  Units ( "Seconds" ), 
 453                  MappingStrings { 
 454                     "MIB.IETF|BGP4-MIB.bgpPeerMinRouteAdvertisementInterval" }]
 455              uint16 MinRouteAdvertisementInterval = 30;
 456           };
 457           
 458           
 459           // ==================================================================
 460           // HostedBGPPeerGroup
 461           // ==================================================================
 462              [Association, Version ( "2.6.0" ), Description (
 463 karl  1.1        "A BGPPeerGroup is weak to the AutonomousSystem that contains "
 464                  "it. This association formalizes that relationship.")]
 465           class CIM_HostedBGPPeerGroup : CIM_HostedDependency {
 466           
 467                 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
 468                     "The AutonomousSystem that scopes the BGP peer group.")]
 469              CIM_AutonomousSystem REF Antecedent;
 470           
 471                 [Override ( "Dependent" ), Weak, Description (
 472                     "The BGP peer group defined in the context of the "
 473                     "AutonomousSystem.")]
 474              CIM_BGPPeerGroup REF Dependent;
 475           };
 476           
 477           // ==================================================================
 478           // InBGPPeerGroup
 479           // ==================================================================
 480              [Association, Aggregation, Version ( "2.6.0" ), Description (
 481                  "This aggregation defines the specific routers (i.e., "
 482                  "ComputerSystems) that participate in a PeerGroup.")]
 483           class CIM_InBGPPeerGroup : CIM_CollectedMSEs {
 484 karl  1.1 
 485                 [Aggregate, Override ( "Collection" ), Max ( 1 ), Description (
 486                     "The PeerGroup that aggregates the routers.")]
 487              CIM_BGPPeerGroup REF Collection;
 488           
 489                 [Override ( "Member" ), Min ( 2 ), Description (
 490                     "The routers that comprise the PeerGroup.")]
 491              CIM_ComputerSystem REF Member;
 492           };
 493           
 494           
 495           // ==================================================================
 496           // BGPPeerGroupService
 497           // ==================================================================
 498              [Association, Version ( "2.7.0" ), Description (
 499                  "This defines the relationship between a BGPService and a "
 500                  "specific BGPPeerGroup in which it is executing.")]
 501           class CIM_BGPPeerGroupService : CIM_Dependency {
 502           
 503                 [Override ( "Antecedent" ), Description (
 504                     "The BGPPeerGroup in which the BGPService is executing.")]
 505 karl  1.1    CIM_BGPPeerGroup REF Antecedent;
 506           
 507                 [Override ( "Dependent" ), Description (
 508                     "The BGPService that is executing in the BGPPeerGroup.")]
 509              CIM_BGPService REF Dependent;
 510           };
 511           
 512           
 513           // ==================================================================
 514           // ReflectorService
 515           // ==================================================================
 516              [Association, Version ( "2.6.0" ), Description (
 517                  "This association will serve as the base class for defining and "
 518                  "distributing BGP routing information for the reflector of this "
 519                  "Cluster.")]
 520           class CIM_ReflectorService : CIM_Dependency {
 521           
 522                 [Override ( "Antecedent" ), Max ( 1 ), Description (
 523                     "The Cluster for which this Service is being defined.")]
 524              CIM_BGPCluster REF Antecedent;
 525           
 526 karl  1.1       [Override ( "Dependent" ), Min ( 1 ), Description (
 527                     "The BGPService which distributes routing information in the "
 528                     "Cluster.")]
 529              CIM_BGPService REF Dependent;
 530           };
 531           
 532           
 533           // ==================================================================
 534           // ReflectorClientService
 535           // ==================================================================
 536              [Association, Version ( "2.6.0" ), Description (
 537                  "This association will serve as the base class for handling BGP "
 538                  "routing information for clients of the reflector of this "
 539                  "Cluster.")]
 540           class CIM_ReflectorClientService : CIM_Dependency {
 541           
 542                 [Override ( "Antecedent" ), Max ( 1 ), Description (
 543                     "The Cluster for which this Service is being defined.")]
 544              CIM_BGPCluster REF Antecedent;
 545           
 546                 [Override ( "Dependent" ), Min ( 1 ), Description (
 547 karl  1.1           "The BGPService to handles routing information as a client "
 548                     "in the Cluster.")]
 549              CIM_BGPService REF Dependent;
 550           };
 551           
 552           
 553           // ==================================================================
 554           // ReflectorNonClientService
 555           // ==================================================================
 556              [Association, Version ( "2.6.0" ), Description (
 557                  "This association will serve as the base class for handling BGP "
 558                  "routing information for the non-clients of the reflector of "
 559                  "this Cluster.")]
 560           class CIM_ReflectorNonClientService : CIM_Dependency {
 561           
 562                 [Override ( "Antecedent" ), Max ( 1 ), Description (
 563                     "The Cluster for which this Service is being defined.")]
 564              CIM_BGPCluster REF Antecedent;
 565           
 566                 [Override ( "Dependent" ), Description (
 567                     "The BGPService which handles routing information as a "
 568 karl  1.1           "non-client of the Cluster.")]
 569              CIM_BGPService REF Dependent;
 570           };
 571           
 572           
 573           // ==================================================================
 574           // BGPRoutingPolicy
 575           // ==================================================================
 576              [Association, Version ( "2.6.0" ), Description (
 577                  "This is a specialization of the Dependency association, and "
 578                  "defines the relationship between a BGPService and the "
 579                  "RoutingPolicy that control it.")]
 580           class CIM_BGPRoutingPolicy : CIM_Dependency {
 581           
 582                 [Override ( "Antecedent" ), Description (
 583                     "The BGP routing policy object.")]
 584              CIM_RoutingPolicy REF Antecedent;
 585           
 586                 [Override ( "Dependent" ), Description (
 587                     "The BGPService that operates according to the routing "
 588                     "policy.")]
 589 karl  1.1    CIM_BGPService REF Dependent;
 590           };
 591           
 592           
 593           // ==================================================================
 594           // BGPAttributes
 595           // ==================================================================
 596              [Version ( "2.7.0" ), Description (
 597                  "This class defines the BGP Attributes, that can be used to "
 598                  "affect routing decisions. BGPAttributes are specific to a "
 599                  "given AutonomousSystem that contains it. Hence, the keys of "
 600                  "the AutonomousSystem are propagated to this class.")]
 601           class CIM_BGPAttributes : CIM_LogicalElement {
 602           
 603                 [Key, Propagated ( "CIM_AutonomousSystem.CreationClassName" ), 
 604                  Description (
 605                     "The scoping AutonomousSystem's CreationClassName."), 
 606                  MaxLen ( 256 )]
 607              string SystemCreationClassName;
 608           
 609                 [Key, Propagated ( "CIM_AutonomousSystem.Name" ), Description (
 610 karl  1.1           "The scoping AutonomousSystem's Name."), 
 611                  MaxLen ( 256 )]
 612              string SystemName;
 613           
 614                 [Key, Description (
 615                     "This defines the version of the BGP protocol.")]
 616              string Version;
 617           
 618                 [Description (
 619                     "This defines the priority, or preference, of a route, in "
 620                     "order to better compare it with other routes for the same "
 621                     "destination. Higher values indicate a higher preference for "
 622                     "a route."), 
 623                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrLocalPref" }]
 624              uint16 LocalPreference;
 625           
 626                 [Description (
 627                     "This attribute is a sequences of the AS numbers through "
 628                     "which routing information carried in this UPDATE message "
 629                     "has passed. The components of this list can be AS_SETs or "
 630                     "AS_SEQUENCEs."), 
 631 karl  1.1        MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrASPath" }]
 632              string ASPath;
 633           
 634                 [Description (
 635                     "This is the set of all elements contained in all specific "
 636                     "paths that are being summarized, so that those attributes "
 637                     "will remain available to the routing decision process.")]
 638              string AsSet;
 639           
 640                 [Description (
 641                     "This attribute defines the IP address of the border router "
 642                     "that should be used as the next hop to the destinations "
 643                     "listed in the UPDATE message."), 
 644                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrNextHop" }]
 645              string NextHop;
 646           
 647                 [Description (
 648                     "This defines the next hop to be the IP address of the "
 649                     "border IBGP neighbor.")]
 650              string NextHopSelf;
 651           
 652 karl  1.1       [Description (
 653                     "This is used on external (e.g., inter-AS) links to indicate "
 654                     "which is the preferred entry point into an AS, when that AS "
 655                     "has multiple entry points. Lower MED values have "
 656                     "preference."), 
 657                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrMultiExitDisc" }]
 658              uint32 MED;
 659           
 660                 [Description (
 661                     "This defines a group of destinations that share a similar "
 662                     "property. Communities are not restricted to a single AS, "
 663                     "and can span multiple ASs. This attribute is used to "
 664                     "simplify routing policies by basing policies on a logical "
 665                     "value, as opposed to an IP address or an AS number.")]
 666              uint32 BGPCommunityValue;
 667           
 668                 [Description (
 669                     "This property is set to TRUE if there are overlapping "
 670                     "routes, and a less-specific route is selected instead of a "
 671                     "more specific one (e.g., a system propagates an aggregate "
 672                     "that causes loss of information). The value is set to FALSE "
 673 karl  1.1           "if a less-specific route is NOT selected."), 
 674                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrAtomicAggregate" 
 675                     }]
 676              boolean AtomicAggregate;
 677           
 678                 [Description (
 679                     "This specifies the AS and IP address of the router that has "
 680                     "generated an aggregate."), 
 681                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrAggregatorAS" }]
 682              string Aggregator;
 683           
 684                 [Description (
 685                     "This is generated by the AS that originates the routing "
 686                     "information. There are three types of origins - IGP, EGP, "
 687                     "and INCOMPLETE. These correspond to whether the information "
 688                     "was learned internally in the AS, externally via an EGP, or "
 689                     "by some other means."), 
 690                  ValueMap { "1", "2", "3" }, 
 691                  Values { "IGP", "EGP", "INCOMPLETE" }, 
 692                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrOrigin" }]
 693              uint16 Origin;
 694 karl  1.1 
 695                 [Description (
 696                     "This is the router ID for the ORIGIN attribute.")]
 697              string OriginatorID;
 698           };
 699           
 700           
 701           // ==================================================================
 702           // HostedBGPAttributes
 703           // ==================================================================
 704              [Association, Version ( "2.7.0" ), Description (
 705                  "The class BGPAttributes is weak to the AutonomousSystem that "
 706                  "contains it. This association formalizes that relationship.")]
 707           class CIM_HostedBGPAttributes : CIM_HostedDependency {
 708           
 709                 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
 710                     "The AutonomousSystem that scopes the BGP attributes.")]
 711              CIM_AutonomousSystem REF Antecedent;
 712           
 713                 [Override ( "Dependent" ), Weak, Description (
 714                     "The BGP attributes defined in the context of the "
 715 karl  1.1           "AutonomousSystem.")]
 716              CIM_BGPAttributes REF Dependent;
 717           };
 718           
 719           
 720           // ==================================================================
 721           // FilteredBGPAttributes
 722           // ==================================================================
 723              [Association, Aggregation, Version ( "2.7.0" ), Description (
 724                  "This is a specialization of the Component aggregation, which "
 725                  "is used to define the set of BGP Attributes that are used by a "
 726                  "particular Routing Policy.")]
 727           class CIM_FilteredBGPAttributes : CIM_Component {
 728           
 729                 [Aggregate, Override ( "GroupComponent" ), Description (
 730                     "The RoutingPolicy, which aggregates a set of BGP "
 731                     "attributes.")]
 732              CIM_RoutingPolicy REF GroupComponent;
 733           
 734                 [Override ( "PartComponent" ), Description (
 735                     "A BGP attribute, which is part-of the RoutingPolicy.")]
 736 karl  1.1    CIM_BGPAttributes REF PartComponent;
 737           };
 738           
 739           
 740           // ==================================================================
 741           // BGPRouteMap
 742           // ==================================================================
 743              [Version ( "2.7.0" ), Description (
 744                  "A route map is used to control and modify routing information "
 745                  "as well as to define when a route is redistributed between "
 746                  "routing domains. Route maps are placed in router configuration "
 747                  "files, and several instances of the same route map may be used "
 748                  "to implement different actions. RouteMaps MAY use FilterLists "
 749                  "to identify the route. \n"
 750                  "\n"
 751                  "A BGPRouteMap is specific to a given AutonomousSystem that "
 752                  "contains it. Hence, the keys of the AutonomousSystem are "
 753                  "propagated to this class.")]
 754           class CIM_BGPRouteMap : CIM_LogicalElement {
 755           
 756                 [Key, Propagated ( "CIM_AutonomousSystem.CreationClassName" ), 
 757 karl  1.1        Description (
 758                     "The scoping AutonomousSystem's CreationClassName."), 
 759                  MaxLen ( 256 )]
 760              string SystemCreationClassName;
 761           
 762                 [Key, Propagated ( "CIM_AutonomousSystem.Name" ), Description (
 763                     "The scoping AutonomousSystem's Name."), 
 764                  MaxLen ( 256 )]
 765              string SystemName;
 766           
 767                 [Key, Description (
 768                     "CreationClassName indicates the name of the class or the "
 769                     "subclass used in the creation of an instance. When used "
 770                     "with the other key properties of this class, this property "
 771                     "allows all instances of this class and its subclasses to be "
 772                     "uniquely identified.")]
 773              string CreationClassName;
 774           
 775                 [Key, Override ( "Name" ), Description (
 776                     "This is the name of the RouteMap class."), 
 777                  MaxLen ( 256 )]
 778 karl  1.1    string Name;
 779           
 780                 [Description (
 781                     "This defines whether this RouteMap is used for input, "
 782                     "output, or both input and output filtering."), 
 783                  ValueMap { "1", "2", "3" }, 
 784                  Values { "Input", "Output", "Both" }]
 785              uint16 Direction;
 786           
 787                 [Description (
 788                     "This defines whether the action should be to forward or "
 789                     "deny traffic meeting the match condition specified in this "
 790                     "RouteMap."), 
 791                  ValueMap { "1", "2" }, 
 792                  Values { "Permit", "Deny" }]
 793              uint16 Action;
 794           
 795                 [Description (
 796                     "This specifies the criteria that must be matched in order "
 797                     "for the corresponding MatchAction to take effect. The "
 798                     "matching of the criteria may be specified by using a "
 799 karl  1.1           "FilterList. For example, the command 'match ip address foo' "
 800                     "uses the FilterList named 'foo' to do the matching of IP "
 801                     "addresses."), 
 802                  ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9" }, 
 803                  Values { "Other", "Source Address and Mask",
 804                     "Destination Address and Mask", "Source Port",
 805                     "Source Port Range", "Destination Port",
 806                     "Destination Port Range", "Protocol Type",
 807                     "Protocol Type and Option" }, 
 808                  ModelCorrespondence { "CIM_BGPRouteMap.OtherMatchConditionType" 
 809                     }]
 810              uint16 MatchConditionType;
 811           
 812                 [Description (
 813                     "If the value of the MatchConditionType property in this "
 814                     "class is 1 (i.e., \"Other\"), then the specific type of "
 815                     "filtering is specified in this property."), 
 816                  ModelCorrespondence { "CIM_BGPRouteMap.MatchConditionType" }]
 817              string OtherMatchConditionType;
 818           
 819                 [Description (
 820 karl  1.1           "This defines an additional action to take if the "
 821                     "MatchCondition is satisfied. This definition is "
 822                     "specifically limited to BGP filtering at this time. The "
 823                     "actual value of the metric is specified in the "
 824                     "SetMetricValue property."), 
 825                  ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9" }, 
 826                  Values { "Origin", "AS_Path", "NEXT_HOP", "Multi_Exit_Disc",
 827                     "Local_Pref", "Atomic_Aggregate", "Aggregator", "Community",
 828                     "Originator_ID" }, 
 829                  ModelCorrespondence { "CIM_BGPRouteMap.SetMetricValue" }]
 830              uint16 SetMetricType;
 831           
 832                 [Description (
 833                     "This is the value of the metric that is being set for the "
 834                     "BGP attribute defined in the SetMetricType property.")]
 835              string SetMetricValue;
 836           };
 837           
 838           
 839           // ==================================================================
 840           // HostedBGPRouteMap
 841 karl  1.1 // ==================================================================
 842              [Association, Version ( "2.6.0" ), Description (
 843                  "A BGPRouteMap is weak to the AutonomousSystem that contains "
 844                  "it. This association formalizes that relationship.")]
 845           class CIM_HostedBGPRouteMap : CIM_HostedDependency {
 846           
 847                 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
 848                     "The AutonomousSystem that scopes the BGPRouteMap.")]
 849              CIM_AutonomousSystem REF Antecedent;
 850           
 851                 [Override ( "Dependent" ), Weak, Description (
 852                     "The BGPRouteMap defined in the context of the "
 853                     "AutonomousSystem.")]
 854              CIM_BGPRouteMap REF Dependent;
 855           };
 856           
 857           
 858           // ==================================================================
 859           // BGPRouteMapsInRoutingPolicy
 860           // ==================================================================
 861              [Association, Aggregation, Version ( "2.6.0" ), Description (
 862 karl  1.1        "This aggregation defines the BGPRouteMaps that are used by a "
 863                  "particular RoutingPolicy object. Multiple instances of the "
 864                  "same RouteMap may be used in the same RoutingPolicy instance. "
 865                  "If this is desired, then the Sequence attribute of this "
 866                  "aggregation can be used to disambiguate them.")]
 867           class CIM_BGPRouteMapsInRoutingPolicy : CIM_Component {
 868           
 869                 [Aggregate, Override ( "GroupComponent" ), Description (
 870                     "The RoutingPolicy that aggregates the RouteMaps.")]
 871              CIM_RoutingPolicy REF GroupComponent;
 872           
 873                 [Override ( "PartComponent" ), Description (
 874                     "The RouteMaps that are used by the RoutingPolicy.")]
 875              CIM_BGPRouteMap REF PartComponent;
 876           
 877                 [Description (
 878                     "This defines the position of this RouteMap instance "
 879                     "relative to all other instances of the same RouteMap.")]
 880              uint16 MapSequence;
 881           };
 882           
 883 karl  1.1 
 884           // ==================================================================
 885           // BGPPeerUsesRouteMap
 886           // ==================================================================
 887              [Association, Aggregation, Version ( "2.6.0" ), Description (
 888                  "This association defines the RouteMaps that are aggregated and "
 889                  "used by a particular BGPPeerGroup object. Multiple instances "
 890                  "of the same RouteMap may be aggregated into the same "
 891                  "BGPPeerGroup. If this is desired, then the MapSequence "
 892                  "attribute of the association can be used to disambiguate them.")]
 893           class CIM_BGPPeerUsesRouteMap : CIM_CollectedMSEs {
 894           
 895                 [Aggregate, Override ( "Collection" ), Description (
 896                     "The BGPPeerGroup that aggregates the RouteMaps.")]
 897              CIM_BGPPeerGroup REF Collection;
 898           
 899                 [Override ( "Member" ), Description (
 900                     "The RouteMaps that are used by the BGPPeerGroup.")]
 901              CIM_BGPRouteMap REF Member;
 902           
 903                 [Description (
 904 karl  1.1           "This defines the position of this RouteMap instance "
 905                     "relative to all other instances of the same RouteMap.")]
 906              uint16 MapSequence;
 907           };
 908           
 909           
 910           // ==================================================================
 911           // FilterListsInBGPRouteMap
 912           // ==================================================================
 913              [Association, Version ( "2.6.0" ), Description (
 914                  "RouteMaps do not have to use FilterLists, but if they do, this "
 915                  "association defines which FilterList is used by a particular "
 916                  "RouteMap.")]
 917           class CIM_FilterListsInBGPRouteMap : CIM_Dependency {
 918           
 919                 [Override ( "Antecedent" ), Description (
 920                     "The FilterList used by a RouteMap.")]
 921              CIM_FilterList REF Antecedent;
 922           
 923                 [Override ( "Dependent" ), Description (
 924                     "The RouteMap using the FilterList.")]
 925 karl  1.1    CIM_BGPRouteMap REF Dependent;
 926           };
 927           
 928           
 929           // ==================================================================
 930           // BGPPathAttributes
 931           // ==================================================================
 932              [Version ( "2.7.0" ), Description (
 933                  "This class defines the per-path information used to process "
 934                  "specific BGP attribute information, as defined in the "
 935                  "bgp4PathAttrTable of RFC 1657.")]
 936           class CIM_BGPPathAttributes : CIM_LogicalElement {
 937           
 938                 [Key, Description (
 939                     "A comma-separated list of AS numbers, as would be stored in "
 940                     "the value portion of the path segment in the "
 941                     "PathAttrASPathSegment property. This list can be ordered or "
 942                     "unordered."), 
 943                  MaxLen ( 512 )]
 944              string ASNumbers;
 945           
 946 karl  1.1       [Key, Description (
 947                     "This is the address of the border router that should be "
 948                     "used for the destination network."), 
 949                  MaxLen ( 32 ), 
 950                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrNextHop" }]
 951              string PathAttrNextHop;
 952           
 953                 [Description (
 954                     "This property and its description are taken directly from "
 955                     "RFC 1657. The property represents a sequence of AS path "
 956                     "segments. Each AS path segment is represented by the tuple: "
 957                     "\n<type, length, value> \n"
 958                     "The type is a 1-octet field which has two possible values: "
 959                     "\n1 = AS_SET \n"
 960                     "2 = AS_SEQUENCE \n"
 961                     "An AS_SET is an unordered set of ASs representing the path "
 962                     "that an UPDATE message has traversed, and an AS_SEQUENCE is "
 963                     "an ordered set of ASs representing the path that an UPDATE "
 964                     "message has traversed. \n"
 965                     "The length is a 1-octet field containing the number of ASs "
 966                     "in the value field. \n"
 967 karl  1.1           "The value field contains one or more AS numbers, each AS is "
 968                     "represented in the octet string as a pair of octets "
 969                     "according to the following algorithm: \n"
 970                     "first-byte-of-pair = ASNumber / 256; \n"
 971                     "second-byte-of-pair = ASNumber & 255; \n"
 972                     "This property is mapped from the bgp4PathAttrASPathSegment "
 973                     "MIB variable, which is an OctetString. Its length is "
 974                     "defined as a minimum of 2 and a maximum of 255 octets."), 
 975                  OctetString, 
 976                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrASPathSegment" }]
 977              uint8 PathAttrASPathSegment[];
 978           
 979                 [Description (
 980                     "This is an enumeration that defines the ultimate origin of "
 981                     "the path information. The value 'IGP' means that the origin "
 982                     "is interior; the value 'EGP' means that it was learned via "
 983                     "an EGP; the value 'INCOMPLETE' means that the origin is "
 984                     "undetermined."), 
 985                  ValueMap { "1", "2", "3" }, 
 986                  Values { "IGP", "EGP", "Incomplete" }, 
 987                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrOrigin" }]
 988 karl  1.1    uint16 PathAttrOrigin;
 989           
 990                 [Description (
 991                     "This metric is used to discriminate between multiple "
 992                     "adjacent autonomous systems. A value of -1 indicates the "
 993                     "absence of this attribute. The range of this attribute is "
 994                     "defined to be -1 to 2147483647."), 
 995                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrMultiExitDisc" }]
 996              sint32 PathAttrMultiExitDisc;
 997           
 998                 [Description (
 999                     "This is the originating BGP4 speaker's degree of preference "
1000                     "for an advertised route. A value of -1 indicates the "
1001                     "absence of this attribute. The range of this attribute is "
1002                     "defined to be -1 to 2147483647."), 
1003                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrLocalPref" }]
1004              sint32 PathAttrLocalPref;
1005           
1006                 [Description (
1007                     "This is an enumeration that defines whether or not the "
1008                     "local system has selected a less specific route without "
1009 karl  1.1           "selecting a more specific route. There are two values, 1 "
1010                     "and 2, indicating that a less specific route has not and "
1011                     "has been selected, respectively. This is a 32-bit integer "
1012                     "to correspond to the IETF MIB."), 
1013                  ValueMap { "0", "1", "2" }, 
1014                  Values { "Unknown", "Less Specific Not Selected",
1015                     "Less Specific Selected" }, 
1016                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrAtomicAggregate" 
1017                     }]
1018              uint32 PathAttrAtomicAggregate;
1019           
1020                 [Description (
1021                     "This is the AS number of the last BGP speaker that "
1022                     "performed route aggregation. A value of 0 indicates the "
1023                     "absence of this attribute. The range of this attribute is "
1024                     "defined to be 0 to 65535."), 
1025                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrAggregatorAS" }]
1026              uint16 PathAttrAggregatorAS;
1027           
1028                 [Description (
1029                     "This is the IP address of the last BGP speaker that "
1030 karl  1.1           "performed route aggregation. A value of 0.0.0.0 indicates "
1031                     "the absence of this attribute."), 
1032                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrAggregatorAddr" 
1033                     }]
1034              string PathAttrAggregatorAddr;
1035           
1036                 [Description (
1037                     "This is the degree of preference calculated by the "
1038                     "receiving BGP speaker for an advertised route. A value of "
1039                     "-1 indicates the absence of this attribute. The range of "
1040                     "this attribute is defined to be -1 to 2147483647."), 
1041                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrCalcLocalPref" }]
1042              sint16 PathAttrCalcLocalPref;
1043           
1044                 [Description (
1045                     "This is an indication of whether or not this route was "
1046                     "chosen as the best BGP route. There are three possible "
1047                     "values, 0 (Unknown), 1 (FALSE) and 2 (TRUE)."), 
1048                  ValueMap { "0", "1", "2" }, 
1049                  Values { "Unknown", "False", "True" }, 
1050                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrBest" }]
1051 karl  1.1    uint16 PathAttrBest;
1052           
1053                 [Description (
1054                     "This contains one or more path atributes not understood by "
1055                     "this BGP speaker. It is a array of path attributes that are "
1056                     "not understood. The number of attributes is placed in a "
1057                     "separate property of this class, PathAttrUnknownNumber."), 
1058                  OctetString, 
1059                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrUnknown" }, 
1060                  ModelCorrespondence { 
1061                     "CIM_BGPPathAttributes.PathAttrUnknownNumber" }]
1062              string PathAttrUnknown[];
1063           
1064                 [Description (
1065                     "The number of unknown attributes in the array, "
1066                     "PathAttrUnknown."), 
1067                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrUnknown" }, 
1068                  ModelCorrespondence { "CIM_BGPPathAttributes.PathAttrUnknown" }]
1069              uint16 PathAttrUnknownNumber;
1070           };
1071           
1072 karl  1.1 
1073           // ==================================================================
1074           // BGPAttributesForRoute
1075           // ==================================================================
1076              [Association, Version ( "2.7.0" ), Description (
1077                  "This defines the attributes that are transmitted between BGP "
1078                  "peers on a per-route basis.")]
1079           class CIM_BGPAttributesForRoute : CIM_Dependency {
1080           
1081                 [Override ( "Antecedent" ), Max ( 1 ), Description (
1082                     "The BGPPathAttribute object that may be associated with a "
1083                     "BGPIPRoute.")]
1084              CIM_BGPPathAttributes REF Antecedent;
1085           
1086                 [Override ( "Dependent" ), Max ( 1 ), Description (
1087                     "The BGPIPRoute that may have an associated set of per-peer "
1088                     "attributes.")]
1089              CIM_BGPIPRoute REF Dependent;
1090           
1091                 [Description (
1092                     "This defines the IP address of the peer where the path "
1093 karl  1.1           "information was learned."), 
1094                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrPeer" }, 
1095                  ModelCorrespondence { 
1096                     "CIM_BGPAttributesForRoute.PathAttrIPAddrPrefixLen",
1097                     "CIM_BGPAttributesForRoute.PathAttrIPAddrPrefix" }]
1098              string PathAttrPeer;
1099           
1100                 [Description (
1101                     "This defines the length in bits of the IP address prefix "
1102                     "for the property, PathAttrPeer. The range is 0 to 32."), 
1103                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrIpAddrPrefixLen" 
1104                     }, 
1105                  ModelCorrespondence { "CIM_BGPAttributesForRoute.PathAttrPeer" }]
1106              uint8 PathAttrIPAddrPrefixLen;
1107           
1108                 [Description (
1109                     "The IP address prefix of the property, PathAttrPeer. Its "
1110                     "length is specified by the property, "
1111                     "PathAttrIpAddrPrefixLen."), 
1112                  MappingStrings { "MIB.IETF|BGP4-MIB.bgp4PathAttrIpAddrPrefix" }, 
1113                  ModelCorrespondence { "CIM_BGPAttributesForRoute.PathAttrPeer",
1114 karl  1.1           "CIM_BGPAttributesForRoute.PathAttrIPAddrPrefixLen" }]
1115              string PathAttrIPAddrPrefix;
1116           };
1117           
1118           
1119           // ==================================================================
1120           // BGPServiceAttributes
1121           // ==================================================================
1122              [Association, Deprecated { "No value" }, Aggregation,
1123                  Version ( "2.7.0" ), Description (
1124                  "This is a specialization of the Component aggregation. This "
1125                  "aggregation defines the set of BGPPathAttributes that are "
1126                  "transmitted in per-path UPDATE messages. The association is "
1127                  "deprecated since it is incorrectly defined as a Component "
1128                  "relationship, and since the properties of BGPPathAttribute are "
1129                  "path/endpoint-specific (not defined at the level of the "
1130                  "Service).")]
1131           class CIM_BGPServiceAttributes : CIM_Component {
1132           
1133                 [Deprecated { "No value" }, Aggregate,
1134                     Override ( "GroupComponent" ), Max ( 1 ), Description (
1135 karl  1.1           "The BGPService that aggregates BGPPathAttributes as part of "
1136                     "its routing information.")]
1137              CIM_BGPService REF GroupComponent;
1138           
1139                 [Deprecated { "No value" }, Override ( "PartComponent" ),
1140                  Max ( 1 ), Description (
1141                     "The BGP attribute, which are part-of the BGP UPDATE "
1142                     "message.")]
1143              CIM_BGPPathAttributes REF PartComponent;
1144           };
1145           
1146           
1147           // ==================================================================
1148           // BGPEndpointStatistics
1149           // ==================================================================
1150              [Version ( "2.7.0" ), Description (
1151                  "This class contains statistical information for a connection "
1152                  "on a BGPProtocolEndpoint. It is defined as a subclass of "
1153                  "StatisticalData and associated with the Endpoint using the "
1154                  "relationship, ElementStatisticalData.")]
1155           class CIM_BGPEndpointStatistics : CIM_StatisticalData {
1156 karl  1.1 
1157                 [Description (
1158                     "This is the number of BGP UPDATE messages received on this "
1159                     "router's BGP connection. This is a 32-bit counter."), 
1160                  Counter, 
1161                  MappingStrings { "MIB.IETF|BGP4-MIB.bgpPeerInUpdates" }]
1162              uint32 InUpdates;
1163           
1164                 [Description (
1165                     "This is the number of BGP UPDATE messages transmitted on "
1166                     "this router's BGP connection. This is a 32-bit counter."), 
1167                  Counter, 
1168                  MappingStrings { "MIB.IETF|BGP4-MIB.bgpPeerOutUpdates" }]
1169              uint32 OutUpdates;
1170           
1171                 [Description (
1172                     "This is the total number of BGP messages received on this "
1173                     "router's BGP connection. This is a 32-bit counter."), 
1174                  Counter, 
1175                  MappingStrings { "MIB.IETF|BGP4-MIB.bgpPeerInTotalMessages" }]
1176              uint32 InTotalMessages;
1177 karl  1.1 
1178                 [Description (
1179                     "This is the total number of BGP messages transmitted on "
1180                     "this router's BGP connection. This is a 32-bit counter."), 
1181                  Counter, 
1182                  MappingStrings { "MIB.IETF|BGP4-MIB.bgpPeerOutTotalMessages" }]
1183              uint32 OutTotalMessages;
1184           
1185                 [Description (
1186                     "This contains the last error code and error subcode for "
1187                     "this router's BGP connection. If no error has occurred, "
1188                     "then each integer in the array is zero."), 
1189                  MappingStrings { "MIB.IETF|BGP4-MIB.bgpPeerLastError" }]
1190              uint8 LastError [2];
1191           
1192                 [Description (
1193                     "This contains the total number of times that the BGP Finite "
1194                     "State Machine has transitioned into the established state "
1195                     "for this router's BGP connection. This is a 32-bit counter."), 
1196                  Counter, 
1197                  MappingStrings { 
1198 karl  1.1           "MIB.IETF|BGP4-MIB.bgpPeerFsmEstablishedTransitions" }]
1199              uint32 FsmEstablishedTransitions;
1200           
1201                 [Description (
1202                     "This indicates how long, in seconds, this peer has been in "
1203                     "the established state, or how long since this peer was last "
1204                     "in the established state. It is set to zero when a new peer "
1205                     "is configured or when the router is booted. This has the "
1206                     "semantics of a 32-bit gauge."), 
1207                  Units ( "Seconds" ), Gauge, 
1208                  MappingStrings { "MIB.IETF|BGP4-MIB.bgpPeerFsmEstablishedTime" }]
1209              uint32 FsmEstablishedTime;
1210           
1211                 [Description (
1212                     "This defines the time in seconds since the last BGP UPDATE "
1213                     "message was received from the peer. This has the semantics "
1214                     "of a 32-bit gauge."), 
1215                  Units ( "Seconds" ), Gauge, 
1216                  MappingStrings { "MIB.IETF|BGP4-MIB.bgpPeerInUpdateElapsedTime" 
1217                     }]
1218              uint32 InUpdateElapsedTime;
1219 karl  1.1 };
1220           
1221           
1222           // ==================================================================
1223           // BGPStatistics
1224           // ==================================================================
1225              [Deprecated { "CIM_BGPEndpointStatistics" }, Version ( "2.7.0" ), 
1226               Description (
1227                  "This class contains statistical information for a Service's "
1228                  "sessions. It is deprecated since the statistics are defined in "
1229                  "the BGP4 MIB at the level of individual peers/ endpoints.")]
1230           class CIM_BGPStatistics : CIM_ServiceStatisticalInformation {
1231           
1232                 [Deprecated { "CIM_BGPEndpointStatistics.InUpdates" }, 
1233                  Description (
1234                     "This is the number of BGP UPDATE messages received on this "
1235                     "router's BGP connection. This is a 32-bit counter."), 
1236                  Counter, 
1237                  MappingStrings { "MIB.IETF|BGP4-MIB.bgpPeerInUpdates" }]
1238              uint32 InUpdates;
1239           
1240 karl  1.1       [Deprecated { "CIM_BGPEndpointStatistics.OutUpdates" }, 
1241                  Description (
1242                     "This is the number of BGP UPDATE messages transmitted on "
1243                     "this router's BGP connection. This is a 32-bit counter."), 
1244                  Counter, 
1245                  MappingStrings { "MIB.IETF|BGP4-MIB.bgpPeerOutUpdates" }]
1246              uint32 OutUpdates;
1247           
1248                 [Deprecated { "CIM_BGPEndpointStatistics.InTotalMessages" }, 
1249                  Description (
1250                     "This is the total number of BGP messages received on this "
1251                     "router's BGP connection. This is a 32-bit counter."), 
1252                  Counter, 
1253                  MappingStrings { "MIB.IETF|BGP4-MIB.bgpPeerInTotalMessages" }]
1254              uint32 InTotalMessages;
1255           
1256                 [Deprecated { "CIM_BGPEndpointStatistics.OutTotalMessages" }, 
1257                  Description (
1258                     "This is the total number of BGP messages transmitted on "
1259                     "this router's BGP connection. This is a 32-bit counter."), 
1260                  Counter, 
1261 karl  1.1        MappingStrings { "MIB.IETF|BGP4-MIB.bgpPeerOutTotalMessages" }]
1262              uint32 OutTotalMessages;
1263           
1264                 [Deprecated { "CIM_BGPEndpointStatistics.LastError" }, 
1265                  Description (
1266                     "This contains the last error code and error subcode for "
1267                     "this router's BGP connection. If no error has occurred, "
1268                     "then each integer in the array is zero."), 
1269                  MappingStrings { "MIB.IETF|BGP4-MIB.bgpPeerLastError" }]
1270              uint8 LastError [2];
1271           
1272                 [Deprecated { 
1273                     "CIM_BGPEndpointStatistics.FsmEstablishedTransitions" }, 
1274                  Description (
1275                     "This contains the total number of times that the BGP Finite "
1276                     "State Machine has transitioned into the established state "
1277                     "for this router's BGP connection. This is a 32-bit counter."), 
1278                  Counter, 
1279                  MappingStrings { 
1280                     "MIB.IETF|BGP4-MIB.bgpPeerFsmEstablishedTransitions" }]
1281              uint32 FsmEstablishedTransitions;
1282 karl  1.1 
1283                 [Deprecated { "CIM_BGPEndpointStatistics.FsmEstablishedTime" }, 
1284                  Description (
1285                     "This indicates how long, in seconds, this peer has been in "
1286                     "the established state, or how long since this peer was last "
1287                     "in the established state. It is set to zero when a new peer "
1288                     "is configured or when the router is booted. This has the "
1289                     "semantics of a 32-bit gauge."), 
1290                  Units ( "Seconds" ), Gauge, 
1291                  MappingStrings { "MIB.IETF|BGP4-MIB.bgpPeerFsmEstablishedTime" }]
1292              uint32 FsmEstablishedTime;
1293           
1294                 [Deprecated { "CIM_BGPEndpointStatistics.InUpdateElapsedTime" }, 
1295                  Description (
1296                     "This defines the time in seconds since the last BGP UPDATE "
1297                     "message was received from the peer. This has the semantics "
1298                     "of a 32-bit gauge."), 
1299                  Units ( "Seconds" ), Gauge, 
1300                  MappingStrings { "MIB.IETF|BGP4-MIB.bgpPeerInUpdateElapsedTime" 
1301                     }]
1302              uint32 InUpdateElapsedTime;
1303 karl  1.1 };
1304           
1305           
1306           // ==================================================================
1307           // BGPServiceStatistics
1308           // ==================================================================
1309              [Association, Deprecated { "CIM_ElementStatisticalData" },
1310                  Version ( "2.7.0" ), Description (
1311                  "This association defines statistics collected for a BGP "
1312                  "Service. The relationship is deprecated since the class "
1313                  "BGPStatistics is deprecated. It is incorrectly associated with "
1314                  "a BGPService, but should instead be associated with a "
1315                  "BGPProtocolEndpoint using the ElementStatisticalData "
1316                  "relationship.")]
1317           class CIM_BGPServiceStatistics : CIM_ServiceStatistics {
1318           
1319                 [Deprecated { "CIM_ElementStatisticalData.Stats" },
1320                     Override ( "Stats" ), Max ( 1 ), Description (
1321                     "The statistics object for the BGP session.")]
1322              CIM_BGPStatistics REF Stats;
1323           
1324 karl  1.1       [Deprecated { "CIM_ElementStatisticalData.ManagedElement" },
1325                  Override ( "Element" ), Min ( 1 ), Max ( 1 ), Description (
1326                     "The BGPService for which statistics are being gathered.")]
1327              CIM_BGPService REF Element;
1328           };
1329           
1330           
1331           // ===================================================================
1332           // end of file
1333           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2