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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2