Internet-Draft BGP SR Policy Extensions for metric December 2023
Zhang, et al. Expires 20 June 2024 [Page]
Network Working Group
Intended Status:
Standards Track
K. Zhang
J. Dong
K. Talaulikar
Cisco Systems

BGP SR Policy Extensions for metric


SR Policy candidate paths can be represented in BGP UPDATE messages. BGP can then be used to propagate the SR Policy candidate paths to the headend nodes in the network. After SR Policy is installed on the ingress node, the packets can be steered into SR Policy through route selection. Therefore, route selection may be performed on the ingress node of the SR Policy. If there are multiple routes to the same destination, the route selection node can select routes based on the local policy. The local policy may use the IGP metric of the selected path, which is the IGP Metric of the SR Policy. Thus the BGP UPDATE message needs to carry the metric of each segment list of the SR Policy Candidate Path, which can be used in path selection of routing.

Requirements Language

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 BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

Status of This Memo

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

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 20 June 2024.

Table of Contents

1. Introduction

[I-D.ietf-idr-segment-routing-te-policy]defines SR Policy and Tunnel Encapsulation Attributes. It defines the segment list of the SR policies. Each segment list of an SR Policy is a segment routing path, which may be calculated by path computation element and delivered to the head node of the device by BGP Update Message. On the ingress node, when steering traffic to an SR Policy, the ingress node may need to select between multiple SR Policy paths. And the selection policy may also need the path metric information. Therefore, BGP needs to carry the metric of each path when delivering the segment list of the SR Policy through Update messages to facilitate route selection on the device.

2. Terminology

The following terminology is used in this document.

SR Policy: An ordered list of segments.

Candidate Path: the unit for signaling of an SR Policy to a headend via protocol PCEP or BGP, which is defined in [I-D.ietf-pce-segment-routing-policy-cp] and [I-D.ietf-idr-segment-routing-te-policy].

SRPM: SR Policy Module.

3. Motivation

In route selection scenarios, the metric of the SR Policy segment list may be required.

The specific scenarios are as follows:

                         +--+         +--+         +---+
                _ _ _ _ _|P1|_ _ _ _ _|P2|_ _ _ _ _|PE2|_ _ _ _
               |         +--+         +--+         +---+       |
               |                                               |
 +---+        +---+                                           +---+
 |CE1|_ _ _ _ |PE1|                                           |CE1|
 +---+        +---+                                           +---+
               |         +--+         +--+         +---+       |
               |_ _ _ _ _|P3|_ _ _ _ _|P4|_ _ _ _ _|PE3|_ _ _ _|
                         +--+         +--+         +---+

On PE1, the route prefix to CE1 has two different next hop, PE2 and PE3. The next hop to PE1 uses an SR Policy1 on PE1, the endpoint of SR Policy1 is PE2. The next hop to PE2 uses an SR Policy2 on PE1, the endpoint of SR Policy2 is PE3. The prefix to CE1 wants to choose a next hop based on the IGP metric of the route PE1 to PE2 and PE1 and PE3, which uses SR Policy1 and SR Policy2. Thus, BGP needs to pass the IGP metric of SR Policy segment list on PE1.

4. SR Policy and Tunnel Encapsulation Attribute Update

As the metric is defined, the tunnel attribute encapsulation of the BGP SR Policy needs to be updated.

The SR Policy Encoding structure is as follows:

SR Policy SAFI NLRI: <Distinguisher, Policy-Color, Endpoint>


      Tunnel Encaps Attribute (23)

              Tunnel Type: SR Policy

                 Binding SID



                 Policy Name

                 Policy Candidate Path Name

                 Explicit NULL Label Policy (ENLP)

                 Segment List







Where metric indicates the metric for the segment list.

4.1. Metric sub-TLV

A new sub-TLV called Metric sub-TLV is defined. Metric sub-TLV specifies the metric of an SR policy Segment List. Each sub-TLV is encoded as shown in Figure 1. More than one metric Sub-TLVs may be present in one Segment List to refer to the metric values of different metric types.

0               1               2               3
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
|      Type     |    Length     |   Metric Type    |   Flags   |
|                     Metric Value                             |
Figure 1: Metric Sub-TLV

* Type: Metric, 1 octet, TBD.

* Length: 6 octets.

* Metric Type: 1-octet field which identifies the type of the metric being used. The metric-type code points are listed in Section 8.2.

* Flags: None are defined at this stage. Flags SHOULD be set to zero on transmission and MUST be ignored on receipt.

* Metric Value: 4-octet value which indicates the metric of the computed path.

5. Metric process of SR Policy segment list

When the SR Policy headend gets the SR Policy segment list with the metric field, the metric may be of any of the defined types: (IGP metric, Min Unidirection Link delay, TE metric, Hop Count, or SD List length).

The rules for processing SR Policy metrics are as follows:
1. The type of metric to use is determined by the local policy,
which can be user-configured. For example, the user specifies
the IGP metric as local policy.
2. The metric of the Active Candidate Path is used as the metric
of the SR Policy.
3. The metric of the Active Candidate Path uses the maximum
metric value of the specified metric type in all segment lists.
SR Policy: (Headend:1::1, Color: 2, EndPoint: 2::2)
Candidate path preference: 200
Segment list 1: (IGP metric: 20, Link delay: 10, TE metric: 10)
Segment list 2: (IGP metric: 30, Link delay: 20, TE metric: 15)
Candidate Path preference: 100
Segment list 1: (IGP metric: 40, Link delay: 20, TE metric: 20)
Segment list 2: (IGP metric: 30, Link delay: 10, TE metric: 15)
Local policy: IGP metric
Active candidate path: preference 200
Active candidate path metric: 30, which is the maximum IGP metric
of all segment lists in the candidate path.

6. Acknowledgements


7. IANA Considerations

7.1. New Registry: Metric Sub-TLV

This document defines a new Sub-TLV in requests registries "SR Policy List Sub-TLVs" [I-D.ietf-idr-segment-routing-te-policy]:

Value                  Description                  Reference
---------------------- ---------------------------- --------------
TBD                    Metric                       This document
Figure 2: Metric sub-TLV

7.2. New Registry: Metric Type

This document requests IANA to maintain a new registry under the "BGP Tunnel Encapsulation" registry. The new registry is called "Metric Type" and contains the codepoints allocated to the "metric type" field defined in Section 4.1. The registry contains the following codepoints, with initial values, to be assigned by IANA with the reference set to this document:

           | Code Point |         Metric Type                      |
           |     0      | IGP Metric                               |
           |     1      | Min Unidirectional Link Delay [RFC7471]  |
           |     2      | TE Metric [RFC3630]                      |
           |     3      | Hop Count (refer [RFC5440])              |
           |     4      | SID List Length                          |
           |    5-250   | Unassigned                               |
           |  251-255   | Private Use (not to be assigned by IANA) |
Figure 3: Metric Type Code Point

8. Security Considerations

These extensions to the BGP SR Policy do not add any new security issues to the existing protocol.

9. References

Previdi, S., Talaulikar, K., Dong, J., Gredler, H., and J. Tantsura, "Advertisement of Segment Routing Policies using BGP Link-State", Work in Progress, Internet-Draft, draft-ietf-idr-bgp-ls-sr-policy-03, , <>.
Previdi, S., Filsfils, C., Talaulikar, K., Mattes, P., and D. Jain, "Advertising Segment Routing Policies in BGP", Work in Progress, Internet-Draft, draft-ietf-idr-segment-routing-te-policy-26, , <>.
Koldychev, M., Sivabalan, S., Barth, C., Peng, S., and H. Bidgoli, "PCEP extension to support Segment Routing Policy Candidate Paths", Work in Progress, Internet-Draft, draft-ietf-pce-segment-routing-policy-cp-12, , <>.
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <>.
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <>.

Authors' Addresses

Ka Zhang
Huawei Bld., No.156 Beiqing Rd.
Jie Dong
Huawei Bld., No.156 Beiqing Rd.
Ketan Talaulikar
Cisco Systems