idnits 2.17.1 draft-ietf-idr-bgp4-mibv2-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? ** The document is more than 15 pages and seems to lack a Table of Contents. == No 'Intended status' indicated for this document; assuming Proposed Standard == It seems as if not all pages are separated by form feeds - found 0 form feeds but 67 pages Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** There are 44 instances of too long lines in the document, the longest one being 11 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == Line 245 has weird spacing: '...ient of the l...' == Line 284 has weird spacing: '...mmTable conta...' -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (November 21, 2001) is 8191 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Looks like a reference, but probably isn't: 'RFC2796' on line 2356 == Unused Reference: '20' is defined on line 2950, but no explicit reference was found in the text == Unused Reference: '22' is defined on line 2956, but no explicit reference was found in the text == Unused Reference: '23' is defined on line 2959, but no explicit reference was found in the text == Unused Reference: '25' is defined on line 2965, but no explicit reference was found in the text ** Obsolete normative reference: RFC 2571 (ref. '1') (Obsoleted by RFC 3411) ** Downref: Normative reference to an Informational RFC: RFC 1215 (ref. '4') ** Downref: Normative reference to an Historic RFC: RFC 1157 (ref. '8') ** Downref: Normative reference to an Historic RFC: RFC 1901 (ref. '9') ** Obsolete normative reference: RFC 1906 (ref. '10') (Obsoleted by RFC 3417) ** Obsolete normative reference: RFC 2572 (ref. '11') (Obsoleted by RFC 3412) ** Obsolete normative reference: RFC 2574 (ref. '12') (Obsoleted by RFC 3414) ** Obsolete normative reference: RFC 1905 (ref. '13') (Obsoleted by RFC 3416) ** Obsolete normative reference: RFC 2573 (ref. '14') (Obsoleted by RFC 3413) ** Obsolete normative reference: RFC 2575 (ref. '15') (Obsoleted by RFC 3415) ** Obsolete normative reference: RFC 1657 (ref. '17') (Obsoleted by RFC 4273) == Outdated reference: A later version (-15) exists of draft-ietf-idr-bgp4-mib-06 ** Obsolete normative reference: RFC 1771 (ref. '19') (Obsoleted by RFC 4271) ** Obsolete normative reference: RFC 3065 (ref. '21') (Obsoleted by RFC 5065) -- Possible downref: Non-RFC (?) normative reference: ref. '23' ** Obsolete normative reference: RFC 2796 (ref. '24') (Obsoleted by RFC 4456) -- Possible downref: Non-RFC (?) normative reference: ref. '25' Summary: 20 errors (**), 0 flaws (~~), 10 warnings (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Inter-Domain Routing Working Group J. Haas 3 Internet Draft NextHop 4 S. Hares 5 NextHop 6 W. Tackabury 7 Gold Wire Technology 9 November 21, 2001 11 Definitions of Managed Objects 12 for the Fourth Version of Border Gateway Protocol (BGP-4), 13 Second Version 14 16 Status of this Memo 18 This document is an Internet-Draft and is in full conformance with 19 all provisions of Section 10 of RFC2026. 21 Internet-Drafts are working documents of the Internet Engineering 22 Task Force (IETF), its areas, and its working groups. Note that 23 other groups may also distribute working documents as Internet- 24 Drafts. 26 Internet-Drafts are draft documents valid for a maximum of six months 27 and may be updated, replaced, or obsoleted by other documents at any 28 time. It is inappropriate to use Internet-Drafts as reference mate- 29 rial or to cite them other than as "work in progress." 31 The list of current Internet-Drafts can be accessed at 32 http://www.ietf.org/ietf/1id-abstracts.txt 34 The list of Internet-Draft Shadow Directories can be accessed at 35 http://www.ietf.org/shadow.html. 37 Copyright Notice 39 Copyright (C) The Internet Society (2001). All Rights Reserved. 41 Abstract 43 This memo defines a portion of the Management Information Base (MIB) 44 for use with network management protocols in TCP/IP-based internets. 45 In particular, this MIB defines objects that facilitate the 46 management of the Border Gateway Protocol Version 4 (BGP4). 48 Distribution of this memo is unlimited. 50 1. Introduction 52 This memo defines a portion of the Management Information Base (MIB) 53 for use with network management protocols in the Internet community. 54 In particular, it describes managed objects used for managing the 55 Border Gateway Protocol Version 4. 57 The SNMP Management Framework presently consists of five major compo- 58 nents: 60 o An overall architecture, described in RFC 2571 [1]. 62 o Mechanisms for describing and naming objects and events for 63 the purpose of management. The first version of this Structure 64 of Management Information (SMI) is called SMIv1 and described 65 in STD 16, RFC 1155 [2], STD 16, RFC 1212 [3] and RFC 1215 66 [4]. The second version, called SMIv2, is described in STD 58, 67 RFC 2578 [5], RFC 2579 [6] and RFC 2580 [7]. 69 o Message protocols for transferring management information. The 70 first version of the SNMP message protocol is called SNMPv1 71 and described in STD 15, RFC 1157 [8]. A second version of the 72 SNMP message protocol, which is not an Internet standards 73 track protocol, is called SNMPv2c and described in RFC 1901 74 [9] and RFC 1906 [10]. The third version of the message proto- 75 col is called SNMPv3 and described in RFC 1906 [10], RFC 2572 76 [11] and RFC 2574 [12]. 78 o Protocol operations for accessing management information. The 79 first set of protocol operations and associated PDU formats is 80 described in STD 15, RFC 1157 [8]. A second set of protocol 81 operations and associated PDU formats is described in RFC 1905 82 [13]. 84 o A set of fundamental applications described in RFC 2573 [14] 85 and the view-based access control mechanism described in RFC 86 2575 [15]. 88 A more detailed introduction to the current SNMP Management Framework 89 can be found in RFC 2570 [18]. 91 Managed objects are accessed via a virtual information store, termed 92 the Management Information Base or MIB. Objects in the MIB are 93 defined using the mechanisms defined in the SMI. 95 2. Objectives 97 This MIB Module is meant to broadly update and replace a prior MIB 98 Module defined in RFC 1657 [12]. Additionally, there is another 99 effort underway to address very specific limited objectives in updat- 100 ing points in the RFC 1657 object definition and managed object 101 attributes [13]. The MIB Module described herein is intended to 102 fully serve the functions and scope of RFC 1657 and these RFC 1657 103 updates. 105 2.1. Protocol Extensions 107 Additionally, however, there are a number of ways in which the BGP 108 Protocol has been enhanced through its ability for added capabili- 109 ties. Implementations of those capabilities have not been able to 110 have any management capabilities present in RFC 1657-compliant MIB 111 module agents, since the capabilities themselves postdated the adop- 112 tion of RFC 1657. For several significant capabilities, in the form 113 of BGP Communities [17], Autonomous System Confederation [16] , BGP 114 Multiprotocol Extensions [18], and Route Reflection [19], the MIB 115 Module defined in this document exposes object types to manage those 116 extended capabilities and their operation. 118 One of these extensions in particular (the multiprotocol extensions) 119 requires a thorough redefinition of MIB table row indices from the 120 RFC 1657 state. This allows transport-independent address indices 121 consistent with the Address Family Identifier (AFI) and Subsequent 122 Address Family Identifier (SAFI) mechanisms of that extension. 124 2.2. Mechanisms for MIB Extensibility 126 Moreover, the requirement for the incremental update of support for 127 capabilities such as these begs the issue of placing modular extensi- 128 bility for protocol extensions within the framework of the MIB 129 itself. Going forward, it would be very desirable to have attributes 130 of the MIB structure, and administrative procedures, to allow the 131 incremental update of the MIB scope to cover any such new protocol 132 extensions, without requiring a reissue of the entire MIB. In this 133 sense, we seek to structure the MIB much like the underlying BGP4 134 itself, allowing capability-by-capability update. 136 2.3. BGP Configuration 138 Finally, the definition and adoption of Version 3 of the SNMP has 139 occurred since the adoption of the RFC 1657 MIB. As a result, the 140 ability to deploy secure configuration of managed elements via SNMP 141 in a standardized way has become a reality for managed networks. In 142 this MIB definition effort, we seek to expose a more thorough capac- 143 ity for configuration of BGP4 and its capabilities than was present 144 in RFC 1657 or than was common practice at the time of its adoption. 146 3. MIB Organization 148 The MIB is broken down into several top level sections. This sec- 149 tionalization is important to create an organization for extensibil- 150 ity. 152 In general, a top level section of the MIB module will identify some 153 number of "core" scalar and tabular objects rooted off of it. If 154 there is sufficient depth within a subsection of one of these top- 155 level sections, the "core" subdivision off of the top level section 156 may provide multiple levels to the OBJECT IDENTIFIER scope necessary 157 to define its management data. 159 Once this core section is defined, however, each top-level section 160 has an explicit provision for an 'extensions' section OBJECT IDENTI- 161 FIER. The intent of the extensions section is to be containment for 162 discrete per-extension sections. By 'extension' here, we refer to 163 protocol mechanisms, capabilities, and exchanges which are not 164 defined in the base Border Gateway Protocol definition, or is not 165 configuration for protocol operations of similarly 'core' status. 166 Currently, we propose keying the identification within the per-exten- 167 sion section in one of two ways. 169 Where the extension is keyed to a defined capability which has an 170 associated BGP capability number assiged by IANA (for example, multi- 171 protocol BGP extensions), the per extension section will be that 172 defined IANA capability number. Where the extension has management 173 information suitable for a MIB extension but does not correspond to 174 an exchanged protocol capability (for example, BGP Route Reflection), 175 the extension section shall have its final OBJECT IDENTIFIER fragment 176 correspond to the RFC number which first uniquely defined the exten- 177 sion (i.e., not requiring renumbering at the time a defining RFC for 178 a protocol mechanism is outdated by a later RFC). 180 3.1. bgpBaseScalars 182 The bgpBaseScalars section (and corresponding OBJECT IDENTIFIER) is 183 used to delineate object types used for basic management and monitor- 184 ing of the protocol implementation. These are core parameters for 185 the local configuration. While notifications are designed to be 186 extensible into any other section in the MIB module, the currently 187 defined traps are located here, in a subsection 'bgpBaseNotifica- 188 tions'. This is rooted at index level zero (0) here, owing to con- 189 ventions established in [4]. 191 Support for multiple concurrently supported versions of BGP is 192 exposed through the entries of the bgpVersionTable. Similarly, sup- 193 port for multiple capabilities and authentication mechanisms, as 194 identified by their assigned numbers, are reported in the bgpSupport- 195 edCapabilitiesTable and bgpSupportedAuthTable respectively. 197 In the MIB document, there are currently basic scalar extension mech- 198 anisms to allow the agent to report membership of a local BGP Confed- 199 eration [21] or Route Reflection Cluster ID [24]. These are consis- 200 tent with the non-capability based extension section indexing guide- 201 lines as presented above. 203 3.2. bgpPeerData 205 The bgpPeerData section is per-peer object type definitions. The pre- 206 dominant table in that section (bgpPeerTable) describes the session, 207 negotiation state, and authentication state on a per peer basis. A 208 second table (bgpPrefixCountersTable) exposes information about indi- 209 vidual route prefixes received over each peer session. A separate 210 subsection and its subordinate table (bgpPeerErrorsTable) reports 211 information about the last error encountered on a given peering ses- 212 sion. 214 Further subsections report authentication state with the peer and 215 elapsed time it has taken to advance the peering session into various 216 states defined in the protocol FSM. 218 The bgpPeerConfiguredTimersTable reports and allows dynamic reset of 219 key timers on the peer session. These currently allow reset of hold 220 time and keepalive timer, for compatibility wity the same capabili- 221 ties in RFC 1657 [17]. For these resettable timers, their end-to-end 222 negotiated current values are reflected in the bgpPeerNegotiated- 223 TimersTable. 225 3.2.1. bgpPeerCapabilities 227 bgpPeerCapabilitiesData has objects and tables to describe BGP capa- 228 bilities locally supported, and those reported and negotiated over 229 each peer session. For tables supporting each of these capability 230 sets, capability code and data value are provided. Attention must be 231 given to the fact that multiple instances of a given capability can 232 be transmitted between BGP speakers. 234 3.2.2. bgpPeerCounters 236 The bgpCountersTable and bgpPrefixCountersTable report protocol 237 exhanges/FSM transitions, and discrete number of NLRIs exchanged per 238 peering session, respectively. This is independent of actual 239 exhanged path attributes, which are tabularized later in the MIB mod- 240 ule. 242 3.2.3. Peering Data Extensions 244 Route reflector status on a per-peer basis (whether the peer is a 245 client or nonClient of the local BGP router's reflected route propa- 246 gation), and peer confederation membership is reported in non capa- 247 bility extensions of the peering data section. 249 3.3. BGP Routing Information Base Data 251 An important table for providing index information for other tables 252 in the MIB module is the bgpNlriTable. This discriminates on a given 253 network prefix (by AFI/SAFI), and the peer which advertised the pre- 254 fix (since it can be heard of from multiple spakers). The bgpPathAt- 255 trIndex column which identifies each row in this table is used as an 256 index for other per-attribute tables through the remainder of the MIB 257 module. 259 The bgpPathAttrTable provides discrete BGP NLRI attributes which were 260 recieved with the advertisement of the prefix by its advertising 261 peer. Specific information about the autonomous system path (AS 262 Path) advertised with the NLRI, on a per AS value, is to be found in 263 the bgpAsPathTable. 265 Finally, where attributes which were unable to be reported in the 266 bgpPathAttrTable, the AS Path table, or any defined per-NLRI tables 267 in the agent were recieved with the prefix, those attributes are 268 reported via the bgpPathAttrUnknownTable. Short of advertised 269 attribute type, no semantic breakdown of the unknown attribute data 270 is provided. That data is only available as a raw OCTET STRING in 271 the bgpPathAttrUnknownValue column of this table. 273 3.3.1. Routing Information Base Extensions 275 There are two extension sections and five subordinate tables to the 276 bgp4PathAttrTable and RIB data OBJECT IDENTIFIER-delimited MIB module 277 section. The bgpPathAttrRouteReflectionExts and its contained bgp- 278 PathAttrOriginatorIdTable report on the originating route reflector. 279 The bgpPathAttrClusterTable specifically reports on the reflection 280 route a NLRI has traversed to get to the local BGP routing process. 282 The bgpPathAttrCommunityExts section deals with extended and non- 283 exteded communities for network routes. The bgpPathAttrCommTable 284 bgpPathAttrExtCommTable contained herein report community membership 285 (if any) on a per network-prefix basis. 287 3.4. Consideration On Table Indexing 289 There are certain efficiency concerns for row index management for 290 management applications which are useful to take into consideration, 291 given the nature of some of the tables implied in the preceding sec- 292 tion. 294 In the first place, it is valuable to exploit the direct relationship 295 of entries in, for example, the bgpPrefixCountersTable as they relate 296 to the entry in the bgpPeerTable to which they are related. More 297 compelling is the case of the one-to-many relationship between a row 298 entry in the bgpPeerTable and the bgp4PathAttrTable, the latter of 299 which maintains per-row entries for potentially many NLRIs as 300 received from a peer in a BGP UPDATE message. From the point of view 301 of normalizing these relationships, it would be useful to have a 302 direct reference to the "governing" bgpPeerTable row entry for the 303 peer which is a "dependency" for the subordinate table row entry for 304 other peer data. 306 Second, the nature of protocol-independent addressing makes the 307 indexing of these entries indirectly even more compelling. Even 308 accounting for the addressing requirements of IPv6 and the provision 309 of AFI and SAFI qualifiers, the logical addressing of a row in the 310 bgp4PathAttrClusterTable (for example) would extend out some 50 bytes 311 if there was no direct index linkage to the "governing" bgp4PathAt- 312 trTable, and bgpPeerTable entries. 314 For this reason, the tables are structured in such a way that, where 315 there is such a linkage to a "dependent" table (where, for example, 316 the bgpPrefixCountersTable "depends on" the bgpPeerTable), a table 317 will contain a per-row numeric index (e.g., bgpPeerIndex), which the 318 "dependent" table will use as one of its own row index values. These 319 indices are manufactured by the agent, and are otherwise opaque to 320 the management application (or, for that matter, even to the 321 organization of the "dependent" table[s]). 323 4. Definitions 325 BGP4-V2-MIB DEFINITIONS ::= BEGIN 327 IMPORTS 328 MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, 329 Integer32, Counter32, Gauge32, mib-2, 330 Unsigned32 331 FROM SNMPv2-SMI 332 InetAddressType, InetAddress 333 FROM INET-ADDRESS-MIB 334 TEXTUAL-CONVENTION, TruthValue, DisplayString, RowStatus 335 FROM SNMPv2-TC 336 MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP 337 FROM SNMPv2-CONF; 339 bgp MODULE-IDENTITY 340 LAST-UPDATED "200111200000Z" 341 ORGANIZATION "IETF IDR Working Group" 342 CONTACT-INFO "E-mail: idr@merit.net 344 Jeff Haas (Editor) 345 517 W. William Street 346 Ann Arbor, MI 48103-4943 347 Tel: +1 734 973-2200 348 Fax: +1 734 615-3241 349 E-mail: jhaas@nexthop.com" 351 DESCRIPTION 352 "This MIB module defines management objects for 353 the Border Gateway Protocol, Version 4." 354 ::= { mib-2 XXX } 356 BgpIdentifier ::= TEXTUAL-CONVENTION 357 DISPLAY-HINT "1d:" 358 -- jmh - is this right? 359 STATUS current 360 DESCRIPTION 361 "The representation of a BGP Identifier." 362 SYNTAX OCTET STRING(SIZE (4)) 364 BgpSafi ::= TEXTUAL-CONVENTION 365 DISPLAY-HINT "d" 366 STATUS current 367 DESCRIPTION 368 "The representation of a BGP Safi" 369 SYNTAX Unsigned32(0..255) 371 BgpAutonomousSystemNumber ::= TEXTUAL-CONVENTION 372 -- JMH - how is Cisco et al. representing the 4byte 373 -- versions? 374 DISPLAY-HINT "d" 375 STATUS current 376 DESCRIPTION 377 "An autonomous System Number. If bgpAsSize is 378 two-octet, the range is 0..65535. If it is 379 four-octet, it is the full range of Unsigned32." 380 SYNTAX Unsigned32 382 bgpBaseScalars 383 OBJECT IDENTIFIER ::= { bgp 1 } 385 bgpBaseNotifications 386 OBJECT IDENTIFIER ::= { bgpBaseScalars 0 } 388 bgpEstablished NOTIFICATION-TYPE 389 OBJECTS { 390 bgpPeerLocalAddrType, 391 bgpPeerLocalAddr, 392 bgpPeerRemoteAddrType, 393 bgpPeerRemoteAddr, 394 bgpPeerLastError, 395 bgpPeerState 396 } 397 STATUS current 398 DESCRIPTION 399 "The BGP Established event is generated when 400 the BGP FSM enters the ESTABLISHED state." 401 ::= { bgpBaseNotifications 1 } 403 bgpBackwardTransition NOTIFICATION-TYPE 404 OBJECTS { 405 bgpPeerLocalAddrType, 406 bgpPeerLocalAddr, 407 bgpPeerRemoteAddrType, 408 bgpPeerRemoteAddr, 409 bgpPeerLastError, 410 bgpPeerState 411 } 412 STATUS current 413 DESCRIPTION 414 "The BGPBackwardTransition Event is generated 415 when the BGP FSM moves from a higher numbered 416 state to a lower numbered state." 417 ::= { bgpBaseNotifications 2 } 419 bgpVersion 420 OBJECT IDENTIFIER ::= { bgpBaseScalars 1 } 422 -- 423 -- BGP Supported Version Table 424 -- 426 bgpVersionTable OBJECT-TYPE 427 SYNTAX SEQUENCE OF BgpVersionEntry 428 MAX-ACCESS not-accessible 429 STATUS current 430 DESCRIPTION 431 "Table of supported BGP versions." 432 ::= { bgpVersion 1 } 434 bgpVersionEntry OBJECT-TYPE 435 SYNTAX BgpVersionEntry 436 MAX-ACCESS not-accessible 437 STATUS current 438 DESCRIPTION 439 "Entry containing data on a given supported version of 440 the Border Gateway Protocol and the level of support 441 provided. It is expected that any agent implementation 442 supporting this MIB module will report support for 443 Version 4 of the Border Gateway Protocol at the very 444 minimum." 445 INDEX { bgpVersionIndex } 446 ::= { bgpVersionTable 1 } 448 BgpVersionEntry ::= SEQUENCE { 449 bgpVersionIndex 450 Unsigned32, 451 bgpVersionSupported 452 TruthValue 453 } 455 bgpVersionIndex OBJECT-TYPE 456 SYNTAX Unsigned32(0..255) 457 MAX-ACCESS read-only 458 STATUS current 459 DESCRIPTION 460 "The version number of the BGP Protocol." 461 ::= { bgpVersionEntry 1 } 463 bgpVersionSupported OBJECT-TYPE 464 SYNTAX TruthValue 465 MAX-ACCESS read-only 466 STATUS current 467 DESCRIPTION 468 "This value is TRUE if the version of the BGP protocol 469 identified in 'bgpVersionIndex' is supported." 470 ::= { bgpVersionEntry 2 } 472 bgpSupportedAuthentication 473 OBJECT IDENTIFIER ::= { bgpBaseScalars 2 } 475 -- 476 -- Supported authentication mechanisms 477 -- 479 bgpSupportedAuthTable OBJECT-TYPE 480 SYNTAX SEQUENCE OF BgpSupportedAuthEntry 481 MAX-ACCESS not-accessible 482 STATUS current 483 DESCRIPTION 484 "The supported BGP authentication mechanisms." 485 ::= { bgpSupportedAuthentication 1 } 487 bgpSupportedAuthEntry OBJECT-TYPE 488 SYNTAX BgpSupportedAuthEntry 489 MAX-ACCESS not-accessible 490 STATUS current 491 DESCRIPTION 492 "Entry containing information whether a given BGP 493 authentication mechanism is supported by this 494 implementation." 495 INDEX { bgpSupportedAuthCode } 496 ::= { bgpSupportedAuthTable 1 } 498 BgpSupportedAuthEntry ::= SEQUENCE { 499 bgpSupportedAuthCode 500 Unsigned32, 501 bgpSupportedAuthValue 502 TruthValue 503 } 505 bgpSupportedAuthCode OBJECT-TYPE 506 SYNTAX Unsigned32(0..255) 507 MAX-ACCESS read-only 508 STATUS current 509 DESCRIPTION 510 "The BGP authentication code." 511 ::= { bgpSupportedAuthEntry 1 } 513 bgpSupportedAuthValue OBJECT-TYPE 514 SYNTAX TruthValue 515 MAX-ACCESS read-only 516 STATUS current 517 DESCRIPTION 518 "This value is TRUE if a given authentication method 519 is supported by the local implementation." 520 ::= { bgpSupportedAuthEntry 2 } 522 bgpSupportedCapabilities 523 OBJECT IDENTIFIER ::= { bgpBaseScalars 3 } 525 -- 526 -- Supported BGP Capabilities 527 -- 529 bgpCapabilitySupportAvailable OBJECT-TYPE 530 SYNTAX TruthValue 531 MAX-ACCESS read-write 532 STATUS current 533 DESCRIPTION 534 "This variable determines whether BGP-4 535 capabilities are supported in this 536 implementation. This variable may be set to 537 false to disable capability support." 538 ::= { bgpSupportedCapabilities 1 } 540 bgpSupportedCapabilitiesTable OBJECT-TYPE 541 SYNTAX SEQUENCE OF BgpSupportedCapabilityEntry 542 MAX-ACCESS not-accessible 543 STATUS current 544 DESCRIPTION 545 "Table of supported BGP-4 capabilities." 546 ::= { bgpSupportedCapabilities 2 } 548 bgpSupportedCapabilitiesEntry OBJECT-TYPE 549 SYNTAX BgpSupportedCapabilityEntry 550 MAX-ACCESS not-accessible 551 STATUS current 552 DESCRIPTION 553 "Information about supported capabilities indexed 554 by capability number." 556 INDEX { 557 bgpSupportedCapabilityIndex 558 } 559 ::= { bgpSupportedCapabilitiesTable 1 } 561 BgpSupportedCapabilityEntry ::= SEQUENCE { 562 bgpSupportedCapabilityIndex 563 Unsigned32, 564 bgpSupportedCapability 565 TruthValue 566 } 568 bgpSupportedCapabilityIndex OBJECT-TYPE 569 SYNTAX Unsigned32 (0..255) 570 MAX-ACCESS read-only 571 STATUS current 572 DESCRIPTION 573 "Index of supported capability. The index directly 574 corresponds with the BGP-4 Capability Advertisement 575 Capability Code." 576 ::= { bgpSupportedCapabilitiesEntry 1 } 578 bgpSupportedCapability OBJECT-TYPE 579 SYNTAX TruthValue 580 MAX-ACCESS read-only 581 STATUS current 582 DESCRIPTION 583 "This value is True if this capability is supported, 584 False otherwise." 585 ::= { bgpSupportedCapabilitiesEntry 2 } 587 bgpAsSize OBJECT-TYPE 588 SYNTAX INTEGER { 589 twoOctet(1), 590 fourOctet(2) 591 } 592 MAX-ACCESS read-only 593 STATUS current 594 DESCRIPTION 595 "The size of the AS value in this implementation. 597 The semantics of this are determined as per the 598 as-4bytes draft." 599 REFERENCE 600 "draft-ietf-idr-as4bytes-04" 602 ::= { bgpBaseScalars 4 } 604 bgpLocalAs OBJECT-TYPE 605 SYNTAX BgpAutonomousSystemNumber 606 MAX-ACCESS read-write 607 STATUS current 608 DESCRIPTION 609 "The local autonomous system number. 611 If the bgpAsSize is twoOctet, then the range is 612 constrained to be 0-65535." 613 ::= { bgpBaseScalars 5 } 615 bgpLocalIdentifier OBJECT-TYPE 616 SYNTAX BgpIdentifier 617 MAX-ACCESS read-write 618 STATUS current 619 DESCRIPTION 620 "The BGP Identifier of the local system. 622 Current practice is trending away from this value being 623 treated as an IP address and more as a generic 624 identifier." 625 ::= { bgpBaseScalars 6 } 627 -- 628 -- Base Scalar Extensions 629 -- 631 bgpBaseScalarExtensions OBJECT IDENTIFIER ::= 632 { bgpBaseScalars 7 } 634 bgpBaseScalarNonCapExts OBJECT IDENTIFIER ::= 635 { bgpBaseScalarExtensions 1 } 637 bgpBaseScalarCapExts OBJECT IDENTIFIER ::= 638 { bgpBaseScalarExtensions 2 } 640 -- 641 -- Base Scalar AS Confederation Extensions 642 -- 644 bgpBaseScalarASConfederationExts OBJECT IDENTIFIER ::= 645 { bgpBaseScalarNonCapExts 1965 } 647 bgpConfederationId OBJECT-TYPE 648 SYNTAX BgpAutonomousSystemNumber 649 MAX-ACCESS read-write 650 STATUS current 651 DESCRIPTION 652 "The local Confederation Identification Number. 654 A value of zero (0) indicates the absence of this 655 value." 656 REFERENCE 657 "RFC 3065 - Autonomous System Confederations for BGP" 658 ::= { bgpBaseScalarASConfederationExts 1 } 660 -- 661 -- Base Scalar Route Reflection Extensions 662 -- 664 bgpBaseScalarRouteReflectionExts OBJECT IDENTIFIER ::= 665 { bgpBaseScalarNonCapExts 1966 } 667 bgpClusterId OBJECT-TYPE 668 SYNTAX BgpIdentifier 669 MAX-ACCESS read-write 670 STATUS current 671 DESCRIPTION 672 "The configured Cluster-ID of the local router. 674 A value of 0.0.0.0 indicates the absence of this 675 value." 676 REFERENCE 677 "RFC 2796 - BGP Route Reflection" 678 ::= { bgpBaseScalarRouteReflectionExts 1 } 680 bgpPeer 681 OBJECT IDENTIFIER ::= { bgp 2 } 683 bgpPeerData 684 OBJECT IDENTIFIER ::= { bgpPeer 1 } 686 -- 687 -- BGP Peer Data 688 -- 690 bgpPeerTable OBJECT-TYPE 691 SYNTAX SEQUENCE OF BgpPeerEntry 692 MAX-ACCESS not-accessible 693 STATUS current 694 DESCRIPTION 695 "BGP peer table. 697 This table contains, one entry per BGP peer, 698 and information about the connections with BGP 699 peers." 700 ::= { bgpPeerData 1 } 702 bgpPeerEntry OBJECT-TYPE 703 SYNTAX BgpPeerEntry 704 MAX-ACCESS not-accessible 705 STATUS current 706 DESCRIPTION 707 "Entry containing information about the connection with 708 a BGP peer." 709 INDEX { 710 -- JMH We should only need one AddrType? 711 bgpPeerLocalAddrType, 712 bgpPeerLocalAddr, 713 bgpPeerRemoteAddrType, 714 bgpPeerRemoteAddr 715 } 716 ::= { bgpPeerTable 1 } 718 BgpPeerEntry ::= SEQUENCE { 719 bgpPeerIdentifier 720 BgpIdentifier, 721 bgpPeerState 722 INTEGER, 723 bgpPeerAdminStatus 724 INTEGER, 725 bgpPeerConfiguredVersion 726 Unsigned32, 727 bgpPeerNegotiatedVersion 728 Unsigned32, 729 bgpPeerLocalAddrType 730 InetAddressType, 731 bgpPeerLocalAddr 732 InetAddress, 733 bgpPeerLocalPort 734 Integer32, 735 bgpPeerLocalAs 736 BgpAutonomousSystemNumber, 737 bgpPeerRemoteAddrType 738 InetAddressType, 739 bgpPeerRemoteAddr 740 InetAddress, 741 bgpPeerRemotePort 742 Integer32, 743 bgpPeerRemoteAs 744 BgpAutonomousSystemNumber, 745 bgpPeerIndex 746 Unsigned32, 747 bgpPeerRowEntryStatus 748 RowStatus 749 } 751 bgpPeerIdentifier OBJECT-TYPE 752 SYNTAX BgpIdentifier 753 MAX-ACCESS read-only 754 STATUS current 755 DESCRIPTION 756 "The BGP Identifier of this entry's BGP peer. 758 This entry should be 0.0.0.0 unless the bgpPeerState is 759 in the openconfirm or the established state." 760 ::= { bgpPeerEntry 1 } 762 bgpPeerState OBJECT-TYPE 763 SYNTAX INTEGER { 764 idle(1), 765 connect(2), 766 active(3), 767 opensent(4), 768 openconfirm(5), 769 established(6) 770 } 771 MAX-ACCESS read-only 772 STATUS current 773 DESCRIPTION 774 "The BGP peer's FSM state." 775 ::= { bgpPeerEntry 2 } 777 -- JMH 778 -- The work here is done by a transition. 779 -- This implies that we stay in a state even though 780 -- automatic start/stop events imply strobing something 781 -- even when the state machine is running. 782 bgpPeerAdminStatus OBJECT-TYPE 783 SYNTAX INTEGER { 784 stop(1), 785 start(2) 786 } 787 MAX-ACCESS read-write 788 STATUS current 789 DESCRIPTION 790 "The desired state of the BGP connection. 792 A transition from 'stop' to 'start' will cause the BGP 793 Start Event to be generated. 795 A transition from 'start' to 'stop' will cause the BGP 796 Stop Event to be generated. 798 This parameter can be used to restart BGP peer 799 connections. Care should be used in providing write 800 access to this object without adequate authentication." 801 ::= { bgpPeerEntry 3 } 803 -- JMH 804 -- Added this 805 bgpPeerConfiguredVersion OBJECT-TYPE 806 SYNTAX Unsigned32 (1..255) 807 MAX-ACCESS read-write 808 STATUS current 809 DESCRIPTION 810 "The configured version to originally start with this 811 peer. The BGP speaker may permit negotiation to a 812 lower version number of the protocol." 813 ::= { bgpPeerEntry 4 } 815 bgpPeerNegotiatedVersion OBJECT-TYPE 816 SYNTAX Unsigned32 (1..255) 817 MAX-ACCESS read-only 818 STATUS current 819 DESCRIPTION 820 "The negotiated version of BGP running between the two 821 peers." 822 ::= { bgpPeerEntry 5 } 824 bgpPeerLocalAddrType OBJECT-TYPE 825 SYNTAX InetAddressType 826 MAX-ACCESS read-write 827 STATUS current 828 DESCRIPTION 829 "The address family of the local end of the peering 830 session." 831 ::= { bgpPeerEntry 6 } 833 bgpPeerLocalAddr OBJECT-TYPE 834 SYNTAX InetAddress (SIZE (20)) 835 MAX-ACCESS read-write 836 STATUS current 837 DESCRIPTION 838 "The address of the local end of the peering session." 839 ::= { bgpPeerEntry 7 } 841 bgpPeerLocalPort OBJECT-TYPE 842 SYNTAX Integer32 (-1 | 0..65535) 843 MAX-ACCESS read-only 844 STATUS current 845 DESCRIPTION 846 "The local port for the transport connection between the BGP 847 peers. In the case of a transport for which the notion of 848 'port' is irrelevant, an instance value of -1 should be returned 849 by the agent for this object." 850 ::= { bgpPeerEntry 8 } 852 bgpPeerLocalAs OBJECT-TYPE 853 SYNTAX BgpAutonomousSystemNumber 854 MAX-ACCESS read-write 855 STATUS current 856 DESCRIPTION 857 "Some implementations of BGP can represent themselves 858 as multiple ASs. This is the AS that this peering 859 session is representing itself as to the remote peer." 860 ::= { bgpPeerEntry 9 } 862 bgpPeerRemoteAddrType OBJECT-TYPE 863 SYNTAX InetAddressType 864 MAX-ACCESS read-write 865 STATUS current 866 DESCRIPTION 867 "The address family of the remote end of the peering 868 session." 869 ::= { bgpPeerEntry 10 } 871 bgpPeerRemoteAddr OBJECT-TYPE 872 SYNTAX InetAddress (SIZE (20)) 873 MAX-ACCESS read-write 874 STATUS current 875 DESCRIPTION 876 "The address of the remote end of the peering session." 878 ::= { bgpPeerEntry 11 } 880 bgpPeerRemotePort OBJECT-TYPE 881 SYNTAX Integer32 (-1 | 0..65535) 882 MAX-ACCESS read-write 883 STATUS current 884 DESCRIPTION 885 "The remote port for the TCP connection between 886 the BGP peers. In the case of a transport for 887 which the notion of 'port' is irrelevant, an 888 instance value of -1 should be returned 889 by the agent for this object. 891 -- JMH - this text needs updating 892 Note that the objects bgpPeerLocalAddr, 893 bgpPeerLocalPort, bgpPeerRemoteAddr and 894 bgpPeerRemotePort provide the appropriate reference to 895 the standard MIB TCP connection table. or even the ipv6 896 tcp MIB as in rfc2452." 897 ::= { bgpPeerEntry 12 } 899 bgpPeerRemoteAs OBJECT-TYPE 900 SYNTAX BgpAutonomousSystemNumber 901 MAX-ACCESS read-write 902 STATUS current 903 DESCRIPTION 904 "The remote autonomous system number." 905 ::= { bgpPeerEntry 13 } 907 bgpPeerIndex OBJECT-TYPE 908 SYNTAX Unsigned32 909 MAX-ACCESS read-only 910 STATUS current 911 DESCRIPTION 912 "This value is a unique index for the peer entry in the 913 bgpPeerTable. It is assigned by the agent at the point 914 of creation of the bgpPeerTable row entry. While its 915 value is guaranteed to be unique at any time, it is 916 otherwise opaque to the management application with 917 respect to its value or the contiguity of bgpPeerIndex 918 row instance values across rows of the bgpPeerTable. It 919 is used to provide an index structure for other tables 920 whose data is logically per-peer." 921 -- +++wayne (from Tom Nadeau): need text describing fate sharing of index, if 922 -- peering session comes up, peer disconnects, and then this or other peer 923 -- connects again. Will this grow monotonically? (I think that's the question) 924 ::= { bgpPeerEntry 14 } 926 bgpPeerRowEntryStatus OBJECT-TYPE 927 SYNTAX RowStatus 928 MAX-ACCESS read-only 929 STATUS current 930 DESCRIPTION 931 "This object type reflects the status of the row within the 932 agent. Note that this is independent of the bgpPeerAdminStatus 933 which reflects the underlying peering session itself. An instance 934 of this row is returned by the agent to reflect the validity of the 935 current state of this row. The valid RowStatus enumeration values 936 for this are 'active', 'notInService', and 'notReady'." 937 -- +++wayne need better definition of the three states, better analysis of 938 -- whether this should be read-write, and what, if any, the interaction of setting 939 -- bgpPeerAdminStatus to 'stop'. At some point, the entry should age out of the 940 -- agent, and this needs to track that (in addition to its creation from 941 -- bgpPeerCfgTable row data). 942 ::= { bgpPeerEntry 15 } 944 bgpPeerErrors 945 OBJECT IDENTIFIER ::= { bgpPeer 2 } 947 bgpPeerErrorsTable OBJECT-TYPE 948 SYNTAX SEQUENCE OF BgpPeerErrorsEntry 949 MAX-ACCESS not-accessible 950 STATUS current 951 DESCRIPTION 952 "On a per peer basis, this table reflects the last 953 protocol-defined error encountered and reported on the 954 peer session. If no entry for a given peer, by its 955 bgpPeerIndex, exists in this table, then no such errors 956 have been observed, reported, and recorded on the 957 session." 958 ::= { bgpPeerErrors 1 } 960 bgpPeerErrorsEntry OBJECT-TYPE 961 SYNTAX BgpPeerErrorsEntry 962 MAX-ACCESS not-accessible 963 STATUS current 964 DESCRIPTION 965 "Each entry contains information about an error on 966 a given BGP peer session." 967 INDEX { bgpPeerIndex } 968 ::= { bgpPeerErrorsTable 1 } 970 BgpPeerErrorsEntry ::= SEQUENCE { 971 bgpPeerLastError 972 OCTET STRING, 973 bgpPeerLastErrorData 974 Unsigned32 975 } 977 bgpPeerLastError OBJECT-TYPE 978 SYNTAX OCTET STRING (SIZE (2)) 979 MAX-ACCESS read-only 980 STATUS current 981 DESCRIPTION 982 "The last error code and subcode seen by this peer on 983 this connection. If no error has occurred, this field 984 is zero. Otherwise, the first byte of this two byte 985 OCTET STRING contains the error code, and the second 986 byte contains the subcode." 987 REFERENCE 988 "draft-ietf-bgp4-15.txt, Sec. 4.5" 989 ::= { bgpPeerErrorsEntry 1 } 991 bgpPeerLastErrorData OBJECT-TYPE 992 SYNTAX Unsigned32 (0..4075) 993 MAX-ACCESS read-only 994 STATUS current 995 DESCRIPTION 996 "The last error code's data seen by this peer on this 997 connection." 998 ::= { bgpPeerErrorsEntry 2 } 1000 bgpPeerAuthentication 1001 OBJECT IDENTIFIER ::= { bgpPeer 3 } 1003 -- 1004 -- Peer Authentication 1005 -- 1007 bgpPeerAuthTable OBJECT-TYPE 1008 SYNTAX SEQUENCE OF BgpPeerAuthEntry 1009 MAX-ACCESS not-accessible 1010 STATUS current 1011 DESCRIPTION 1012 "BGP peer authentication table. 1014 This table contains, one entry per BGP peer, 1015 information about the authentication with BGP peers." 1016 ::= { bgpPeerAuthentication 1 } 1018 bgpPeerAuthEntry OBJECT-TYPE 1019 SYNTAX BgpPeerAuthEntry 1020 MAX-ACCESS not-accessible 1021 STATUS current 1022 DESCRIPTION 1023 "Entry containing information about the authentication 1024 with a BGP peer." 1025 INDEX { bgpPeerIndex } 1026 ::= { bgpPeerAuthTable 1 } 1028 BgpPeerAuthEntry ::= SEQUENCE { 1029 bgpPeerAuthSent 1030 TruthValue, 1031 bgpPeerAuthSentCode 1032 Unsigned32, 1033 bgpPeerAuthSentValue 1034 OCTET STRING, 1035 bgpPeerAuthRcvd 1036 TruthValue, 1037 bgpPeerAuthRcvdCode 1038 Unsigned32, 1039 bgpPeerAuthRcvdValue 1040 OCTET STRING 1041 } 1043 bgpPeerAuthSent OBJECT-TYPE 1044 SYNTAX TruthValue 1045 MAX-ACCESS read-write 1046 STATUS current 1047 DESCRIPTION 1048 "The local peer has sent authentication 1049 to the remote peer in the BGP Authentication 1050 field." 1051 ::= { bgpPeerAuthEntry 1 } 1053 bgpPeerAuthSentCode OBJECT-TYPE 1054 SYNTAX Unsigned32 (0..255) 1055 MAX-ACCESS read-write 1056 STATUS current 1057 DESCRIPTION 1058 "The code of the authentication information sent 1059 the remote peer." 1060 ::= { bgpPeerAuthEntry 2 } 1062 bgpPeerAuthSentValue OBJECT-TYPE 1063 SYNTAX OCTET STRING (SIZE (0..255)) 1064 -- jmh length is too much 1065 -- +++wayne get value from...IPSec MIB? Any opaque TC there to use? 1066 MAX-ACCESS read-write 1067 STATUS current 1068 DESCRIPTION 1069 "The payload of the authentication information 1070 from the remote peer." 1071 ::= { bgpPeerAuthEntry 3 } 1073 bgpPeerAuthRcvd OBJECT-TYPE 1074 SYNTAX TruthValue 1075 MAX-ACCESS read-only 1076 STATUS current 1077 DESCRIPTION 1078 "The local peer has received authentication 1079 from the remote peer in the BGP Authentication 1080 field." 1081 ::= { bgpPeerAuthEntry 4 } 1083 bgpPeerAuthRcvdCode OBJECT-TYPE 1084 SYNTAX Unsigned32 (0..255) 1085 MAX-ACCESS read-only 1086 STATUS current 1087 DESCRIPTION 1088 "The code of the authentication information 1089 from the remote peer." 1090 ::= { bgpPeerAuthEntry 5 } 1092 bgpPeerAuthRcvdValue OBJECT-TYPE 1093 SYNTAX OCTET STRING (SIZE (0..255)) 1094 -- jmh length is too much 1095 MAX-ACCESS read-only 1096 STATUS current 1097 DESCRIPTION 1098 "The payload of the authentication information 1099 from the remote peer." 1100 ::= { bgpPeerAuthEntry 6 } 1102 bgpPeerTimers 1103 OBJECT IDENTIFIER ::= { bgpPeer 4 } 1105 -- 1106 -- Peer Event Times 1107 -- 1109 bgpPeerEventTimesTable OBJECT-TYPE 1110 SYNTAX SEQUENCE OF BgpPeerEventTimesEntry 1111 MAX-ACCESS not-accessible 1112 STATUS current 1113 DESCRIPTION 1114 "A table reporting the per-peering session amount of time 1115 elapsed and update events since the peering session 1116 advanced into the 'established' state." 1117 ::= { bgpPeerTimers 1 } 1119 bgpPeerEventTimesEntry OBJECT-TYPE 1120 SYNTAX BgpPeerEventTimesEntry 1121 MAX-ACCESS not-accessible 1122 STATUS current 1123 DESCRIPTION 1124 "Each row contains a set of statistics about time 1125 spent and events encountered in the peer session 1126 'established' state." 1127 INDEX { bgpPeerIndex } 1128 ::= { bgpPeerEventTimesTable 1 } 1130 BgpPeerEventTimesEntry ::= SEQUENCE { 1131 bgpPeerFsmEstablishedTime 1132 Gauge32, 1133 bgpPeerInUpdatesElapsedTime 1134 Gauge32 1135 } 1137 bgpPeerFsmEstablishedTime OBJECT-TYPE 1138 SYNTAX Gauge32 1139 MAX-ACCESS read-only 1140 STATUS current 1141 DESCRIPTION 1142 "This timer indicates how long (in seconds) this 1143 peer has been in the Established state or how long 1144 since this peer was last in the Established state. 1145 It is set to zero when a new peer is configured or 1146 the router is booted." 1147 ::= { bgpPeerEventTimesEntry 1 } 1149 bgpPeerInUpdatesElapsedTime OBJECT-TYPE 1150 SYNTAX Gauge32 1151 MAX-ACCESS read-only 1152 STATUS current 1153 DESCRIPTION 1154 "Elapsed time in seconds since the last BGP 1155 message was received from the peer. Each time 1156 bgpPeerInUpdates is incremented, the value of this 1157 object is set to zero (0)." 1158 ::= { bgpPeerEventTimesEntry 2 } 1160 -- 1161 -- Peer Configured Timers 1162 -- 1164 bgpPeerConfiguredTimersTable OBJECT-TYPE 1165 SYNTAX SEQUENCE OF BgpPeerConfiguredTimersEntry 1166 MAX-ACCESS not-accessible 1167 STATUS current 1168 DESCRIPTION 1169 "Per peer management data on BGP session timers." 1170 ::= { bgpPeerTimers 2 } 1172 bgpPeerConfiguredTimersEntry OBJECT-TYPE 1173 SYNTAX BgpPeerConfiguredTimersEntry 1174 MAX-ACCESS not-accessible 1175 STATUS current 1176 DESCRIPTION 1177 "Each entry corresponds to the current state of BGP 1178 timers on a given peering session." 1179 INDEX { bgpPeerIndex } 1180 ::= { bgpPeerConfiguredTimersTable 1 } 1182 BgpPeerConfiguredTimersEntry ::= SEQUENCE { 1183 bgpPeerConnectRetryInterval 1184 Unsigned32, 1185 bgpPeerHoldTimeConfigured 1186 Unsigned32, 1187 bgpPeerKeepAliveConfigured 1188 Unsigned32, 1189 bgpPeerMinASOriginationInterval 1190 Unsigned32, 1191 bgpPeerMinRouteAdvertiseInterval 1192 Unsigned32 1193 } 1195 bgpPeerConnectRetryInterval OBJECT-TYPE 1196 SYNTAX Unsigned32 (1..65535) 1197 MAX-ACCESS read-write 1198 STATUS current 1199 DESCRIPTION 1200 "Time interval in seconds for the ConnectRetry 1201 timer. The suggested value for this timer is 120 1202 seconds." 1203 ::= { bgpPeerConfiguredTimersEntry 1 } 1205 bgpPeerHoldTimeConfigured OBJECT-TYPE 1206 SYNTAX Unsigned32 ( 0 | 3..65535 ) 1207 MAX-ACCESS read-write 1208 STATUS current 1209 DESCRIPTION 1210 "Time interval in seconds for the Hold Time configured 1211 for this BGP speaker with this peer. This value 1212 is placed in an OPEN message sent to this peer by 1213 this BGP speaker, and is compared with the Hold 1214 Time field in an OPEN message received from the 1215 peer when determining the Hold Time (bgpPeerHoldTime) 1216 with the peer. This value must not be less than 1217 three seconds if it is not zero (0) in which case 1218 the Hold Time is NOT to be established with the 1219 peer. The suggested value for this timer is 90 1220 seconds." 1221 REFERENCE 1222 "RFC 1771, p. 9" 1223 ::= { bgpPeerConfiguredTimersEntry 2 } 1225 bgpPeerKeepAliveConfigured OBJECT-TYPE 1226 SYNTAX Unsigned32 ( 0 | 1..21845 ) 1227 MAX-ACCESS read-write 1228 STATUS current 1229 DESCRIPTION 1230 "Time interval in seconds for the KeepAlive 1231 configured for this BGP speaker with this 1232 peer. The value of this object will only 1233 determine the KEEPALIVE messages' frequency 1234 relative to the value specified in 1235 bgpPeerHoldTimeConfigured; the actual time 1236 interval for the KEEPALIVE messages is 1237 indicated by bgpPeerKeepAlive. A 1238 reasonable maximum value for this timer 1239 would be configured to be one third 1240 of that of bgpPeerHoldTimeConfigured. 1242 If the value of this object is zero (0), 1243 no periodical KEEPALIVE messages are sent to 1244 the peer after the BGP connection has been 1245 established. 1247 The suggested value for this timer is 30 1248 seconds." 1249 REFERENCE 1250 "RFC 1771, pp. 17-18" 1251 ::= { bgpPeerConfiguredTimersEntry 3 } 1253 bgpPeerMinASOriginationInterval OBJECT-TYPE 1254 SYNTAX Unsigned32 (1..65535) 1255 MAX-ACCESS read-write 1256 STATUS current 1257 DESCRIPTION 1258 "Time interval in seconds for the 1259 timer. The suggested value for this timer is 15 1260 seconds." 1261 ::= { bgpPeerConfiguredTimersEntry 4 } 1263 bgpPeerMinRouteAdvertiseInterval OBJECT-TYPE 1264 SYNTAX Unsigned32 (1..65535) 1265 MAX-ACCESS read-write 1266 STATUS current 1267 DESCRIPTION 1268 "Time interval in seconds for the 1269 MinRouteAdvertisementInterval timer. The 1270 value for this timer is 30 seconds." 1271 ::= { bgpPeerConfiguredTimersEntry 5 } 1273 -- 1274 -- Peer Negotiated Timers 1275 -- 1277 bgpPeerNegotiatedTimersTable OBJECT-TYPE 1278 SYNTAX SEQUENCE OF BgpPeerNegotiatedTimersEntry 1279 MAX-ACCESS not-accessible 1280 STATUS current 1281 DESCRIPTION 1282 "Current values of per-peer timers which can be 1283 dynamically set in the bgpPeerConfiguredTimersTable. 1284 Values reflected in this table are the current 1285 operational values, after negotiation from values 1286 derived from initial configuration or last set from 1287 bgpPeerConfiguredTimersTable row instances." 1288 ::= { bgpPeerTimers 3 } 1290 bgpPeerNegotiatedTimersEntry OBJECT-TYPE 1291 SYNTAX BgpPeerNegotiatedTimersEntry 1292 MAX-ACCESS not-accessible 1293 STATUS current 1294 DESCRIPTION 1295 "Each entry reflects a value of the currently 1296 operational, negotiated timers as reflected in the 1297 BgpPeerNegotiatedTimersEntry." 1298 INDEX { bgpPeerIndex } 1299 ::= { bgpPeerNegotiatedTimersTable 1 } 1301 BgpPeerNegotiatedTimersEntry ::= SEQUENCE { 1302 bgpPeerHoldTime 1303 Integer32, 1304 bgpPeerKeepAlive 1305 Integer32 1306 } 1308 bgpPeerHoldTime OBJECT-TYPE 1309 SYNTAX Integer32 ( 0 | 3..65535 ) 1310 MAX-ACCESS read-only 1311 STATUS current 1312 DESCRIPTION 1313 "Time interval in seconds for the Hold Timer 1314 established with the peer. The value of this 1315 is calculated by this BGP speaker by using the 1316 smaller of the value in bgpPeerHoldTimeConfigured 1317 and the Hold Time received in the OPEN message. 1318 This value must be at least three seconds if it is 1319 not zero (0) in which case the Hold Timer has not 1320 been established with the peer, or, the value of 1321 bgpPeerHoldTimeConfigured is zero (0)." 1322 -- +++wayne (from Tom Nadeau) would like to see enumerated cases of 1323 -- description as this has too many subcases. 1324 ::= { bgpPeerNegotiatedTimersEntry 1 } 1326 bgpPeerKeepAlive OBJECT-TYPE 1327 SYNTAX Integer32 ( 0 | 1..21845 ) 1328 MAX-ACCESS read-only 1329 STATUS current 1330 DESCRIPTION 1331 "Time interval in seconds for the KeepAlive timer 1332 established with the peer. The value of this 1333 is calculated by this BGP speaker such that, when 1334 compared with bgpPeerHoldTime, it has the same 1335 proportion as what bgpPeerKeepAliveConfigured has 1336 when compared with bgpPeerHoldTimeConfigured. If 1337 the value of this object is zero (0), it indicates 1338 that the KeepAlive timer has not been established 1339 with the peer, or, the value of 1340 bgpPeerKeepAliveConfigured is zero (0)." 1341 ::= { bgpPeerNegotiatedTimersEntry 2 } 1343 bgpPeerCapabilities 1344 OBJECT IDENTIFIER ::= { bgpPeer 5 } 1346 -- 1347 -- Peer Capabilities 1348 -- 1350 -- 1351 -- Announced Capabilities 1352 -- 1354 bgpPeerCapsAnnouncedTable OBJECT-TYPE 1355 SYNTAX SEQUENCE OF BgpPeerCapsAnnouncedEntry 1356 MAX-ACCESS not-accessible 1357 STATUS current 1358 DESCRIPTION 1359 "This table contains contains the capabilities 1360 that are supported for a given peer." 1361 ::= { bgpPeerCapabilities 1 } 1363 bgpPeerCapsAnnouncedEntry OBJECT-TYPE 1364 SYNTAX BgpPeerCapsAnnouncedEntry 1365 MAX-ACCESS not-accessible 1366 STATUS current 1367 DESCRIPTION 1368 "These entries are keyed by a BGP-4 peer remote 1369 address and the BGP Capability Code" 1370 INDEX { 1371 bgpPeerIndex, 1372 bgpPeerCapAnnouncedCode, 1373 bgpPeerCapAnnouncedIndex 1374 } 1375 ::= { bgpPeerCapsAnnouncedTable 1 } 1377 BgpPeerCapsAnnouncedEntry ::= SEQUENCE { 1378 bgpPeerCapAnnouncedCode 1379 Unsigned32, 1380 bgpPeerCapAnnouncedIndex 1381 Unsigned32, 1382 bgpPeerCapAnnouncedLength 1383 Unsigned32, 1384 bgpPeerCapAnnouncedValue 1385 OCTET STRING 1386 } 1388 bgpPeerCapAnnouncedCode OBJECT-TYPE 1389 SYNTAX Unsigned32 (0..255) 1390 MAX-ACCESS read-only 1391 STATUS current 1392 DESCRIPTION 1393 "The BGP Capability Advertisement Capability Code." 1394 ::= { bgpPeerCapsAnnouncedEntry 1 } 1396 bgpPeerCapAnnouncedIndex OBJECT-TYPE 1397 SYNTAX Unsigned32 (1..128) 1398 MAX-ACCESS read-only 1399 STATUS current 1400 DESCRIPTION 1401 "Multiple instances of a given capability may be sent 1402 bgp a BGP speaker. This variable is used to index them." 1403 ::= { bgpPeerCapsAnnouncedEntry 2 } 1405 bgpPeerCapAnnouncedLength OBJECT-TYPE 1406 SYNTAX Unsigned32 1407 MAX-ACCESS read-only 1408 STATUS current 1409 DESCRIPTION 1410 "The length of the announced capability." 1411 ::= { bgpPeerCapsAnnouncedEntry 3 } 1413 bgpPeerCapAnnouncedValue OBJECT-TYPE 1414 SYNTAX OCTET STRING (SIZE(0..255)) 1415 MAX-ACCESS read-only 1416 STATUS current 1417 DESCRIPTION 1418 "The value of the announced capability." 1419 ::= { bgpPeerCapsAnnouncedEntry 4 } 1421 -- 1422 -- Received Capabilities 1423 -- 1425 bgpPeerCapsReceivedTable OBJECT-TYPE 1426 SYNTAX SEQUENCE OF Bgp4PeerCapsReceivedEntry 1427 MAX-ACCESS not-accessible 1428 STATUS current 1429 DESCRIPTION 1430 "This table contains contains the capabilities 1431 that are supported for a given peer." 1432 ::= { bgpPeerCapabilities 2 } 1434 bgpPeerCapsReceivedEntry OBJECT-TYPE 1435 SYNTAX Bgp4PeerCapsReceivedEntry 1436 MAX-ACCESS not-accessible 1437 STATUS current 1438 DESCRIPTION 1439 "These entries are keyed by a BGP-4 peer remote 1440 address and the BGP Capability Code" 1441 INDEX { 1442 bgpPeerRemoteAddrType, 1443 bgpPeerRemoteAddr, 1444 bgpPeerCapReceivedCode, 1445 bgpPeerCapReceivedIndex 1446 } 1447 ::= { bgpPeerCapsReceivedTable 1 } 1449 Bgp4PeerCapsReceivedEntry ::= SEQUENCE { 1450 bgpPeerCapReceivedCode 1451 Unsigned32, 1452 bgpPeerCapReceivedIndex 1453 Unsigned32, 1454 bgpPeerCapReceivedLength 1455 Unsigned32, 1456 bgpPeerCapReceivedValue 1457 OCTET STRING 1458 } 1460 bgpPeerCapReceivedCode OBJECT-TYPE 1461 SYNTAX Unsigned32 (0..255) 1462 MAX-ACCESS read-only 1463 STATUS current 1464 DESCRIPTION 1465 "The BGP Capability Advertisement Capability Code." 1466 ::= { bgpPeerCapsReceivedEntry 1 } 1468 bgpPeerCapReceivedIndex OBJECT-TYPE 1469 SYNTAX Unsigned32 (1..128) 1470 MAX-ACCESS read-only 1471 STATUS current 1472 DESCRIPTION 1473 "Multiple instances of a given capability may be sent 1474 bgp a BGP speaker. This variable is used to index them." 1476 ::= { bgpPeerCapsReceivedEntry 2 } 1478 bgpPeerCapReceivedLength OBJECT-TYPE 1479 SYNTAX Unsigned32 1480 MAX-ACCESS read-only 1481 STATUS current 1482 DESCRIPTION 1483 "The length of the announced capability." 1484 ::= { bgpPeerCapsReceivedEntry 3 } 1486 bgpPeerCapReceivedValue OBJECT-TYPE 1487 SYNTAX OCTET STRING (SIZE(0..255)) 1488 MAX-ACCESS read-only 1489 STATUS current 1490 DESCRIPTION 1491 "The value of the announced capability." 1492 ::= { bgpPeerCapsReceivedEntry 4 } 1494 bgpPeerCounters 1495 OBJECT IDENTIFIER ::= { bgpPeer 6 } 1497 bgpPeerCountersTable OBJECT-TYPE 1498 SYNTAX SEQUENCE OF BgpPeerCountersEntry 1499 MAX-ACCESS not-accessible 1500 STATUS current 1501 DESCRIPTION 1502 "The counters associated with a BGP Peer." 1503 ::= { bgpPeerCounters 1 } 1505 bgpPeerCountersEntry OBJECT-TYPE 1506 SYNTAX BgpPeerCountersEntry 1507 MAX-ACCESS not-accessible 1508 STATUS current 1509 DESCRIPTION 1510 "Each entry contains counters of messsage transmissions 1511 and FSM transitions for a given BGP Peering session." 1512 INDEX { bgpPeerIndex } 1513 ::= { bgpPeerCountersTable 1 } 1515 BgpPeerCountersEntry ::= SEQUENCE { 1516 bgpPeerInUpdates 1517 Counter32, 1518 bgpPeerOutUpdates 1519 Counter32, 1520 bgpPeerInTotalMessages 1521 Counter32, 1522 bgpPeerOutTotalMessages 1523 Counter32, 1524 bgpPeerFsmEstablishedTransitions 1525 Counter32 1526 } 1528 -- +++wayne need to describe what happens if connection is broken 1529 -- and then reestablished. Does the prior counter value accumulate? 1531 bgpPeerInUpdates OBJECT-TYPE 1532 SYNTAX Counter32 1533 MAX-ACCESS read-only 1534 STATUS current 1535 DESCRIPTION 1536 "The number of BGP UPDATE messages received on this 1537 connection. This object should be initialized to zero 1538 (0) when the connection is established." 1539 ::= { bgpPeerCountersEntry 1 } 1541 bgpPeerOutUpdates OBJECT-TYPE 1542 SYNTAX Counter32 1543 MAX-ACCESS read-only 1544 STATUS current 1545 DESCRIPTION 1546 "The number of BGP UPDATE messages transmitted on this 1547 connection. This object should be initialized to zero 1548 (0) when the connection is established." 1549 ::= { bgpPeerCountersEntry 2 } 1551 bgpPeerInTotalMessages OBJECT-TYPE 1552 SYNTAX Counter32 1553 MAX-ACCESS read-only 1554 STATUS current 1555 DESCRIPTION 1556 "The total number of messages received from the remote 1557 peer on this connection. This object should be 1558 initialized to zero when the connection is established." 1559 ::= { bgpPeerCountersEntry 3 } 1561 bgpPeerOutTotalMessages OBJECT-TYPE 1562 SYNTAX Counter32 1563 MAX-ACCESS read-only 1564 STATUS current 1565 DESCRIPTION 1566 "The total number of messages transmitted to the remote 1567 peer on this connection. This object should be 1568 initialized to zero when the connection is established." 1569 ::= { bgpPeerCountersEntry 4 } 1571 bgpPeerFsmEstablishedTransitions OBJECT-TYPE 1572 SYNTAX Counter32 1573 MAX-ACCESS read-only 1574 STATUS current 1575 DESCRIPTION 1576 "The total number of times the BGP FSM 1577 transitioned into the established state 1578 for this peer." 1579 ::= { bgpPeerCountersEntry 5 } 1581 -- 1582 -- Per-Peer Prefix Counters 1583 -- 1585 bgpPrefixCountersTable OBJECT-TYPE 1586 SYNTAX SEQUENCE OF BgpPrefixCountersEntry 1587 MAX-ACCESS not-accessible 1588 STATUS current 1589 DESCRIPTION 1590 "Additional per-peer, per AFI/SAFI counters for prefixes" 1591 ::= { bgpPeerCounters 2 } 1593 bgpPrefixCountersEntry OBJECT-TYPE 1594 SYNTAX BgpPrefixCountersEntry 1595 MAX-ACCESS not-accessible 1596 STATUS current 1597 DESCRIPTION 1598 "Entry containing information about a bgp-peer's prefix 1599 counters." 1600 INDEX { 1601 bgpPeerIndex, 1602 bgpPrefixCountersAfi, 1603 bgpPrefixCountersSafi 1604 } 1605 ::= { bgpPrefixCountersTable 1 } 1607 BgpPrefixCountersEntry ::= SEQUENCE { 1608 -- JMH 1609 -- do we really need AFI and safi in the table? 1610 bgpPrefixCountersAfi 1611 InetAddressType, 1612 bgpPrefixCountersSafi 1613 BgpSafi, 1614 bgpPrefixInPrefixes 1615 Gauge32, 1616 bgpPrefixInPrefixesAccepted 1617 Gauge32, 1618 bgpPrefixInPrefixesRejected 1619 Gauge32, 1620 bgpPrefixOutPrefixes 1621 Gauge32 1622 } 1624 bgpPrefixCountersAfi OBJECT-TYPE 1625 SYNTAX InetAddressType 1626 MAX-ACCESS read-only 1627 STATUS current 1628 DESCRIPTION 1629 "The AFI index of the per-peer, per prefix counters" 1630 ::= { bgpPrefixCountersEntry 1 } 1632 bgpPrefixCountersSafi OBJECT-TYPE 1633 SYNTAX BgpSafi 1634 MAX-ACCESS read-only 1635 STATUS current 1636 DESCRIPTION 1637 "The SAFI index of the per-peer, per prefix counters" 1638 ::= { bgpPrefixCountersEntry 2 } 1640 bgpPrefixInPrefixes OBJECT-TYPE 1641 SYNTAX Gauge32 1642 MAX-ACCESS read-only 1643 STATUS current 1644 DESCRIPTION 1645 "The number of prefixes received from a peer and are 1646 stored in the Adj-Ribs-In for that peer." 1647 -- jmh - note that we're allowing stuff to be discarded 1648 ::= { bgpPrefixCountersEntry 7 } 1650 bgpPrefixInPrefixesAccepted OBJECT-TYPE 1651 SYNTAX Gauge32 1652 MAX-ACCESS read-only 1653 STATUS current 1654 DESCRIPTION 1655 "The number of prefixes for a peer that are installed 1656 in the Adj-Ribs-In and are eligible to become active 1657 in the Loc-Rib." 1658 ::= { bgpPrefixCountersEntry 8 } 1660 bgpPrefixInPrefixesRejected OBJECT-TYPE 1661 SYNTAX Gauge32 1662 MAX-ACCESS read-only 1663 STATUS current 1664 DESCRIPTION 1665 "The number of prefixes for a peer that are installed 1666 in the Adj-Ribs-In and are NOT eligible to become active 1667 in the Loc-Rib." 1668 ::= { bgpPrefixCountersEntry 9 } 1670 bgpPrefixOutPrefixes OBJECT-TYPE 1671 SYNTAX Gauge32 1672 MAX-ACCESS read-only 1673 STATUS current 1674 DESCRIPTION 1675 "The number of prefixes for a peer that are installed 1676 in that peer's Adj-Ribs-Out." 1677 ::= { bgpPrefixCountersEntry 10 } 1679 bgpPeerExtensions 1680 OBJECT IDENTIFIER ::= { bgpPeer 7 } 1682 bgpPeerNonCapExts 1683 OBJECT IDENTIFIER ::= { bgpPeerExtensions 1 } 1685 bgpPeerCapExts 1686 OBJECT IDENTIFIER ::= { bgpPeerExtensions 2 } 1688 -- 1689 -- Peer Route Reflection Extensions 1690 -- 1692 bgpPeerRouteReflectionExts 1693 OBJECT IDENTIFIER ::= { bgpPeerNonCapExts 1966 } 1695 bgpPeerReflectorClient OBJECT-TYPE 1696 SYNTAX INTEGER { 1697 nonClient(0), 1698 client(1), 1699 meshedClient(2) 1700 } 1701 MAX-ACCESS read-only 1702 STATUS current 1703 DESCRIPTION 1704 "This value indicates whether the given peer is a 1705 reflector client of this router, or not. A value of 1706 nonClient(0) indicates that this peer is not a reflector 1707 client. A value of client(1) indicates that this peer is a 1708 reflector client that is not fully meshed with other 1709 reflector clients. A value of meshedClient(2) indicates 1710 that the peer is a reflector client and is fully meshed 1711 with all other reflector clients." 1712 REFERENCE 1713 "RFC 2796 - BGP Route Reflection" 1714 ::= { bgpPeerRouteReflectionExts 1 } 1716 -- 1717 -- Peer AS Confederations Extensions 1718 -- 1720 bgpPeerASConfederationExts 1721 OBJECT IDENTIFIER ::= { bgpPeerNonCapExts 1965 } 1723 bgpPeerConfederationMember OBJECT-TYPE 1724 SYNTAX TruthValue 1725 MAX-ACCESS read-only 1726 STATUS current 1727 DESCRIPTION 1728 "This value indicates whether the given peer is in our 1729 confederation or not." 1730 REFERENCE 1731 "RFC 3065 - BGP Confederations" 1732 ::= { bgpPeerASConfederationExts 1 } 1734 bgpRib 1735 OBJECT IDENTIFIER ::= { bgp 3 } 1737 -- 1738 -- BGP NLRI Data 1739 -- 1741 bgpNlriTable OBJECT-TYPE 1742 SYNTAX SEQUENCE OF BgpNlriEntry 1743 MAX-ACCESS not-accessible 1744 STATUS current 1745 DESCRIPTION 1746 "The BGP-4 Received Path Attribute Table 1747 contains information about paths to 1748 destination networks received from all 1749 BGP4 peers." 1750 ::= { bgpRib 1 } 1752 bgpNlriEntry OBJECT-TYPE 1753 SYNTAX BgpNlriEntry 1754 MAX-ACCESS not-accessible 1755 STATUS current 1756 DESCRIPTION 1757 "Information about a path to a network." 1758 INDEX { 1759 bgpPeerIndex, 1760 bgpNlriAfi, 1761 bgpNlriSafi, 1762 bgpNlriPrefixLen, 1763 bgpNlriPrefix 1764 } 1765 ::= { bgpNlriTable 1 } 1767 BgpNlriEntry ::= SEQUENCE { 1768 bgpNlriAfi 1769 InetAddressType, 1770 bgpNlriSafi 1771 BgpSafi, 1772 bgpNlriPrefixLen 1773 Unsigned32, 1774 bgpNlriPrefix 1775 InetAddress, 1776 bgpNlriBest 1777 TruthValue, 1778 bgpPathAttrIndex 1779 Unsigned32, 1780 bgpNlriASPathStr 1781 DisplayString 1782 } 1784 bgpNlriAfi OBJECT-TYPE 1785 SYNTAX InetAddressType 1786 MAX-ACCESS read-only 1787 STATUS current 1788 DESCRIPTION 1789 "The address family of the prefix for this NLRI." 1790 ::= { bgpNlriEntry 1 } 1792 bgpNlriSafi OBJECT-TYPE 1793 SYNTAX BgpSafi 1794 MAX-ACCESS read-only 1795 STATUS current 1796 DESCRIPTION 1797 "The subsequent address family of the prefix for 1798 this NLRI" 1799 REFERENCE 1800 "RFC 2858 - Multiprotocol Extensions for BGP-4" 1801 ::= { bgpNlriEntry 2 } 1803 bgpNlriPrefixLen OBJECT-TYPE 1804 SYNTAX Unsigned32 (1..128) 1805 MAX-ACCESS read-only 1806 STATUS current 1807 DESCRIPTION 1808 "Length in bits of the IP address prefix in 1809 the Network Layer Reachability 1810 Information field." 1811 ::= { bgpNlriEntry 3 } 1813 -- JMH - this is going to vary based on AFI/SAFI !!! 1814 -- JMH - InetAddress is wrong now! 1815 bgpNlriPrefix OBJECT-TYPE 1816 SYNTAX InetAddress (SIZE (4..16)) 1817 MAX-ACCESS read-only 1818 STATUS current 1819 DESCRIPTION 1820 "An IP address prefix in the Network Layer 1821 Reachability Information field. This object 1822 is an IP address containing the prefix with 1823 length specified by 1824 bgpPathAttrAddrPrefixLen. 1825 Any bits beyond the length specified by 1826 bgpPathAttrAddrPrefixLen are zeroed." 1827 ::= { bgpNlriEntry 4 } 1829 bgpNlriBest OBJECT-TYPE 1830 SYNTAX TruthValue 1831 MAX-ACCESS read-only 1832 STATUS current 1833 DESCRIPTION 1834 "An indication of whether or not this route 1835 was chosen as the best BGP4 route." 1836 ::= { bgpNlriEntry 5 } 1838 bgpPathAttrIndex OBJECT-TYPE 1839 SYNTAX Unsigned32 1840 MAX-ACCESS read-only 1841 STATUS current 1842 DESCRIPTION 1843 "This value is a unique index for the per-NLRI entry in the 1844 bgpPeerAttrTable. It is assigned by the agent at the point 1845 of creation of the bgpPeerAttrTable row entry. While its 1846 value is guaranteed to be unique at any time, it is 1847 otherwise opaque to the management application with 1848 respect to its value or the contiguity of bgpPeerAttrIndex 1849 row instance values across rows of the bgpPeerAttrTable. 1850 It is used to provide an index structure for other 1851 tables whose data is logically per-peer, per-NLRI." 1852 ::= { bgpNlriEntry 6 } 1854 bgpNlriASPathStr OBJECT-TYPE 1855 SYNTAX DisplayString 1856 MAX-ACCESS read-only 1857 STATUS current 1858 DESCRIPTION 1859 "This is a string depicting the autonomous system path 1860 to this network which was received from the peer which 1861 advertised it. The format of the string is implementation- 1862 dependent, and should be designed for operator readability." 1863 ::= { bgpNlriEntry 7 } 1865 -- 1866 -- BGP Rib Path Attributes Table 1867 -- 1869 bgpPathAttrTable OBJECT-TYPE 1870 SYNTAX SEQUENCE OF BgpPathAttrEntry 1871 MAX-ACCESS not-accessible 1872 STATUS current 1873 DESCRIPTION 1874 "Provides per advertised network-prefix attribute data, 1875 as advertised over a peering session." 1876 ::= { bgpRib 2 } 1878 bgpPathAttrEntry OBJECT-TYPE 1879 SYNTAX BgpPathAttrEntry 1880 MAX-ACCESS not-accessible 1881 STATUS current 1882 DESCRIPTION 1883 "Each entry contains data about a given network 1884 prefix, per-prefix and per-advertising peer." 1885 INDEX { bgpPathAttrIndex } 1886 ::= { bgpPathAttrTable 1 } 1888 BgpPathAttrEntry ::= SEQUENCE { 1889 bgpPathAttrOrigin 1890 INTEGER, 1891 bgpPathAttrNextHopAddrType 1892 InetAddressType, 1893 bgpPathAttrNextHop 1894 InetAddress, 1895 bgpPathAttrMultiExitDiscPresent 1896 TruthValue, 1897 bgpPathAttrMultiExitDisc 1898 Unsigned32, 1899 bgpPathAttrLocalPrefPresent 1900 TruthValue, 1901 bgpPathAttrLocalPref 1902 Unsigned32, 1903 bgpPathAttrAtomicAggregate 1904 INTEGER, 1905 bgpPathAttrAggregatorAS 1906 BgpAutonomousSystemNumber, 1907 bgpPathAttrAggregatorAddr 1908 BgpIdentifier, 1909 bgpPathAttrCalcLocalPref 1910 Unsigned32 1911 } 1913 bgpPathAttrOrigin OBJECT-TYPE 1914 SYNTAX INTEGER { 1915 igp(1),-- networks are interior 1916 egp(2),-- networks learned 1917 -- via EGP 1918 incomplete(3) -- undetermined 1919 } 1920 MAX-ACCESS read-only 1921 STATUS current 1922 DESCRIPTION 1923 "The ultimate origin of the path 1924 information." 1925 ::= { bgpPathAttrEntry 2 } 1927 bgpPathAttrNextHopAddrType OBJECT-TYPE 1928 SYNTAX InetAddressType 1929 MAX-ACCESS read-only 1930 STATUS current 1931 DESCRIPTION 1932 "The address family of the address for 1933 the border router that should be used 1934 to access the destination network." 1935 ::= { bgpPathAttrEntry 3 } 1937 -- JMH - this is wrong for RFC2545! 1938 bgpPathAttrNextHop OBJECT-TYPE 1939 SYNTAX InetAddress 1940 MAX-ACCESS read-only 1941 STATUS current 1942 DESCRIPTION 1943 "The address of the border router that 1944 should be used to access the destination 1945 network. This address is the nexthop 1946 address received in the UPDATE packet. 1947 The address family of this object will be the 1948 same as that of the prefix in this row." 1949 ::= { bgpPathAttrEntry 4 } 1951 bgpPathAttrMultiExitDiscPresent OBJECT-TYPE 1952 SYNTAX TruthValue 1953 MAX-ACCESS read-only 1954 STATUS current 1955 DESCRIPTION 1956 "Whether or not the MED value is present. 1957 If it is not present, the bgpPathAttrMultiExitDisc 1958 object has no useful value and should be set to 0." 1959 ::= { bgpPathAttrEntry 5 } 1961 bgpPathAttrMultiExitDisc OBJECT-TYPE 1962 SYNTAX Unsigned32 1963 MAX-ACCESS read-only 1964 STATUS current 1965 DESCRIPTION 1966 "This metric is used to discriminate 1967 between multiple exit points to an 1968 adjacent autonomous system." 1969 ::= { bgpPathAttrEntry 6 } 1971 bgpPathAttrLocalPrefPresent OBJECT-TYPE 1972 SYNTAX TruthValue 1973 MAX-ACCESS read-only 1974 STATUS current 1975 DESCRIPTION 1976 "Whether or not the LOCAL_PREF value is present. 1977 If it is not present, the bgpPathAttrLocalPref 1978 object has no useful value and should be set to 0." 1979 ::= { bgpPathAttrEntry 7 } 1981 bgpPathAttrLocalPref OBJECT-TYPE 1982 SYNTAX Unsigned32 1983 MAX-ACCESS read-only 1984 STATUS current 1985 DESCRIPTION 1986 "The originating BGP4 speaker's degree of 1987 preference for an advertised route." 1988 ::= { bgpPathAttrEntry 8 } 1990 -- JMH 1991 -- See comment in v1 draft about this. 1993 bgpPathAttrAtomicAggregate OBJECT-TYPE 1994 SYNTAX INTEGER { 1995 lessSpecificRouteNotSelected(1), 1996 lessSpecificRouteSelected(2) 1997 } 1998 MAX-ACCESS read-only 1999 STATUS current 2000 DESCRIPTION 2001 "Whether or not a system has selected 2002 a less specific route without 2003 selecting a more specific route." 2004 ::= { bgpPathAttrEntry 9 } 2006 bgpPathAttrAggregatorAS OBJECT-TYPE 2007 SYNTAX BgpAutonomousSystemNumber 2008 MAX-ACCESS read-only 2009 STATUS current 2010 DESCRIPTION 2011 "The AS number of the last BGP4 speaker that 2012 performed route aggregation. A value of 2013 zero (0) indicates the absence of this 2014 attribute." 2015 ::= { bgpPathAttrEntry 10 } 2017 bgpPathAttrAggregatorAddr OBJECT-TYPE 2018 SYNTAX BgpIdentifier 2019 MAX-ACCESS read-only 2020 STATUS current 2021 DESCRIPTION 2022 "The IP address of the last BGP4 speaker 2023 that performed route aggregation. A 2024 value of 0.0.0.0 indicates the absence 2025 of this attribute. 2027 Note propagation of AS of zero is illegal in 2028 the Internet." 2029 ::= { bgpPathAttrEntry 11 } 2031 bgpPathAttrCalcLocalPref OBJECT-TYPE 2032 SYNTAX Unsigned32 2033 MAX-ACCESS read-only 2034 STATUS current 2035 DESCRIPTION 2036 "The degree of preference calculated by the 2037 receiving BGP4 speaker for an advertised 2038 route." 2039 ::= { bgpPathAttrEntry 12 } 2041 -- BGP 4 Path attribute AS Path Table. There is one row in 2042 -- this table for each AS which is advertised for a given 2043 -- route as provided from a peer. 2045 -- JMH 2046 -- We need one of these for the NewAsPath for the 4byte draft 2048 bgpAsPathTable OBJECT-TYPE 2049 SYNTAX SEQUENCE OF BgpAsPathEntry 2050 MAX-ACCESS not-accessible 2051 STATUS current 2052 DESCRIPTION 2053 "The BGP-4 Path Attribute AS Path Table 2054 contains the per network path (NLRI) 2055 AS Path data recieved from the 2056 advertising BGP peer." 2057 ::= { bgpRib 3 } 2059 bgpAsPathTableEntry OBJECT-TYPE 2060 SYNTAX BgpAsPathEntry 2061 MAX-ACCESS not-accessible 2062 STATUS current 2063 DESCRIPTION 2064 "Information about an AS path segment 2065 provided with a path to a network." 2066 INDEX { 2067 bgpPathAttrIndex, 2068 bgpAsPathIndex, 2069 bgpAsPathElementValue 2070 } 2071 ::= { bgpAsPathTable 1 } 2073 BgpAsPathEntry ::= SEQUENCE { 2074 bgpAsPathIndex 2075 Unsigned32, 2076 bgpAsPathType 2077 INTEGER, 2078 bgpAsPathElementValue 2079 BgpAutonomousSystemNumber 2080 } 2082 bgpAsPathIndex OBJECT-TYPE 2083 SYNTAX Unsigned32 2084 MAX-ACCESS read-only 2085 STATUS current 2086 DESCRIPTION 2087 "A per-AS path index. This will index a set of 2088 autonomous systems in an AS path that are part 2089 of the same sequence or set (as determined by 2090 the row value of bgpAsPathType, which 2091 should be the same value for each bgpAsPathTable 2092 entry indexed by the same pair)." 2094 ::= { bgpAsPathTableEntry 1 } 2096 bgpAsPathType OBJECT-TYPE 2097 SYNTAX INTEGER { 2098 asSet(1), 2099 asSequence(2), 2100 confedSequence(3), 2101 confedSet(4) 2102 } 2103 MAX-ACCESS read-only 2104 STATUS current 2105 DESCRIPTION 2106 "The type of sequence in which this asPath 2107 was advertised as an attribute. Note that 2108 all asPath row instances for a given index pair will have their 2110 bgpAsPathType set to the same value. 2111 The values for bgpAsPathType are 2112 interpreted as defined in the base BGP document 2113 and the BGP AS Confederations document." 2114 REFERENCE 2115 "draft-ietf-idr-bgp4-16 2116 RFC 3065 - BGP AS Confederations" 2117 ::= { bgpAsPathTableEntry 2 } 2119 bgpAsPathElementValue OBJECT-TYPE 2120 SYNTAX BgpAutonomousSystemNumber 2121 MAX-ACCESS read-only 2122 STATUS current 2123 DESCRIPTION 2124 "An AS value for an AS the related NLRI traversed 2125 in the propagation of its advertisement. This 2126 value is to be interpreted in the context of the 2127 sequence implied by bgpAsPathIndex and 2128 bgpAsPathType (and, in sequence of the 2129 other table rows with the same value of 2130 bgpPathAttrIndex and bgpAsPathIndex)." 2131 ::= { bgpAsPathTableEntry 3 } 2133 -- BGP 4 Path unknown attribute. There is one row in 2134 -- this table for each attribute not known by this BGP 2135 -- implementation (or agent instrumentation), but provided 2136 -- from a peer. 2138 bgpPathAttrUnknownTable OBJECT-TYPE 2139 SYNTAX SEQUENCE OF BgpPathAttrUnknownEntry 2140 MAX-ACCESS not-accessible 2141 STATUS current 2142 DESCRIPTION 2143 "The BGP-4 Path Attribute Unknown Table 2144 contains the per network path (NLRI) 2145 data on the path attributes advertised 2146 with a route but not known to the local BGP implementation 2147 or not otherwise capable of being returned from this agent. 2149 The absence of row data for a given index value for 2150 bgpPathAttrIndex indicates a lack of such unknown 2151 attribute information for the indicated network path 2152 (as indexed by that bgpPathAttrIndex value in the 2153 bgpPathAttrTable)." 2154 ::= { bgpRib 4 } 2156 bgpPathAttrUnknownEntry OBJECT-TYPE 2157 SYNTAX BgpPathAttrUnknownEntry 2158 MAX-ACCESS not-accessible 2159 STATUS current 2160 DESCRIPTION 2161 "Information about an unknown attribute 2162 provided with a path to a network." 2163 INDEX { 2164 bgpPathAttrIndex, 2165 bgpPathAttrUnknownIndex 2166 } 2167 ::= { bgpPathAttrUnknownTable 1 } 2169 BgpPathAttrUnknownEntry ::= SEQUENCE { 2170 bgpPathAttrUnknownIndex 2171 Unsigned32, 2172 bgpPathAttrUnknownType 2173 Unsigned32, 2174 bgpPathAttrUnknownValue 2175 OCTET STRING 2176 } 2178 bgpPathAttrUnknownIndex OBJECT-TYPE 2179 SYNTAX Unsigned32 2180 MAX-ACCESS read-only 2181 STATUS current 2182 DESCRIPTION 2183 "An integer index for a row in this table." 2184 ::= { bgpPathAttrUnknownEntry 1 } 2186 bgpPathAttrUnknownType OBJECT-TYPE 2187 SYNTAX Unsigned32 2188 MAX-ACCESS read-only 2189 STATUS current 2190 DESCRIPTION 2191 "The attribute type advertised with this 'unnkown' 2192 attribute by the peer." 2193 ::= { bgpPathAttrUnknownEntry 2 } 2195 -- Maximum size of the following is derived as 2196 -- 4096 max message size 2197 -- - 16 BGP message marker bytes 2198 -- - 2 BGP message size 2199 -- - 1 BGP message type (UPDATE with unknown attr) 2200 -- - 2 UPDATE routes length (even assuming no routes) 2201 -- - 2 UPDATE path attributes length 2202 -- - 1 path attribute flag octet 2203 -- - 2 unknown path attr type (in bgpPathAttrUnknownType) 2204 -- --------- 2205 -- 4070 bytes maximum per-message attribute value data 2207 -- +++wayne ideas as to how to make this a reliably smaller/more broken up 2208 -- string eagerly solicited here 2210 bgpPathAttrUnknownValue OBJECT-TYPE 2211 SYNTAX OCTET STRING (SIZE(0..4070)) 2212 MAX-ACCESS read-only 2213 STATUS current 2214 DESCRIPTION 2215 "Value of path attribute not understood 2216 by the base BGP-4 document. 2218 Octets beyond the maximum size, if any, 2219 are not recorded by this row object. " 2220 ::= { bgpPathAttrUnknownEntry 3 } 2222 -- 2223 -- Path Attribute Extensions 2224 -- 2226 bgpPathAttrExtensions OBJECT IDENTIFIER ::= 2227 { bgpRib 5 } 2229 bgpPathAttrNonCapExts OBJECT IDENTIFIER ::= 2230 { bgpPathAttrExtensions 1 } 2232 bgpPathAttrCapExts OBJECT IDENTIFIER ::= 2233 { bgpPathAttrExtensions 2 } 2235 -- 2236 -- Path Attribute Route Reflection Extensions 2237 -- 2239 -- 2240 -- Originator ID Table 2241 -- . This table is overkill, but seems to fit into 2242 -- . the current paradigm. 2244 -- 2246 bgpPathAttrRouteReflectionExts OBJECT IDENTIFIER ::= 2247 { bgpPathAttrNonCapExts 1966 } 2249 bgpPathAttrOriginatorIdTable OBJECT-TYPE 2250 SYNTAX SEQUENCE OF BgpPathAttrOriginatorIdEntry 2251 MAX-ACCESS not-accessible 2252 STATUS current 2253 DESCRIPTION 2254 "Per prefix data pertinent to advertisement of a 2255 network prefix through an originator." 2256 REFERENCE 2257 "RFC 2796 - BGP Route Reflection" 2258 ::= { bgpPathAttrRouteReflectionExts 1 } 2260 bgpPathAttrOriginatorIdEntry OBJECT-TYPE 2261 SYNTAX BgpPathAttrOriginatorIdEntry 2262 MAX-ACCESS not-accessible 2263 STATUS current 2264 DESCRIPTION 2265 "Each entry contains data pertinent to a network prefix 2266 as received through its originating BGP route reflector." 2267 REFERENCE 2268 "RFC 2796 - BGP Route Reflection" 2269 INDEX { 2270 bgpPathAttrIndex 2271 } 2272 ::= { bgpPathAttrOriginatorIdTable 1 } 2274 BgpPathAttrOriginatorIdEntry ::= SEQUENCE { 2275 bgpPathAttrOriginatorId 2276 BgpIdentifier 2277 } 2279 bgpPathAttrOriginatorId OBJECT-TYPE 2280 SYNTAX BgpIdentifier 2281 MAX-ACCESS read-only 2282 STATUS current 2283 DESCRIPTION 2284 "The Originator-ID identifying the router that initially 2285 advertised this destination to a Route Reflector. A 2286 value of 0.0.0.0 indicates the absence of this attribute." 2287 REFERENCE 2288 "This attribute is defined in [RFC2796]." 2289 ::= { bgpPathAttrOriginatorIdEntry 1 } 2291 -- 2292 -- Cluster table 2293 -- 2295 bgpPathAttrClusterTable OBJECT-TYPE 2296 SYNTAX SEQUENCE OF BgpPathAttrClusterEntry 2297 MAX-ACCESS not-accessible 2298 STATUS current 2299 DESCRIPTION 2300 "The BGP-4 Path Attribute Cluster Table 2301 contains the per network path (NLRI) 2302 data on the reflection path which a 2303 route has traversed. The absence of row 2304 data for a given index value for bgpPathAttrIndex 2305 indicates a lack of this attribute information 2306 for the indicated network path (as indexed by 2307 that bgpPathAttrIndex value in the bgpPathAttrTable)." 2308 ::= { bgpPathAttrRouteReflectionExts 2 } 2310 bgpPathAttrClusterEntry OBJECT-TYPE 2311 SYNTAX BgpPathAttrClusterEntry 2312 MAX-ACCESS not-accessible 2313 STATUS current 2314 DESCRIPTION 2315 "Information about a cluster traversal 2316 provided with a path to a network." 2317 INDEX { 2318 bgpPathAttrIndex, 2319 bgpPathAttrClusterIndex 2320 } 2321 ::= { bgpPathAttrClusterTable 1 } 2323 BgpPathAttrClusterEntry ::= SEQUENCE { 2324 bgpPathAttrClusterIndex 2325 Unsigned32, 2326 bgpPathAttrClusterValue 2327 Unsigned32 2328 } 2330 bgpPathAttrClusterIndex OBJECT-TYPE 2331 SYNTAX Unsigned32 2332 MAX-ACCESS read-only 2333 STATUS current 2334 DESCRIPTION 2335 "An integral index for a row in this table." 2336 ::= { bgpPathAttrClusterEntry 1 } 2338 -- +++wayne following changed from OCTET STRING/BgpIdentifier per tdn 2340 bgpPathAttrClusterValue OBJECT-TYPE 2341 SYNTAX Unsigned32 2342 MAX-ACCESS read-only 2343 STATUS current 2344 DESCRIPTION 2345 "A four octet long value representing a part of the 2346 reflection path that the route has passed. Each such four 2347 octet long value represents the ID of a cluster that 2348 the route has traversed. The sequence of this path as 2349 received in the route advertisement will be preserved in 2350 the sequence of bgpPathAttrClusterTable rows (and the 2351 bgpPathAttrClusterValue's in each row) as returned for 2352 a given bgpPathAttrIndex value, and the monotonically 2353 increasing sequence of bgpPathAttrClusterIndex values 2354 for that bgpPathAttrIndex." 2355 REFERENCE 2356 "This attribute is defined in [RFC2796]." 2357 ::= { bgpPathAttrClusterEntry 2 } 2359 -- 2360 -- BGP Communities 2361 -- 2363 bgpPathAttrCommunityExts OBJECT IDENTIFIER ::= 2364 { bgpPathAttrNonCapExts 1997 } 2366 bgpPathAttrCommTable OBJECT-TYPE 2367 SYNTAX SEQUENCE OF BgpPathAttrCommEntry 2368 MAX-ACCESS not-accessible 2369 STATUS current 2370 DESCRIPTION 2371 "The BGP-4 Path Attribute Community Table 2372 contains the per network path (NLRI) 2373 data on the community membership advertised 2374 with a route. The absence of row 2375 data for a given index value for bgpPathAttrIndex 2376 indicates a lack of this attribute information 2377 for the indicated network path (as indexed by 2378 that bgpPathAttrIndex value in the bgpPathAttrTable)." 2379 ::= { bgpPathAttrCommunityExts 1 } 2381 bgpPathAttrCommEntry OBJECT-TYPE 2382 SYNTAX BgpPathAttrCommEntry 2383 MAX-ACCESS not-accessible 2384 STATUS current 2385 DESCRIPTION 2386 "Information about a community association 2387 provided with a path to a network." 2388 INDEX { bgpPathAttrIndex, bgpPathAttrCommIndex } 2389 ::= { bgpPathAttrCommTable 1 } 2391 BgpPathAttrCommEntry ::= SEQUENCE { 2392 bgpPathAttrCommIndex 2393 Unsigned32, 2394 bgpPathAttrCommValue 2395 OCTET STRING 2396 } 2398 bgpPathAttrCommIndex OBJECT-TYPE 2399 SYNTAX Unsigned32 2400 MAX-ACCESS read-only 2401 STATUS current 2402 DESCRIPTION 2403 "An integer index for a row in this table." 2404 ::= { bgpPathAttrCommEntry 1 } 2406 -- JMH 2407 -- Should we be using a display hint for this object? 2409 bgpPathAttrCommValue OBJECT-TYPE 2410 SYNTAX OCTET STRING (SIZE(4)) 2411 MAX-ACCESS read-only 2412 STATUS current 2413 DESCRIPTION 2414 "A value representing a community. There are certain 2415 4-octet long values which could be returned in this 2416 columnar row data that carry additional semantics." 2417 REFERENCE 2418 "RFC 1997 - BGP Communities Attribute" 2419 ::= { bgpPathAttrCommEntry 2 } 2421 -- 2422 -- BGP Extended Communities 2423 -- 2425 bgpPathAttrExtCommTable OBJECT-TYPE 2426 SYNTAX SEQUENCE OF BgpPathAttrExtCommEntry 2427 MAX-ACCESS not-accessible 2428 STATUS current 2429 DESCRIPTION 2430 "The BGP-4 Path Attribute Community Table 2431 contains the per network path (NLRI) 2432 data on the extended community membership advertised 2433 with a route. The absence of row 2434 data for a given index value for bgpPathAttrIndex 2435 indicates a lack of this attribute information 2436 for the indicated network path (as indexed by 2437 that bgpPathAttrIndex value in the bgpPathAttrTable). 2439 XXX JMH - can't assign the OID until an RFC is published." 2440 ::= { bgpPathAttrNonCapExts XXX } 2442 bgpPathAttrExtCommEntry OBJECT-TYPE 2443 SYNTAX BgpPathAttrExtCommEntry 2444 MAX-ACCESS not-accessible 2445 STATUS current 2446 DESCRIPTION 2447 "Information about an extended community association 2448 provided with a path to a network." 2449 INDEX { 2450 bgpPathAttrIndex, 2451 bgpPathAttrExtCommIndex 2452 } 2453 ::= { bgpPathAttrExtCommTable 1 } 2455 BgpPathAttrExtCommEntry ::= SEQUENCE { 2456 bgpPathAttrExtCommIndex 2457 Unsigned32, 2458 bgpPathAttrExtCommValue 2459 OCTET STRING 2460 } 2462 bgpPathAttrExtCommIndex OBJECT-TYPE 2463 SYNTAX Unsigned32 2464 MAX-ACCESS read-only 2465 STATUS current 2466 DESCRIPTION 2467 "An integral index for a row in this table." 2468 ::= { bgpPathAttrExtCommEntry 1 } 2470 -- JMH 2471 -- Again, do we want a display hint for this? 2472 bgpPathAttrExtCommValue OBJECT-TYPE 2473 SYNTAX OCTET STRING (SIZE(8)) 2474 MAX-ACCESS read-only 2475 STATUS current 2476 DESCRIPTION 2477 "A value representing an extended community which was 2478 received with the route implied by the bgpPathAttr 2479 Index value of this row data. There are certain 2480 8-octet long values which could be returned in this 2481 columnar row data that carry additional semantics." 2482 REFERENCE 2483 "BGP-EXTCOMM - BGP Extended Communities Attribute" 2484 ::= { bgpPathAttrExtCommEntry 2 } 2486 bgpConformance 2487 OBJECT IDENTIFIER ::= { bgp 4 } 2489 -- conformance information 2491 bgpMIBCompliances OBJECT IDENTIFIER ::= { bgpConformance 1 } 2492 bgpMIBGroups OBJECT IDENTIFIER ::= { bgpConformance 2 } 2494 bgpMIBCompliance MODULE-COMPLIANCE 2495 STATUS current 2496 DESCRIPTION 2497 "The compliance statement for entities which 2498 implement the BGP4 mib." 2499 MODULE -- this module 2500 MANDATORY-GROUPS { 2501 bgpTimersGroup, 2502 bgpCountersGroup, 2503 bgpAsPathGroup, 2504 bgpAs4byteGroup, 2505 bgpBaseGroup, 2506 bgpErrorsGroup, 2507 bgpPeerGroup, 2508 bgpPathAttributesGroup 2509 } 2511 GROUP bgpAuthenticationGroup 2512 DESCRIPTION 2513 "The authentication group is 2514 mandatory only for those implementations which 2515 support sending and receiving authentication 2516 information with peers in the BGP Authentication 2517 Field." 2519 GROUP bgpCommunitiesGroup 2520 DESCRIPTION 2521 "The communities group is mandatory only for those 2522 which support the BGP community attribute." 2523 GROUP bgpExtCommunitiesGroup 2524 DESCRIPTION 2525 "The communities group is mandatory only for those 2526 which support the BGP extended community attribute." 2527 GROUP bgpRouteReflectionGroup 2528 DESCRIPTION 2529 "The communities group is mandatory only for those 2530 which support the BGP route reflection relationships." 2531 GROUP bgpAsConfederationGroup 2532 DESCRIPTION 2533 "The communities group is mandatory only for those 2534 which support the BGP confederation membership." 2535 GROUP bgpTimersGroup 2536 DESCRIPTION 2537 "This group is mandatory for all agent implementations." 2538 GROUP bgpCountersGroup 2539 DESCRIPTION 2540 "This group is mandatory for all agent implementations." 2541 GROUP bgpCapabilitiesGroup 2542 DESCRIPTION 2543 "This group is mandatory for all agent implementations." 2544 GROUP bgpAsPathGroup 2545 DESCRIPTION 2546 "This group is mandatory for all agent implementations." 2547 GROUP bgpAs4byteGroup 2548 DESCRIPTION 2549 "This group is mandatory for all agent implementations." 2550 GROUP bgpBaseGroup 2551 DESCRIPTION 2552 "This group is mandatory for all agent implementations." 2553 GROUP bgpErrorsGroup 2554 DESCRIPTION 2555 "This group is mandatory for all agent implementations." 2556 GROUP bgpPeerGroup 2557 DESCRIPTION 2558 "This group is mandatory for all agent implementations." 2559 GROUP bgpPathAttributesGroup 2560 DESCRIPTION 2561 "This group is mandatory for all agent implementations." 2562 GROUP bgpPeerGroup 2563 DESCRIPTION 2564 "This group is mandatory for all agent implementations." 2565 ::= { bgpMIBCompliances 1 } 2567 bgpAuthenticationGroup OBJECT-GROUP 2568 OBJECTS { 2569 bgpSupportedAuthCode, 2570 bgpSupportedAuthValue, 2571 bgpSupportedAuthCode, 2572 bgpSupportedAuthValue, 2573 bgpPeerAuthSent, 2574 bgpPeerAuthSentCode, 2575 bgpPeerAuthSentValue, 2576 bgpPeerAuthRcvd, 2577 bgpPeerAuthRcvdCode, 2578 bgpPeerAuthRcvdValue 2579 } 2580 STATUS current 2581 DESCRIPTION 2582 "Objects associated with BGP authentication." 2583 ::= { bgpMIBGroups 1 } 2585 bgpCommunitiesGroup OBJECT-GROUP 2586 OBJECTS { 2587 bgpPathAttrCommIndex, 2588 bgpPathAttrCommValue 2589 } 2590 STATUS current 2591 DESCRIPTION 2592 "Objects associated with BGP communities." 2593 ::= { bgpMIBGroups 2 } 2595 bgpExtCommunitiesGroup OBJECT-GROUP 2596 OBJECTS { 2597 bgpPathAttrExtCommIndex, 2598 bgpPathAttrExtCommValue 2599 } 2600 STATUS current 2601 DESCRIPTION 2602 "Objects associated with BGP extended communities." 2603 ::= { bgpMIBGroups 3 } 2605 bgpRouteReflectionGroup OBJECT-GROUP 2606 OBJECTS { 2607 bgpClusterId, 2608 bgpPeerReflectorClient, 2609 bgpPathAttrOriginatorId, 2610 bgpPathAttrClusterIndex, 2611 bgpPathAttrClusterValue 2612 } 2613 STATUS current 2614 DESCRIPTION 2615 "Objects associated with BGP route reflection." 2616 ::= { bgpMIBGroups 4 } 2618 bgpAsConfederationGroup OBJECT-GROUP 2619 OBJECTS { 2620 bgpConfederationId, 2621 bgpPeerConfederationMember 2622 } 2623 STATUS current 2624 DESCRIPTION 2625 "Objects associated with BGP confederation membership." 2626 ::= { bgpMIBGroups 5 } 2628 bgpTimersGroup OBJECT-GROUP 2629 OBJECTS { 2630 bgpPeerFsmEstablishedTime, 2631 bgpPeerInUpdatesElapsedTime, 2632 bgpPeerConnectRetryInterval, 2633 bgpPeerHoldTimeConfigured, 2634 bgpPeerKeepAliveConfigured, 2635 bgpPeerMinASOriginationInterval, 2636 bgpPeerMinRouteAdvertiseInterval, 2637 bgpPeerHoldTime, 2638 bgpPeerKeepAlive 2639 } 2640 STATUS current 2641 DESCRIPTION 2642 "Objects associated with BGP peering timers." 2643 ::= { bgpMIBGroups 6 } 2645 bgpCountersGroup OBJECT-GROUP 2646 OBJECTS { 2647 bgpPeerInUpdates, 2648 bgpPeerOutUpdates, 2649 bgpPeerInTotalMessages, 2650 bgpPeerOutTotalMessages, 2651 bgpPeerFsmEstablishedTransitions, 2652 bgpPrefixCountersAfi, 2653 bgpPrefixCountersSafi, 2654 bgpPrefixInPrefixes, 2655 bgpPrefixInPrefixesAccepted, 2656 bgpPrefixInPrefixesRejected, 2657 bgpPrefixOutPrefixes 2658 } 2659 STATUS current 2660 DESCRIPTION 2661 "Objects to count discrete events and exchanges on BGP 2662 sessions." 2664 ::= { bgpMIBGroups 7 } 2666 bgpCapabilitiesGroup OBJECT-GROUP 2667 OBJECTS { 2668 bgpCapabilitySupportAvailable, 2669 bgpSupportedCapabilityIndex, 2670 bgpSupportedCapability, 2671 bgpPeerCapAnnouncedCode, 2672 bgpPeerCapAnnouncedIndex, 2673 bgpPeerCapAnnouncedLength, 2674 bgpPeerCapAnnouncedValue, 2675 bgpPeerCapReceivedCode, 2676 bgpPeerCapReceivedIndex, 2677 bgpPeerCapReceivedLength, 2678 bgpPeerCapReceivedValue, 2679 bgpPeerCapAnnouncedCode, 2680 bgpPeerCapAnnouncedIndex, 2681 bgpPeerCapAnnouncedLength, 2682 bgpPeerCapAnnouncedValue, 2683 bgpPeerCapReceivedCode, 2684 bgpPeerCapReceivedIndex, 2685 bgpPeerCapReceivedLength, 2686 bgpPeerCapReceivedValue 2687 } 2688 STATUS current 2689 DESCRIPTION 2690 "Objects to report capabilities as received on BGP 2691 sessions." 2692 ::= { bgpMIBGroups 8 } 2694 bgpAsPathGroup OBJECT-GROUP 2695 OBJECTS { 2696 bgpAsPathIndex, 2697 bgpAsPathType, 2698 bgpAsPathElementValue 2699 } 2700 STATUS current 2701 DESCRIPTION 2702 "Objects to report AS paths received on BGP 2703 NLRIs." 2704 ::= { bgpMIBGroups 9 } 2706 bgpAs4byteGroup OBJECT-GROUP 2707 OBJECTS { 2708 bgpAsSize 2709 } 2710 STATUS current 2711 DESCRIPTION 2712 "AS Size objects." 2713 ::= { bgpMIBGroups 10 } 2715 bgpBaseGroup OBJECT-GROUP 2716 OBJECTS { 2717 bgpLocalAs, 2718 bgpLocalIdentifier, 2719 bgpVersionIndex, 2720 bgpVersionSupported 2721 } 2722 STATUS current 2723 DESCRIPTION 2724 "Basic objects in local BGP implementation." 2725 ::= { bgpMIBGroups 11 } 2727 bgpErrorsGroup OBJECT-GROUP 2728 OBJECTS { 2729 bgpPeerLastError, 2730 bgpPeerLastErrorData 2731 } 2732 STATUS current 2733 DESCRIPTION 2734 "Errors received on BGP peering sessions." 2735 ::= { bgpMIBGroups 12 } 2737 bgpPeerGroup OBJECT-GROUP 2738 OBJECTS { 2739 bgpPeerIdentifier, 2740 bgpPeerState, 2741 bgpPeerAdminStatus, 2742 bgpPeerConfiguredVersion, 2743 bgpPeerNegotiatedVersion, 2744 bgpPeerLocalAddrType, 2745 bgpPeerLocalAddr, 2746 bgpPeerLocalPort, 2747 bgpPeerLocalAs, 2748 bgpPeerRemoteAddrType, 2749 bgpPeerRemoteAddr, 2750 bgpPeerRemotePort, 2751 bgpPeerRemoteAs, 2752 bgpPeerIndex, 2753 bgpPeerRowEntryStatus 2754 } 2755 STATUS current 2756 DESCRIPTION 2757 "Core object types on BGP peering sessions." 2758 ::= { bgpMIBGroups 13 } 2760 bgpPathAttributesGroup OBJECT-GROUP 2761 OBJECTS { 2762 bgpNlriAfi, 2763 bgpNlriSafi, 2764 bgpNlriPrefixLen, 2765 bgpNlriPrefix, 2766 bgpNlriBest, 2767 bgpPathAttrIndex, 2768 bgpNlriASPathStr, 2769 bgpPathAttrOrigin, 2770 bgpPathAttrNextHopAddrType, 2771 bgpPathAttrNextHop, 2772 bgpPathAttrMultiExitDiscPresent, 2773 bgpPathAttrMultiExitDisc, 2774 bgpPathAttrLocalPrefPresent, 2775 bgpPathAttrLocalPref, 2776 bgpPathAttrAtomicAggregate, 2777 bgpPathAttrAggregatorAS, 2778 bgpPathAttrAggregatorAddr, 2779 bgpPathAttrCalcLocalPref, 2780 bgpAsPathIndex, 2781 bgpAsPathType, 2782 bgpAsPathElementValue, 2783 bgpPathAttrUnknownIndex, 2784 bgpPathAttrUnknownType, 2785 bgpPathAttrUnknownValue 2786 } 2787 STATUS current 2788 DESCRIPTION 2789 "Attributes recieved on BGP peering sessions." 2790 ::= { bgpMIBGroups 14 } 2792 bgpMIBNotificationsGroup NOTIFICATION-GROUP 2793 NOTIFICATIONS { 2794 bgpEstablished, 2795 bgpBackwardTransition 2796 } 2797 STATUS current 2798 DESCRIPTION 2799 "This group contains objects for notifications 2800 supported by this MIB module." 2801 ::= { bgpMIBGroups 15 } 2802 END 2803 5. Security Considerations 2805 This MIB module contains controls which relate to core services for 2806 interdomain routing using the Border Gateway Protocol. In particu- 2807 lar, this MIB allows configuration of operational elements for those 2808 services. If such configuration is done without consideration for 2809 the effects of such configuration activity, or malicious configura- 2810 tion activity is allowed on the managed elements, the effect could be 2811 denial of service to the processes and end users in the affected 2812 domain(s). 2814 SNMPv1 is not considered a sufficiently secure environment for the 2815 deployment of such configuration ability. Even if the management 2816 data path is secure at the network protocol layer (by the deployment 2817 of secure IP, for example), there are still points of exposure around 2818 such issues as to what operators and applications are allowed to 2819 access and modify the configuration as exposed through this MIB mod- 2820 ule. 2822 It is strongly recommended that the agent implementor considers the 2823 security features afforded by the SNMP Version 3 framework in expos- 2824 ing the configuration features of this MIB module. In particular, 2825 the availability and usage of the User-based Security Model [12] 2826 and/or the View-based Access Control Model [15] is highly recom- 2827 mended. 2829 It is then incumbent upon the customer deploying network management 2830 applications which make use of these configuration features to also 2831 consider and deploy a security discipline to make use of these SNMP 2832 Version 3 security features. In particular, the operational staff 2833 who have access to the configuration controls in their ability to 2834 create, set, and delete them, should be carefully considered. 2836 6. Intellectual Property 2838 The IETF takes no position regarding the validity or scope of any 2839 intellectual property or other rights that might be claimed to per- 2840 tain to the implementation or use of the technology described in this 2841 document or the extent to which any license under such rights might 2842 or might not be available; neither does it represent that it has made 2843 any effort to identify any such rights. Information on the IETF's 2844 procedures with respect to rights in standards-track and standards- 2845 related documentation can be found in BCP-11. Copies of claims of 2846 rights made available for publication and any assurances of licenses 2847 to be made available, or the result of an attempt made to obtain a 2848 general license or permission for the use of such proprietary rights 2849 by implementors or users of this specification can be obtained from 2850 the IETF Secretariat. 2852 7. Acknowledgements 2854 Tom Nadeau, Cisco Systems, Inc. 2855 Jon Saperia, JDS Consulting, Inc. 2856 Bill Fenner, AT&T Research 2857 Mike McFaden, Riverstone Networks, Inc. 2858 Joel Krauska, Exodus Networks, Inc. 2859 Carl W. Kalbfleisch, Verio Networks, Inc. 2860 Joe Dupre, Gold Wire Technology 2862 others TBD... 2864 8. Open Issues 2866 This section will be removed from the document prior to being issued 2867 to IDR working group last call (at the latest). 2869 * Configuration is discussed, but not currently implemented in a 2870 thorough way in the MIB. 2872 * Is 32 bits nearly enough indexing space for a row in the 2873 bgp4PathAttrTable? Row Pointers are a little more heavyweight 2874 for a management application to work with, but would a Row 2875 Pointer index type here be more appropriate regardless? 2877 9. References 2879 [1] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for 2880 Describing SNMP Management Frameworks", RFC 2571, April 1999. 2882 [2] Rose, M., and K. McCloghrie, "Structure and Identification of Man- 2883 agement Information for TCP/IP-based Internets", STD 16, RFC 1155, 2884 May 1990. 2886 [3] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 2887 1212, March 1991. 2889 [4] Rose, M., "A Convention for Defining Traps for use with the SNMP", 2890 RFC 1215, March 1991. 2892 [5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., 2893 and S. Waldbusser, "Structure of Management Information Version 2 2894 (SMIv2)", STD 58, RFC 2578, April 1999. 2896 [6] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., 2897 and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2898 2579, April 1999. 2900 [7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., 2901 and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2902 2580, April 1999. 2904 [8] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network 2905 Management Protocol", STD 15, RFC 1157, May 1990. 2907 [9] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduc- 2908 tion to Community-based SNMPv2", RFC 1901, January 1996. 2910 [10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Transport 2911 Mappings for Version 2 of the Simple Network Management Protocol 2912 (SNMPv2)", RFC 1906, January 1996. 2914 [11] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message Pro- 2915 cessing and Dispatching for the Simple Network Management Protocol 2916 (SNMP)", RFC 2572, April 1999. 2918 [12] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for 2919 version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2920 2574, April 1999. 2922 [13] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol 2923 Operations for Version 2 of the Simple Network Management Protocol 2924 (SNMPv2)", RFC 1905, January 1996. 2926 [14] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2927 2573, April 1999. 2929 [15] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Con- 2930 trol Model (VACM) for the Simple Network Management Protocol 2931 (SNMP)", RFC 2575, April 1999. 2933 [16] McCloghrie, K. and M. Rose, Editors, "Management Information Base 2934 for Network Management of TCP/IP-based Internets: MIB-II", STD 17, 2935 RFC 1213, Hughes LAN Systems, Performance Systems International, 2936 March 1991. 2938 [17] Willis, S., Burruss, J., and Chu, J., "Definitions of Managed 2939 Objects for the Fourth Version of the Border Gateway Protocol 2940 (BGP-4) using SMIv2", RFC 1657, July 1994. 2942 [18] Hares, S., Haas, J., Willis, S., Burruss, J., and Chu, J., "Defini- 2943 tions of Managed Objects for the Fourth Version of Border Gateway 2944 Protocol (BGP-4)", draft-ietf-idr-bgp4-mib-06.txt, Work-in- 2945 progress. 2947 [19] Rekhter, Y., Li, T., "A Border Gateway Protocol 4 (BGP-4)", RFC 2948 1771, March 1995. 2950 [20] Rekhter, Y., Gross, P., "Application of the Border Gateway Proto- 2951 col in the Internet", RFC 1772, March 1995. 2953 [21] Traina, P., McPherson, D., and Scudder, J., "Autonomous System 2954 Confederations for BGP", RFC 3065, February, 2001. 2956 [22] Chandra, R., Traina, P., and Li, T., "BGP Communities Attribute", 2957 RFC 1997, August, 1996. 2959 [23] Bates, T., Rekhter, Y., Chandra, R., and Katz, D., "Multiprotocol 2960 Extensions for BGP-4", June, 2000. 2962 [24] Bates, T., Chandra, R., and Chen, E., "BGP Route Reflection - An 2963 Alternative to Full Mesh IBGP", RFC 2796, April 2000. 2965 [25] Sangli, S., Tappan, D., and Rekhter, Y., "BGP Extended Communities 2966 Attribute", Work-in-progress. 2968 10. Authors' Addresses 2970 Jeff Haas 2971 NextHop Technologies 2972 517 Williams 2973 Ann Arbor, MI 48103-4943 2974 Phone: +1 734 936 2095 2975 Fax: +1 734 615-3241 2976 Email: jhaas@nexthop.com 2978 Susan Hares 2979 NextHop Technologies 2980 517 Williams 2981 Ann Arbor, MI 48103-4943 2982 Phone: +1 734 936 2095 2983 Fax: +1 734 615-3241 2984 Email: skh@nexthop.com 2985 Wayne Tackabury 2986 Gold Wire Technology 2987 411 Waverley Oaks Rd. 2988 Waltham, MA 02452-8401 2989 Phone: +1 781 398-8819 2990 Fax: +1 781 398-8811 2991 Email: wayne@goldwiretech.com 2993 11. Full Copyright Statement 2995 Copyright (C) The Internet Society (2001). All Rights Reserved. 2997 This document and translations of it may be copied and furnished to 2998 others, and derivative works that comment on or otherwise explain it 2999 or assist in its implementation may be prepared, copied, published 3000 and distributed, in whole or in part, without restriction of any 3001 kind, provided that the above copyright notice and this paragraph are 3002 included on all such copies and derivative works. However, this doc- 3003 ument itself may not be modified in any way, such as by removing the 3004 copyright notice or references to the Internet Society or other 3005 Internet organizations, except as needed for the purpose of develop- 3006 ing Internet standards in which case the procedures for copyrights 3007 defined in the Internet Standards process must be followed, or as 3008 required to translate it into languages other than English. 3010 The limited permissions granted above are perpetual and will not be 3011 revoked by the Internet Society or its successors or assigns. 3013 This document and the information contained herein is provided on an 3014 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 3015 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 3016 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 3017 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MER- 3018 CHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 3020 Table of Contents 3022 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3023 2. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3024 2.1. Protocol Extensions . . . . . . . . . . . . . . . . . . . . . . 3 3025 2.2. Mechanisms for MIB Extensibility . . . . . . . . . . . . . . . 3 3026 2.3. BGP Configuration . . . . . . . . . . . . . . . . . . . . . . . 4 3027 3. MIB Organization . . . . . . . . . . . . . . . . . . . . . . . . 4 3028 3.1. bgpBaseScalars . . . . . . . . . . . . . . . . . . . . . . . . 5 3029 3.2. bgpPeerData . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3030 3.2.1. bgpPeerCapabilities . . . . . . . . . . . . . . . . . . . . . 6 3031 3.2.2. bgpPeerCounters . . . . . . . . . . . . . . . . . . . . . . . 6 3032 3.2.3. Peering Data Extensions . . . . . . . . . . . . . . . . . . . 6 3033 3.3. BGP Routing Information Base Data . . . . . . . . . . . . . . . 6 3034 3.3.1. Routing Information Base Extensions . . . . . . . . . . . . . 7 3035 3.4. Considerations on Table Indexing . . . . . . . . . . . . . . . 7 3036 4. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3037 5. Security Considerations . . . . . . . . . . . . . . . . . . . . . 62 3038 6. Intellectual Property . . . . . . . . . . . . . . . . . . . . . . 62 3039 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 63 3040 8. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3041 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3042 10. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 65 3043 11. Full Copyright Statement . . . . . . . . . . . . . . . . . . . . 66