| Internet-Draft | Advertisement of SR Policy Performance M | July 2026 |
| He, et al. | Expires 28 January 2027 | [Page] |
This document defines several Type-Length-Values (TLVs) to advertise the performance metrics for Segment Routing (SR) Policy using BGP Link State (BGP-LS). It complements RFC9857 for the advertisement of SR Policy performance metrics. Such information can be used by the operators for monitoring the performance and state of the candidate path .¶
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 January 2027.¶
Copyright (c) 2026 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.¶
When a Segment Routing (SR) Policy is running, the operators need to monitor the performance and state of the candidate path. Such information can be used by the operators for path optimization, fault diagnosis, as well as Service Level Agreement (SLA) compliance verification for user services.¶
RFC9857 describes a mechanism used to collect SR Policy configuration and state information that is locally available in an SR Policy headend node and advertise it into BGP-Link State (BGP-LS) updates [RFC9552]. [I-D.lin-idr-bgpls-te-policy-pm] describes a way to advertise SR Policy performance metrics using BGP-LS, and it defines 4 round-trip SR Policy performance metrics for advertisement. But SR Policy path is unidirectional, these round-trip performance metrics cannot accurately reflect the actual candidate path or Segment List performance.¶
There several measurement methods that can be used to measure SR path performance, including active measurement methods such as [I-D.ietf-spring-stamp-srpm-mpls] and [I-D.ietf-spring-stamp-srpm-srv6] for measuring path delay, delay variation and loss, using STAMP [RFC8762]; on-path detection techniques such as [RFC9947] for measuring path delay, delay variation and loss in SRv6 network, using Alternate-Marking method (AltMark)[RFC9341]; and [I-D.he-ippm-ioam-trace-type-bandwidth] using IOAM [RFC9197] for collecting the available bandwidth of a path. The measurement methods and procedures for performance metrics of the candidate path are out of the scope of this document.¶
This document defines four Type-Length-Values (TLVs) to advertise the performance metrics for SR Policy using BGP-LS. They are Unidirectional Available Bandwidth TLV, Unidirectional Segment List Delay TLV, Unidirectional Segment List Delay Variation TLV and Unidirectional Segment List Loss TLV. It complements RFC9857 for the advertisement of SR Policy performance metrics.¶
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.¶
Abbreviations used in this document:¶
BGP-LS: BGP-Link State¶
IOAM: In situ Operation, Administration, and Maintenance¶
NLRI: Network Layer Reachability Information¶
SR: Segment Routing¶
STAMP: Simple Two-Way Active Measurement Protocol¶
This section defines four SR Policy performance metric TLVs that enable the SR Policy headend node to report the performance metrics at the SR Policy candidate path level and SR Segment List level. They are Unidirectional Available Bandwidth TLV, Unidirectional Segment List Delay TLV, Unidirectional Segment List Delay Variation TLV and Unidirectional Segment List Loss TLV. These TLVs are carried in the optional non-transitive BGP- LS Attribute defined in [RFC9552] and are associated with the SR Policy Candidate Path NLRI type defined in [RFC9857].¶
The Unidirectional Available Bandwidth TLV is an optional TLV that is used to carry the available bandwidth of the candidate path. In order to be associated with the specified candidate path, when advertising the Unidirectional Available Bandwidth TLV, the SR Policy Name TLV and the SR Candidate Path Name TLV defined in Section 5.4 and Section 5.5 of [RFC9857] also MUST be present. Only a single instance of this TLV is advertised for a given candidate path. If multiple instances are present, then the first valid one (i.e., not determined to be malformed as per Section 8.2.2 of [RFC9552]) is used and the rest are ignored.¶
The TLV has the following format:¶
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Available Bandwidth | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Where:¶
Type: TBA¶
Length: 4 octets¶
Bandwidth: 4-octet field that specifies the available bandwidth (in unit of bytes per second) over a configurable interval, encoded in IEEE floating point format [IEEE.754-2019].¶
The Unidirectional Segment List Delay TLV is a sub-TLV of the SR Segment List TLV defined in Section 5.7 of [RFC9857]. It is an optional TLV that is used to carry the average unidirectional delay of a SR Segment List. In order to be associated with the specified SR Segment List when advertising the Unidirectional Segment List Delay TLV, the SR Segment List Identifier sub-TLV defined in Section 5.7.4 of [RFC9857] also MUST be present. Only a single instance of this TLV is advertised for a given Segment List. If multiple instances are present, then the first valid one (i.e., not determined to be malformed as per Section 8.2.2 of [RFC9552]) is used and the rest are ignored.¶
The TLV has the following format:¶
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Segment List Delay | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Where:¶
Type: TBA¶
Length: 4 octets¶
Segment List Delay: 4-octet unsigned integer field that specifies the average unidirectional delay (in unit of microseconds) over a configurable interval. When set to 0, it has not been measured.¶
The Unidirectional Segment List Delay Variation TLV is a sub-TLV of the SR Segment List TLV defined in Section 5.7 of [RFC9857]. It is an optional TLV that is used to carry the average unidirectional delay variation of a SR Segment List. In order to be associated with the specified SR Segment List when advertising the Unidirectional Segment List Delay TLV, the SR Segment List Identifier Sub-TLV defined in Section 5.7.4 of [RFC9857] also MUST be present. Only a single instance of this TLV is advertised for a given Segment List. If multiple instances are present, then the first valid one (i.e., not determined to be malformed as per Section 8.2.2 of [RFC9552]) is used and the rest are ignored.¶
The TLV has the following format:¶
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Segment List Delay Variation | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Where:¶
Type: TBA¶
Length: 4 octets¶
Segment List Delay Variation: 4-octet unsigned integer field that specifies the average unidirectional delay variation (in unit of microseconds) over a configurable interval. When set to 0, it has not been measured.¶
The Unidirectional Segment List Loss TLV is a sub-TLV of the SR Segment List TLV defined in Section 5.7 of [RFC9857]. It is an optional TLV that is used to carry the average unidirectional Loss of a SR Segment List. In order to be associated with the specified SR Segment List when advertising the Unidirectional Segment List Delay TLV, the SR Segment List Identifier sub-TLV defined in Section 5.7.4 of [RFC9857] also MUST be present. Only a single instance of this TLV is advertised for a given Segment List. If multiple instances are present, then the first valid one (i.e., not determined to be malformed as per Section 8.2.2 of [RFC9552]) is used and the rest are ignored.¶
The TLV has the following format:¶
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Segment List Loss | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Where:¶
Type: TBA¶
Length: 4 octets¶
Segment List Loss: 4-octet unsigned integer field that specifies the average unidirectional loss as a percentage of the total traffic sent over a configurable interval. This field is restricted to [0x00000000,0xffffffff], with value 0x00000000 indicating a packet loss of 0%, and value 0xffffffff indicating a packet loss of 100%. The resolution is 0.00023ppm.¶
IANA maintains a registry called "BGP-LS NLRI and Attribute TLVs" under the "Border Gateway Protocol - Link State (BGP-LS) Parameters" registry group.¶
IANA is requested to allocate the following code point from the "BGP-LS NLRI and Attribute TLVs" registry:¶
+================+=====================================+===============+ | TLV Code Point | Description | Reference | +================+=====================================+===============+ | TBA | Unidirectional Available Bandwidth | This document | +----------------+-------------------------------------+---------------+ | TBA | Unidirectional Segment List Delay | This document | +----------------+-------------------------------------+---------------+ | TBA | Unidirectional Segment List | This document | | | Delay Variation | | +----------------+-------------------------------------+---------------+ | TBA | Unidirectional Segment List Loss | This document | +----------------+-------------------------------------+---------------+¶
The protocol extensions defined in this document do not affect the BGP security model. The security considerations of the base BGP-LS specification as described in [RFC9552] apply. Since this document is the extensions to RFC9857, accordingly inheriting security issues from RFC9857, thus the security considerations in [RFC9857] apply in the same way.¶
The TLVs introduced in this document allow a SR Policy headend node to report the performance metrics to the external entity. Therefore, precaution is necessary to ensure that the configured advertisement frequency SHOULD NOT overload the headend node and the receiving entity.¶