draft-ietf-idr-bgp4-mibv2-00.txt   draft-ietf-idr-bgp4-mibv2-01.txt 
Network Working Group S. Hares Inter-Domain Routing Working Group J. Haas
Internet Draft NextHop Internet Draft NextHop
J. Haas S. Hares
NextHop NextHop
W. Tackabury W. Tackabury
Gold Wire Technology Gold Wire Technology
November 21, 2001
Definitions of Managed Objects Definitions of Managed Objects
for the Fourth Version of Border Gateway Protocol (BGP-4), for the Fourth Version of Border Gateway Protocol (BGP-4),
Second Version Second Version
<draft-ietf-idr-bgp4-mibv2-00.txt> <draft-ietf-idr-bgp4-mibv2-01.txt>
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance This document is an Internet-Draft and is in full conformance with
with all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Internet-Drafts are working documents of the Internet Engineering
Engineering Task Force (IETF), its areas, and its working Task Force (IETF), its areas, and its working groups. Note that
groups. Note that other groups may also distribute working other groups may also distribute working documents as Internet-
documents as Internet-Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six Internet-Drafts are draft documents valid for a maximum of six months
months and may be updated, replaced, or obsoleted by other and may be updated, replaced, or obsoleted by other documents at any
documents at any time. It is inappropriate to use Internet- time. It is inappropriate to use Internet-Drafts as reference mate-
Drafts as reference material or to cite them other than as rial or to cite them other than as "work in progress."
"work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed The list of Internet-Draft Shadow Directories can be accessed at
at http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2001). All Rights Reserved. Copyright (C) The Internet Society (2001). All Rights Reserved.
1. Abstract Abstract
This memo defines a portion of the Management Information Base This memo defines a portion of the Management Information Base (MIB)
(MIB) for use with network management protocols in TCP/IP- for use with network management protocols in TCP/IP-based internets.
based internets. In particular, this MIB defines objects that In particular, this MIB defines objects that facilitate the
facilitate the management of the Border Gateway Protocol Version management of the Border Gateway Protocol Version 4 (BGP4).
4 (BGP4).
Distribution of this memo is unlimited. Distribution of this memo is unlimited.
2. Introduction 1. Introduction
This memo defines a portion of the Management Information Base (MIB) This memo defines a portion of the Management Information Base (MIB)
for use with network management protocols in the Internet community. for use with network management protocols in the Internet community.
In particular, it describes managed objects used for managing the In particular, it describes managed objects used for managing the
Border Gateway Protocol Version 4. Border Gateway Protocol Version 4.
The SNMP Management Framework presently consists of five The SNMP Management Framework presently consists of five major compo-
major components: nents:
o An overall architecture, described in RFC 2571 [1]. o An overall architecture, described in RFC 2571 [1].
o Mechanisms for describing and naming objects and o Mechanisms for describing and naming objects and events for
events for the purpose of management. The first the purpose of management. The first version of this Structure
version of this Structure of Management Information of Management Information (SMI) is called SMIv1 and described
(SMI) is called SMIv1 and described in STD 16, RFC in STD 16, RFC 1155 [2], STD 16, RFC 1212 [3] and RFC 1215
1155 [2], STD 16, RFC 1212 [3] and RFC 1215 [4]. The [4]. The second version, called SMIv2, is described in STD 58,
second version, called SMIv2, is described in STD 58,
RFC 2578 [5], RFC 2579 [6] and RFC 2580 [7]. RFC 2578 [5], RFC 2579 [6] and RFC 2580 [7].
o Message protocols for transferring management o Message protocols for transferring management information. The
information. The first version of the SNMP message first version of the SNMP message protocol is called SNMPv1
protocol is called SNMPv1 and described in STD 15, RFC and described in STD 15, RFC 1157 [8]. A second version of the
1157 [8]. A second version of the SNMP message SNMP message protocol, which is not an Internet standards
protocol, which is not an Internet standards track track protocol, is called SNMPv2c and described in RFC 1901
protocol, is called SNMPv2c and described in RFC 1901 [9] and RFC 1906 [10]. The third version of the message proto-
[9] and RFC 1906 [10]. The third version of the col is called SNMPv3 and described in RFC 1906 [10], RFC 2572
message protocol is called SNMPv3 and described in RFC [11] and RFC 2574 [12].
1906 [10], RFC 2572 [11] and RFC 2574 [12].
o Protocol operations for accessing management o Protocol operations for accessing management information. The
information. The first set of protocol operations and first set of protocol operations and associated PDU formats is
associated PDU formats is described in STD 15, RFC described in STD 15, RFC 1157 [8]. A second set of protocol
1157 [8]. A second set of protocol operations and operations and associated PDU formats is described in RFC 1905
associated PDU formats is described in RFC 1905 [13]. [13].
o A set of fundamental applications described in RFC o A set of fundamental applications described in RFC 2573 [14]
2573 [14] and the view-based access control mechanism and the view-based access control mechanism described in RFC
described in RFC 2575 [15]. 2575 [15].
A more detailed introduction to the current SNMP Management A more detailed introduction to the current SNMP Management Framework
Framework can be found in RFC 2570 [18]. can be found in RFC 2570 [18].
Managed objects are accessed via a virtual information Managed objects are accessed via a virtual information store, termed
store, termed the Management Information Base or MIB. the Management Information Base or MIB. Objects in the MIB are
Objects in the MIB are defined using the mechanisms defined defined using the mechanisms defined in the SMI.
in the SMI.
3. Objectives 2. Objectives
This MIB Module is meant to broadly update and replace a prior MIB This MIB Module is meant to broadly update and replace a prior MIB
Module defined in RFC 1657 [12]. Additionally, there is another Module defined in RFC 1657 [12]. Additionally, there is another
effort underway to address very specific limited objectives in effort underway to address very specific limited objectives in updat-
updating points in the RFC 1657 object definition and managed object ing points in the RFC 1657 object definition and managed object
attributes [13]. The MIB Module described herein is intended attributes [13]. The MIB Module described herein is intended to
to fully serve the functions and scope of RFC 1657 and these RFC 1657 fully serve the functions and scope of RFC 1657 and these RFC 1657
updates. updates.
2.1. Protocol Extensions
Additionally, however, there are a number of ways in which the BGP Additionally, however, there are a number of ways in which the BGP
Protocol has been enhanced through its ability for added capabilities, Protocol has been enhanced through its ability for added capabili-
where those capabilities have not been able to have any management ties. Implementations of those capabilities have not been able to
capabilities present in RFC 1657-compliant MIB module agents, since the have any management capabilities present in RFC 1657-compliant MIB
capabilities themselves postdated the adoption of RFC 1657. For module agents, since the capabilities themselves postdated the adop-
several significant capabilities of BGP Communities [17], Autonomous tion of RFC 1657. For several significant capabilities, in the form
System Confederation [16] , BGP Multiprotocol Extensions [18], and of BGP Communities [17], Autonomous System Confederation [16] , BGP
Route Reflection [19], the MIB Module defines herein objects to manage Multiprotocol Extensions [18], and Route Reflection [19], the MIB
those extended capabilities and their operation. Module defined in this document exposes object types to manage those
extended capabilities and their operation.
One of these extensions in particular (the multiprotocol extensions) One of these extensions in particular (the multiprotocol extensions)
requires a thorough redefinition of MIB objects from the RFC 1657 requires a thorough redefinition of MIB table row indices from the
state, so as to allow transport-independent address exposure consistent RFC 1657 state. This allows transport-independent address indices
with the Address Family Identifier (AFI) and Subsequent Address Family consistent with the Address Family Identifier (AFI) and Subsequent
Identifier (SAFI) mechanisms of that extension. Address Family Identifier (SAFI) mechanisms of that extension.
2.2. Mechanisms for MIB Extensibility
Moreover, the requirement for the incremental update of support for Moreover, the requirement for the incremental update of support for
capabilities such as these begs the issue of placing modular capabilities such as these begs the issue of placing modular extensi-
extensibility for protocol extensions within the framework of the MIB bility for protocol extensions within the framework of the MIB
itself. Going forward, it would be very desirable to have attributes itself. Going forward, it would be very desirable to have attributes
of the MIB structure, and administrative procedures, to allow the of the MIB structure, and administrative procedures, to allow the
incremental update of the MIB scope to cover any such new protocol incremental update of the MIB scope to cover any such new protocol
extensions, without requiring a reissue of the entire MIB. In this extensions, without requiring a reissue of the entire MIB. In this
sense, we seek to structure the MIB much like the underlying BGP4 sense, we seek to structure the MIB much like the underlying BGP4
itself, allowing capability-by-capability update. itself, allowing capability-by-capability update.
2.3. BGP Configuration
Finally, the definition and adoption of Version 3 of the SNMP has Finally, the definition and adoption of Version 3 of the SNMP has
occurred since the adoption of the RFC 1657 MIB. As a result, the occurred since the adoption of the RFC 1657 MIB. As a result, the
ability to deploy secure configuration of managed elements via SNMP ability to deploy secure configuration of managed elements via SNMP
in a standardized way has become a reality for managed networks. In in a standardized way has become a reality for managed networks. In
this MIB definition effort, we seek to expose a more thorough this MIB definition effort, we seek to expose a more thorough capac-
capacity for configuration of BGP4 and its capabilities than was ity for configuration of BGP4 and its capabilities than was present
present in RFC 1657 or than was common practice at the time of its in RFC 1657 or than was common practice at the time of its adoption.
adoption.
4. MIB Organization 3. MIB Organization
The MIB is broken down into several top level sections. This The MIB is broken down into several top level sections. This sec-
sectionalization is important to create an organization for tionalization is important to create an organization for extensibil-
extensibility: ity.
* The bgpBaseScalars section (and corresponding OBJECT IDENTIFIER) In general, a top level section of the MIB module will identify some
is used to delineate objects used for basic management and number of "core" scalar and tabular objects rooted off of it. If
monitoring of the protocol implementation. These are core there is sufficient depth within a subsection of one of these top-
parameters for the local configuration. level sections, the "core" subdivision off of the top level section
may provide multiple levels to the OBJECT IDENTIFIER scope necessary
to define its management data.
* The bgpPeerData section is per-peer object definitions. The Once this core section is defined, however, each top-level section
predominant table in that section (bgpPeerTable) describes the has an explicit provision for an 'extensions' section OBJECT IDENTI-
session, negotiation state, and authentication state on a FIER. The intent of the extensions section is to be containment for
per peer basis. A second table (bgpPrefixCountersTable) exposes discrete per-extension sections. By 'extension' here, we refer to
information about individual route prefixes received protocol mechanisms, capabilities, and exchanges which are not
over each peer session. defined in the base Border Gateway Protocol definition, or is not
configuration for protocol operations of similarly 'core' status.
Currently, we propose keying the identification within the per-exten-
sion section in one of two ways.
* bgpCapabilitiesData has objects and tables to describe BGP Where the extension is keyed to a defined capability which has an
capabilities locally supported, and those reported and negotiated associated BGP capability number assiged by IANA (for example, multi-
over each peer session. protocol BGP extensions), the per extension section will be that
defined IANA capability number. Where the extension has management
information suitable for a MIB extension but does not correspond to
an exchanged protocol capability (for example, BGP Route Reflection),
the extension section shall have its final OBJECT IDENTIFIER fragment
correspond to the RFC number which first uniquely defined the exten-
sion (i.e., not requiring renumbering at the time a defining RFC for
a protocol mechanism is outdated by a later RFC).
* bgpPathAttributesData contains objects describing destination 3.1. bgpBaseScalars
networks and paths to those networks, independent of the peer
from which the information on each network was received.
Each section is further given an OBJECT IDENTIFIER allowing a section The bgpBaseScalars section (and corresponding OBJECT IDENTIFIER) is
of containment for the per-capability extensions of the scope of the used to delineate object types used for basic management and monitor-
section. ing of the protocol implementation. These are core parameters for
the local configuration. While notifications are designed to be
extensible into any other section in the MIB module, the currently
defined traps are located here, in a subsection 'bgpBaseNotifica-
tions'. This is rooted at index level zero (0) here, owing to con-
ventions established in [4].
4.1 Preliminary State of Work Support for multiple concurrently supported versions of BGP is
exposed through the entries of the bgpVersionTable. Similarly, sup-
port for multiple capabilities and authentication mechanisms, as
identified by their assigned numbers, are reported in the bgpSupport-
edCapabilitiesTable and bgpSupportedAuthTable respectively.
The MIB herein is the first, very rough, step in the refinement of In the MIB document, there are currently basic scalar extension mech-
the managed object definition this effort seeks to define. It is being anisms to allow the agent to report membership of a local BGP Confed-
offered to the community at this moment to get a read as to the eration [21] or Route Reflection Cluster ID [24]. These are consis-
general directions and ideas being pursued. Reviewers are urged not tent with the non-capability based extension section indexing guide-
to focus too much on certain details, or the inevitable roughness lines as presented above.
of their specification. Attention to those details is promised
with the next revision or two of this internet-draft.
5. Definitions 3.2. bgpPeerData
The bgpPeerData section is per-peer object type definitions. The pre-
dominant table in that section (bgpPeerTable) describes the session,
negotiation state, and authentication state on a per peer basis. A
second table (bgpPrefixCountersTable) exposes information about indi-
vidual route prefixes received over each peer session. A separate
subsection and its subordinate table (bgpPeerErrorsTable) reports
information about the last error encountered on a given peering ses-
sion.
Further subsections report authentication state with the peer and
elapsed time it has taken to advance the peering session into various
states defined in the protocol FSM.
The bgpPeerConfiguredTimersTable reports and allows dynamic reset of
key timers on the peer session. These currently allow reset of hold
time and keepalive timer, for compatibility wity the same capabili-
ties in RFC 1657 [17]. For these resettable timers, their end-to-end
negotiated current values are reflected in the bgpPeerNegotiated-
TimersTable.
3.2.1. bgpPeerCapabilities
bgpPeerCapabilitiesData has objects and tables to describe BGP capa-
bilities locally supported, and those reported and negotiated over
each peer session. For tables supporting each of these capability
sets, capability code and data value are provided. Attention must be
given to the fact that multiple instances of a given capability can
be transmitted between BGP speakers.
3.2.2. bgpPeerCounters
The bgpCountersTable and bgpPrefixCountersTable report protocol
exhanges/FSM transitions, and discrete number of NLRIs exchanged per
peering session, respectively. This is independent of actual
exhanged path attributes, which are tabularized later in the MIB mod-
ule.
3.2.3. Peering Data Extensions
Route reflector status on a per-peer basis (whether the peer is a
client or nonClient of the local BGP router's reflected route propa-
gation), and peer confederation membership is reported in non capa-
bility extensions of the peering data section.
3.3. BGP Routing Information Base Data
An important table for providing index information for other tables
in the MIB module is the bgpNlriTable. This discriminates on a given
network prefix (by AFI/SAFI), and the peer which advertised the pre-
fix (since it can be heard of from multiple spakers). The bgpPathAt-
trIndex column which identifies each row in this table is used as an
index for other per-attribute tables through the remainder of the MIB
module.
The bgpPathAttrTable provides discrete BGP NLRI attributes which were
recieved with the advertisement of the prefix by its advertising
peer. Specific information about the autonomous system path (AS
Path) advertised with the NLRI, on a per AS value, is to be found in
the bgpAsPathTable.
Finally, where attributes which were unable to be reported in the
bgpPathAttrTable, the AS Path table, or any defined per-NLRI tables
in the agent were recieved with the prefix, those attributes are
reported via the bgpPathAttrUnknownTable. Short of advertised
attribute type, no semantic breakdown of the unknown attribute data
is provided. That data is only available as a raw OCTET STRING in
the bgpPathAttrUnknownValue column of this table.
3.3.1. Routing Information Base Extensions
There are two extension sections and five subordinate tables to the
bgp4PathAttrTable and RIB data OBJECT IDENTIFIER-delimited MIB module
section. The bgpPathAttrRouteReflectionExts and its contained bgp-
PathAttrOriginatorIdTable report on the originating route reflector.
The bgpPathAttrClusterTable specifically reports on the reflection
route a NLRI has traversed to get to the local BGP routing process.
The bgpPathAttrCommunityExts section deals with extended and non-
exteded communities for network routes. The bgpPathAttrCommTable
bgpPathAttrExtCommTable contained herein report community membership
(if any) on a per network-prefix basis.
3.4. Consideration On Table Indexing
There are certain efficiency concerns for row index management for
management applications which are useful to take into consideration,
given the nature of some of the tables implied in the preceding sec-
tion.
In the first place, it is valuable to exploit the direct relationship
of entries in, for example, the bgpPrefixCountersTable as they relate
to the entry in the bgpPeerTable to which they are related. More
compelling is the case of the one-to-many relationship between a row
entry in the bgpPeerTable and the bgp4PathAttrTable, the latter of
which maintains per-row entries for potentially many NLRIs as
received from a peer in a BGP UPDATE message. From the point of view
of normalizing these relationships, it would be useful to have a
direct reference to the "governing" bgpPeerTable row entry for the
peer which is a "dependency" for the subordinate table row entry for
other peer data.
Second, the nature of protocol-independent addressing makes the
indexing of these entries indirectly even more compelling. Even
accounting for the addressing requirements of IPv6 and the provision
of AFI and SAFI qualifiers, the logical addressing of a row in the
bgp4PathAttrClusterTable (for example) would extend out some 50 bytes
if there was no direct index linkage to the "governing" bgp4PathAt-
trTable, and bgpPeerTable entries.
For this reason, the tables are structured in such a way that, where
there is such a linkage to a "dependent" table (where, for example,
the bgpPrefixCountersTable "depends on" the bgpPeerTable), a table
will contain a per-row numeric index (e.g., bgpPeerIndex), which the
"dependent" table will use as one of its own row index values. These
indices are manufactured by the agent, and are otherwise opaque to
the management application (or, for that matter, even to the
organization of the "dependent" table[s]).
4. Definitions
BGP4-V2-MIB DEFINITIONS ::= BEGIN BGP4-V2-MIB DEFINITIONS ::= BEGIN
IMPORTS IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
IpAddress, Integer32, Counter32, Gauge32, mib-2, Integer32, Counter32, Gauge32, mib-2,
experimental, Unsigned32 Unsigned32
FROM SNMPv2-SMI FROM SNMPv2-SMI
InetAddressType, InetAddress InetAddressType, InetAddress
FROM INET-ADDRESS-MIB FROM INET-ADDRESS-MIB
TEXTUAL-CONVENTION, TruthValue TEXTUAL-CONVENTION, TruthValue, DisplayString, RowStatus
FROM SNMPv2-TC FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF; FROM SNMPv2-CONF;
bgp MODULE-IDENTITY bgp MODULE-IDENTITY
LAST-UPDATED "200107060000Z" LAST-UPDATED "200111200000Z"
ORGANIZATION "IETF IDR Working Group" ORGANIZATION "IETF IDR Working Group"
CONTACT-INFO "E-mail: idr@merit.net CONTACT-INFO "E-mail: idr@merit.net
Jeff Haas (Editor) Jeff Haas (Editor)
517 W. William Street 517 W. William Street
Ann Arbor, MI 48103-4943 Ann Arbor, MI 48103-4943
Tel: +1 734 973-2200 Tel: +1 734 973-2200
Fax: +1 734 615-3241 Fax: +1 734 615-3241
E-mail: jhaas@nexthop.com" E-mail: jhaas@nexthop.com"
DESCRIPTION DESCRIPTION
"This MIB module defines management objects for "This MIB module defines management objects for
the Border Gateway Protocol, Version 4." the Border Gateway Protocol, Version 4."
::= { mib-2 ??? } ::= { mib-2 XXX }
BgpIdentifier ::= TEXTUAL-CONVENTION BgpIdentifier ::= TEXTUAL-CONVENTION
DISPLAY-HINT "1d:" DISPLAY-HINT "1d:"
-- jmh - is this right? -- jmh - is this right?
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The representation of a BGP Identifier." "The representation of a BGP Identifier."
SYNTAX OCTET STRING(SIZE (4)) SYNTAX OCTET STRING(SIZE (4))
BgpSafi ::= TEXTUAL-CONVENTION BgpSafi ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d" DISPLAY-HINT "d"
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The representation of a BGP Safi" "The representation of a BGP Safi"
SYNTAX Integer32(0..255) SYNTAX Unsigned32(0..255)
BgpAutonomousSystemNumber ::= TEXTUAL-CONVENTION BgpAutonomousSystemNumber ::= TEXTUAL-CONVENTION
-- JMH - how is Cisco et al. representing the 4byte
-- versions?
DISPLAY-HINT "d" DISPLAY-HINT "d"
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An autonomous System Number. If bgpAsSize is "An autonomous System Number. If bgpAsSize is
two-octet, the range is 0..65535. If it is two-octet, the range is 0..65535. If it is
four-octet, it is the full range of Unsigned32." four-octet, it is the full range of Unsigned32."
SYNTAX Unsigned32 SYNTAX Unsigned32
bgpBaseScalars OBJECT IDENTIFIER ::= { bgp 1 } bgpBaseScalars
OBJECT IDENTIFIER ::= { bgp 1 }
-- notifications and derivations from the SNMPv1 'trap' in general
-- must be rooted at suboid 0
bgpBaseTraps OBJECT IDENTIFIER ::= { bgpBaseScalars 0 } bgpBaseNotifications
OBJECT IDENTIFIER ::= { bgpBaseScalars 0 }
bgpEstablished NOTIFICATION-TYPE bgpEstablished NOTIFICATION-TYPE
OBJECTS { OBJECTS {
bgpPeerLocalAddrType,
bgpPeerLocalAddr,
bgpPeerRemoteAddrType, bgpPeerRemoteAddrType,
bgpPeerRemoteAddr, bgpPeerRemoteAddr,
bgpPeerLastError, bgpPeerLastError,
bgpPeerState bgpPeerState
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The BGP Established event is generated when "The BGP Established event is generated when
the BGP FSM enters the ESTABLISHED state." the BGP FSM enters the ESTABLISHED state."
::= { bgpBaseTraps 1 } ::= { bgpBaseNotifications 1 }
bgpBackwardTransition NOTIFICATION-TYPE bgpBackwardTransition NOTIFICATION-TYPE
OBJECTS { OBJECTS {
bgpPeerLocalAddrType,
bgpPeerLocalAddr,
bgpPeerRemoteAddrType, bgpPeerRemoteAddrType,
bgpPeerRemoteAddr, bgpPeerRemoteAddr,
bgpPeerLastError, bgpPeerLastError,
bgpPeerState bgpPeerState
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The BGPBackwardTransition Event is generated "The BGPBackwardTransition Event is generated
when the BGP FSM moves from a higher numbered when the BGP FSM moves from a higher numbered
state to a lower numbered state." state to a lower numbered state."
::= { bgpBaseTraps 2 } ::= { bgpBaseNotifications 2 }
bgpVersion
OBJECT IDENTIFIER ::= { bgpBaseScalars 1 }
-- --
-- BGP Supported Version Table
-- --
bgpVersion OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (1..32)) bgpVersionTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpVersionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table of supported BGP versions."
::= { bgpVersion 1 }
bgpVersionEntry OBJECT-TYPE
SYNTAX BgpVersionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Entry containing data on a given supported version of
the Border Gateway Protocol and the level of support
provided. It is expected that any agent implementation
supporting this MIB module will report support for
Version 4 of the Border Gateway Protocol at the very
minimum."
INDEX { bgpVersionIndex }
::= { bgpVersionTable 1 }
BgpVersionEntry ::= SEQUENCE {
bgpVersionIndex
Unsigned32,
bgpVersionSupported
TruthValue
}
bgpVersionIndex OBJECT-TYPE
SYNTAX Unsigned32(0..255)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Vector of supported BGP protocol version "The version number of the BGP Protocol."
numbers. Each peer negotiates the version ::= { bgpVersionEntry 1 }
from this vector. Versions are identified bgpVersionSupported OBJECT-TYPE
via the string of bits contained within this SYNTAX TruthValue
object. The first octet contains bits 0 to MAX-ACCESS read-only
7, the second octet contains bits 8 to 15, STATUS current
and so on, with the most significant bit DESCRIPTION
referring to the lowest bit number in the "This value is TRUE if the version of the BGP protocol
octet (e.g., the MSB of the first octet identified in 'bgpVersionIndex' is supported."
refers to bit 0). If a bit, i, is present ::= { bgpVersionEntry 2 }
and set, then the version (i+1) of the BGP
is supported." bgpSupportedAuthentication
::= { bgpBaseScalars 1 } OBJECT IDENTIFIER ::= { bgpBaseScalars 2 }
-- --
-- Supported authentication mechanisms
--
bgpSupportedAuthTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpSupportedAuthEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The supported BGP authentication mechanisms."
::= { bgpSupportedAuthentication 1 }
bgpSupportedAuthEntry OBJECT-TYPE
SYNTAX BgpSupportedAuthEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Entry containing information whether a given BGP
authentication mechanism is supported by this
implementation."
INDEX { bgpSupportedAuthCode }
::= { bgpSupportedAuthTable 1 }
BgpSupportedAuthEntry ::= SEQUENCE {
bgpSupportedAuthCode
Unsigned32,
bgpSupportedAuthValue
TruthValue
}
bgpSupportedAuthCode OBJECT-TYPE
SYNTAX Unsigned32(0..255)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The BGP authentication code."
::= { bgpSupportedAuthEntry 1 }
bgpSupportedAuthValue OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This value is TRUE if a given authentication method
is supported by the local implementation."
::= { bgpSupportedAuthEntry 2 }
bgpSupportedCapabilities
OBJECT IDENTIFIER ::= { bgpBaseScalars 3 }
-- --
-- Supported BGP Capabilities
-- --
bgpCapabilitySupportAvailable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This variable determines whether BGP-4
capabilities are supported in this
implementation. This variable may be set to
false to disable capability support."
::= { bgpSupportedCapabilities 1 }
bgpSupportedCapabilitiesTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpSupportedCapabilityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table of supported BGP-4 capabilities."
::= { bgpSupportedCapabilities 2 }
bgpSupportedCapabilitiesEntry OBJECT-TYPE
SYNTAX BgpSupportedCapabilityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about supported capabilities indexed
by capability number."
INDEX {
bgpSupportedCapabilityIndex
}
::= { bgpSupportedCapabilitiesTable 1 }
BgpSupportedCapabilityEntry ::= SEQUENCE {
bgpSupportedCapabilityIndex
Unsigned32,
bgpSupportedCapability
TruthValue
}
bgpSupportedCapabilityIndex OBJECT-TYPE
SYNTAX Unsigned32 (0..255)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Index of supported capability. The index directly
corresponds with the BGP-4 Capability Advertisement
Capability Code."
::= { bgpSupportedCapabilitiesEntry 1 }
bgpSupportedCapability OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This value is True if this capability is supported,
False otherwise."
::= { bgpSupportedCapabilitiesEntry 2 }
bgpAsSize OBJECT-TYPE bgpAsSize OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
twoOctet(1), twoOctet(1),
fourOctet(2) fourOctet(2)
} }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The size of the AS value in this implementation. "The size of the AS value in this implementation.
The semantics of this are determined as per the The semantics of this are determined as per the
as-4bytes draft." as-4bytes draft."
::= { bgpBaseScalars 2 } REFERENCE
"draft-ietf-idr-as4bytes-04"
::= { bgpBaseScalars 4 }
bgpLocalAs OBJECT-TYPE bgpLocalAs OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX BgpAutonomousSystemNumber
MAX-ACCESS read-only MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The local autonomous system number. "The local autonomous system number.
If the bgpAsSize is twoOctet, then the
range is constrained to be 0-65535."
::= { bgpBaseScalars 3 }
If the bgpAsSize is twoOctet, then the range is
constrained to be 0-65535."
::= { bgpBaseScalars 5 }
bgpLocalIdentifier OBJECT-TYPE bgpLocalIdentifier OBJECT-TYPE
SYNTAX BgpIdentifier SYNTAX BgpIdentifier
MAX-ACCESS read-only MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The BGP Identifier of local system. "The BGP Identifier of the local system.
Current practice is trending away from this
value being treated as an IP address and more Current practice is trending away from this value being
as a generic identifier." treated as an IP address and more as a generic
::= { bgpBaseScalars 4 } identifier."
::= { bgpBaseScalars 6 }
--
-- Base Scalar Extensions
--
bgpBaseScalarExtensions OBJECT IDENTIFIER ::= bgpBaseScalarExtensions OBJECT IDENTIFIER ::=
{ bgpBaseScalars 5 } { bgpBaseScalars 7 }
bgpBaseScalarRouteReflectionExtensions ::= bgpBaseScalarNonCapExts OBJECT IDENTIFIER ::=
{ bgpBaseScalarExtensions 1 } { bgpBaseScalarExtensions 1 }
bgp4ClusterId OBJECT-TYPE bgpBaseScalarCapExts OBJECT IDENTIFIER ::=
SYNTAX BgpIdentifier { bgpBaseScalarExtensions 2 }
MAX-ACCESS read-only
--
-- Base Scalar AS Confederation Extensions
--
bgpBaseScalarASConfederationExts OBJECT IDENTIFIER ::=
{ bgpBaseScalarNonCapExts 1965 }
bgpConfederationId OBJECT-TYPE
SYNTAX BgpAutonomousSystemNumber
MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The configured Cluster-ID of the local router. A value "The local Confederation Identification Number.
of 0.0.0.0 indicates the absence of this value."
A value of zero (0) indicates the absence of this
value."
REFERENCE REFERENCE
"RFC 2796 - BGP Route Reflection" "RFC 3065 - Autonomous System Confederations for BGP"
::= { bgpBaseScalarRouteReflectionExtensions 5 } ::= { bgpBaseScalarASConfederationExts 1 }
bgpBaseScalarASConfederationExtensions ::= --
{ bgpBaseScalarExtensions 2 } -- Base Scalar Route Reflection Extensions
--
bgp4ConfederationId OBJECT-TYPE bgpBaseScalarRouteReflectionExts OBJECT IDENTIFIER ::=
SYNTAX BgpAutonomousSystemNumber { bgpBaseScalarNonCapExts 1966 }
MAX-ACCESS read-only
bgpClusterId OBJECT-TYPE
SYNTAX BgpIdentifier
MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The local Confederation Identification Number. A value "The configured Cluster-ID of the local router.
of zero (0) indicates the absence of this value."
A value of 0.0.0.0 indicates the absence of this
value."
REFERENCE REFERENCE
"RFC 3065 - Autonomous System Confederations for BGP" "RFC 2796 - BGP Route Reflection"
::= { bgpBaseScalarASConfederationExtensions 6 } ::= { bgpBaseScalarRouteReflectionExts 1 }
-- BGP Peer table. This table contains, one entry per
-- BGP peer, information about the BGP peer.
bgpPeerData OBJECT IDENTIFIER ::= { bgp 2 } bgpPeer
OBJECT IDENTIFIER ::= { bgp 2 }
bgpPeerData
OBJECT IDENTIFIER ::= { bgpPeer 1 }
--
-- BGP Peer Data
--
bgpPeerTable OBJECT-TYPE bgpPeerTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpPeerEntry SYNTAX SEQUENCE OF BgpPeerEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"BGP peer table. This table contains, "BGP peer table.
one entry per BGP peer, information about the
connections with BGP peers." This table contains, one entry per BGP peer,
and information about the connections with BGP
peers."
::= { bgpPeerData 1 } ::= { bgpPeerData 1 }
bgpPeerEntry OBJECT-TYPE bgpPeerEntry OBJECT-TYPE
SYNTAX BgpPeerEntry SYNTAX BgpPeerEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Entry containing information about the "Entry containing information about the connection with
connection with a BGP peer." a BGP peer."
INDEX { INDEX {
-- JMH We should only need one AddrType?
bgpPeerLocalAddrType,
bgpPeerLocalAddr,
bgpPeerRemoteAddrType, bgpPeerRemoteAddrType,
bgpPeerRemoteAddr bgpPeerRemoteAddr
} }
::= { bgpPeerTable 1 } ::= { bgpPeerTable 1 }
BgpPeerEntry ::= SEQUENCE { BgpPeerEntry ::= SEQUENCE {
bgpPeerIdentifier bgpPeerIdentifier
OCTET STRING, BgpIdentifier,
bgpPeerState bgpPeerState
INTEGER, INTEGER,
bgpPeerAdminStatus bgpPeerAdminStatus
INTEGER, INTEGER,
bgpPeerConfiguredVersion
Unsigned32,
bgpPeerNegotiatedVersion bgpPeerNegotiatedVersion
Integer32, Unsigned32,
bgpPeerLocalAddrType bgpPeerLocalAddrType
InetAddressType, InetAddressType,
bgpPeerLocalAddr bgpPeerLocalAddr
InetAddress, InetAddress,
bgpPeerLocalPort bgpPeerLocalPort
Integer32, Integer32,
bgpPeerLocalAs bgpPeerLocalAs
BgpAutonomousSystemNumber, BgpAutonomousSystemNumber,
bgpPeerRemoteAddrType bgpPeerRemoteAddrType
InetAddressType, InetAddressType,
bgpPeerRemoteAddr bgpPeerRemoteAddr
InetAddress, InetAddress,
bgpPeerRemotePort bgpPeerRemotePort
Integer32, Integer32,
bgpPeerRemoteAs bgpPeerRemoteAs
BgpAutonomousSystemNumber, BgpAutonomousSystemNumber,
bgpPeerReflectorClient bgpPeerIndex
INTEGER, Unsigned32,
bgpPeerConfederationMember bgpPeerRowEntryStatus
TruthValue, RowStatus
bgpPeerInUpdates
Counter32,
bgpPeerOutUpdates
Counter32,
bgpPeerInTotalMessages
Counter32,
bgpPeerOutTotalMessages
Counter32,
bgpPeerLastError
OCTET STRING,
bgpPeerFsmEstablishedTransitions
Counter32,
bgpPeerFsmEstablishedTime
Gauge32,
bgpPeerConnectRetryInterval
Integer32,
bgpPeerHoldTime
Integer32,
bgpPeerKeepAlive
Integer32,
bgpPeerHoldTimeConfigured
Integer32,
bgpPeerKeepAliveConfigured
Integer32,
bgpPeerMinASOriginationInterval
Integer32,
bgpPeerMinRouteAdvertisementInterval
Integer32,
bgpPeerInUpdateElapsedTime
Gauge32,
bgpPeerAuthenticationSent
TruthValue,
bgpPeerAuthenticationSentCode
Integer32,
bgpPeerAuthenticationSentValue
OCTET STRING,
bgpPeerAuthenticationReceived
TruthValue,
bgpPeerAuthenticationReceivedCode
Integer32,
bgpPeerAuthenticationReceivedValue
OCTET STRING
} }
bgpPeerIdentifier OBJECT-TYPE bgpPeerIdentifier OBJECT-TYPE
SYNTAX BgpIdentifier SYNTAX BgpIdentifier
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The BGP Identifier of this entry's BGP peer. "The BGP Identifier of this entry's BGP peer.
This entry should be 0.0.0.0 unless the
bgpPeerState is in the openconfirm or the This entry should be 0.0.0.0 unless the bgpPeerState is
established state." in the openconfirm or the established state."
::= { bgpPeerEntry 1 } ::= { bgpPeerEntry 1 }
bgpPeerState OBJECT-TYPE bgpPeerState OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
idle(1), idle(1),
connect(2), connect(2),
active(3), active(3),
opensent(4), opensent(4),
openconfirm(5), openconfirm(5),
established(6) established(6)
} }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The BGP peer connection state." "The BGP peer's FSM state."
::= { bgpPeerEntry 2 } ::= { bgpPeerEntry 2 }
-- JMH
-- The work here is done by a transition.
-- This implies that we stay in a state even though
-- automatic start/stop events imply strobing something
-- even when the state machine is running.
bgpPeerAdminStatus OBJECT-TYPE bgpPeerAdminStatus OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
stop(1), stop(1),
start(2) start(2)
} }
MAX-ACCESS read-write MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The desired state of the BGP connection. "The desired state of the BGP connection.
A transition from 'stop' to 'start' will
cause the BGP Start Event to be generated. A transition from 'stop' to 'start' will cause the BGP
A transition from 'start' to 'stop' will Start Event to be generated.
cause the BGP Stop Event to be generated.
This parameter can be used to restart BGP A transition from 'start' to 'stop' will cause the BGP
peer connections. Care should be used in Stop Event to be generated.
providing write access to this object
without adequate authentication." This parameter can be used to restart BGP peer
connections. Care should be used in providing write
access to this object without adequate authentication."
::= { bgpPeerEntry 3 } ::= { bgpPeerEntry 3 }
-- JMH
-- Added this
bgpPeerConfiguredVersion OBJECT-TYPE
SYNTAX Unsigned32 (1..255)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The configured version to originally start with this
peer. The BGP speaker may permit negotiation to a
lower version number of the protocol."
::= { bgpPeerEntry 4 }
bgpPeerNegotiatedVersion OBJECT-TYPE bgpPeerNegotiatedVersion OBJECT-TYPE
SYNTAX Integer32 (1..255) SYNTAX Unsigned32 (1..255)
-- jmh we may want this r/w
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The negotiated version of BGP running between "The negotiated version of BGP running between the two
the two peers." peers."
::= { bgpPeerEntry 4 } ::= { bgpPeerEntry 5 }
bgpPeerLocalAddrType OBJECT-TYPE bgpPeerLocalAddrType OBJECT-TYPE
SYNTAX InetAddressType SYNTAX InetAddressType
MAX-ACCESS read-only MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The address family of the local end of the peering "The address family of the local end of the peering
session." session."
::= { bgpPeerEntry 5 } ::= { bgpPeerEntry 6 }
bgpPeerLocalAddr OBJECT-TYPE bgpPeerLocalAddr OBJECT-TYPE
SYNTAX InetAddress SYNTAX InetAddress (SIZE (20))
MAX-ACCESS read-only MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The address of the local end of the peering session." "The address of the local end of the peering session."
::= { bgpPeerEntry 6 } ::= { bgpPeerEntry 7 }
bgpPeerLocalPort OBJECT-TYPE bgpPeerLocalPort OBJECT-TYPE
SYNTAX Integer32 (0..65535) SYNTAX Integer32 (-1 | 0..65535)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The local port for the TCP connection between "The local port for the transport connection between the BGP
the BGP peers. peers. In the case of a transport for which the notion of
If we're not running IP, could this be some generic 'port' is irrelevant, an instance value of -1 should be returned
value? What size is the OSI NSAP?" by the agent for this object."
::= { bgpPeerEntry 7 } ::= { bgpPeerEntry 8 }
bgpPeerLocalAs OBJECT-TYPE bgpPeerLocalAs OBJECT-TYPE
SYNTAX BgpAutonomousSystemNumber SYNTAX BgpAutonomousSystemNumber
MAX-ACCESS read-only MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Some implementations of BGP can represent themselves "Some implementations of BGP can represent themselves
as multiple ASs. This is the AS that this peering as multiple ASs. This is the AS that this peering
session is representing itself as to the remote peer." session is representing itself as to the remote peer."
::= { bgpPeerEntry 8 } ::= { bgpPeerEntry 9 }
bgpPeerRemoteAddrType OBJECT-TYPE bgpPeerRemoteAddrType OBJECT-TYPE
SYNTAX InetAddressType SYNTAX InetAddressType
MAX-ACCESS read-only MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The address family of the remote end of the peering "The address family of the remote end of the peering
session." session."
::= { bgpPeerEntry 9 } ::= { bgpPeerEntry 10 }
bgpPeerRemoteAddr OBJECT-TYPE bgpPeerRemoteAddr OBJECT-TYPE
SYNTAX IpAddress SYNTAX InetAddress (SIZE (20))
MAX-ACCESS read-only MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The address of the remote end of the peering session." "The address of the remote end of the peering session."
::= { bgpPeerEntry 10 } ::= { bgpPeerEntry 11 }
bgpPeerRemotePort OBJECT-TYPE bgpPeerRemotePort OBJECT-TYPE
SYNTAX Integer32 (0..65535) SYNTAX Integer32 (-1 | 0..65535)
MAX-ACCESS read-only MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The remote port for the TCP connection "The remote port for the TCP connection between
between the BGP peers. the BGP peers. In the case of a transport for
If we're not running IP, this should be a generic which the notion of 'port' is irrelevant, an
transport endpoint. instance value of -1 should be returned
Note that the by the agent for this object.
objects bgpPeerLocalAddr,
-- JMH - this text needs updating
Note that the objects bgpPeerLocalAddr,
bgpPeerLocalPort, bgpPeerRemoteAddr and bgpPeerLocalPort, bgpPeerRemoteAddr and
bgpPeerRemotePort provide the appropriate bgpPeerRemotePort provide the appropriate reference to
reference to the standard MIB TCP the standard MIB TCP connection table. or even the ipv6
connection table. or even the ipv6 tcp MIB tcp MIB as in rfc2452."
as in rfc2452. ::= { bgpPeerEntry 12 }
Is there an analog for non IP technologies?"
::= { bgpPeerEntry 11 }
bgpPeerRemoteAs OBJECT-TYPE bgpPeerRemoteAs OBJECT-TYPE
SYNTAX BgpAutonomousSystemNumber SYNTAX BgpAutonomousSystemNumber
MAX-ACCESS read-only MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The remote autonomous system number." "The remote autonomous system number."
::= { bgpPeerEntry 12 }
bgpPeerReflectorClient OBJECT-TYPE
SYNTAX INTEGER {
nonClient(0),
client(1),
meshedClient(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This value indicates whether the given peer is a reflector
client of this router, or not. A value of nonClient
indicates that this peer is not a reflector client. A
value of client indicates that this peer is a reflector
client that is not fully meshed with other reflector
clients. A value of meshedClient indicates that the
peer is a reflector client and is fully meshed with all
other reflector clients."
REFERENCE
"RFC 2796 - BGP Route Reflection"
::= { bgpPeerEntry 13 } ::= { bgpPeerEntry 13 }
bgpPeerConfederationMember OBJECT-TYPE bgpPeerIndex OBJECT-TYPE
SYNTAX TruthValue SYNTAX Unsigned32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This value indicates whether the given peer is in our "This value is a unique index for the peer entry in the
confederation or not." bgpPeerTable. It is assigned by the agent at the point
REFERENCE of creation of the bgpPeerTable row entry. While its
"RFC 3065 - BGP Confederations" value is guaranteed to be unique at any time, it is
otherwise opaque to the management application with
respect to its value or the contiguity of bgpPeerIndex
row instance values across rows of the bgpPeerTable. It
is used to provide an index structure for other tables
whose data is logically per-peer."
-- +++wayne (from Tom Nadeau): need text describing fate sharing of index, if
-- peering session comes up, peer disconnects, and then this or other peer
-- connects again. Will this grow monotonically? (I think that's the question)
::= { bgpPeerEntry 14 } ::= { bgpPeerEntry 14 }
bgpPeerInUpdates OBJECT-TYPE bgpPeerRowEntryStatus OBJECT-TYPE
SYNTAX Counter32 SYNTAX RowStatus
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of BGP UPDATE messages "This object type reflects the status of the row within the
received on this connection. This object agent. Note that this is independent of the bgpPeerAdminStatus
should be initialized to zero (0) when the which reflects the underlying peering session itself. An instance
connection is established." of this row is returned by the agent to reflect the validity of the
current state of this row. The valid RowStatus enumeration values
for this are 'active', 'notInService', and 'notReady'."
-- +++wayne need better definition of the three states, better analysis of
-- whether this should be read-write, and what, if any, the interaction of setting
-- bgpPeerAdminStatus to 'stop'. At some point, the entry should age out of the
-- agent, and this needs to track that (in addition to its creation from
-- bgpPeerCfgTable row data).
::= { bgpPeerEntry 15 } ::= { bgpPeerEntry 15 }
bgpPeerOutUpdates OBJECT-TYPE bgpPeerErrors
SYNTAX Counter32 OBJECT IDENTIFIER ::= { bgpPeer 2 }
MAX-ACCESS read-only
STATUS current bgpPeerErrorsTable OBJECT-TYPE
DESCRIPTION SYNTAX SEQUENCE OF BgpPeerErrorsEntry
"The number of BGP UPDATE messages MAX-ACCESS not-accessible
transmitted on this connection. This
object should be initialized to zero (0)
when the connection is established."
::= { bgpPeerEntry 16 }
bgpPeerInTotalMessages OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The total number of messages received "On a per peer basis, this table reflects the last
from the remote peer on this connection. protocol-defined error encountered and reported on the
This object should be initialized to zero peer session. If no entry for a given peer, by its
when the connection is established." bgpPeerIndex, exists in this table, then no such errors
::= { bgpPeerEntry 17 } have been observed, reported, and recorded on the
session."
::= { bgpPeerErrors 1 }
bgpPeerOutTotalMessages OBJECT-TYPE bgpPeerErrorsEntry OBJECT-TYPE
SYNTAX Counter32 SYNTAX BgpPeerErrorsEntry
MAX-ACCESS read-only MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The total number of messages transmitted to "Each entry contains information about an error on
the remote peer on this connection. This a given BGP peer session."
object should be initialized to zero when INDEX { bgpPeerIndex }
the connection is established." ::= { bgpPeerErrorsTable 1 }
::= { bgpPeerEntry 18 }
BgpPeerErrorsEntry ::= SEQUENCE {
bgpPeerLastError
OCTET STRING,
bgpPeerLastErrorData
Unsigned32
}
bgpPeerLastError OBJECT-TYPE bgpPeerLastError OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (2)) SYNTAX OCTET STRING (SIZE (2))
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The last error code and subcode seen by this "The last error code and subcode seen by this peer on
peer on this connection. If no error has this connection. If no error has occurred, this field
occurred, this field is zero. Otherwise, the is zero. Otherwise, the first byte of this two byte
first byte of this two byte OCTET STRING OCTET STRING contains the error code, and the second
contains the error code, and the second byte byte contains the subcode."
contains the subcode." REFERENCE
::= { bgpPeerEntry 19 } "draft-ietf-bgp4-15.txt, Sec. 4.5"
::= { bgpPeerErrorsEntry 1 }
bgpPeerFsmEstablishedTransitions OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of times the BGP FSM
transitioned into the established state
for this peer."
::= { bgpPeerEntry 20 }
bgpPeerFsmEstablishedTime OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This timer indicates how long (in
seconds) this peer has been in the
Established state or how long
since this peer was last in the
Established state. It is set to zero when
a new peer is configured or the router is
booted."
::= { bgpPeerEntry 21 }
bgpPeerConnectRetryInterval OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Time interval in seconds for the
ConnectRetry timer. The suggested value
for this timer is 120 seconds."
::= { bgpPeerEntry 22 }
bgpPeerHoldTime OBJECT-TYPE bgpPeerLastErrorData OBJECT-TYPE
SYNTAX Integer32 ( 0 | 3..65535 ) SYNTAX Unsigned32 (0..4075)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Time interval in seconds for the Hold
Timer established with the peer. The
value of this object is calculated by this
BGP speaker by using the smaller of the
value in bgpPeerHoldTimeConfigured and the
Hold Time received in the OPEN message.
This value must be at lease three seconds
if it is not zero (0) in which case the
Hold Timer has not been established with the
peer, or, the value of
bgpPeerHoldTimeConfigured is zero (0)."
::= { bgpPeerEntry 23 }
bgpPeerKeepAlive OBJECT-TYPE
SYNTAX Integer32 ( 0 | 1..21845 )
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Time interval in seconds for the KeepAlive "The last error code's data seen by this peer on this
timer established with the peer. The value of connection."
this object is calculated by this BGP ::= { bgpPeerErrorsEntry 2 }
speaker such that, when compared with
bgpPeerHoldTime, it has the same
proportion as what
bgpPeerKeepAliveConfigured has when
compared with bgpPeerHoldTimeConfigured.
If the value of this object is zero (0),
it indicates that the KeepAlive timer has
not been established with the peer, or,
the value of bgpPeerKeepAliveConfigured is
zero (0)."
::= { bgpPeerEntry 24 }
bgpPeerHoldTimeConfigured OBJECT-TYPE bgpPeerAuthentication
SYNTAX Integer32 ( 0 | 3..65535 ) OBJECT IDENTIFIER ::= { bgpPeer 3 }
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Time interval in seconds for the Hold Time
configured for this BGP speaker with this
peer. This value is placed in an OPEN
message sent to this peer by this BGP
speaker, and is compared with the Hold
Time field in an OPEN message received
from the peer when determining the Hold
Time (bgpPeerHoldTime) with the peer.
This value must not be less than three
seconds if it is not zero (0) in which
case the Hold Time is NOT to be
established with the peer. The suggested
value for this timer is 90 seconds."
::= { bgpPeerEntry 25 }
bgpPeerKeepAliveConfigured OBJECT-TYPE --
SYNTAX Integer32 ( 0 | 1..21845 ) -- Peer Authentication
MAX-ACCESS read-write --
STATUS current
DESCRIPTION
"Time interval in seconds for the
KeepAlive timer configured for this BGP
speaker with this peer. The value of this
object will only determine the
KEEPALIVE messages' frequency relative to
the value specified in
bgpPeerHoldTimeConfigured; the actual
time interval for the KEEPALIVE messages is
indicated by bgpPeerKeepAlive. A
reasonable maximum value for this timer
would be configured to be one
third of that of
bgpPeerHoldTimeConfigured.
If the value of this object is zero (0),
no periodical KEEPALIVE messages are sent
to the peer after the BGP connection has
been established. The suggested value for
this timer is 30 seconds."
::= { bgpPeerEntry 26 }
bgpPeerMinASOriginationInterval OBJECT-TYPE bgpPeerAuthTable OBJECT-TYPE
SYNTAX Integer32 (1..65535) SYNTAX SEQUENCE OF BgpPeerAuthEntry
MAX-ACCESS read-write MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Time interval in seconds for the "BGP peer authentication table.
MinASOriginationInterval timer.
The suggested value for this timer is 15
seconds."
::= { bgpPeerEntry 27 }
bgpPeerMinRouteAdvertisementInterval OBJECT-TYPE This table contains, one entry per BGP peer,
SYNTAX Integer32 (1..65535) information about the authentication with BGP peers."
MAX-ACCESS read-write ::= { bgpPeerAuthentication 1 }
bgpPeerAuthEntry OBJECT-TYPE
SYNTAX BgpPeerAuthEntry
MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Time interval in seconds for the "Entry containing information about the authentication
MinRouteAdvertisementInterval timer. with a BGP peer."
The suggested value for this timer is 30 INDEX { bgpPeerIndex }
seconds." ::= { bgpPeerAuthTable 1 }
::= { bgpPeerEntry 28 }
bgpPeerInUpdateElapsedTime OBJECT-TYPE BgpPeerAuthEntry ::= SEQUENCE {
SYNTAX Gauge32 bgpPeerAuthSent
MAX-ACCESS read-only TruthValue,
STATUS current bgpPeerAuthSentCode
DESCRIPTION Unsigned32,
"Elapsed time in seconds since the last BGP bgpPeerAuthSentValue
UPDATE message was received from the peer. OCTET STRING,
Each time bgpPeerInUpdates is incremented, bgpPeerAuthRcvd
the value of this object is set to zero TruthValue,
(0)." bgpPeerAuthRcvdCode
::= { bgpPeerEntry 29 } Unsigned32,
bgpPeerAuthRcvdValue
OCTET STRING
}
bgpPeerAuthenticationSent OBJECT-TYPE bgpPeerAuthSent OBJECT-TYPE
SYNTAX TruthValue SYNTAX TruthValue
MAX-ACCESS read-write MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The local peer has sent authentication information "The local peer has sent authentication
to the remote peer in the BGP Authentication field." to the remote peer in the BGP Authentication
::= { bgpPeerEntry 30 } field."
bgpPeerAuthenticationSentCode OBJECT-TYPE ::= { bgpPeerAuthEntry 1 }
SYNTAX Integer32 (0..255)
bgpPeerAuthSentCode OBJECT-TYPE
SYNTAX Unsigned32 (0..255)
MAX-ACCESS read-write MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The code of the authentication information sent to "The code of the authentication information sent
the remote peer." the remote peer."
::= { bgpPeerEntry 31 } ::= { bgpPeerAuthEntry 2 }
bgpPeerAuthSentValue OBJECT-TYPE
bgpPeerAuthenticationSentValue OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255)) SYNTAX OCTET STRING (SIZE (0..255))
-- jmh length is too much -- jmh length is too much
-- +++wayne get value from...IPSec MIB? Any opaque TC there to use?
MAX-ACCESS read-write MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The payload of the authentication information received "The payload of the authentication information
from the remote peer." from the remote peer."
::= { bgpPeerEntry 32 } ::= { bgpPeerAuthEntry 3 }
bgpPeerAuthenticationReceived OBJECT-TYPE bgpPeerAuthRcvd OBJECT-TYPE
SYNTAX TruthValue SYNTAX TruthValue
MAX-ACCESS read-write MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The local peer has received authentication information "The local peer has received authentication
from the remote peer in the BGP Authentication field." from the remote peer in the BGP Authentication
::= { bgpPeerEntry 33 } field."
::= { bgpPeerAuthEntry 4 }
bgpPeerAuthenticationReceivedCode OBJECT-TYPE bgpPeerAuthRcvdCode OBJECT-TYPE
SYNTAX Integer32 (0..255) SYNTAX Unsigned32 (0..255)
MAX-ACCESS read-write MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The code of the authentication information received from "The code of the authentication information
the remote peer." from the remote peer."
::= { bgpPeerEntry 34 } ::= { bgpPeerAuthEntry 5 }
bgpPeerAuthenticationReceivedValue OBJECT-TYPE bgpPeerAuthRcvdValue OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255)) SYNTAX OCTET STRING (SIZE (0..255))
-- jmh length is too much -- jmh length is too much
MAX-ACCESS read-write MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The payload of the authentication information received from "The payload of the authentication information
the remote peer." from the remote peer."
::= { bgpPeerEntry 35 } ::= { bgpPeerAuthEntry 6 }
bgpPeerTimers
OBJECT IDENTIFIER ::= { bgpPeer 4 }
-- --
-- Peer Event Times
-- --
bgpPrefixCountersTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpPrefixCountersEntry bgpPeerEventTimesTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpPeerEventTimesEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Additional per-peer, per AFI/SAFI counters for prefixes" "A table reporting the per-peering session amount of time
::= { bgpPeerData 2 } elapsed and update events since the peering session
bgpPrefixCountersEntry OBJECT-TYPE advanced into the 'established' state."
SYNTAX BgpPrefixCountersEntry ::= { bgpPeerTimers 1 }
bgpPeerEventTimesEntry OBJECT-TYPE
SYNTAX BgpPeerEventTimesEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Entry containing information about a bgp-peer's prefix "Each row contains a set of statistics about time
counters." spent and events encountered in the peer session
INDEX { 'established' state."
bgpPeerRemoteAddrType, INDEX { bgpPeerIndex }
bgpPeerRemoteAddr, ::= { bgpPeerEventTimesTable 1 }
bgpPrefixCountersAfi,
bgpPrefixCountersSafi
}
::= { bgpPrefixCountersTable 1 }
BgpPrefixCountersEntry ::= SEQUENCE { BgpPeerEventTimesEntry ::= SEQUENCE {
bgpPrefixCountersAfi bgpPeerFsmEstablishedTime
InetAddressType,
bgpPrefixCountersSafi
BgpSafi,
bgpPrefixCountersPrefixesReceived
Counter32,
bgpPrefixCountersPrefixesSent
Counter32,
bgpPrefixCountersWithdrawsReceived
Counter32,
bgpPrefixCountersWithdrawsSent
Counter32,
bgpPrefixCountersInPrefixes
Gauge32,
bgpPrefixCountersInPrefixesAccepted
Gauge32,
bgpPrefixCountersInPrefixesRejected
Gauge32, Gauge32,
bgpPrefixCountersOutPrefixes bgpPeerInUpdatesElapsedTime
Gauge32 Gauge32
} }
bgpPrefixCountersAfi OBJECT-TYPE bgpPeerFsmEstablishedTime OBJECT-TYPE
SYNTAX InetAddressType SYNTAX Gauge32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The AFI index of the per-peer, per prefix counters" "This timer indicates how long (in seconds) this
::= { bgpPrefixCountersEntry 1 } peer has been in the Established state or how long
since this peer was last in the Established state.
It is set to zero when a new peer is configured or
the router is booted."
::= { bgpPeerEventTimesEntry 1 }
bgpPrefixCountersSafi OBJECT-TYPE bgpPeerInUpdatesElapsedTime OBJECT-TYPE
SYNTAX BgpSafi SYNTAX Gauge32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The SAFI index of the per-peer, per prefix counters" "Elapsed time in seconds since the last BGP
::= { bgpPrefixCountersEntry 2 } message was received from the peer. Each time
bgpPeerInUpdates is incremented, the value of this
object is set to zero (0)."
::= { bgpPeerEventTimesEntry 2 }
--
-- Peer Configured Timers
--
bgpPrefixCountersPrefixesReceived OBJECT-TYPE bgpPeerConfiguredTimersTable OBJECT-TYPE
SYNTAX Counter32 SYNTAX SEQUENCE OF BgpPeerConfiguredTimersEntry
MAX-ACCESS read-only MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Total number of discrete prefixes received from this peer. The "Per peer management data on BGP session timers."
value in bgpPrefixCountersPrefixesReceived will be greater ::= { bgpPeerTimers 2 }
than or equal to what is in bgpPrefixCountersInPrefixes,
since it will reflect prefixes received from this peer which
may have been subsquently withdrawn, and hence will no longer
be stored in the Adj-Ribs-In for that peer."
::= { bgpPrefixCountersEntry 3 }
bgpPrefixCountersPrefixesSent OBJECT-TYPE bgpPeerConfiguredTimersEntry OBJECT-TYPE
SYNTAX Counter32 SYNTAX BgpPeerConfiguredTimersEntry
MAX-ACCESS read-only MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Total number of prefixes which the local BGP speaker "Each entry corresponds to the current state of BGP
has announced to this peer. The value for timers on a given peering session."
bgpPrefixCountersPrefixesSent will be greater than or equal to INDEX { bgpPeerIndex }
bgpPrefixCountersOutPrefixes, since it reflects prefixes ::= { bgpPeerConfiguredTimersTable 1 }
which have been subsequently withdrawn after their announcement
(assuming any such withdrawn prefixes exist)."
::= { bgpPrefixCountersEntry 4 }
bgpPrefixCountersWithdrawsReceived OBJECT-TYPE BgpPeerConfiguredTimersEntry ::= SEQUENCE {
SYNTAX Counter32 bgpPeerConnectRetryInterval
MAX-ACCESS read-only Unsigned32,
STATUS current bgpPeerHoldTimeConfigured
DESCRIPTION Unsigned32,
"Total number of prefixes withdrawn by this peer. Specifically, bgpPeerKeepAliveConfigured
this is the total number of withdrawn-routes which have Unsigned32,
been received in UPDATE messages from this peer." bgpPeerMinASOriginationInterval
::= { bgpPrefixCountersEntry 5 } Unsigned32,
bgpPeerMinRouteAdvertiseInterval
Unsigned32
}
bgpPrefixCountersWithdrawsSent OBJECT-TYPE bgpPeerConnectRetryInterval OBJECT-TYPE
SYNTAX Counter32 SYNTAX Unsigned32 (1..65535)
MAX-ACCESS read-only MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Total number of prefixes which have been reported as "Time interval in seconds for the ConnectRetry
withdrawn by the local BGP speaker to the peer in timer. The suggested value for this timer is 120
locally generated UPDATE messages to the peer." seconds."
::= { bgpPrefixCountersEntry 6 } ::= { bgpPeerConfiguredTimersEntry 1 }
bgpPrefixCountersInPrefixes OBJECT-TYPE
SYNTAX Gauge32 bgpPeerHoldTimeConfigured OBJECT-TYPE
MAX-ACCESS read-only SYNTAX Unsigned32 ( 0 | 3..65535 )
MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of prefixes received from a peer and are "Time interval in seconds for the Hold Time configured
stored in the Adj-Ribs-In for that peer." for this BGP speaker with this peer. This value
-- jmh - note that we're allowing stuff to be discarded is placed in an OPEN message sent to this peer by
::= { bgpPrefixCountersEntry 7 } this BGP speaker, and is compared with the Hold
Time field in an OPEN message received from the
peer when determining the Hold Time (bgpPeerHoldTime)
with the peer. This value must not be less than
three seconds if it is not zero (0) in which case
the Hold Time is NOT to be established with the
peer. The suggested value for this timer is 90
seconds."
REFERENCE
"RFC 1771, p. 9"
::= { bgpPeerConfiguredTimersEntry 2 }
bgpPrefixCountersInPrefixesAccepted OBJECT-TYPE bgpPeerKeepAliveConfigured OBJECT-TYPE
SYNTAX Gauge32 SYNTAX Unsigned32 ( 0 | 1..21845 )
MAX-ACCESS read-only MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of prefixes for a peer that are installed "Time interval in seconds for the KeepAlive
in the Adj-Ribs-In and are eligible to become active configured for this BGP speaker with this
in the Loc-Rib." peer. The value of this object will only
::= { bgpPrefixCountersEntry 8 } determine the KEEPALIVE messages' frequency
relative to the value specified in
bgpPeerHoldTimeConfigured; the actual time
interval for the KEEPALIVE messages is
indicated by bgpPeerKeepAlive. A
reasonable maximum value for this timer
would be configured to be one third
of that of bgpPeerHoldTimeConfigured.
bgpPrefixCountersInPrefixesRejected OBJECT-TYPE If the value of this object is zero (0),
SYNTAX Gauge32 no periodical KEEPALIVE messages are sent to
MAX-ACCESS read-only the peer after the BGP connection has been
established.
The suggested value for this timer is 30
seconds."
REFERENCE
"RFC 1771, pp. 17-18"
::= { bgpPeerConfiguredTimersEntry 3 }
bgpPeerMinASOriginationInterval OBJECT-TYPE
SYNTAX Unsigned32 (1..65535)
MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of prefixes for a peer that are installed "Time interval in seconds for the
in the Adj-Ribs-In and are NOT eligible to become active timer. The suggested value for this timer is 15
in the Loc-Rib." seconds."
::= { bgpPrefixCountersEntry 9 } ::= { bgpPeerConfiguredTimersEntry 4 }
bgpPrefixCountersOutPrefixes OBJECT-TYPE bgpPeerMinRouteAdvertiseInterval OBJECT-TYPE
SYNTAX Gauge32 SYNTAX Unsigned32 (1..65535)
MAX-ACCESS read-only MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of prefixes for a peer that are installed "Time interval in seconds for the
in that peer's Adj-Ribs-Out." MinRouteAdvertisementInterval timer. The
::= { bgpPrefixCountersEntry 10 } value for this timer is 30 seconds."
::= { bgpPeerConfiguredTimersEntry 5 }
bgpPerPeerExtensions OBJECT IDENTIFIER ::= { bgpPeerData 3 }
bgpCapabilitiesData OBJECT IDENTIFIER ::= { bgp 3 }
-- --
-- -- Peer Negotiated Timers
-- --
bgp4SupportedCapabilitiesTable OBJECT-TYPE bgpPeerNegotiatedTimersTable OBJECT-TYPE
SYNTAX SEQUENCE OF Bgp4SupportedCapabilityEntry SYNTAX SEQUENCE OF BgpPeerNegotiatedTimersEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Table of supported BGP-4 capabilities." "Current values of per-peer timers which can be
::= { bgpCapabilitiesData 1 } dynamically set in the bgpPeerConfiguredTimersTable.
Values reflected in this table are the current
operational values, after negotiation from values
derived from initial configuration or last set from
bgpPeerConfiguredTimersTable row instances."
::= { bgpPeerTimers 3 }
bgp4SupportedCapabilitiesEntry OBJECT-TYPE bgpPeerNegotiatedTimersEntry OBJECT-TYPE
SYNTAX Bgp4SupportedCapabilityEntry SYNTAX BgpPeerNegotiatedTimersEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Information about supported capabilities indexed "Each entry reflects a value of the currently
by capability number."" operational, negotiated timers as reflected in the
INDEX { BgpPeerNegotiatedTimersEntry."
bgp4SupportedCapabilityIndex INDEX { bgpPeerIndex }
} ::= { bgpPeerNegotiatedTimersTable 1 }
::= { bgp4SupportedCapabilitiesTable 1 }
Bgp4SupportedCapabilityEntry ::= SEQUENCE { BgpPeerNegotiatedTimersEntry ::= SEQUENCE {
bgp4SupportedCapabilityIndex bgpPeerHoldTime
Integer32, Integer32,
bgp4SupportedCapability bgpPeerKeepAlive
TruthValue Integer32
} }
bgp4SupportedCapabilityIndex OBJECT-TYPE bgpPeerHoldTime OBJECT-TYPE
SYNTAX Integer32 (0..255) SYNTAX Integer32 ( 0 | 3..65535 )
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Index of supported capability. The index directly "Time interval in seconds for the Hold Timer
corresponds with the BGP-4 Capability Advertisement established with the peer. The value of this
Capability Code." is calculated by this BGP speaker by using the
::= { bgp4SupportedCapabilitiesEntry 1 } smaller of the value in bgpPeerHoldTimeConfigured
bgp4SupportedCapability OBJECT-TYPE and the Hold Time received in the OPEN message.
SYNTAX TruthValue This value must be at least three seconds if it is
not zero (0) in which case the Hold Timer has not
been established with the peer, or, the value of
bgpPeerHoldTimeConfigured is zero (0)."
-- +++wayne (from Tom Nadeau) would like to see enumerated cases of
-- description as this has too many subcases.
::= { bgpPeerNegotiatedTimersEntry 1 }
bgpPeerKeepAlive OBJECT-TYPE
SYNTAX Integer32 ( 0 | 1..21845 )
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This value is True if this capability is supported, "Time interval in seconds for the KeepAlive timer
otherwise." established with the peer. The value of this
::= { bgp4SupportedCapabilitiesEntry 2 } is calculated by this BGP speaker such that, when
compared with bgpPeerHoldTime, it has the same
proportion as what bgpPeerKeepAliveConfigured has
when compared with bgpPeerHoldTimeConfigured. If
the value of this object is zero (0), it indicates
that the KeepAlive timer has not been established
with the peer, or, the value of
bgpPeerKeepAliveConfigured is zero (0)."
::= { bgpPeerNegotiatedTimersEntry 2 }
bgpPeerCapabilities
OBJECT IDENTIFIER ::= { bgpPeer 5 }
-- --
-- Peer Capabilities
-- --
--
-- Announced Capabilities
-- --
bgp4PeerCapsAnnouncedTable OBJECT-TYPE bgpPeerCapsAnnouncedTable OBJECT-TYPE
SYNTAX SEQUENCE OF Bgp4PeerCapsAnnouncedEntry SYNTAX SEQUENCE OF BgpPeerCapsAnnouncedEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This table contains contains the capabilities "This table contains contains the capabilities
that are supported for a given peer." that are supported for a given peer."
::= { bgpCapabilitiesData 3 } ::= { bgpPeerCapabilities 1 }
bgp4PeerCapsAnnouncedEntry OBJECT-TYPE bgpPeerCapsAnnouncedEntry OBJECT-TYPE
SYNTAX Bgp4PeerCapsAnnouncedEntry SYNTAX BgpPeerCapsAnnouncedEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"These entries are keyed by a BGP-4 peer remote "These entries are keyed by a BGP-4 peer remote
address and the BGP Capability Code" address and the BGP Capability Code"
INDEX { INDEX {
bgpPeerRemoteAddrType, bgpPeerIndex,
bgpPeerRemoteAddr, bgpPeerCapAnnouncedCode,
bgp4PeerCapAnnouncedCode, bgpPeerCapAnnouncedIndex
bgp4PeerCapAnnouncedIndex
} }
::= { bgp4PeerCapsAnnouncedTable 1 } ::= { bgpPeerCapsAnnouncedTable 1 }
Bgp4PeerCapsAnnouncedEntry ::= SEQUENCE { BgpPeerCapsAnnouncedEntry ::= SEQUENCE {
bgp4PeerCapAnnouncedCode bgpPeerCapAnnouncedCode
Integer32, Unsigned32,
bgp4PeerCapAnnouncedIndex bgpPeerCapAnnouncedIndex
Integer32, Unsigned32,
bgp4PeerCapAnnouncedLength bgpPeerCapAnnouncedLength
Integer32, Unsigned32,
bgp4PeerCapAnnouncedValue bgpPeerCapAnnouncedValue
OCTET STRING OCTET STRING
} }
bgpPeerCapAnnouncedCode OBJECT-TYPE
bgp4PeerCapAnnouncedCode OBJECT-TYPE SYNTAX Unsigned32 (0..255)
SYNTAX Integer32 (0..255)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The BGP Capability Advertisement Capability Code." "The BGP Capability Advertisement Capability Code."
::= { bgp4PeerCapsAnnouncedEntry 1 } ::= { bgpPeerCapsAnnouncedEntry 1 }
bgp4PeerCapAnnouncedIndex OBJECT-TYPE
SYNTAX Integer32 (1..128) bgpPeerCapAnnouncedIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..128)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Multiple instances of a given capability may be sent "Multiple instances of a given capability may be sent
bgp a BGP speaker. This variable is used to index them." bgp a BGP speaker. This variable is used to index them."
::= { bgp4PeerCapsAnnouncedEntry 2 } ::= { bgpPeerCapsAnnouncedEntry 2 }
bgp4PeerCapAnnouncedLength OBJECT-TYPE bgpPeerCapAnnouncedLength OBJECT-TYPE
SYNTAX Integer32 SYNTAX Unsigned32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The length of the announced capability." "The length of the announced capability."
::= { bgp4PeerCapsAnnouncedEntry 3 } ::= { bgpPeerCapsAnnouncedEntry 3 }
bgp4PeerCapAnnouncedValue OBJECT-TYPE bgpPeerCapAnnouncedValue OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(0..255)) SYNTAX OCTET STRING (SIZE(0..255))
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The value of the announced capability." "The value of the announced capability."
::= { bgp4PeerCapsAnnouncedEntry 4 } ::= { bgpPeerCapsAnnouncedEntry 4 }
-- --
-- -- Received Capabilities
-- --
bgp4PeerCapsReceivedTable OBJECT-TYPE bgpPeerCapsReceivedTable OBJECT-TYPE
SYNTAX SEQUENCE OF Bgp4PeerCapsReceivedEntry SYNTAX SEQUENCE OF Bgp4PeerCapsReceivedEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This table contains contains the capabilities "This table contains contains the capabilities
that are supported for a given peer." that are supported for a given peer."
::= { bgpCapabilitiesData 3 } ::= { bgpPeerCapabilities 2 }
bgp4PeerCapsReceivedEntry OBJECT-TYPE bgpPeerCapsReceivedEntry OBJECT-TYPE
SYNTAX Bgp4PeerCapsReceivedEntry SYNTAX Bgp4PeerCapsReceivedEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"These entries are keyed by a BGP-4 peer remote "These entries are keyed by a BGP-4 peer remote
address and the BGP Capability Code" address and the BGP Capability Code"
INDEX { INDEX {
bgpPeerRemoteAddrType, bgpPeerRemoteAddrType,
bgpPeerRemoteAddr, bgpPeerRemoteAddr,
bgp4PeerCapReceivedCode, bgpPeerCapReceivedCode,
bgp4PeerCapReceivedIndex bgpPeerCapReceivedIndex
} }
::= { bgp4PeerCapsReceivedTable 1 } ::= { bgpPeerCapsReceivedTable 1 }
Bgp4PeerCapsReceivedEntry ::= SEQUENCE { Bgp4PeerCapsReceivedEntry ::= SEQUENCE {
bgp4PeerCapReceivedCode bgpPeerCapReceivedCode
Integer32, Unsigned32,
bgp4PeerCapReceivedIndex bgpPeerCapReceivedIndex
Integer32, Unsigned32,
bgp4PeerCapReceivedLength bgpPeerCapReceivedLength
Integer32, Unsigned32,
bgp4PeerCapReceivedValue bgpPeerCapReceivedValue
OCTET STRING OCTET STRING
} }
bgp4PeerCapReceivedCode OBJECT-TYPE bgpPeerCapReceivedCode OBJECT-TYPE
SYNTAX Integer32 (0..255) SYNTAX Unsigned32 (0..255)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The BGP Capability Advertisement Capability Code." "The BGP Capability Advertisement Capability Code."
::= { bgp4PeerCapsReceivedEntry 1 } ::= { bgpPeerCapsReceivedEntry 1 }
bgp4PeerCapReceivedIndex OBJECT-TYPE bgpPeerCapReceivedIndex OBJECT-TYPE
SYNTAX Integer32 (1..128) SYNTAX Unsigned32 (1..128)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Multiple instances of a given capability may be sent "Multiple instances of a given capability may be sent
bgp a BGP speaker. This variable is used to index them." bgp a BGP speaker. This variable is used to index them."
::= { bgp4PeerCapsReceivedEntry 2 } ::= { bgpPeerCapsReceivedEntry 2 }
bgp4PeerCapReceivedLength OBJECT-TYPE bgpPeerCapReceivedLength OBJECT-TYPE
SYNTAX Integer32 SYNTAX Unsigned32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The length of the announced capability." "The length of the announced capability."
::= { bgp4PeerCapsReceivedEntry 3 } ::= { bgpPeerCapsReceivedEntry 3 }
bgp4PeerCapReceivedValue OBJECT-TYPE bgpPeerCapReceivedValue OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(0..255)) SYNTAX OCTET STRING (SIZE(0..255))
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The value of the announced capability." "The value of the announced capability."
::= { bgp4PeerCapsReceivedEntry 4 } ::= { bgpPeerCapsReceivedEntry 4 }
bgp4CapabilitySupportAvailable OBJECT-TYPE bgpPeerCounters
SYNTAX TruthValue OBJECT IDENTIFIER ::= { bgpPeer 6 }
MAX-ACCESS read-write
bgpPeerCountersTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpPeerCountersEntry
MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This variable determines whether BGP-4 "The counters associated with a BGP Peer."
capabilities are supported in this ::= { bgpPeerCounters 1 }
implementation. This variable may be set to
false to disable capability support."
::= { bgpCapabilitiesData 4 }
bgpPeerCountersEntry OBJECT-TYPE
SYNTAX BgpPeerCountersEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry contains counters of messsage transmissions
and FSM transitions for a given BGP Peering session."
INDEX { bgpPeerIndex }
::= { bgpPeerCountersTable 1 }
bgpCapabilitiesExtensions OBJECT IDENTIFIER ::= BgpPeerCountersEntry ::= SEQUENCE {
{ bgpCapabilitiesData 5 } bgpPeerInUpdates
Counter32,
bgpPeerOutUpdates
Counter32,
bgpPeerInTotalMessages
Counter32,
bgpPeerOutTotalMessages
Counter32,
bgpPeerFsmEstablishedTransitions
Counter32
}
-- +++wayne need to describe what happens if connection is broken
-- and then reestablished. Does the prior counter value accumulate?
bgpPeerInUpdates OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of BGP UPDATE messages received on this
connection. This object should be initialized to zero
(0) when the connection is established."
::= { bgpPeerCountersEntry 1 }
bgpPeerOutUpdates OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of BGP UPDATE messages transmitted on this
connection. This object should be initialized to zero
(0) when the connection is established."
::= { bgpPeerCountersEntry 2 }
bgpPeerInTotalMessages OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of messages received from the remote
peer on this connection. This object should be
initialized to zero when the connection is established."
::= { bgpPeerCountersEntry 3 }
bgpPeerOutTotalMessages OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of messages transmitted to the remote
peer on this connection. This object should be
initialized to zero when the connection is established."
::= { bgpPeerCountersEntry 4 }
bgpPeerFsmEstablishedTransitions OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of times the BGP FSM
transitioned into the established state
for this peer."
::= { bgpPeerCountersEntry 5 }
-- --
-- Per-Peer Prefix Counters
-- --
bgpPrefixCountersTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpPrefixCountersEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Additional per-peer, per AFI/SAFI counters for prefixes"
::= { bgpPeerCounters 2 }
bgpPrefixCountersEntry OBJECT-TYPE
SYNTAX BgpPrefixCountersEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Entry containing information about a bgp-peer's prefix
counters."
INDEX {
bgpPeerIndex,
bgpPrefixCountersAfi,
bgpPrefixCountersSafi
}
::= { bgpPrefixCountersTable 1 }
BgpPrefixCountersEntry ::= SEQUENCE {
-- JMH
-- do we really need AFI and safi in the table?
bgpPrefixCountersAfi
InetAddressType,
bgpPrefixCountersSafi
BgpSafi,
bgpPrefixInPrefixes
Gauge32,
bgpPrefixInPrefixesAccepted
Gauge32,
bgpPrefixInPrefixesRejected
Gauge32,
bgpPrefixOutPrefixes
Gauge32
}
bgpPrefixCountersAfi OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The AFI index of the per-peer, per prefix counters"
::= { bgpPrefixCountersEntry 1 }
bgpPrefixCountersSafi OBJECT-TYPE
SYNTAX BgpSafi
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The SAFI index of the per-peer, per prefix counters"
::= { bgpPrefixCountersEntry 2 }
bgpPrefixInPrefixes OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of prefixes received from a peer and are
stored in the Adj-Ribs-In for that peer."
-- jmh - note that we're allowing stuff to be discarded
::= { bgpPrefixCountersEntry 7 }
bgpPrefixInPrefixesAccepted OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of prefixes for a peer that are installed
in the Adj-Ribs-In and are eligible to become active
in the Loc-Rib."
::= { bgpPrefixCountersEntry 8 }
bgpPrefixInPrefixesRejected OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of prefixes for a peer that are installed
in the Adj-Ribs-In and are NOT eligible to become active
in the Loc-Rib."
::= { bgpPrefixCountersEntry 9 }
bgpPrefixOutPrefixes OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of prefixes for a peer that are installed
in that peer's Adj-Ribs-Out."
::= { bgpPrefixCountersEntry 10 }
bgpPeerExtensions
OBJECT IDENTIFIER ::= { bgpPeer 7 }
bgpPeerNonCapExts
OBJECT IDENTIFIER ::= { bgpPeerExtensions 1 }
bgpPeerCapExts
OBJECT IDENTIFIER ::= { bgpPeerExtensions 2 }
--
-- Peer Route Reflection Extensions
-- --
bgpPathAttributesData OBJECT IDENTIFIER ::= { bgp 4 }
-- BGP-4 Received Path Attribute Table. This table bgpPeerRouteReflectionExts
-- contains, one entry per path to a network, path OBJECT IDENTIFIER ::= { bgpPeerNonCapExts 1966 }
-- attributes received from all peers running BGP-4.
bgp4PathAttrTable OBJECT-TYPE bgpPeerReflectorClient OBJECT-TYPE
SYNTAX SEQUENCE OF Bgp4PathAttrEntry SYNTAX INTEGER {
nonClient(0),
client(1),
meshedClient(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This value indicates whether the given peer is a
reflector client of this router, or not. A value of
nonClient(0) indicates that this peer is not a reflector
client. A value of client(1) indicates that this peer is a
reflector client that is not fully meshed with other
reflector clients. A value of meshedClient(2) indicates
that the peer is a reflector client and is fully meshed
with all other reflector clients."
REFERENCE
"RFC 2796 - BGP Route Reflection"
::= { bgpPeerRouteReflectionExts 1 }
--
-- Peer AS Confederations Extensions
--
bgpPeerASConfederationExts
OBJECT IDENTIFIER ::= { bgpPeerNonCapExts 1965 }
bgpPeerConfederationMember OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This value indicates whether the given peer is in our
confederation or not."
REFERENCE
"RFC 3065 - BGP Confederations"
::= { bgpPeerASConfederationExts 1 }
bgpRib
OBJECT IDENTIFIER ::= { bgp 3 }
--
-- BGP NLRI Data
--
bgpNlriTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpNlriEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The BGP-4 Received Path Attribute Table "The BGP-4 Received Path Attribute Table
contains information about paths to contains information about paths to
destination networks received from all destination networks received from all
BGP4 peers." BGP4 peers."
::= { bgpPathAttributesData 1 } ::= { bgpRib 1 }
bgp4PathAttrEntry OBJECT-TYPE bgpNlriEntry OBJECT-TYPE
SYNTAX Bgp4PathAttrEntry SYNTAX BgpNlriEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Information about a path to a network." "Information about a path to a network."
INDEX { INDEX {
bgp4PathAttrAddrPrefixType, bgpPeerIndex,
bgp4PathAttrAddrPrefixSafi, bgpNlriAfi,
bgp4PathAttrAddrPrefix, bgpNlriSafi,
bgp4PathAttrAddrPrefixLen, bgpNlriPrefixLen,
bgp4PathAttrPeerType, bgpNlriPrefix
bgp4PathAttrPeer
} }
::= { bgp4PathAttrTable 1 } ::= { bgpNlriTable 1 }
Bgp4PathAttrEntry ::= SEQUENCE { BgpNlriEntry ::= SEQUENCE {
bgp4PathAttrPeerType bgpNlriAfi
InetAddressType,
bgp4PathAttrPeer
InetAddress,
bgp4PathAttrAddrPrefixType
InetAddressType, InetAddressType,
bgp4PathAttrAddrPrefixSafi bgpNlriSafi
BgpSafi, BgpSafi,
bgp4PathAttrAddrPrefixType bgpNlriPrefixLen
InetAddressType,
bgp4PathAttrAddrPrefix
InetAddress,
bgp4PathAttrAddrPrefixLen
Integer32,
bgp4PathAttrOrigin
INTEGER,
bgp4PathAttrASPathSegment
OCTET STRING,
bgp4PathAttrNextHop
InetAddress,
bgp4PathAttrMultiExitDiscPresent
TruthValue,
bgp4PathAttrMultiExitDisc
Unsigned32,
bgp4PathAttrLocalPrefPresent
TruthValue,
bgp4PathAttrLocalPref
Unsigned32, Unsigned32,
bgp4PathAttrAtomicAggregate bgpNlriPrefix
INTEGER, InetAddress,
bgp4PathAttrAggregatorAS bgpNlriBest
Integer32,
bgp4PathAttrAggregatorAddr
BgpIdentifer,
bgp4PathAttrCalcLocalPrefPresent
TruthValue, TruthValue,
bgp4PathAttrCalcLocalPref bgpPathAttrIndex
Unsigned32, Unsigned32,
bgp4PathAttrOriginatorId bgpNlriASPathStr
OCTET STRING, DisplayString
bgp4PathAttrClusterList
OCTET STRING,
bgp4PathAttrCommunity
OCTET STRING,
bgp4PathAttrExtCommunity
OCTET STRING,
bgp4PathAttrBest
TruthValue,
bgp4PathAttrUnknown
OCTET STRING
} }
bgp4PathAttrPeerType OBJECT-TYPE bgpNlriAfi OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The AFI of the address of the peer from which the
path information was learned."
::= { bgp4PathAttrEntry 1 }
bgp4PathAttrPeer OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The address of the peer where the path
information was learned."
::= { bgp4PathAttrEntry 2 }
bgp4PathAttrIpAddrPrefixType OBJECT-TYPE
SYNTAX InetAddressType SYNTAX InetAddressType
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The address family of the prefix for this NLRI." "The address family of the prefix for this NLRI."
::= { bgp4PathAttrEntry 3 } ::= { bgpNlriEntry 1 }
bgp4PathAttrIpAddrPrefixSafi OBJECT-TYPE bgpNlriSafi OBJECT-TYPE
SYNTAX BgpSafi SYNTAX BgpSafi
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The subsequent address family of the prefix for "The subsequent address family of the prefix for
this NLRI" this NLRI"
REFERENCE REFERENCE
"RFC 2858 - Multiprotocol Extensions for BGP-4" "RFC 2858 - Multiprotocol Extensions for BGP-4"
::= { bgp4PathAttrEntry 4 } ::= { bgpNlriEntry 2 }
bgp4PathAttrIpAddrPrefix OBJECT-TYPE bgpNlriPrefixLen OBJECT-TYPE
SYNTAX InetAddress SYNTAX Unsigned32 (1..128)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Length in bits of the IP address prefix in
the Network Layer Reachability
Information field."
::= { bgpNlriEntry 3 }
-- JMH - this is going to vary based on AFI/SAFI !!!
-- JMH - InetAddress is wrong now!
bgpNlriPrefix OBJECT-TYPE
SYNTAX InetAddress (SIZE (4..16))
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An IP address prefix in the Network Layer "An IP address prefix in the Network Layer
Reachability Information field. This object Reachability Information field. This object
is an IP address containing the prefix with is an IP address containing the prefix with
length specified by length specified by
bgp4PathAttrIpAddrPrefixLen. bgpPathAttrAddrPrefixLen.
Any bits beyond the length specified by Any bits beyond the length specified by
bgp4PathAttrIpAddrPrefixLen are zeroed." bgpPathAttrAddrPrefixLen are zeroed."
::= { bgp4PathAttrEntry 5 } ::= { bgpNlriEntry 4 }
bgp4PathAttrIpAddrPrefixLen OBJECT-TYPE bgpNlriBest OBJECT-TYPE
SYNTAX Integer32 SYNTAX TruthValue
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Length in bits of the IP address prefix in "An indication of whether or not this route
the Network Layer Reachability was chosen as the best BGP4 route."
Information field." ::= { bgpNlriEntry 5 }
::= { bgp4PathAttrEntry 6 }
bgp4PathAttrOrigin OBJECT-TYPE bgpPathAttrIndex OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This value is a unique index for the per-NLRI entry in the
bgpPeerAttrTable. It is assigned by the agent at the point
of creation of the bgpPeerAttrTable row entry. While its
value is guaranteed to be unique at any time, it is
otherwise opaque to the management application with
respect to its value or the contiguity of bgpPeerAttrIndex
row instance values across rows of the bgpPeerAttrTable.
It is used to provide an index structure for other
tables whose data is logically per-peer, per-NLRI."
::= { bgpNlriEntry 6 }
bgpNlriASPathStr OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is a string depicting the autonomous system path
to this network which was received from the peer which
advertised it. The format of the string is implementation-
dependent, and should be designed for operator readability."
::= { bgpNlriEntry 7 }
--
-- BGP Rib Path Attributes Table
--
bgpPathAttrTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpPathAttrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Provides per advertised network-prefix attribute data,
as advertised over a peering session."
::= { bgpRib 2 }
bgpPathAttrEntry OBJECT-TYPE
SYNTAX BgpPathAttrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry contains data about a given network
prefix, per-prefix and per-advertising peer."
INDEX { bgpPathAttrIndex }
::= { bgpPathAttrTable 1 }
BgpPathAttrEntry ::= SEQUENCE {
bgpPathAttrOrigin
INTEGER,
bgpPathAttrNextHopAddrType
InetAddressType,
bgpPathAttrNextHop
InetAddress,
bgpPathAttrMultiExitDiscPresent
TruthValue,
bgpPathAttrMultiExitDisc
Unsigned32,
bgpPathAttrLocalPrefPresent
TruthValue,
bgpPathAttrLocalPref
Unsigned32,
bgpPathAttrAtomicAggregate
INTEGER,
bgpPathAttrAggregatorAS
BgpAutonomousSystemNumber,
bgpPathAttrAggregatorAddr
BgpIdentifier,
bgpPathAttrCalcLocalPref
Unsigned32
}
bgpPathAttrOrigin OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
igp(1),-- networks are interior igp(1),-- networks are interior
egp(2),-- networks learned egp(2),-- networks learned
-- via EGP -- via EGP
incomplete(3) -- undetermined incomplete(3) -- undetermined
} }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The ultimate origin of the path "The ultimate origin of the path
information." information."
::= { bgp4PathAttrEntry 7 } ::= { bgpPathAttrEntry 2 }
bgp4PathAttrASPathSegment OBJECT-TYPE bgpPathAttrNextHopAddrType OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (2..4096)) SYNTAX InetAddressType
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The sequence of AS path segments. Each AS "The address family of the address for
path segment is represented by a triple: the border router that should be used
type, length, value. to access the destination network."
::= { bgpPathAttrEntry 3 }
The type is a 1-octet field which has two
possible values:
1 AS_SET: unordered set of ASs a
route in the UPDATE message
has traversed
2 AS_SEQUENCE: ordered set of ASs
a route in the UPDATE message
has traversed.
3 CONFED_SEQUENCE: ordered set of ASs
a route has traversed within
a confederation. These MUST
occur before AS_SETs and
AS_SEQUENCES
4 CONFED_SET: unordered set of ASs
a route has traversed within
a confederation. These MUST
occur before AS_SETs and
AS_SEQUENCES
Other types may be defined in the future and will
be displayed in this variable.
The length is a 1-octet field containing the
number of ASs in the value field.
The value field contains one or more AS
numbers, each AS is represented in the octet
string as a pair of octets according to the
following algorithm:
If the bgpAsSize is twoOctet:
first-byte-of-pair = ASNumber / 256;
second-byte-of-pair = ASNumber & 255;
If the bgpAsSize is fourOctet:
first-byte-of-quad = (ASNumber / 16777216);
second-byte-of-quad = (ASNumber / 65536) & 255;
third-byte-of-quad = (ASNumber / 256) & 255;
fourth-byte-of-quad = ASNumber & 255;"
::= { bgp4PathAttrEntry 8 }
bgp4PathAttrNextHop OBJECT-TYPE -- JMH - this is wrong for RFC2545!
bgpPathAttrNextHop OBJECT-TYPE
SYNTAX InetAddress SYNTAX InetAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The address of the border router that "The address of the border router that
should be used for the destination should be used to access the destination
network. This address is the nexthop network. This address is the nexthop
address received in the UPDATE packet. address received in the UPDATE packet.
The address family of this object will be the The address family of this object will be the
same as that of the prefix in this row." same as that of the prefix in this row."
::= { bgp4PathAttrEntry 9 } ::= { bgpPathAttrEntry 4 }
bgp4PathAttrMultiExitDiscPresent OBJECT-TYPE bgpPathAttrMultiExitDiscPresent OBJECT-TYPE
SYNTAX TruthValue SYNTAX TruthValue
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Whether or not the MED value is present. "Whether or not the MED value is present.
If it is not present, the bgp4PathAttrMultiExitDisc If it is not present, the bgpPathAttrMultiExitDisc
object has no useful value and should be set to 0." object has no useful value and should be set to 0."
::= { bgp4PathAttrEntry 10 } ::= { bgpPathAttrEntry 5 }
bgp4PathAttrMultiExitDisc OBJECT-TYPE bgpPathAttrMultiExitDisc OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This metric is used to discriminate "This metric is used to discriminate
between multiple exit points to an between multiple exit points to an
adjacent autonomous system." adjacent autonomous system."
::= { bgp4PathAttrEntry 11 } ::= { bgpPathAttrEntry 6 }
bgp4PathAttrLocalPrefPresent OBJECT-TYPE
bgpPathAttrLocalPrefPresent OBJECT-TYPE
SYNTAX TruthValue SYNTAX TruthValue
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Whether or not the LOCAL_PREF value is present. "Whether or not the LOCAL_PREF value is present.
If it is not present, the bgp4PathAttrLocalPref If it is not present, the bgpPathAttrLocalPref
object has no useful value and should be set to 0." object has no useful value and should be set to 0."
::= { bgp4PathAttrEntry 12 } ::= { bgpPathAttrEntry 7 }
bgp4PathAttrLocalPref OBJECT-TYPE bgpPathAttrLocalPref OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The originating BGP4 speaker's degree of "The originating BGP4 speaker's degree of
preference for an advertised route." preference for an advertised route."
::= { bgp4PathAttrEntry 13 } ::= { bgpPathAttrEntry 8 }
bgp4PathAttrAtomicAggregate OBJECT-TYPE -- JMH
-- See comment in v1 draft about this.
bgpPathAttrAtomicAggregate OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
lessSpecificRouteNotSelected(1), lessSpecificRouteNotSelected(1),
lessSpecificRouteSelected(2) lessSpecificRouteSelected(2)
} }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Whether or not a system has selected "Whether or not a system has selected
a less specific route without a less specific route without
selecting a more specific route." selecting a more specific route."
::= { bgp4PathAttrEntry 14 } ::= { bgpPathAttrEntry 9 }
bgp4PathAttrAggregatorAS OBJECT-TYPE bgpPathAttrAggregatorAS OBJECT-TYPE
SYNTAX BgpAutonomousSystemNumber SYNTAX BgpAutonomousSystemNumber
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The AS number of the last BGP4 speaker that "The AS number of the last BGP4 speaker that
performed route aggregation. A value of performed route aggregation. A value of
zero (0) indicates the absence of this zero (0) indicates the absence of this
attribute." attribute."
::= { bgp4PathAttrEntry 15 } ::= { bgpPathAttrEntry 10 }
bgp4PathAttrAggregatorAddr OBJECT-TYPE bgpPathAttrAggregatorAddr OBJECT-TYPE
SYNTAX BgpIdentifier SYNTAX BgpIdentifier
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address of the last BGP4 speaker "The IP address of the last BGP4 speaker
that performed route aggregation. A that performed route aggregation. A
value of 0.0.0.0 indicates the absence value of 0.0.0.0 indicates the absence
of this attribute. of this attribute.
Note propagation of AS of zero is illegal in Note propagation of AS of zero is illegal in
the Internet." the Internet."
::= { bgp4PathAttrEntry 16 } ::= { bgpPathAttrEntry 11 }
bgp4PathAttrCalcLocalPrefPresent OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Whether or not the bgp4PathAttrCalcLocalPref is present."
::= { bgp4PathAttrEntry 17 }
bgp4PathAttrCalcLocalPref OBJECT-TYPE bgpPathAttrCalcLocalPref OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The degree of preference calculated by the "The degree of preference calculated by the
receiving BGP4 speaker for an advertised receiving BGP4 speaker for an advertised
route." route."
::= { bgp4PathAttrEntry 18 } ::= { bgpPathAttrEntry 12 }
bgp4PathAttrOriginatorId OBJECT-TYPE -- BGP 4 Path attribute AS Path Table. There is one row in
-- this table for each AS which is advertised for a given
-- route as provided from a peer.
-- JMH
-- We need one of these for the NewAsPath for the 4byte draft
bgpAsPathTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpAsPathEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The BGP-4 Path Attribute AS Path Table
contains the per network path (NLRI)
AS Path data recieved from the
advertising BGP peer."
::= { bgpRib 3 }
bgpAsPathTableEntry OBJECT-TYPE
SYNTAX BgpAsPathEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about an AS path segment
provided with a path to a network."
INDEX {
bgpPathAttrIndex,
bgpAsPathIndex,
bgpAsPathElementValue
}
::= { bgpAsPathTable 1 }
BgpAsPathEntry ::= SEQUENCE {
bgpAsPathIndex
Unsigned32,
bgpAsPathType
INTEGER,
bgpAsPathElementValue
BgpAutonomousSystemNumber
}
bgpAsPathIndex OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A per-AS path index. This will index a set of
autonomous systems in an AS path that are part
of the same sequence or set (as determined by
the row value of bgpAsPathType, which
should be the same value for each bgpAsPathTable
entry indexed by the same <bgpPathAttrIndex,
bgpAsPathIndex> pair)."
::= { bgpAsPathTableEntry 1 }
bgpAsPathType OBJECT-TYPE
SYNTAX INTEGER {
asSet(1),
asSequence(2),
confedSequence(3),
confedSet(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of sequence in which this asPath
was advertised as an attribute. Note that
all asPath row instances for a given <bgpPathAttrIndex,
bgpAsPathIndex> index pair will have their
bgpAsPathType set to the same value.
The values for bgpAsPathType are
interpreted as defined in the base BGP document
and the BGP AS Confederations document."
REFERENCE
"draft-ietf-idr-bgp4-16
RFC 3065 - BGP AS Confederations"
::= { bgpAsPathTableEntry 2 }
bgpAsPathElementValue OBJECT-TYPE
SYNTAX BgpAutonomousSystemNumber
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An AS value for an AS the related NLRI traversed
in the propagation of its advertisement. This
value is to be interpreted in the context of the
sequence implied by bgpAsPathIndex and
bgpAsPathType (and, in sequence of the
other table rows with the same value of
bgpPathAttrIndex and bgpAsPathIndex)."
::= { bgpAsPathTableEntry 3 }
-- BGP 4 Path unknown attribute. There is one row in
-- this table for each attribute not known by this BGP
-- implementation (or agent instrumentation), but provided
-- from a peer.
bgpPathAttrUnknownTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpPathAttrUnknownEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The BGP-4 Path Attribute Unknown Table
contains the per network path (NLRI)
data on the path attributes advertised
with a route but not known to the local BGP implementation
or not otherwise capable of being returned from this agent.
The absence of row data for a given index value for
bgpPathAttrIndex indicates a lack of such unknown
attribute information for the indicated network path
(as indexed by that bgpPathAttrIndex value in the
bgpPathAttrTable)."
::= { bgpRib 4 }
bgpPathAttrUnknownEntry OBJECT-TYPE
SYNTAX BgpPathAttrUnknownEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about an unknown attribute
provided with a path to a network."
INDEX {
bgpPathAttrIndex,
bgpPathAttrUnknownIndex
}
::= { bgpPathAttrUnknownTable 1 }
BgpPathAttrUnknownEntry ::= SEQUENCE {
bgpPathAttrUnknownIndex
Unsigned32,
bgpPathAttrUnknownType
Unsigned32,
bgpPathAttrUnknownValue
OCTET STRING
}
bgpPathAttrUnknownIndex OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An integer index for a row in this table."
::= { bgpPathAttrUnknownEntry 1 }
bgpPathAttrUnknownType OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The attribute type advertised with this 'unnkown'
attribute by the peer."
::= { bgpPathAttrUnknownEntry 2 }
-- Maximum size of the following is derived as
-- 4096 max message size
-- - 16 BGP message marker bytes
-- - 2 BGP message size
-- - 1 BGP message type (UPDATE with unknown attr)
-- - 2 UPDATE routes length (even assuming no routes)
-- - 2 UPDATE path attributes length
-- - 1 path attribute flag octet
-- - 2 unknown path attr type (in bgpPathAttrUnknownType)
-- ---------
-- 4070 bytes maximum per-message attribute value data
-- +++wayne ideas as to how to make this a reliably smaller/more broken up
-- string eagerly solicited here
bgpPathAttrUnknownValue OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(0..4070))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Value of path attribute not understood
by the base BGP-4 document.
Octets beyond the maximum size, if any,
are not recorded by this row object. "
::= { bgpPathAttrUnknownEntry 3 }
--
-- Path Attribute Extensions
--
bgpPathAttrExtensions OBJECT IDENTIFIER ::=
{ bgpRib 5 }
bgpPathAttrNonCapExts OBJECT IDENTIFIER ::=
{ bgpPathAttrExtensions 1 }
bgpPathAttrCapExts OBJECT IDENTIFIER ::=
{ bgpPathAttrExtensions 2 }
--
-- Path Attribute Route Reflection Extensions
--
--
-- Originator ID Table
-- . This table is overkill, but seems to fit into
-- . the current paradigm.
--
bgpPathAttrRouteReflectionExts OBJECT IDENTIFIER ::=
{ bgpPathAttrNonCapExts 1966 }
bgpPathAttrOriginatorIdTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpPathAttrOriginatorIdEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Per prefix data pertinent to advertisement of a
network prefix through an originator."
REFERENCE
"RFC 2796 - BGP Route Reflection"
::= { bgpPathAttrRouteReflectionExts 1 }
bgpPathAttrOriginatorIdEntry OBJECT-TYPE
SYNTAX BgpPathAttrOriginatorIdEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry contains data pertinent to a network prefix
as received through its originating BGP route reflector."
REFERENCE
"RFC 2796 - BGP Route Reflection"
INDEX {
bgpPathAttrIndex
}
::= { bgpPathAttrOriginatorIdTable 1 }
BgpPathAttrOriginatorIdEntry ::= SEQUENCE {
bgpPathAttrOriginatorId
BgpIdentifier
}
bgpPathAttrOriginatorId OBJECT-TYPE
SYNTAX BgpIdentifier SYNTAX BgpIdentifier
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The Originator-ID identifying the router that initially "The Originator-ID identifying the router that initially
advertised this destination to a Route Reflector. A advertised this destination to a Route Reflector. A
value of 0.0.0.0 indicates the absence of this attribute." value of 0.0.0.0 indicates the absence of this attribute."
REFERENCE REFERENCE
"This attribute is defined in [RFC2796]." "This attribute is defined in [RFC2796]."
::= { bgp4PathAttrEntry 19 } ::= { bgpPathAttrOriginatorIdEntry 1 }
bgp4PathAttrClusterList OBJECT-TYPE --
SYNTAX OCTET STRING (SIZE(0..4096)) -- Cluster table
--
bgpPathAttrClusterTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpPathAttrClusterEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The BGP-4 Path Attribute Cluster Table
contains the per network path (NLRI)
data on the reflection path which a
route has traversed. The absence of row
data for a given index value for bgpPathAttrIndex
indicates a lack of this attribute information
for the indicated network path (as indexed by
that bgpPathAttrIndex value in the bgpPathAttrTable)."
::= { bgpPathAttrRouteReflectionExts 2 }
bgpPathAttrClusterEntry OBJECT-TYPE
SYNTAX BgpPathAttrClusterEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a cluster traversal
provided with a path to a network."
INDEX {
bgpPathAttrIndex,
bgpPathAttrClusterIndex
}
::= { bgpPathAttrClusterTable 1 }
BgpPathAttrClusterEntry ::= SEQUENCE {
bgpPathAttrClusterIndex
Unsigned32,
bgpPathAttrClusterValue
Unsigned32
}
bgpPathAttrClusterIndex OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A sequence of four octet long values representing the "An integral index for a row in this table."
reflection path that the route has passed. Each four ::= { bgpPathAttrClusterEntry 1 }
-- +++wayne following changed from OCTET STRING/BgpIdentifier per tdn
bgpPathAttrClusterValue OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A four octet long value representing a part of the
reflection path that the route has passed. Each such four
octet long value represents the ID of a cluster that octet long value represents the ID of a cluster that
the route has traversed. A length of zero (0) indicates the route has traversed. The sequence of this path as
the absence of this attribute." received in the route advertisement will be preserved in
the sequence of bgpPathAttrClusterTable rows (and the
bgpPathAttrClusterValue's in each row) as returned for
a given bgpPathAttrIndex value, and the monotonically
increasing sequence of bgpPathAttrClusterIndex values
for that bgpPathAttrIndex."
REFERENCE REFERENCE
"This attribute is defined in [RFC2796]." "This attribute is defined in [RFC2796]."
::= { bgp4PathAttrEntry 20 } ::= { bgpPathAttrClusterEntry 2 }
bgp4PathAttrCommunity OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(0..4096)) --
-- BGP Communities
--
bgpPathAttrCommunityExts OBJECT IDENTIFIER ::=
{ bgpPathAttrNonCapExts 1997 }
bgpPathAttrCommTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpPathAttrCommEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The BGP-4 Path Attribute Community Table
contains the per network path (NLRI)
data on the community membership advertised
with a route. The absence of row
data for a given index value for bgpPathAttrIndex
indicates a lack of this attribute information
for the indicated network path (as indexed by
that bgpPathAttrIndex value in the bgpPathAttrTable)."
::= { bgpPathAttrCommunityExts 1 }
bgpPathAttrCommEntry OBJECT-TYPE
SYNTAX BgpPathAttrCommEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a community association
provided with a path to a network."
INDEX { bgpPathAttrIndex, bgpPathAttrCommIndex }
::= { bgpPathAttrCommTable 1 }
BgpPathAttrCommEntry ::= SEQUENCE {
bgpPathAttrCommIndex
Unsigned32,
bgpPathAttrCommValue
OCTET STRING
}
bgpPathAttrCommIndex OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A list of 4-octet long values, each representing a "An integer index for a row in this table."
community. Size zero (0) indicates the absence of ::= { bgpPathAttrCommEntry 1 }
such attributes. Octets beyond the maximum size, if
any, are not recorded by this object. There are certain
4-octet long values that carry additional semantics."
REFERENCE
"RFC 1997 - BGP Communities Attribute"
::= { bgp4PathAttrEntry 21 }
bgp4PathAttrExtCommunity OBJECT-TYPE -- JMH
SYNTAX OCTET STRING (SIZE(0..4096)) -- Should we be using a display hint for this object?
bgpPathAttrCommValue OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(4))
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A sequence of values each eight octets long, and each "A value representing a community. There are certain
representing an extended community that was received 4-octet long values which could be returned in this
with the route. The values of each of the individual columnar row data that carry additional semantics."
octets may have semantic meaning. A length of zero (0)
indicates the absence of this attribute."
REFERENCE REFERENCE
"BGP-EXTCOMM - BGP Extended Communities Attribute" "RFC 1997 - BGP Communities Attribute"
::= { bgp4PathAttrEntry 22 } ::= { bgpPathAttrCommEntry 2 }
bgp4PathAttrBest OBJECT-TYPE --
SYNTAX TruthValue -- BGP Extended Communities
--
bgpPathAttrExtCommTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpPathAttrExtCommEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The BGP-4 Path Attribute Community Table
contains the per network path (NLRI)
data on the extended community membership advertised
with a route. The absence of row
data for a given index value for bgpPathAttrIndex
indicates a lack of this attribute information
for the indicated network path (as indexed by
that bgpPathAttrIndex value in the bgpPathAttrTable).
XXX JMH - can't assign the OID until an RFC is published."
::= { bgpPathAttrNonCapExts XXX }
bgpPathAttrExtCommEntry OBJECT-TYPE
SYNTAX BgpPathAttrExtCommEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about an extended community association
provided with a path to a network."
INDEX {
bgpPathAttrIndex,
bgpPathAttrExtCommIndex
}
::= { bgpPathAttrExtCommTable 1 }
BgpPathAttrExtCommEntry ::= SEQUENCE {
bgpPathAttrExtCommIndex
Unsigned32,
bgpPathAttrExtCommValue
OCTET STRING
}
bgpPathAttrExtCommIndex OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An indication of whether or not this route "An integral index for a row in this table."
was chosen as the best BGP4 route." ::= { bgpPathAttrExtCommEntry 1 }
::= { bgp4PathAttrEntry 23 }
bgp4PathAttrUnknown OBJECT-TYPE -- JMH
SYNTAX OCTET STRING (SIZE(0..4096)) -- Again, do we want a display hint for this?
bgpPathAttrExtCommValue OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(8))
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"One or more path attributes not understood "A value representing an extended community which was
by the base BGP-4 document. received with the route implied by the bgpPathAttr
Index value of this row data. There are certain
8-octet long values which could be returned in this
columnar row data that carry additional semantics."
REFERENCE
"BGP-EXTCOMM - BGP Extended Communities Attribute"
::= { bgpPathAttrExtCommEntry 2 }
bgpConformance
OBJECT IDENTIFIER ::= { bgp 4 }
Path attributes are recorded in the Update
Path attribute format of type, length, value.
Size zero (0) indicates the absence of such
attribute(s). Octets beyond the maximum size,
if any, are not recorded by this object. "
::= { bgp4PathAttrEntry 24 }
-- conformance information -- conformance information
bgpMIBConformance OBJECT IDENTIFIER bgpMIBCompliances OBJECT IDENTIFIER ::= { bgpConformance 1 }
::= { bgp 5 } bgpMIBGroups OBJECT IDENTIFIER ::= { bgpConformance 2 }
bgpMIBCompliances OBJECT IDENTIFIER
::= { bgpMIBConformance 1 }
bgpMIBGroups OBJECT IDENTIFIER
::= { bgpMIBConformance 2 }
bgpMIBCompliance MODULE-COMPLIANCE bgpMIBCompliance MODULE-COMPLIANCE
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The compliance statement for entities which "The compliance statement for entities which
implement the BGP4 mib." implement the BGP4 mib."
MODULE -- this module MODULE -- this module
MANDATORY-GROUPS { bgp4MIBBasicConfigGroup, MANDATORY-GROUPS {
bgpTimersGroup,
bgpCountersGroup,
bgpAsPathGroup,
bgpAs4byteGroup,
bgpBaseGroup,
bgpErrorsGroup,
bgpPeerGroup,
bgpPathAttributesGroup
} }
::= { bgpMIBCompliances 1 }
bgp4MIBBasicConfigGroup OBJECT-GROUP GROUP bgpAuthenticationGroup
OBJECTS { bgpVersion, DESCRIPTION
bgpAsSize, "The authentication group is
bgpLocalAs, mandatory only for those implementations which
bgpLocalIdentifier, support sending and receiving authentication
bgp4ClusterId, information with peers in the BGP Authentication
bgp4ConfederationID, Field."
bgp4CapabilitySupportAvailable } GROUP bgpCommunitiesGroup
DESCRIPTION
"The communities group is mandatory only for those
which support the BGP community attribute."
GROUP bgpExtCommunitiesGroup
DESCRIPTION
"The communities group is mandatory only for those
which support the BGP extended community attribute."
GROUP bgpRouteReflectionGroup
DESCRIPTION
"The communities group is mandatory only for those
which support the BGP route reflection relationships."
GROUP bgpAsConfederationGroup
DESCRIPTION
"The communities group is mandatory only for those
which support the BGP confederation membership."
GROUP bgpTimersGroup
DESCRIPTION
"This group is mandatory for all agent implementations."
GROUP bgpCountersGroup
DESCRIPTION
"This group is mandatory for all agent implementations."
GROUP bgpCapabilitiesGroup
DESCRIPTION
"This group is mandatory for all agent implementations."
GROUP bgpAsPathGroup
DESCRIPTION
"This group is mandatory for all agent implementations."
GROUP bgpAs4byteGroup
DESCRIPTION
"This group is mandatory for all agent implementations."
GROUP bgpBaseGroup
DESCRIPTION
"This group is mandatory for all agent implementations."
GROUP bgpErrorsGroup
DESCRIPTION
"This group is mandatory for all agent implementations."
GROUP bgpPeerGroup
DESCRIPTION
"This group is mandatory for all agent implementations."
GROUP bgpPathAttributesGroup
DESCRIPTION
"This group is mandatory for all agent implementations."
GROUP bgpPeerGroup
DESCRIPTION
"This group is mandatory for all agent implementations."
::= { bgpMIBCompliances 1 }
bgpAuthenticationGroup OBJECT-GROUP
OBJECTS {
bgpSupportedAuthCode,
bgpSupportedAuthValue,
bgpSupportedAuthCode,
bgpSupportedAuthValue,
bgpPeerAuthSent,
bgpPeerAuthSentCode,
bgpPeerAuthSentValue,
bgpPeerAuthRcvd,
bgpPeerAuthRcvdCode,
bgpPeerAuthRcvdValue
}
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A collection of objects providing information on "Objects associated with BGP authentication."
the basic overall BGP configuration."
::= { bgpMIBGroups 1 } ::= { bgpMIBGroups 1 }
bgp4MIBPeerGroup OBJECT-GROUP bgpCommunitiesGroup OBJECT-GROUP
OBJECTS { bgpPeerIdentifier, OBJECTS {
bgpPeerState, bgpPathAttrCommIndex,
bgpPeerAdminStatus, bgpPathAttrCommValue
bgpPeerNegotiatedVersion, }
bgpPeerLocalAddrType, STATUS current
bgpPeerLocalAddr, DESCRIPTION
bgpPeerLocalPort, "Objects associated with BGP communities."
bgpPeerLocalAs, ::= { bgpMIBGroups 2 }
bgpPeerRemoteAddrType,
bgpPeerRemoteAddr, bgpExtCommunitiesGroup OBJECT-GROUP
bgpPeerRemotePort, OBJECTS {
bgpPeerRemoteAs, bgpPathAttrExtCommIndex,
bgpPathAttrExtCommValue
}
STATUS current
DESCRIPTION
"Objects associated with BGP extended communities."
::= { bgpMIBGroups 3 }
bgpRouteReflectionGroup OBJECT-GROUP
OBJECTS {
bgpClusterId,
bgpPeerReflectorClient, bgpPeerReflectorClient,
bgpPeerConfederationMember, bgpPathAttrOriginatorId,
bgpPathAttrClusterIndex,
bgpPathAttrClusterValue
}
STATUS current
DESCRIPTION
"Objects associated with BGP route reflection."
::= { bgpMIBGroups 4 }
bgpAsConfederationGroup OBJECT-GROUP
OBJECTS {
bgpConfederationId,
bgpPeerConfederationMember
}
STATUS current
DESCRIPTION
"Objects associated with BGP confederation membership."
::= { bgpMIBGroups 5 }
bgpTimersGroup OBJECT-GROUP
OBJECTS {
bgpPeerFsmEstablishedTime,
bgpPeerInUpdatesElapsedTime,
bgpPeerConnectRetryInterval,
bgpPeerHoldTimeConfigured,
bgpPeerKeepAliveConfigured,
bgpPeerMinASOriginationInterval,
bgpPeerMinRouteAdvertiseInterval,
bgpPeerHoldTime,
bgpPeerKeepAlive
}
STATUS current
DESCRIPTION
"Objects associated with BGP peering timers."
::= { bgpMIBGroups 6 }
bgpCountersGroup OBJECT-GROUP
OBJECTS {
bgpPeerInUpdates, bgpPeerInUpdates,
bgpPeerOutUpdates, bgpPeerOutUpdates,
bgpPeerInTotalMessages, bgpPeerInTotalMessages,
bgpPeerOutTotalMessages, bgpPeerOutTotalMessages,
bgpPeerLastError,
bgpPeerFsmEstablishedTransitions, bgpPeerFsmEstablishedTransitions,
bgpPeerFsmEstablishedTime,
bgpPeerConnectRetryInterval,
bgpPeerHoldTime,
bgpPeerKeepAlive,
bgpPeerMinASOriginationInterval,
bgpPeerMinRouteAdvertisementInterval,
bgpPeerInUpdateElapsedTime,
bgpPrefixCountersAfi, bgpPrefixCountersAfi,
bgpPrefixCountersSafi, bgpPrefixCountersSafi,
bgpPrefixCountersPrefixesReceived, bgpPrefixInPrefixes,
bgpPrefixCountersPrefixesSent, bgpPrefixInPrefixesAccepted,
bgpPrefixCountersWithdrawsReceived, bgpPrefixInPrefixesRejected,
bgpPrefixCountersWithdrawsSent, bgpPrefixOutPrefixes
bgpPrefixCountersWithdrawsSent, }
bgpPrefixCountersInPrefixes,
bgpPrefixCountersInPrefixesAccepted,
bgpPrefixCountersInPrefixesRejected,
bgpPrefixCountersOutPrefixes }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"All objects reflecting management information by "Objects to count discrete events and exchanges on BGP
BGP peer and sessions to BGP peers." sessions."
::= { bgpMIBGroups 2} ::= { bgpMIBGroups 7 }
bgp4MIBPeerConfigManagementGroup OBJECT-GROUP bgpCapabilitiesGroup OBJECT-GROUP
OBJECTS { bgpPeerHoldTimeConfigured, OBJECTS {
bgpPeerKeepAliveConfigured } bgpCapabilitySupportAvailable,
bgpSupportedCapabilityIndex,
bgpSupportedCapability,
bgpPeerCapAnnouncedCode,
bgpPeerCapAnnouncedIndex,
bgpPeerCapAnnouncedLength,
bgpPeerCapAnnouncedValue,
bgpPeerCapReceivedCode,
bgpPeerCapReceivedIndex,
bgpPeerCapReceivedLength,
bgpPeerCapReceivedValue,
bgpPeerCapAnnouncedCode,
bgpPeerCapAnnouncedIndex,
bgpPeerCapAnnouncedLength,
bgpPeerCapAnnouncedValue,
bgpPeerCapReceivedCode,
bgpPeerCapReceivedIndex,
bgpPeerCapReceivedLength,
bgpPeerCapReceivedValue
}
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects to report capabilities as received on BGP
sessions."
::= { bgpMIBGroups 8 }
bgpAsPathGroup OBJECT-GROUP
OBJECTS {
bgpAsPathIndex,
bgpAsPathType,
bgpAsPathElementValue
}
STATUS current
DESCRIPTION DESCRIPTION
"All objects reflecting controls capable of "Objects to report AS paths received on BGP
being set on BGP peer sessions." NLRIs."
::= { bgpMIBGroups 3} ::= { bgpMIBGroups 9 }
bgp4MIBPeerAuthenticationGroup OBJECT-GROUP bgpAs4byteGroup OBJECT-GROUP
OBJECTS { bgpPeerAuthenticationSent, OBJECTS {
bgpPeerAuthenticationSentCode, bgpAsSize
bgpPeerAuthenticationSentValue, }
bgpPeerAuthenticationReceived,
bgpPeerAuthenticationReceivedCode,
bgpPeerAuthenticationReceivedValue }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"AS Size objects."
::= { bgpMIBGroups 10 }
bgpBaseGroup OBJECT-GROUP
OBJECTS {
bgpLocalAs,
bgpLocalIdentifier,
bgpVersionIndex,
bgpVersionSupported
}
STATUS current
DESCRIPTION DESCRIPTION
"This group contains objects reflecting the "Basic objects in local BGP implementation."
state of authentication negotiations and other ::= { bgpMIBGroups 11 }
per-peer authentication data."
::= { bgpMIBGroups 4} bgpErrorsGroup OBJECT-GROUP
bgp4MIBCapabilitiesGroup OBJECT-GROUP OBJECTS {
OBJECTS { bgp4SupportedCapabilityIndex, bgpPeerLastError,
bgp4SupportedCapability, bgpPeerLastErrorData
bgp4PeerCapAnnouncedCode, }
bgp4PeerCapAnnouncedIndex,
bgp4PeerCapAnnouncedLength,
bgp4PeerCapAnnouncedValue,
bgp4PeerCapReceivedCode,
bgp4PeerCapReceivedIndex,
bgp4PeerCapReceivedLength,
bgp4PeerCapReceivedValue }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This group contains per BGP-4 capability "Errors received on BGP peering sessions."
management information objects." ::= { bgpMIBGroups 12 }
::= { bgpMIBGroups 5}
bgp4MIBReceivedPathAttributesGroup OBJECT-GROUP bgpPeerGroup OBJECT-GROUP
OBJECTS { bgp4PathAttrPeerType, OBJECTS {
bgp4PathAttrPeer, bgpPeerIdentifier,
bgp4PathAttrIpAddrPrefixType, bgpPeerState,
bgp4PathAttrIpAddrPrefixSafi, bgpPeerAdminStatus,
bgp4PathAttrIpAddrPrefix bgpPeerConfiguredVersion,
bgp4PathAttrIpAddrPrefixLen, bgpPeerNegotiatedVersion,
bgp4PathAttrOrigin, bgpPeerLocalAddrType,
bgp4PathAttrASPathSegment, bgpPeerLocalAddr,
bgp4PathAttrNextHop, bgpPeerLocalPort,
bgp4PathAttrMultiExitDiscPresent, bgpPeerLocalAs,
bgp4PathAttrMultiExitDisc, bgpPeerRemoteAddrType,
bgp4PathAttrLocalPrefPresent, bgpPeerRemoteAddr,
bgp4PathAttrLocalPref, bgpPeerRemotePort,
bgp4PathAttrAtomicAggregate, bgpPeerRemoteAs,
bgp4PathAttrAggregatorAS, bgpPeerIndex,
bgp4PathAttrAggregatorAddr, bgpPeerRowEntryStatus
bgp4PathAttrCalcLocalPrefPresent, }
bgp4PathAttrCalcLocalPref,
bgp4PathAttrOriginatorId,
bgp4PathAttrClusterList,
bgp4PathAttrCommunity,
bgp4PathAttrExtCommunity,
bgp4PathAttrBest,
bgp4PathAttrUnknown }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This group contains objects with information about "Core object types on BGP peering sessions."
destination network paths as received from peers." ::= { bgpMIBGroups 13 }
::= { bgpMIBGroups 6 } bgpPathAttributesGroup OBJECT-GROUP
OBJECTS {
bgpNlriAfi,
bgpNlriSafi,
bgpNlriPrefixLen,
bgpNlriPrefix,
bgpNlriBest,
bgpPathAttrIndex,
bgpNlriASPathStr,
bgpPathAttrOrigin,
bgpPathAttrNextHopAddrType,
bgpPathAttrNextHop,
bgpPathAttrMultiExitDiscPresent,
bgpPathAttrMultiExitDisc,
bgpPathAttrLocalPrefPresent,
bgpPathAttrLocalPref,
bgpPathAttrAtomicAggregate,
bgpPathAttrAggregatorAS,
bgpPathAttrAggregatorAddr,
bgpPathAttrCalcLocalPref,
bgpAsPathIndex,
bgpAsPathType,
bgpAsPathElementValue,
bgpPathAttrUnknownIndex,
bgpPathAttrUnknownType,
bgpPathAttrUnknownValue
}
STATUS current
DESCRIPTION
"Attributes recieved on BGP peering sessions."
::= { bgpMIBGroups 14 }
bgp4MIBNotificationsGroup NOTIFICATION-GROUP bgpMIBNotificationsGroup NOTIFICATION-GROUP
OBJECTS { bgpEstablished, NOTIFICATIONS {
bgpBackwardTransition } bgpEstablished,
bgpBackwardTransition
}
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This group contains objects for notifications "This group contains objects for notifications
supported by this MIB module." supported by this MIB module."
::= { bgpMIBGroups 7} ::= { bgpMIBGroups 15 }
END END
6. Example on Extending the MIB For BGP Protocol Extensions 5. Security Considerations
TBD This MIB module contains controls which relate to core services for
interdomain routing using the Border Gateway Protocol. In particu-
lar, this MIB allows configuration of operational elements for those
services. If such configuration is done without consideration for
the effects of such configuration activity, or malicious configura-
tion activity is allowed on the managed elements, the effect could be
denial of service to the processes and end users in the affected
domain(s).
7. Security Considerations SNMPv1 is not considered a sufficiently secure environment for the
deployment of such configuration ability. Even if the management
data path is secure at the network protocol layer (by the deployment
of secure IP, for example), there are still points of exposure around
such issues as to what operators and applications are allowed to
access and modify the configuration as exposed through this MIB mod-
ule.
TBD It is strongly recommended that the agent implementor considers the
security features afforded by the SNMP Version 3 framework in expos-
ing the configuration features of this MIB module. In particular,
the availability and usage of the User-based Security Model [12]
and/or the View-based Access Control Model [15] is highly recom-
mended.
8. Intellectual Property It is then incumbent upon the customer deploying network management
applications which make use of these configuration features to also
consider and deploy a security discipline to make use of these SNMP
Version 3 security features. In particular, the operational staff
who have access to the configuration controls in their ability to
create, set, and delete them, should be carefully considered.
6. Intellectual Property
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to intellectual property or other rights that might be claimed to per-
pertain to the implementation or use of the technology described in tain to the implementation or use of the technology described in this
this document or the extent to which any license under such rights document or the extent to which any license under such rights might
might or might not be available; neither does it represent that it or might not be available; neither does it represent that it has made
has made any effort to identify any such rights. Information on the any effort to identify any such rights. Information on the IETF's
IETF's procedures with respect to rights in standards-track and procedures with respect to rights in standards-track and standards-
standards-related documentation can be found in BCP-11. Copies of related documentation can be found in BCP-11. Copies of claims of
claims of rights made available for publication and any assurances of rights made available for publication and any assurances of licenses
licenses to be made available, or the result of an attempt made to to be made available, or the result of an attempt made to obtain a
obtain a general license or permission for the use of such general license or permission for the use of such proprietary rights
proprietary rights by implementors or users of this specification can by implementors or users of this specification can be obtained from
be obtained from the IETF Secretariat. the IETF Secretariat.
9. Acknowledgements 7. Acknowledgements
Tom Nadeau, Cisco Systems, Inc. Tom Nadeau, Cisco Systems, Inc.
Jon Saperia, JDS Consulting, Inc. Jon Saperia, JDS Consulting, Inc.
Bill Fenner, AT&T Research Bill Fenner, AT&T Research
Mike McFadden, Riverstone Networks, Inc. Mike McFaden, Riverstone Networks, Inc.
Joel Krauska, Exodus Networks, Inc. Joel Krauska, Exodus Networks, Inc.
Carl W. Kalbfleisch, Verio Networks, Inc. Carl W. Kalbfleisch, Verio Networks, Inc.
Joe Dupre, Gold Wire Technology
others TBD... others TBD...
10. References 8. Open Issues
[1] Harrington, D., Presuhn, R., and B. Wijnen, "An
Architecture for Describing SNMP Management Frameworks",
RFC 2571, April 1999.
[2] Rose, M., and K. McCloghrie, "Structure and
Identification of Management Information for TCP/IP-based
Internets", STD 16, RFC 1155, May 1990.
[3] Rose, M., and K. McCloghrie, "Concise MIB Definitions", This section will be removed from the document prior to being issued
STD 16, RFC 1212, March 1991. to IDR working group last call (at the latest).
[4] Rose, M., "A Convention for Defining Traps for use with * Configuration is discussed, but not currently implemented in a
the SNMP", RFC 1215, March 1991. thorough way in the MIB.
[5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., * Is 32 bits nearly enough indexing space for a row in the
Rose, M., and S. Waldbusser, "Structure of Management bgp4PathAttrTable? Row Pointers are a little more heavyweight
Information Version 2 (SMIv2)", STD 58, RFC 2578, April for a management application to work with, but would a Row
1999. Pointer index type here be more appropriate regardless?
[6] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., 9. References
Rose, M., and S. Waldbusser, "Textual Conventions for
SMIv2", STD 58, RFC 2579, April 1999.
[7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., [1] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for
Rose, M., and S. Waldbusser, "Conformance Statements for Describing SNMP Management Frameworks", RFC 2571, April 1999.
SMIv2", STD 58, RFC 2580, April 1999.
[8] Case, J., Fedor, M., Schoffstall, M., and J. Davin, [2] Rose, M., and K. McCloghrie, "Structure and Identification of Man-
"Simple Network Management Protocol", STD 15, RFC 1157, agement Information for TCP/IP-based Internets", STD 16, RFC 1155,
May 1990. May 1990.
[9] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, [3] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC
"Introduction to Community-based SNMPv2", RFC 1901, 1212, March 1991.
January 1996.
[10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, [4] Rose, M., "A Convention for Defining Traps for use with the SNMP",
"Transport Mappings for Version 2 of the Simple Network RFC 1215, March 1991.
Management Protocol (SNMPv2)", RFC 1906, January 1996.
[11] Case, J., Harrington D., Presuhn R., and B. Wijnen, [5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M.,
"Message Processing and Dispatching for the Simple and S. Waldbusser, "Structure of Management Information Version 2
Network Management Protocol (SNMP)", RFC 2572, April (SMIv2)", STD 58, RFC 2578, April 1999.
1999.
[12] Blumenthal, U., and B. Wijnen, "User-based Security Model [6] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M.,
(USM) for version 3 of the Simple Network Management and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC
Protocol (SNMPv3)", RFC 2574, April 1999. 2579, April 1999.
[13] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, [7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M.,
"Protocol Operations for Version 2 of the Simple Network and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC
Management Protocol (SNMPv2)", RFC 1905, January 1996. 2580, April 1999.
[14] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 [8] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network
Applications", RFC 2573, April 1999. Management Protocol", STD 15, RFC 1157, May 1990.
[15] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based [9] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduc-
Access Control Model (VACM) for the Simple Network tion to Community-based SNMPv2", RFC 1901, January 1996.
Management Protocol (SNMP)", RFC 2575, April 1999.
[16] McCloghrie, K. and M. Rose, Editors, "Management [10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Transport
Information Base for Network Management of TCP/IP-based Mappings for Version 2 of the Simple Network Management Protocol
internets: MIB-II", STD 17, RFC 1213, Hughes LAN Systems, (SNMPv2)", RFC 1906, January 1996.
Performance Systems International, March 1991.
[7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., [11] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message Pro-
Rose, M., and S. Waldbusser, "Conformance Statements for cessing and Dispatching for the Simple Network Management Protocol
SMIv2", STD 58, RFC 2580, April 1999. (SNMP)", RFC 2572, April 1999.
[8] Case, J., Fedor, M., Schoffstall, M., and J. Davin, [12] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for
"Simple Network Management Protocol", STD 15, RFC 1157, version 3 of the Simple Network Management Protocol (SNMPv3)", RFC
May 1990. 2574, April 1999.
[9] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, [13] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol
"Introduction to Community-based SNMPv2", RFC 1901, Operations for Version 2 of the Simple Network Management Protocol
January 1996. (SNMPv2)", RFC 1905, January 1996.
[10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, [14] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC
"Transport Mappings for Version 2 of the Simple Network 2573, April 1999.
Management Protocol (SNMPv2)", RFC 1906, January 1996.
[11] Case, J., Harrington D., Presuhn R., and B. Wijnen, [15] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Con-
"Message Processing and Dispatching for the Simple trol Model (VACM) for the Simple Network Management Protocol
Network Management Protocol (SNMP)", RFC 2572, April (SNMP)", RFC 2575, April 1999.
1999.
[12] Willis, S., Burruss, J., and Chu, J., "Definitions of Managed [16] McCloghrie, K. and M. Rose, Editors, "Management Information Base
for Network Management of TCP/IP-based Internets: MIB-II", STD 17,
RFC 1213, Hughes LAN Systems, Performance Systems International,
March 1991.
[17] Willis, S., Burruss, J., and Chu, J., "Definitions of Managed
Objects for the Fourth Version of the Border Gateway Protocol Objects for the Fourth Version of the Border Gateway Protocol
(BGP-4) using SMIv2", RFC 1657, July 1994. (BGP-4) using SMIv2", RFC 1657, July 1994.
[13] Hares, S., Haas, J., Willis, S., Burruss, J., and Chu, J., [18] Hares, S., Haas, J., Willis, S., Burruss, J., and Chu, J., "Defini-
"Definitions of Managed Objects for the Fourth Version of tions of Managed Objects for the Fourth Version of Border Gateway
Border Gateway Protocol (BGP-4)", draft-ietf-idr-bgp4-mib- Protocol (BGP-4)", draft-ietf-idr-bgp4-mib-06.txt, Work-in-
06.txt, Work-in-progress. progress.
[14] Rekhter, Y., Li, T., "A Border Gateway Protocol 4 (BGP-4)", RFC [19] Rekhter, Y., Li, T., "A Border Gateway Protocol 4 (BGP-4)", RFC
1771, March 1995. 1771, March 1995.
[15] Rekhter, Y., Gross, P., "Application of the Border Gateway [20] Rekhter, Y., Gross, P., "Application of the Border Gateway Proto-
Protocol in the Internet", RFC 1772, March 1995. col in the Internet", RFC 1772, March 1995.
[16] Traina, P., McPherson, D., and Scudder, J., "Autonomous System [21] Traina, P., McPherson, D., and Scudder, J., "Autonomous System
Confederations for BGP", RFC 3065, February, 2001. Confederations for BGP", RFC 3065, February, 2001.
[17] Chandra, R., Traina, P., and Li, T., "BGP Communities Attribute", [22] Chandra, R., Traina, P., and Li, T., "BGP Communities Attribute",
RFC 1997, August, 1996. RFC 1997, August, 1996.
[18] Bates, T., Rekhter, Y., Chandra, R., and Katz, D., "Multiprotocol [23] Bates, T., Rekhter, Y., Chandra, R., and Katz, D., "Multiprotocol
Extensions for BGP-4", June, 2000. Extensions for BGP-4", June, 2000.
[19] Bates, T., Chandra, R., and Chen, E., "BGP Route Reflection - [24] Bates, T., Chandra, R., and Chen, E., "BGP Route Reflection - An
An Alternative to Full Mesh IBGP", RFC 2796, April 2000. Alternative to Full Mesh IBGP", RFC 2796, April 2000.
10. Authors' Address [25] Sangli, S., Tappan, D., and Rekhter, Y., "BGP Extended Communities
Attribute", Work-in-progress.
10. Authors' Addresses
Jeff Haas
NextHop Technologies
517 Williams
Ann Arbor, MI 48103-4943
Phone: +1 734 936 2095
Fax: +1 734 615-3241
Email: jhaas@nexthop.com
Susan Hares Susan Hares
NextHop Technologies NextHop Technologies
517 Williams 517 Williams
Ann Arbor, MI 48103-4943 Ann Arbor, MI 48103-4943
Phone: +1 734 936 2095 Phone: +1 734 936 2095
Fax: +1 734 615-3241 Fax: +1 734 615-3241
Email: skh@nexthop.com Email: skh@nexthop.com
Wayne Tackabury
Jeff Johnson Gold Wire Technology
RedBack Networks, Inc. 411 Waverley Oaks Rd.
1389 Moffett Park Drive Waltham, MA 02452-8401
Sunnyvale, CA 94089 Phone: +1 781 398-8819
Phone: +1 408 548 3516 Fax: +1 781 398-8811
Email: jeff@redback.com Email: wayne@goldwiretech.com
Steve Willis
Argon Networks
25 Porter Road
Littleton, MA 01450
Phone: +1 508 486 0665
Fax: +1 508 486 9379
Email: swills@argon.com
John Burruss
Windata Inc.
543 Great Road
Littleton MA 01460
Phone: +1 508 952 0170
Email: jburruss@windata.com
John Chu
Cosine Communications
1200 Bridge Parkway
Redwood City, CA 94065
Phone: 650-637-4780
Email: jchu@cosinecom.com
11. Full Copyright Statement 11. Full Copyright Statement
Copyright (C) The Internet Society (1999). All Rights Reserved. Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this included on all such copies and derivative works. However, this doc-
document itself may not be modified in any way, such as by removing ument itself may not be modified in any way, such as by removing the
the copyright notice or references to the Internet Society or other copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of Internet organizations, except as needed for the purpose of develop-
developing Internet standards in which case the procedures for ing Internet standards in which case the procedures for copyrights
copyrights defined in the Internet Standards process must be defined in the Internet Standards process must be followed, or as
followed, or as required to translate it into languages other than required to translate it into languages other than English.
English.
The limited permissions granted above are perpetual and will not be The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns. revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MER-
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. CHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Protocol Extensions . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Mechanisms for MIB Extensibility . . . . . . . . . . . . . . . 3
2.3. BGP Configuration . . . . . . . . . . . . . . . . . . . . . . . 4
3. MIB Organization . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. bgpBaseScalars . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2. bgpPeerData . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2.1. bgpPeerCapabilities . . . . . . . . . . . . . . . . . . . . . 6
3.2.2. bgpPeerCounters . . . . . . . . . . . . . . . . . . . . . . . 6
3.2.3. Peering Data Extensions . . . . . . . . . . . . . . . . . . . 6
3.3. BGP Routing Information Base Data . . . . . . . . . . . . . . . 6
3.3.1. Routing Information Base Extensions . . . . . . . . . . . . . 7
3.4. Considerations on Table Indexing . . . . . . . . . . . . . . . 7
4. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5. Security Considerations . . . . . . . . . . . . . . . . . . . . . 62
6. Intellectual Property . . . . . . . . . . . . . . . . . . . . . . 62
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 63
8. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
10. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 65
11. Full Copyright Statement . . . . . . . . . . . . . . . . . . . . 66
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/