Internet-Draft | Common BMP Messages | February 2025 |
Patki & Narasimha | Expires 28 August 2025 | [Page] |
A route unmodified by the inbound policy on a monitored router is included both in Pre-Policy Adj-RIB-In as well as Post-Policy Adj-RIB-In Route-Monitoring messages when both the Pre-Policy and Post-Policy Route-Monitoring modes are enabled. Similarly, a route unmodified by the outbound policy is included in Pre-Policy Adj-RIB-Out as well as Post-Policy Adj-RIB-Out Route-Monitoring messages. This document defines methods to avoid duplicate inclusion of routes unmodified by policy either in Adj-RIB-In or Adj-RIB-Out.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 28 August 2025.¶
Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
[RFC7854] defined Pre-Policy and Post-Policy Adj-RIB-In Route-Monitoring messages, whereas [RFC8671] defined Pre-Policy and Post-Policy Adj-RIB-Out Route-Monitoring messages. If both Pre-Policy and Post-Policy Route-Monitoring modes are enabled on a device for a RIB (Adj-RIB-In or Adj-RIB-Out), the routes are included in both Pre-Policy and Post-Policy Route-Monitoring messages, even if the routes remains unmodified as a result of the application of policy.¶
The optimization proposed in this document will help improve the BMP convergence as described in the section below.¶
The monitored routers may have policies that modify none, some or several attributes of prefixes learnt from a few to many BGP peers. For example, a Route Reflector Inbound policy may modify very few of the received attributes. Whereas, a Provider Edge router Inbound policy may modify more attributes in the prefixes learnt across several peers. Consider a monitored router that learns 1,000,000 prefixes from various peers and, in different cases, 100%, 50%, 10% and none of the prefixes are modified by the policies. For the sake of simplicity, consider that 10 prefixes are packed in a single Route-Monitoring message and the average size of Route-Monitoring messages is 200 bytes. The following illustration shows the number of Route-Monitoring messages sent in each of these cases.¶
Prefixes modified by inbound policy | Pre-Policy Messages | Post-Policy Messages | Common Messages | Total Messages Transmitted | Total Bytes Transmitted |
---|---|---|---|---|---|
100% = 1,000,000 | 100,000 | 100,000 | 0 | 200,000 | 40 MB |
50% = 500,000 | 50,000 | 50,000 | 50,000 | 150,000 | 30 MB |
10% = 100,000 | 10,000 | 10,000 | 90,000 | 110,000 | 22 MB |
None | 0 | 0 | 100,000 | 100,000 | 20 MB |
While there can be multidimentional variations that determine the number of messages sent, the above simplified cases broadly illustrates that the number or Route-Monitoring messages can be reduced by a factor of two in the best case. This can therefore reduce the transmission processing, number of transmit buffers required for sending the BMP updates and internal queuing delays in the monitored router and load on the network connecting to the monitoring station; thereby improving the overall BMP convergence. This can also reduce the number of messages processed by the monitoring station.¶
To avoid sending duplicate unmodified routes in the Post-Policy Route-Monitoring messages, we introduce in this document two alternate methods based on:¶
When the Monitored Router does not have TLV support as defined by [I-D.ietf-grow-bmp-tlv], the method using the Common Update Flag MAY be used. When the Monitored Router does support TLV, either of the two methods MAY be used. However, it is to be noted that the two methods are mutually exclusive.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].¶
The per-peer header has the same structure and flags as defined in Section 4 of [RFC8671] with the addition of the C flag in the Peer Flags in the Per-Peer Header as shown here.¶
0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |V|L|A|O|C| Resv| +-+-+-+-+-+-+-+-+¶
Note that the C flag can be used only if the BGP Update PDU is common between Pre-Policy and Post-Policy Adj-RIB-In or Pre-Policy and Post-Policy Adj-RIB-Out. It does not allow for indicating a BGP Update PDU that is common between Adj-RIB-In and Adj-RIB-Out.¶
Here we define a new TLV named Common Update TLV using the TLV construct defined in Section 4.2 of [I-D.ietf-grow-bmp-tlv] as an alternative to C flag method proposed above. In addition to allowing sharing a common BGP Update PDU between pre-policy and post-policy modes of Adj-RIB-In and the same for Adj-RIB-Out like the Common Update Flag method, this method is extensible in allowing sharing across Adj-RIB-In and Adj-R-RIB-Out views, though we see it being used rarely.¶
The TLV has Index zero (0) which specifies that a TLV applies to all NLRIs contained in the BGP Update PDU. The value of the TLC defines flags that are described below.¶
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type=TBD2 | Length = 3 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Index=0 |I|J|O|P| Resv | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The following examples demonstrate sharing across Adj-RIB-In and Adj-RIB-Out views as well, but we anticipate this not to be used¶
Since the C flag is used in the context of BGP Update PDU, it has no significance for Peer-Up, Peer-Down, Initiation, Termination and Statistics Report messages. Though the Route Mirroring message contains a BGP Update PDU, as there is no policy execution involved in its transmission the C flag has no significance. In all messages except the Route-Monitoring message, the C flag MUST be set to 0 in the per-peer header during transmission and MUST be ignored on reception.¶
Similarly, the Common Update TLV MUST NOT be included in the above listed BMP messages during transmission and MUST be ignored if found on reception.¶
The C flag as well as the Common Update TLV are of relevance only in Adj-RIB-In and Adj-RIB-Out Route-Monitoring messages. They are of no relevance in Loc-RIB Route-Monitoring messages.¶
The C flag and the Common Update TLV are mutually exclusive. If a Route-Monitoring message has C flag set to 1 and includes the Common Update TLV:¶
This document defines new statistics types that use the following bitmap which is used to indicate a combination of Route-Monitoring views for which routes are the same, i.e. unmodified by policy.¶
+-+-+-+-+-+-+-+-+ |I|J|O|P| Resv | +-+-+-+-+-+-+-+-+
The following new statistics types are defined.¶
IANA needs to assign the following new parameters to the "BGP Monitoring Protocol (BMP) Parameters" registry.¶
IANA needs to make the following assignment for the per-peer header flag defined in Section 2 of this document:¶
Flag | Description |
---|---|
TBD1 | C flag |
IANA needs to make the following assignment for the "Common Update TLV" in the "BMP Route Monitoring TLVs" registry.¶
Type = TBD2 (15 Bits): Common Update TLV¶
IANA needs to make the following assignment for the statistics types defined in Section 4.2 of this document:¶
Stat Type | Description |
---|---|
TBD3 | Number of routes common across a combination of Route-Monitoring views. |
TBD4 | Number of routes common across a combination of Route-Monitoring views per-AFI/SAFI. |
This document does not add any additional security considerations. The considerations in Section 11 of [RFC7854] apply to this document.¶
TBD¶