Internet-Draft BGP Extension for ELP March 2021
Liu & Peng Expires 23 September 2021 [Page]
IDR Working Group
Intended Status:
Standards Track
Yao. Liu
ZTE Corp.
Shaofu. Peng
ZTE Corp.

BGP Extension for SR-MPLS Entropy Label Position


This document proposes extensions for BGP to indicate the entropy label position in the SR-MPLS label stack when distributing SR Policy candidate paths.

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 23 September 2021.

Table of Contents

1. Introduction

Segment Routing (SR) leverages the source routing paradigm. Segment Routing can be instantiated on MPLS data plane which is referred to as SR-MPLS [RFC8660]. SR-MPLS leverages the MPLS label stack to construct the SR path.

Entropy labels (ELs) [RFC6790] are used in the MPLS data plane to provide entropy for load-balancing. The idea behind the entropy label is that the ingress router computes a hash based on several fields from a given packet and places the result in an additional label named "entropy label". Then, this entropy label can be used as part of the hash keys used by an LSR. Using the entropy label as part of the hash keys reduces the need for deep packet inspection in the LSR while keeping a good level of entropy in the load-balancing.

[RFC8662] proposes to use entropy labels for SR-MPLS networks and mutiple < ELI, EL> pairs may be inserted in the SR-MPLS label stack. The ingress node may decide the number and position of the ELI/ELs which need to be inserted into the label stack, that is termed as ELP (Entropy Label Position). In some cases, centralized controllers are used to perform the TE path computation for intra or inter-domain scenarios, thus it is also the responsibility of the controller to calculate ELP and inform it to the headend of the SR-TE path.

[I-D.ietf-idr-segment-routing-te-policy] defines the specific process of how the controller/PCE in the SR network passes the path calculation result of the SR-TE policy to the headend of the network through BGP.

This document proposes extensions for BGP to indicate the ELP in the segment list when distribute SR Policy candidate paths using BGP for SR-MPLS networks.

2. Conventions used in this document

2.1. Requirements Language

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.

2.2. Terminology and Acronyms

EL: Entropy Label

ELI: Entropy Label Indicator

ELC: Entropy Label Capability

ERLD: Entropy Readable Label Depth

ELP: Entropy Label Position

MSD: Maximum SID Depth

3. Entropy Labels in SR-MPLS Scenario with a Controller

[RFC8662] proposes to use entropy labels for SR-MPLS networks. The Entropy Readable Label Depth (ERLD) is defined as the number of labels which means that the router will perform load-balancing using the ELI/EL. An appropriate algorithm should consider the following criteria:

As shown in Figure 1, in SR-MPLS inter-domain scenario, an path from A to Z is required, a centralized controller performs the computation of the end-to-end path, along which traffic load-balancing is required. The controller can also be used to perform the computation of the the Entropy Label Position (ELP) of the segment list that corresponds to the path. The ELP includs the number and the position of the ELI/ELs.

Multiple limitations MUST be taken into account by the controller during path calculation, including Entropy Readable Label Depth (ERLD) and Maximum SID Depth (MSD) etc. The ERLD is defined as the number of labels which means that the node will perform load-balancing using the ELI/EL pairs. And each ELI/EL pair must be within the ERLD of the node. The Maximum SID Depth (MSD) defines the maximum number of any kind of labels(service, entropy, transport, etc.) and it is a limit when the ingress node imposing ELI/EL pairs on the SR label stack.

The controller can get ERLD value and MSD via protocols. The ERLD value can be advertised via IS-IS[I-D.ietf-isis-mpls-elc], OSPF[I-D.ietf-ospf-mpls-elc], BGP-LS[I-D.ietf-idr-bgp-ls-segment-routing-ext]. [RFC8476], [RFC8491], and[RFC8814] provide examples of advertisement of the MSD.

As specified in section 7.2 [RFC8662], other criteria includes segment type, preference for a part of the path, and etc. It's a matter of implementation.

 ....................   ....................    .....................
 .                  .   .                  .    .                   .
 .+---+       +---+ .   . +---+      +---+ .    .+---+      +----+  .
 .| A |-------| B |------ | C |------| X |-------| Y |------| Z  |  .
 .+---+       +---+ .   . +---+      +---+ .    .+---+      +----+  .
 .     domain 1     .   .      domain 2    .    .     domain 3      .
 ....................   ....................    .....................
Figure 1: Figure 1: Entropy Labels in SR-MPLS Inter-Domain Scenario

4. BGP Extensions

The Segment Flags for Segment Sub-TLVs are defined in Section of [I-D.ietf-idr-segment-routing-te-policy]. In this document, the ELP information is transmitted by extending the flags of Segment Sub-TLVs.

    0 1 2 3 4 5 6 7
   |V|A|S|B|E|     |

E-Flag: This flag, when set, indicates that presence of < ELI, EL> label pairs which are inserted after this segment. E-Flag is applicable to Segment Types A, C, D, E, F, G and H. If E-Flag appears with Segment Types B, I, J and K, it MUST be ignored. .

5. Operations

Node A receives an SR Policy NLRI with an Segment List sub-TLV from the controller. The Segment List sub-TLV contains multiple Segment sub-TLVs, for example, <S1, S2, S3, S4, S5, S6>, the E-Flags of S3 and S6 are set, it indicates that if load-balancing is required, two <ELI, EL> pairs SHOULD be inserted into the label stack of the SR-TE forwarding entry, respectively after the Label for S3 and Label for S6.

The value of EL is supplemented by the ingress node according to load-balancing function of the appropriate keys extracted from a given packet. After inserting ELI/ELs, the label stack on the ingress node would be <label1, label2, label3, ELI, EL, label4, label5, label6, ELI, EL>.

6. Security Considerations


7. IANA Considerations

This document requests bit 4 for Entropy Label Flag.

    Bit     Description                                Reference
     4     Entropy Label Position Flag(E-Flag)         This document

8. References

8.1. Normative References

Previdi, S., Filsfils, C., Talaulikar, K., Mattes, P., Rosen, E., Jain, D., and S. Lin, "Advertising Segment Routing Policies in BGP", Work in Progress, Internet-Draft, draft-ietf-idr-segment-routing-te-policy-11, , <>.
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <>.
Kompella, K., Drake, J., Amante, S., Henderickx, W., and L. Yong, "The Use of Entropy Labels in MPLS Forwarding", RFC 6790, DOI 10.17487/RFC6790, , <>.
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <>.
Kini, S., Kompella, K., Sivabalan, S., Litkowski, S., Shakir, R., and J. Tantsura, "Entropy Label for Source Packet Routing in Networking (SPRING) Tunnels", RFC 8662, DOI 10.17487/RFC8662, , <>.

8.2. Informative References

Previdi, S., Talaulikar, K., Filsfils, C., Gredler, H., and M. Chen, "BGP Link-State extensions for Segment Routing", Work in Progress, Internet-Draft, draft-ietf-idr-bgp-ls-segment-routing-ext-16, , <>.
Xu, X., Kini, S., Psenak, P., Filsfils, C., Litkowski, S., and M. Bocci, "Signaling Entropy Label Capability and Entropy Readable Label Depth Using IS-IS", Work in Progress, Internet-Draft, draft-ietf-isis-mpls-elc-13, , <>.
Xu, X., Kini, S., Psenak, P., Filsfils, C., Litkowski, S., and M. Bocci, "Signaling Entropy Label Capability and Entropy Readable Label Depth Using OSPF", Work in Progress, Internet-Draft, draft-ietf-ospf-mpls-elc-15, , <>.
Tantsura, J., Chunduri, U., Aldrin, S., and P. Psenak, "Signaling Maximum SID Depth (MSD) Using OSPF", RFC 8476, DOI 10.17487/RFC8476, , <>.
Tantsura, J., Chunduri, U., Aldrin, S., and L. Ginsberg, "Signaling Maximum SID Depth (MSD) Using IS-IS", RFC 8491, DOI 10.17487/RFC8491, , <>.
Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S., Decraene, B., Litkowski, S., and R. Shakir, "Segment Routing with the MPLS Data Plane", RFC 8660, DOI 10.17487/RFC8660, , <>.
Tantsura, J., Chunduri, U., Talaulikar, K., Mirsky, G., and N. Triantafillis, "Signaling Maximum SID Depth (MSD) Using the Border Gateway Protocol - Link State", RFC 8814, DOI 10.17487/RFC8814, , <>.

Authors' Addresses

Liu Yao
ZTE Corp.
Peng Shaofu
ZTE Corp.