< draft-ietf-grow-bmp-local-rib-04.txt   draft-ietf-grow-bmp-local-rib-05.txt >
Global Routing Operations T. Evens Global Routing Operations T. Evens
Internet-Draft S. Bayraktar Internet-Draft S. Bayraktar
Updates: 7854 (if approved) M. Bhardwaj Updates: 7854 (if approved) M. Bhardwaj
Intended status: Standards Track Cisco Systems Intended status: Standards Track Cisco Systems
Expires: December 9, 2019 P. Lucente Expires: February 6, 2020 P. Lucente
NTT Communications NTT Communications
June 7, 2019 August 5, 2019
Support for Local RIB in BGP Monitoring Protocol (BMP) Support for Local RIB in BGP Monitoring Protocol (BMP)
draft-ietf-grow-bmp-local-rib-04 draft-ietf-grow-bmp-local-rib-05
Abstract Abstract
The BGP Monitoring Protocol (BMP) defines access to the Adj-RIB-In The BGP Monitoring Protocol (BMP) defines access to the Adj-RIB-In
and locally originated routes (e.g. routes distributed into BGP from and locally originated routes (e.g. routes distributed into BGP from
protocols such as static) but not access to the BGP instance Loc-RIB. protocols such as static) but not access to the BGP instance Loc-RIB.
This document updates the BGP Monitoring Protocol (BMP) RFC 7854 by This document updates the BGP Monitoring Protocol (BMP) RFC 7854 by
adding access to the BGP instance Local-RIB, as defined in RFC 4271 adding access to the BGP instance Local-RIB, as defined in RFC 4271
the routes that have been selected by the local BGP speaker's the routes that have been selected by the local BGP speaker's
Decision Process. These are the routes over all peers, locally Decision Process. These are the routes over all peers, locally
skipping to change at page 1, line 40 skipping to change at page 1, line 40
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on December 9, 2019. This Internet-Draft will expire on February 6, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 16 skipping to change at page 2, line 16
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Current Method to Monitor Loc-RIB . . . . . . . . . . . . 5 1.1. Current Method to Monitor Loc-RIB . . . . . . . . . . . . 5
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 7 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 7
3. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 7 3. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 8
4. Per-Peer Header . . . . . . . . . . . . . . . . . . . . . . . 8 4. Per-Peer Header . . . . . . . . . . . . . . . . . . . . . . . 8
4.1. Peer Type . . . . . . . . . . . . . . . . . . . . . . . . 8 4.1. Peer Type . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2. Peer Flags . . . . . . . . . . . . . . . . . . . . . . . 8 4.2. Peer Flags . . . . . . . . . . . . . . . . . . . . . . . 8
5. Loc-RIB Monitoring . . . . . . . . . . . . . . . . . . . . . 9 5. Loc-RIB Monitoring . . . . . . . . . . . . . . . . . . . . . 9
5.1. Per-Peer Header . . . . . . . . . . . . . . . . . . . . . 9 5.1. Per-Peer Header . . . . . . . . . . . . . . . . . . . . . 9
5.2. Peer UP Notification . . . . . . . . . . . . . . . . . . 9 5.2. Peer UP Notification . . . . . . . . . . . . . . . . . . 10
5.2.1. Peer UP Information . . . . . . . . . . . . . . . . . 10 5.2.1. Peer UP Information . . . . . . . . . . . . . . . . . 10
5.3. Peer Down Notification . . . . . . . . . . . . . . . . . 10 5.3. Peer Down Notification . . . . . . . . . . . . . . . . . 11
5.4. Route Monitoring . . . . . . . . . . . . . . . . . . . . 11 5.4. Route Monitoring . . . . . . . . . . . . . . . . . . . . 11
5.4.1. ASN Encoding . . . . . . . . . . . . . . . . . . . . 11 5.4.1. ASN Encoding . . . . . . . . . . . . . . . . . . . . 11
5.4.2. Granularity . . . . . . . . . . . . . . . . . . . . . 11 5.4.2. Granularity . . . . . . . . . . . . . . . . . . . . . 11
5.5. Route Mirroring . . . . . . . . . . . . . . . . . . . . . 11 5.5. Route Mirroring . . . . . . . . . . . . . . . . . . . . . 12
5.6. Statistics Report . . . . . . . . . . . . . . . . . . . . 11 5.6. Statistics Report . . . . . . . . . . . . . . . . . . . . 12
6. Other Considerations . . . . . . . . . . . . . . . . . . . . 12 6. Other Considerations . . . . . . . . . . . . . . . . . . . . 12
6.1. Loc-RIB Implementation . . . . . . . . . . . . . . . . . 12 6.1. Loc-RIB Implementation . . . . . . . . . . . . . . . . . 12
6.1.1. Multiple Loc-RIB Peers . . . . . . . . . . . . . . . 12 6.1.1. Multiple Loc-RIB Peers . . . . . . . . . . . . . . . 12
6.1.2. Filtering Loc-RIB to BMP Receivers . . . . . . . . . 12 6.1.2. Filtering Loc-RIB to BMP Receivers . . . . . . . . . 12
7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 6.1.3. Changes to existing BMP sessions . . . . . . . . . . 13
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 7. Security Considerations . . . . . . . . . . . . . . . . . . . 13
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
8.1. BMP Peer Type . . . . . . . . . . . . . . . . . . . . . . 13 8.1. BMP Peer Type . . . . . . . . . . . . . . . . . . . . . . 13
8.2. BMP Peer Flags . . . . . . . . . . . . . . . . . . . . . 13 8.2. BMP Peer Flags . . . . . . . . . . . . . . . . . . . . . 13
8.3. Peer UP Information TLV . . . . . . . . . . . . . . . . . 13 8.3. Peer UP Information TLV . . . . . . . . . . . . . . . . . 13
8.4. Peer Down Reason code . . . . . . . . . . . . . . . . . . 13 8.4. Peer Down Reason code . . . . . . . . . . . . . . . . . . 14
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.1. Normative References . . . . . . . . . . . . . . . . . . 13 9.1. Normative References . . . . . . . . . . . . . . . . . . 14
9.2. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 14 9.2. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 14 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14
1. Introduction 1. Introduction
The BGP Monitoring Protocol (BMP) suggests that locally originated This document defines a mechanism to monitor the BGP Local-RIB state
routes are locally sourced routes, such as redistributed or otherwise for multiple BGP instances without the need for one or more unneeded
added routes to the BGP instance by the local router. It does not BGP peering sessions. The BGP Monitoring Protocol (BMP) suggests
specify routes that are in the BGP instance Loc-RIB, such as routes that locally originated routes are locally sourced routes, such as
after best-path selection. redistributed or otherwise added routes to the BGP instance by the
local router. It does not specify routes that are in the BGP
instance Loc-RIB, such as routes after best-path selection.
Figure 1 shows the flow of received routes from one or more BGP peers Figure 1 shows the flow of received routes from one or more BGP peers
into the Loc-RIB. into the Loc-RIB.
+------------------+ +------------------+ +------------------+ +------------------+
| Peer-A | | Peer-B | | Peer-A | | Peer-B |
/-- | | ---- | | --\ /-- | | ---- | | --\
| | Adj-RIB-In (Pre) | | Adj-RIB-In (Pre) | | | | Adj-RIB-In (Pre) | | Adj-RIB-In (Pre) | |
| +------------------+ +------------------+ | | +------------------+ +------------------+ |
| | | | | | | |
skipping to change at page 3, line 33 skipping to change at page 3, line 35
| V V | | V V |
| +-----------------------------------------+ | | +-----------------------------------------+ |
| | Loc-RIB | | | | Loc-RIB | |
| +-----------------------------------------+ | | +-----------------------------------------+ |
| | | |
| ROUTER/BGP Instance | | ROUTER/BGP Instance |
\----------------------------------------------------/ \----------------------------------------------------/
Figure 1: BGP peering Adj-RIBs-In into Loc-RIB Figure 1: BGP peering Adj-RIBs-In into Loc-RIB
As shown in Figure 2, Locally originated follows a similar flow where As shown in Figure 2, Locally originated section 9.4 of [RFC4271]
the redistributed or otherwise originated routes get installed into follows a similar flow where the redistributed or otherwise
the Loc-RIB based on the decision process selection. originated routes get installed into the Loc-RIB based on the
decision process selection.
/--------------------------------------------------------\ /--------------------------------------------------------\
| | | |
| +----------+ +----------+ +----------+ +----------+ | | +----------+ +----------+ +----------+ +----------+ |
| | IS-IS | | OSPF | | Static | | BGP | | | | IS-IS | | OSPF | | Static | | BGP | |
| +----------+ +----------+ +----------+ +----------+ | | +----------+ +----------+ +----------+ +----------+ |
| | | | | | | | | | | |
| | | | | | | |
| | Redistributed or originated into BGP | | | | Redistributed or originated into BGP | |
| | | | | | | |
skipping to change at page 4, line 25 skipping to change at page 4, line 25
| V V V V | | V V V V |
| +----------------------------------------------+ | | +----------------------------------------------+ |
| | Loc-RIB | | | | Loc-RIB | |
| +----------------------------------------------+ | | +----------------------------------------------+ |
| | | |
| ROUTER/BGP Instance | | ROUTER/BGP Instance |
\--------------------------------------------------------/ \--------------------------------------------------------/
Figure 2: Locally Originated into Loc-RIB Figure 2: Locally Originated into Loc-RIB
BGP instance Loc-RIB usually provides a similar, if not exact, The following are some use-cases for Loc-RIB access:
forwarding information base (FIB) view of the routes from BGP that
the router will use. The following are some use-cases for Loc-RIB
access:
o Adj-RIBs-In Post-Policy may still contain hundreds of thousands of o Adj-RIBs-In Post-Policy may still contain hundreds of thousands of
routes per-peer but only a handful are selected and installed in routes per-peer but only a handful are selected and installed in
the Loc-RIB as part of the best-path selection. Some monitoring the Loc-RIB as part of the best-path selection. Some monitoring
applications, such as ones that need only to correlate flow applications, such as ones that need only to correlate flow
records to Loc-RIB entries, only need to collect and monitor the records to Loc-RIB entries, only need to collect and monitor the
routes that are actually selected and used. routes that are actually selected and used.
Requiring the applications to collect all Adj-RIB-In Post-Policy Requiring the applications to collect all Adj-RIB-In Post-Policy
data forces the applications to receive a potentially large data forces the applications to receive a potentially large
skipping to change at page 5, line 21 skipping to change at page 5, line 18
multi-path prefixes are installed as expected for all advertising multi-path prefixes are installed as expected for all advertising
peers, the Adj-RIB-In Post-Policy and Loc-RIB needs to be peers, the Adj-RIB-In Post-Policy and Loc-RIB needs to be
compared. This is only possible if the Loc-RIB is available. compared. This is only possible if the Loc-RIB is available.
Monitoring the Adj-RIB-In for this router from another router to Monitoring the Adj-RIB-In for this router from another router to
derive the Loc-RIB is likely to not show same installed prefixes. derive the Loc-RIB is likely to not show same installed prefixes.
For example, the received Adj-RIB-In will be different if add- For example, the received Adj-RIB-In will be different if add-
paths is not enabled or if maximum number of equal paths are paths is not enabled or if maximum number of equal paths are
different from Loc-RIB to routes advertised. different from Loc-RIB to routes advertised.
This document adds Loc-RIB to the BGP Monitoring Protocol and This document adds Loc-RIB to the BGP Monitoring Protocol and
replaces Section 8.2 [RFC7854] Locally Originated Routes. replaces Section 8.2 of [RFC7854] Locally Originated Routes.
1.1. Current Method to Monitor Loc-RIB 1.1. Current Method to Monitor Loc-RIB
Loc-RIB is used to build Adj-RIB-Out when advertising routes to a Loc-RIB is used to build Adj-RIB-Out when advertising routes to a
peer. It is therefore possible to derive the Loc-RIB of a router by peer. It is therefore possible to derive the Loc-RIB of a router by
monitoring the Adj-RIB-In Pre-Policy from another router. At scale monitoring the Adj-RIB-In Pre-Policy from another router. At scale
this becomes overly complex and error prone. this becomes overly complex and error prone.
/------------------------------------------------------\ /------------------------------------------------------\
| ROUTER1 BGP Instance | | ROUTER1 BGP Instance |
skipping to change at page 7, line 7 skipping to change at page 7, line 7
peering session. The BMP router then forwards Adj-RIB-In Pre-Policy peering session. The BMP router then forwards Adj-RIB-In Pre-Policy
to the BMP receiver. to the BMP receiver.
The current method introduces the need for additional resources: The current method introduces the need for additional resources:
o Requires at least two routers when only one router was to be o Requires at least two routers when only one router was to be
monitored. monitored.
o Requires additional BGP peering to collect the received updates o Requires additional BGP peering to collect the received updates
when peering may have not even been required in the first place. when peering may have not even been required in the first place.
For example, VRF's with no peers, redistributed bgp-ls with no For example, VRFs with no peers, redistributed BGP-LS with no
peers, segment routing egress peer engineering where no peers have peers, segment routing egress peer engineering where no peers have
link-state address family enabled. link-state address family enabled.
Complexities introduced with current method in order to derive (e.g. Complexities introduced with current method in order to derive (e.g.
correlate) peer to router Loc-RIB: correlate) peer to router Loc-RIB:
o Adj-RIB-Out received as Adj-RIB-In from another router may have a o Adj-RIB-Out received as Adj-RIB-In from another router may have a
policy applied that filters, generates aggregates, suppresses more policy applied that filters, generates aggregates, suppresses more
specifics, manipulates attributes, or filters routes. Not only specifics, manipulates attributes, or filters routes. Not only
does this invalidate the Loc-RIB view, it adds complexity when does this invalidate the Loc-RIB view, it adds complexity when
skipping to change at page 7, line 30 skipping to change at page 7, line 30
identifying which peering session is the best representative of identifying which peering session is the best representative of
the Loc-RIB. the Loc-RIB.
o BGP peering is designed to work between administrative domains and o BGP peering is designed to work between administrative domains and
therefore does not need to include internal system level therefore does not need to include internal system level
information of each peering router (e.g. the system name or information of each peering router (e.g. the system name or
version information). In order to derive a Loc-RIB to a router, version information). In order to derive a Loc-RIB to a router,
the router name or other system information is needed. The BMP the router name or other system information is needed. The BMP
receiver and user are forced to do some type of correlation using receiver and user are forced to do some type of correlation using
what information is available in the peering session (e.g. peering what information is available in the peering session (e.g. peering
addresses, ASNs, and BGP-ID's). This leads to error prone addresses, ASNs, and BGP-IDs). This leads to error prone
correlations. correlations.
o The BGP-ID's and session addresses to router correlation requires o The BGP-IDs and session addresses to router correlation requires
additional data, such as router inventory. This additional data additional data, such as router inventory. This additional data
provides the BMP receiver the ability to map and correlate the provides the BMP receiver the ability to map and correlate the
BGP-ID's and/or session addresses, but requires the BMP receiver BGP-IDs and/or session addresses, but requires the BMP receiver to
to somehow obtain this data outside of BMP. How this data is somehow obtain this data outside of BMP. How this data is
obtained and the accuracy of the data directly effects the obtained and the accuracy of the data directly effects the
integrity of the correlation. integrity of the correlation.
2. Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
document are to be interpreted as described in RFC 2119 [RFC2119]. "OPTIONAL" in this document are to be interpreted as described in BCP
14 RFC 2119 [RFC2119] RFC 8174 [RFC8174] when, and only when, they
appear in all capitals, as shown here.
3. Definitions 3. Definitions
o BGP Instance: it refers to an instance of an instance of BGP-4
[RFC4271] and considerations in section 8.1 of [RFC7854] do apply
to it.
o Adj-RIB-In: As defined in [RFC4271], "The Adj-RIBs-In contains o Adj-RIB-In: As defined in [RFC4271], "The Adj-RIBs-In contains
unprocessed routing information that has been advertised to the unprocessed routing information that has been advertised to the
local BGP speaker by its peers." This is also referred to as the local BGP speaker by its peers." This is also referred to as the
pre-policy Adj-RIB-In in this document. pre-policy Adj-RIB-In in this document.
o Adj-RIB-Out: As defined in [RFC4271], "The Adj-RIBs-Out contains o Adj-RIB-Out: As defined in [RFC4271], "The Adj-RIBs-Out contains
the routes for advertisement to specific peers by means of the the routes for advertisement to specific peers by means of the
local speaker's UPDATE messages." local speaker's UPDATE messages."
o Loc-RIB: As defined in [RFC4271], "The Loc-RIB contains the routes o Loc-RIB: As defined in section 9.4 of [RFC4271], "The Loc-RIB
that have been selected by the local BGP speaker's Decision contains the routes that have been selected by the local BGP
Process." It is further defined that the routes selected include speaker's Decision Process." It is further defined that the
locally originated and routes from all peers. routes selected include locally originated and routes from all
peers.
o Pre-Policy Adj-RIB-Out: The result before applying the outbound o Pre-Policy Adj-RIB-Out: The result before applying the outbound
policy to an Adj-RIB-Out. This normally represents a similar view policy to an Adj-RIB-Out. This normally represents a similar view
of the Loc-RIB but may contain additional routes based on BGP of the Loc-RIB but may contain additional routes based on BGP
peering configuration. peering configuration.
o Post-Policy Adj-RIB-Out: The result of applying outbound policy to o Post-Policy Adj-RIB-Out: The result of applying outbound policy to
an Adj-RIB-Out. This MUST be what is actually sent to the peer. an Adj-RIB-Out. This MUST be what is actually sent to the peer.
4. Per-Peer Header 4. Per-Peer Header
4.1. Peer Type 4.1. Peer Type
A new peer type is defined for Loc-RIB to distinguish that it A new peer type is defined for Loc-RIB to distinguish that it
represents Loc-RIB with or without RD and local instances. represents Loc-RIB with or without RD and local instances.
Section 4.2 [RFC7854] defines a Local Instance Peer type, which is Section 4.2 of [RFC7854] defines a Local Instance Peer type, which is
for the case of non-RD peers that have an instance identifier. for the case of non-RD peers that have an instance identifier.
This document defines the following new peer type: This document defines the following new peer type:
o Peer Type = 3: Loc-RIB Instance Peer o Peer Type = 3: Loc-RIB Instance Peer
4.2. Peer Flags 4.2. Peer Flags
In section 4.2 [RFC7854], the "locally sourced routes" comment under In section 4.2 of [RFC7854], the "locally sourced routes" comment
the L flag description is removed. Locally sourced routes MUST be under the L flag description is removed. Locally sourced routes MUST
conveyed using the Loc-RIB instance peer type. be conveyed using the Loc-RIB instance peer type.
The per-peer header flags for Loc-RIB Instance Peer type are defined The per-peer header flags for Loc-RIB Instance Peer type are defined
as follows: as follows:
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|F| Reserved | |F| Reserved |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
o The F flag indicates that the Loc-RIB is filtered. This indicates o The F flag indicates that the Loc-RIB is filtered. This MUST be
that the Loc-RIB does not represent the complete routing table. set when only a subset of Loc-RIB routes is sent to the BMP
collector.
The remaining bits are reserved for future use. They MUST be The remaining bits are reserved for future use. They MUST be
transmitted as 0 and their values MUST be ignored on receipt. transmitted as 0 and their values MUST be ignored on receipt.
5. Loc-RIB Monitoring 5. Loc-RIB Monitoring
Loc-RIB contains all routes from BGP peers as well as any and all The Loc-RIB contains all routes selected by the BGP protocol Decision
routes redistributed or otherwise locally originated. In this Process section 9.1 of [RFC4271]. These routes include those learned
context, only the BGP instance Loc-RIB is included. Routes from from BGP peers via its Adj-RIBs-In post-policy, as well as routes
other routing protocols that have not been redistributed, originated learned by other means section 9.4 of [RFC4271]. Examples of these
by or into BGP, or received via Adj-RIB-In are not considered. include redistribution of routes from other protocols into BGP or
otherwise locally originated (ie. aggregate routes).
Loc-RIB in this context does not attempt to maintain a pre-policy and
post-policy representation. Loc-RIB is the selected and used routes,
which is equivalent to post-policy.
For example, VRF "Blue" imports several targets but filters out As mentioned in Section 4.2 a subset of Loc-RIB routes MAY be sent to
specific routes. The end result of VRF "Blue" Loc-RIB is conveyed. a BMP collector by setting the F flag.
Even though the import is filtered, the result is complete for VRF
"Blue" Loc-RIB. The F flag is not set in this case since the Loc-RIB
is complete and not filtered to the BMP receiver.
5.1. Per-Peer Header 5.1. Per-Peer Header
All peer messages that include a per-peer header MUST use the All peer messages that include a per-peer header MUST use the
following values: following values:
o Peer Type: Set to 3 to indicate Loc-RIB Instance Peer. o Peer Type: Set to 3 to indicate Loc-RIB Instance Peer.
o Peer Distinguisher: Zero filled if the Loc-RIB represents the o Peer Distinguisher: Zero filled if the Loc-RIB represents the
global instance. Otherwise set to the route distinguisher or global instance. Otherwise set to the route distinguisher or
unique locally defined value of the particular instance the Loc- unique locally defined value of the particular instance the Loc-
RIB belongs to. RIB belongs to.
o Peer Address: Zero-filled. Remote peer address is not applicable. o Peer Address: The remote IP address associated with the TCP
The V flag is not applicable with Local-RIB Instance peer type session over which the encapsulated PDU was received. If zero-
considering addresses are zero-filed. filled, the information is not available and setting the V flag is
not applicable.
o Peer AS: Set to the BGP instance global or default ASN value. o Peer AS: Set to the BGP instance global or default ASN value.
o Peer BGP ID: Set to the BGP instance global or RD (e.g. VRF) o Peer BGP ID: Set to the BGP instance global or RD (e.g. VRF)
specific router-id. specific router-id section 1.1 of [RFC7854].
o Timestamp: The time when the encapsulated routes were installed in
The Loc-RIB, expressed in seconds and microseconds since midnight
(zero hour), January 1, 1970 (UTC). If zero, the time is
unavailable. Precision of the timestamp is implementation-
dependent.
5.2. Peer UP Notification 5.2. Peer UP Notification
Peer UP notifications follow section 4.10 [RFC7854] with the Peer UP notifications follow section 4.10 of [RFC7854] with the
following clarifications: following clarifications:
o Local Address: Zero-filled, local address is not applicable. o Local Address: Zero-filled, local address is not applicable.
o Local Port: Set to 0, local port is not applicable. o Local Port: Set to 0, local port is not applicable.
o Remote Port: Set to 0, remote port is not applicable. o Remote Port: Set to 0, remote port is not applicable.
o Sent OPEN Message: This is a fabricated BGP OPEN message. o Sent OPEN Message: This is a fabricated BGP OPEN message.
Capabilities MUST include 4-octet ASN and all necessary Capabilities MUST include 4-octet ASN and all necessary
skipping to change at page 10, line 25 skipping to change at page 10, line 38
capability should be included for IPv6. In the case of add-paths, capability should be included for IPv6. In the case of add-paths,
the capability intent of advertise, receive or both can be ignored the capability intent of advertise, receive or both can be ignored
since the presence of the capability indicates enough that add- since the presence of the capability indicates enough that add-
paths will be used for IPv6. paths will be used for IPv6.
o Received OPEN Message: Repeat of the same Sent Open Message. The o Received OPEN Message: Repeat of the same Sent Open Message. The
duplication allows the BMP receiver to use existing parsing. duplication allows the BMP receiver to use existing parsing.
5.2.1. Peer UP Information 5.2.1. Peer UP Information
The following peer UP information TLV type is added: The following Peer UP information TLV type is added:
o Type = 3: VRF/Table Name. The Information field contains an ASCII o Type = 3: VRF/Table Name. The Information field contains an ASCII
string whose value MUST be equal to the value of the VRF or table string whose value MUST be equal to the value of the VRF or table
name (e.g. RD instance name) being conveyed. The string size name (e.g. RD instance name) being conveyed. The string size
MUST be within the range of 1 to 255 bytes. MUST be within the range of 1 to 255 bytes.
The VRF/Table Name TLV is optionally included. For consistency, The VRF/Table Name TLV is optionally included. For consistency,
it is RECOMMENDED that the VRF/Table Name always be included. The it is RECOMMENDED that the VRF/Table Name always be included. The
default value of "global" MUST be used for the default Loc-RIB default value of "global" MUST be used for the default Loc-RIB
instance with a zero-filled distinguisher. If the TLV is instance with a zero-filled distinguisher. If the TLV is
included, then it MUST also be included in the Peer Down included, then it MUST also be included in the Peer Down
notification. notification.
Multiple TLVs of the same type can be repeated as part of the same
message, for example to convey a filtered view of a VRF. A BMP
receiver should append multiple TLVs of the same type to a set in
order to support alternate or additional names for the same peer. If
multiple strings are included, their ordering MUST be preserved when
they are reported.
5.3. Peer Down Notification 5.3. Peer Down Notification
Peer down notification MUST use reason code TBD3. Following the Peer down notification MUST use reason code TBD3. Following the
reason is data in TLV format. The following peer Down information reason is data in TLV format. The following peer Down information
TLV type is defined: TLV type is defined:
o Type = 3: VRF/Table Name. The Information field contains an ASCII o Type = 3: VRF/Table Name. The Information field contains an ASCII
string whose value MUST be equal to the value of the VRF or table string whose value MUST be equal to the value of the VRF or table
name (e.g. RD instance name) being conveyed. The string size name (e.g. RD instance name) being conveyed. The string size
MUST be within the range of 1 to 255 bytes. The VRF/Table Name MUST be within the range of 1 to 255 bytes. The VRF/Table Name
informational TLV MUST be included if it was in the Peer UP. informational TLV MUST be included if it was in the Peer UP.
5.4. Route Monitoring 5.4. Route Monitoring
Route Monitoring messages are used for initial synchronization of the Route Monitoring messages are used for initial synchronization of the
Loc-RIB. They are also used to convey incremental Loc-RIB changes. Loc-RIB. They are also used to convey incremental Loc-RIB changes.
As defined in section 4.3 [RFC7854], "Following the common BMP header As defined in section 4.3 of [RFC7854], "Following the common BMP
and per-peer header is a BGP Update PDU." header and per-peer header is a BGP Update PDU."
5.4.1. ASN Encoding 5.4.1. ASN Encoding
Loc-RIB route monitor messages MUST use 4-byte ASN encoding as Loc-RIB route monitor messages MUST use 4-byte ASN encoding as
indicated in PEER UP sent OPEN message (Section 5.2) capability. indicated in PEER UP sent OPEN message (Section 5.2) capability.
5.4.2. Granularity 5.4.2. Granularity
State compression and throttling SHOULD be used by a BMP sender to State compression and throttling SHOULD be used by a BMP sender to
reduce the amount of route monitoring messages that are transmitted reduce the amount of route monitoring messages that are transmitted
skipping to change at page 11, line 37 skipping to change at page 12, line 7
results in only the final change being transmitted. The other 4 results in only the final change being transmitted. The other 4
changes are suppressed because they fall within the compression changes are suppressed because they fall within the compression
interval. If no compression was being used, all 5 updates would have interval. If no compression was being used, all 5 updates would have
been transmitted. been transmitted.
A BMP receiver should expect that Loc-RIB route monitoring A BMP receiver should expect that Loc-RIB route monitoring
granularity can be different by BMP sender implementation. granularity can be different by BMP sender implementation.
5.5. Route Mirroring 5.5. Route Mirroring
Route mirroring is not applicable to Loc-RIB. Route mirroring is not applicable to Loc-RIB and Route Mirroring
messages SHOULD be ignored.
5.6. Statistics Report 5.6. Statistics Report
Not all Stat Types are relevant to Loc-RIB. The Stat Types that are Not all Stat Types are relevant to Loc-RIB. The Stat Types that are
relevant are listed below: relevant are listed below:
o Stat Type = 8: (64-bit Gauge) Number of routes in Loc-RIB. o Stat Type = 8: (64-bit Gauge) Number of routes in Loc-RIB.
o Stat Type = 10: Number of routes in per-AFI/SAFI Loc-RIB. The o Stat Type = 10: Number of routes in per-AFI/SAFI Loc-RIB. The
value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64- value is structured as: 2-byte AFI, 1-byte SAFI, followed by a 64-
skipping to change at page 12, line 18 skipping to change at page 12, line 34
There are several methods to implement Loc-RIB efficiently. In all There are several methods to implement Loc-RIB efficiently. In all
methods, the implementation emulates a peer with Peer UP and DOWN methods, the implementation emulates a peer with Peer UP and DOWN
messages to convey capabilities as well as Route Monitor messages to messages to convey capabilities as well as Route Monitor messages to
convey Loc-RIB. In this sense, the peer that conveys the Loc-RIB is convey Loc-RIB. In this sense, the peer that conveys the Loc-RIB is
a local router emulated peer. a local router emulated peer.
6.1.1. Multiple Loc-RIB Peers 6.1.1. Multiple Loc-RIB Peers
There MUST be multiple emulated peers for each Loc-RIB instance, such There MUST be multiple emulated peers for each Loc-RIB instance, such
as with VRF's. The BMP receiver identifies the Loc-RIB's by the peer as with VRFs. The BMP receiver identifies the Loc-RIB by the peer
header distinguisher and BGP ID. The BMP receiver uses the VRF/ header distinguisher and BGP ID. The BMP receiver uses the VRF/
Table Name from the PEER UP information to associate a name to the Table Name from the PEER UP information to associate a name to the
Loc-RIB. Loc-RIB.
In some implementations, it might be required to have more than one In some implementations, it might be required to have more than one
emulated peer for Loc-RIB to convey different address families for emulated peer for Loc-RIB to convey different address families for
the same Loc-RIB. In this case, the peer distinguisher and BGP ID the same Loc-RIB. In this case, the peer distinguisher and BGP ID
should be the same since it represents the same Loc-RIB instance. should be the same since it represents the same Loc-RIB instance.
Each emulated peer instance MUST send a PEER UP with the OPEN message Each emulated peer instance MUST send a PEER UP with the OPEN message
indicating the address family capabilities. A BMP receiver MUST indicating the address family capabilities. A BMP receiver MUST
skipping to change at page 12, line 41 skipping to change at page 13, line 8
6.1.2. Filtering Loc-RIB to BMP Receivers 6.1.2. Filtering Loc-RIB to BMP Receivers
There maybe be use-cases where BMP receivers should only receive There maybe be use-cases where BMP receivers should only receive
specific routes from Loc-RIB. For example, IPv4 unicast routes may specific routes from Loc-RIB. For example, IPv4 unicast routes may
include IBGP, EBGP, and IGP but only routes from EBGP should be sent include IBGP, EBGP, and IGP but only routes from EBGP should be sent
to the BMP receiver. Alternatively, it may be that only IBGP and to the BMP receiver. Alternatively, it may be that only IBGP and
EBGP that should be sent and IGP redistributed routes should be EBGP that should be sent and IGP redistributed routes should be
excluded. In these cases where the Loc-RIB is filtered, the F flag excluded. In these cases where the Loc-RIB is filtered, the F flag
is set to 1 to indicate to the BMP receiver that the Loc-RIB is is set to 1 to indicate to the BMP receiver that the Loc-RIB is
filtered. filtered. If multiple filters are associated to the same Loc-RIB, a
Table Name MUST be used in order to allow a BMP receiver to make the
right associations.
6.1.3. Changes to existing BMP sessions
In case of any change that results in the alteration of behaviour of
an existing BMP session, ie. changes to filtering and table names,
the session MUST be bounced with a Peer DOWN/Peer UP sequence.
7. Security Considerations 7. Security Considerations
It is not believed that this document adds any additional security The same considerations as in section 11 of [RFC7854] apply to this
considerations. document. Implementations of this protocol SHOULD require to
establish sessions with authorized and trusted monitoring devices.
It is also believed that this document does not add any additional
security considerations.
8. IANA Considerations 8. IANA Considerations
This document requests that IANA assign the following new parameters This document requests that IANA assign the following new parameters
to the BMP parameters name space [1]. to the BMP parameters name space [1].
8.1. BMP Peer Type 8.1. BMP Peer Type
This document defines a new peer type (Section 4.1): This document defines a new peer type (Section 4.1):
skipping to change at page 14, line 10 skipping to change at page 14, line 33
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271, Border Gateway Protocol 4 (BGP-4)", RFC 4271,
DOI 10.17487/RFC4271, January 2006, DOI 10.17487/RFC4271, January 2006,
<https://www.rfc-editor.org/info/rfc4271>. <https://www.rfc-editor.org/info/rfc4271>.
[RFC7854] Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP [RFC7854] Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP
Monitoring Protocol (BMP)", RFC 7854, Monitoring Protocol (BMP)", RFC 7854,
DOI 10.17487/RFC7854, June 2016, DOI 10.17487/RFC7854, June 2016,
<https://www.rfc-editor.org/info/rfc7854>. <https://www.rfc-editor.org/info/rfc7854>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
9.2. URIs 9.2. URIs
[1] https://www.iana.org/assignments/bmp-parameters/bmp- [1] https://www.iana.org/assignments/bmp-parameters/bmp-
parameters.xhtml parameters.xhtml
Acknowledgements Acknowledgements
The authors would like to thank John Scudder and Jeff Haas for their The authors would like to thank John Scudder, Jeff Haas and Mukul
valuable input. Srivastava for their valuable input.
Authors' Addresses Authors' Addresses
Tim Evens Tim Evens
Cisco Systems Cisco Systems
2901 Third Avenue, Suite 600 2901 Third Avenue, Suite 600
Seattle, WA 98121 Seattle, WA 98121
USA USA
Email: tievens@cisco.com Email: tievens@cisco.com
Serpil Bayraktar Serpil Bayraktar
Cisco Systems Cisco Systems
 End of changes. 39 change blocks. 
74 lines changed or deleted 106 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/