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