Internet-Draft | BMP New Statistics | October 2024 |
Srivastava, et al. | Expires 23 April 2025 | [Page] |
RFC 7854 defined different BMP statistics messages types to observe interesting events that occur on the router. This document updates RFC 7854 by adding new statistics type to monitor BMP rib-in and rib-out Ribs.¶
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 23 April 2025.¶
Copyright (c) 2024 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] defines a number of different BMP statistics types to observe interesting events that occur on the router. Stats are either counters or gauges. A 32-bit Counter is a non-negative integer that monotonically increases until it reaches a maximum value, when it wraps around and starts increasing again from 0. A 64-bit Gauge is a non-negative integer that may increase or decrease, but shall never exceed a maximum value, nor fall below a minimum one.¶
This document defines new gauges for BMP statistics message. The format of the BMP statistics message remains same as defined in [RFC7854].¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
This section defines different statistics type for RIB-IN and RIB-OUT monitoring type.¶
Type = 18: (64-bit Gauge) Current number of routes in Adj-RIBs-In-Pre-Policy. The value can increase or decrease based upon ongoing configuration change. Note that this counter updates stats type 7 defined in [RFC7854] and makes it a explicit for Adj-RIBs-In-Pre-Policy.¶
Type = 19: (64-bit Gauge) Current number of routes in per-AFI/SAFI Adj-RIBs-In-Pre-Policy. The value can increase or decrease based upon ongoing configuration change. Note that this counter is similar from stats type 9 defined in [RFC7854] and makes it a explicit for Adj-RIBs-In-Pre-Policy. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge.¶
Type = 20: (64-bit Gauge) Current number of routes in Adj-RIBs-In-Post-Policy. The value can increase or decrease based upon ongoing configuration change.¶
Type = 21: (64-bit Gauge) Current number of routes in per-AFI/SAFI Adj-RIBs-In-Post-Policy. The value can increase or decrease based upon ongoing configuration change. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge.¶
Type = 22: (64-bit Gauge) Current number of routes in per-AFI/SAFI rejected by inbound policy. The value can increase or decrease based upon ongoing configuration change. Note that this counter is different from stats type 0 defined in [RFC7854]. The stats type 0 in [RFC7854] is the a 32 counter which is monotonically increasing number and doesn't represents the current number of routes rejected by inbound policy due to ongoing configuration changes. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge.¶
Type = 23: (64-bit Gauge) Number of routes in per-AFI/SAFI accepted by inbound policy. The value can increase or decrease based upon ongoing configuration change or network events. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge. Some implementations, or configurations in implementations, may discard routes that do not match policy and thus the accepted count and the rib-in counts will be identical in such cases.¶
Type = 24: (64-bit Gauge) Number of routes in per-AFI/SAFI selected as primary route. The value can increase or decrease based upon ongoing configuration change or network events. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge. A primary path is a recursive or non-recursive path whose nexthop resolution ends with an adjacency draft-ietf-rtgwg-bgp-pic [I-D.ietf-rtgwg-bgp-pic]. A prefix can have more than one primary path if multipath is configured draft-lapukhov-bgp-ecmp-considerations [I-D.lapukhov-bgp-ecmp-considerations]. A best-path is also considered as a primary path.¶
Type = 25: (64-bit Gauge) Number of routes in per-AFI/SAFI selected as backup route. The value can increase or decrease based upon ongoing configuration change or network events. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge. A backup path is also installed in the RIB, but it is not used until some or all primary paths become unreachable. Backup paths are used for fast convergence in the event of failures.¶
Type = 26: (64-bit Gauge) Number of routes in per-AFI/SAFI suppressed by configured route damping policy. The value can increase or decrease based upon configuration change or network events. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge. Suppressed refers to a path which has been declared suppressed by the BGP Route Flap Damping mechanism as described in Section 2.2 of [RFC2439].¶
Type = 27: (64-bit Gauge) Number of routes in per-AFI/SAFI marked as stale by any configuration. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge. Stale refers to a path which has been declared stale by the BGP Graceful Restart mechanism as described in Section 4.1 of [RFC4724].¶
Type = 28: (64-bit Gauge) Number of routes in per-AFI/SAFI marked as stale by LLGR. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge. Stale refers to a path which has been declared stale by the BGP Long-Lived Graceful Restart mechanism as described in Section 4.3 of [RFC9494]. This is the route that are marked stale as part of LLGR process.¶
Type = 29: (64-bit Gauge) Number of routes left until reaching the received route threshold as defined in Section 6.7 of [RFC4271]. This value can increase or decrease base on ongoing configuration changes of the peer's received route threshold.¶
Type = 30: (64-bit Gauge) Number of routes in per-AFI/SAFI left until reaching the received route threshold as defined in Section 6.7 of [RFC4271]. This value can increase or decrease base on ongoing configuration changes of the peer's received route threshold. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge.¶
Type = 31: (64-bit Gauge) Number of routes left until reaching the license-customized route threshold. This value is affected by whether a customized license exists for the relevant address family, and when the customized license is installed. This value can increase or decrease based on current customized information of license.¶
Since the license-customized route threshold is vendor specific, this type value (31) SHOULD use enterprise-specific TLV encoding as described in Section 3.3 of [I-D.ietf-grow-bmp-tlv-ebit].¶
For the enterprise-specific TLV of 31, E-bit SHOULD set to 1, and 31 is 15 bits of TLV Type. As enterprise-specific Type value, 31 is determined by the Enterprise number, and does not have to be defined by INNA.¶
Type = 32: (64-bit Gauge) Number of routes in per-AFI/SAFI left until reaching the license-customized route threshold. This value is affected by whether a customized license exists for the relevant address family, and when the customized license is installed. This value can increase or decrease based on current customized information of license. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge.¶
It's also since the license-customized route threshold is vendor specific, this type value (32) SHOULD also use enterprise-specific TLV encoding as described in Section 3.3 of [I-D.ietf-grow-bmp-tlv-ebit].¶
For the enterprise-specific TLV of 32, E-bit SHOULD set to 1, and 32 is 15 bits of TLV Type. As enterprise-specific Type value, 32 is determined by the Enterprise number, and also does not have to be defined by INNA.¶
Type = 33: (64-bit Gauge) Current Number of routes rejected by exceeding the length threshold of as-path. This value can increase or decrease base on ongoing configuration changes of the length threshold of as-path. For as-path attribute information, please refer to [RFC4271].¶
Type = 34: (64-bit Gauge) Current Number of routes in per-AFI/SAFI rejected by exceeding the length threshold of as-path. This value can increase or decrease base on ongoing configuration changes of the length threshold of as-path. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge.¶
Type = 35: (64-bit Gauge) Current Number of routes in per-AFI/SAFI Adj-RIBs-In-Post-Policy invalidated by verifying route origin Autonomous System (AS) number through the Route Origin Authorization (ROA) of Resource Public Key Infrastructure (RPKI) [RFC6811]. This value can increase or decrease base on ongoing ROA changes of RPKI. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge.¶
Type = 36: (64-bit Gauge) Current Number of routes in per-AFI/SAFI Adj-RIBs-In-Post-Policy validated by verifying route origin Autonomous System (AS) number through the Route Origin Authorization (ROA) of Resource Public Key Infrastructure (RPKI) [RFC6811]. This value can increase or decrease base on ongoing ROA changes of RPKI. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge.¶
Type = 37: (64-bit Gauge) Current Number of routes in per-AFI/SAFI Adj-RIBs-In-Post-Policy not found by verifying route origin Autonomous System (AS) number through the Route Origin Authorization (ROA) of Resource Public Key Infrastructure (RPKI) [RFC6811]. This value can increase or decrease base on ongoing ROA changes of RPKI. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge.¶
Type = 38: (64-bit Gauge) Current number of routes in per-AFI/SAFI rejected by outbound policy. These routes are active routes which should otherwise would have been advertised in absense of outbound policy which rejected them. The value can increase or decrease based upon ongoing configuration change. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge. This counter only considers routes distributed from loc-rib into the adj-ribs-out and does not include cases like BGP add-paths [RFC7911].¶
Type = 39: (64-bit Gauge) Current Number of routes refused to be sent by exceeding the length threshold of as-path. This value can increase or decrease base on ongoing configuration changes of the length threshold of as-path. For as-path attribute information, please refer to [RFC4271].¶
Type = 40: (64-bit Gauge) Current Number of routes in per-AFI/SAFI refused to be sent by exceeding the length threshold of as-path. This value can increase or decrease base on ongoing configuration changes of the length threshold of as-path. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge.¶
Type = 41: (64-bit Gauge) Current Number of routes in per-AFI/SAFI Adj-RIBs-Out-Post-Policy invalidated by verifying route origin Autonomous System (AS) number through the Route Origin Authorization (ROA) of Resource Public Key Infrastructure (RPKI) [RFC6811]. This value can increase or decrease base on ongoing ROA changes of RPKI. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge.¶
Type = 42: (64-bit Gauge) Current Number of routes in per-AFI/SAFI Adj-RIBs-Out-Post-Policy validated by verifying route origin Autonomous System (AS) number through the Route Origin Authorization (ROA) of Resource Public Key Infrastructure (RPKI) [RFC6811]. This value can increase or decrease base on ongoing ROA changes of RPKI. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge.¶
Type = 43: (64-bit Gauge) Current Number of routes in per-AFI/SAFI Adj-RIBs-Out-Post-Policy not found by verifying route origin Autonomous System (AS) number through the Route Origin Authorization (ROA) of Resource Public Key Infrastructure (RPKI) [RFC6811]. This value can increase or decrease base on ongoing ROA changes of RPKI. The value is structured as: 2-byte Address Family Identifier (AFI), 1-byte Subsequent Address Family Identifier (SAFI), followed by a 64-bit Gauge.¶
IANA has assigned the following new parameters in the BMP Statistics Types registry, part of the BMP parameters registry group.¶
This document defines new BMP RIB-IN statistic types for statistics reporting (Section 2.1):¶
Type = 18: (64-bit Gauge) Number of routes currently in Adj-RIBs-In Pre-Policy.¶
Type = 19: (64-bit Gauge) Number of routes currently in per-AFI/SAFI Adj-RIBs-In Pre-Policy.¶
Type = 20: (64-bit Gauge) Number of routes currently in Adj-RIBs-In Post-Policy.¶
Type = 21: (64-bit Gauge) Number of routes currently in per-AFI/SAFI Adj-RIBs-In Post-Policy.¶
Type = 22: (64-bit Gauge) Number of routes currently in per-AFI/SAFI rejected by inbound policy.¶
Type = 23: (64-bit Gauge) Number of routes currently in per-AFI/SAFI accepted by inbound policy.¶
Type = 24: (64-bit Gauge) Number of routes currently in per-AFI/SAFI selected as primary route.¶
Type = 25: (64-bit Gauge) Number of routes currently in per-AFI/SAFI selected as backup route.¶
Type = 26: (64-bit Gauge) Number of routes in per-AFI/SAFI suppressed by configured route damping policy.¶
Type = 27: (64-bit Gauge) Number of routes in per-AFI/SAFI marked as stale by any configuration.¶
Type = 28: (64-bit Gauge) Number of routes in per-AFI/SAFI marked as stale by LLGR.¶
Type = 29: (64-bit Gauge) Number of routes left until reaching the received route threshold.¶
Type = 30: (64-bit Gauge) Number of routes in per-AFI/SAFI left until reaching the received route threshold.¶
Type = 31: (64-bit Gauge) Number of routes left until reaching the license-customized route threshold.¶
Type = 32: (64-bit Gauge) Number of routes in per-AFI/SAFI left until reaching the license-customized route threshold.¶
Type = 33: (64-bit Gauge) Number of routes currently rejected due to exceeding the length threshold of as-path.¶
Type = 34: (64-bit Gauge) Number of routes currently in per-AFI/SAFI rejected due to exceeding the length threshold of as-path.¶
Type = 35: (64-bit Gauge) Number of routes currently in per-AFI/SAFI Adj-RIBs-In Post-Policy invalidated after verifying route origin AS number through the ROA of RPKI.¶
Type = 36: (64-bit Gauge) Number of routes currently in per-AFI/SAFI Adj-RIBs-In Post-Policy validated after verifying route origin AS number through the ROA of RPKI.¶
Type = 37: (64-bit Gauge) Number of routes currently in per-AFI/SAFI Adj-RIBs-In Post-Policy not found after verifying route origin AS number through the ROA of RPKI.¶
This document defines new BMP RIB-OUT statistic types for statistics reporting (Section 2.2):¶
Type = 38: (64-bit Gauge) Number of routes currently in per-AFI/SAFI rejected by outbound policy.¶
Type = 39: (64-bit Gauge) Number of routes currently refused by exceeding the length threshold of as-path.¶
Type = 40: (64-bit Gauge) Number of routes currently in per-AFI/SAFI refused by exceeding the length threshold of as-path.¶
Type = 41: (64-bit Gauge) Number of routes currently in per-AFI/SAFI Adj-RIBs-Out Post-Policy invalidated after verifying route origin AS number through the ROA of RPKI.¶
Type = 42: (64-bit Gauge) Number of routes currently in per-AFI/SAFI Adj-RIBs-Out Post-Policy validated after verifying route origin AS number through the ROA of RPKI.¶
Type = 43: (64-bit Gauge) Number of routes currently in per-AFI/SAFI Adj-RIBs-Out Post-Policy not found after verifying route origin AS number through the ROA of RPKI.¶
The considerations in Section 11 of [RFC7854] apply to this document. It is also believed that this document does not add any additional security considerations.¶
The author would like to thank Jeff Haas for his valuable input.¶