RFC 9089
Signaling Entropy Label Capability and Entropy Readable Label Depth Using OSPF
RFC 9089: Signaling Entropy Label Capability and Entropy Readable Label Depth Using OSPF π¦
Okay bestie, this one is a Standards Track doc from the Internet Engineering Task Force (IETF), published August 2021 with ISSN 2070-1721. The authors are X. Xu (Capitalonline), S. Kini, P. Psenak, C. Filsfils, and S. Litkowski (all from Cisco Systems, Inc.), and M. Bocci (Nokia). β¨ It's the kind of protocol paper that makes me want to start a whole fan club. π
Abstract β¨
Okay so MPLS already has a way to load-balance traffic flows using Entropy Labels (EL) πΈ. Here's the catch: an ingress Label Switching Router (LSR) is NOT allowed to insert ELs for packets heading into a Label Switched Path (LSP) until the egress LSR has signaled that it can process ELs. That capability is called the Entropy Label Capability (ELC) π . It would also be super useful for ingress LSRs to know how deep a label stack each LSR can read and how well it can do EL-based load-balancing. That's the Entropy Readable Label Depth (ERLD) π§. This document defines how to signal both capabilities using OSPFv2, OSPFv3, and Border Gateway Protocol - Link State (BGP-LS) π.
Status of This Memo β
This is an Internet Standards Track document. π₯
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.
Info about the current status of this doc, any errata, and how to send feedback lives at https://www.rfc-editor.org/info/rfc9089. π
Copyright Notice π
Copyright (c) 2021 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 Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. π
Table of Contents πΊοΈ
1. Introduction
2. Terminology
3. Advertising ELC Using OSPF
3.1. Advertising ELC Using OSPFv2
3.2. Advertising ELC Using OSPFv3
4. Advertising ERLD Using OSPF
5. Signaling ELC and ERLD in BGP-LS
6. IANA Considerations
7. Security Considerations
8. References
8.1. Normative References
8.2. Informative References
Acknowledgements
Contributors
Authors' Addresses
1. Introduction β¨
Okay, so [RFC6790] explains how to load-balance MPLS traffic flows with Entropy Labels (EL) π¦. It also brings in the idea of the Entropy Label Capability (ELC) and says how to signal that capability through MPLS signaling protocols. Lately, people have defined ways to signal labels through link-state Interior Gateway Protocols (IGPs) like OSPFv2 [RFC8665] and OSPFv3 [RFC8666]. This document is the one that defines how to signal the ELC using OSPFv2 and OSPFv3 π.
When Segment Routing (SR) runs on the MPLS data plane (for example, SR-MPLS [RFC8660]), it's really handy for ingress LSRs to know each intermediate LSR's ability to read the maximum label stack depth and do EL-based load-balancing π«Ά. That ability is the Entropy Readable Label Depth (ERLD), as defined in [RFC8662]. Ingress LSRs can use it to figure out where the EL sits in the stack and whether it's worth inserting multiple ELs at different spots in the label stack π§. This document also defines how to signal the ERLD using OSPFv2 and OSPFv3 π.
2. Terminology π
This memo uses the terms defined in [RFC6790] and [RFC8662].
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. π
The key word OSPF is used throughout the document to refer to both OSPFv2 and OSPFv3. π
3. Advertising ELC Using OSPF πΈ
Even though ELC is a property of the node, sometimes it's super useful to attach the ELC to a prefix and advertise it that way π . In multi-area networks, routers might not know who originated a prefix in a remote area, or what that originator can do. Same vibe in multi-domain networks: the ingress LSR might not know who originated the prefix or what its capabilities are π.
Rule time π ββοΈ: if a router has multiple interfaces, the router MUST NOT announce ELC unless all of its interfaces are capable of processing ELs. Not one interface, ALL of them. π
And if the router supports ELs on all of its interfaces, it SHOULD advertise the ELC with every local host prefix it advertises in OSPF π.
3.1. Advertising ELC Using OSPFv2 π¦
[RFC7684] defines the OSPFv2 Extended Prefix TLV, which carries extra attributes for a prefix β¨. The OSPFv2 Extended Prefix TLV has a one-octet Flags field. A new flag in that field signals the ELC for the prefix:
0x20 - E-Flag (ELC Flag):
Set by the advertising router to indicate that the prefix
originator is capable of processing ELs.
The ELC signaling MUST be preserved when an OSPF Area Border Router (ABR) distributes information between areas. To make that happen, an ABR MUST originate an OSPFv2 Extended Prefix Opaque Link State Advertisement (LSA) [RFC7684] that includes the received ELC setting. π«Ά
When an OSPF Autonomous System Border Router (ASBR) redistributes a prefix from another instance of OSPF or from some other protocol, it SHOULD preserve the ELC signaling for the prefix if it exists π. To do that, an ASBR SHOULD originate an Extended Prefix Opaque LSA [RFC7684] that includes the ELC setting of the redistributed prefix. The flooding scope of the Extended Prefix Opaque LSA MUST match the flooding scope of the LSA that an ASBR originates as a result of the redistribution. The exact mechanism used to exchange ELC between protocol instances on an ASBR is outside of the scope of this document, so we're leaving that one alone π.
3.2. Advertising ELC Using OSPFv3 π§
[RFC5340] defines the OSPFv3 PrefixOptions field, which indicates capabilities associated with a prefix π. A new bit in the OSPFv3 PrefixOptions field signals the ELC for the prefix:
0x40 - E-Flag (ELC Flag):
Set by the advertising router to indicate that the prefix
originator is capable of processing ELs.
The ELC signaling MUST be preserved when an OSPFv3 Area Border Router (ABR) distributes information between areas. The setting of the ELC Flag in the Inter-Area-Prefix-LSA [RFC5340] or in the Inter-Area-Prefix TLV [RFC8362], generated by an ABR, MUST be the same as the value the ELC Flag associated with the prefix in the source area. π₯
When an OSPFv3 Autonomous System Border Router (ASBR) redistributes a prefix from another instance of OSPFv3 or from some other protocol, it SHOULD preserve the ELC signaling for the prefix if it exists π. The setting of the ELC Flag in the AS-External-LSA, Not-So-Stubby Area LSA (NSSA-LSA) [RFC5340], or in the External-Prefix TLV [RFC8362], generated by an ASBR, MUST be the same as the value of the ELC Flag associated with the prefix in the source domain. The exact mechanism used to exchange ELC between protocol instances on the ASBR is outside of the scope of this document π¦.
4. Advertising ERLD Using OSPF πΈ
The ERLD gets advertised in a Node Maximum SID Depth (MSD) TLV [RFC8476], using the ERLD-MSD type defined in [RFC9088] π.
If a router has multiple interfaces with different abilities for reading the maximum label stack depth, the router MUST advertise the smallest value found across all of its interfaces π«Ά. That's the lowest common denominator energy, and it's kinda iconic π.
No ERLD-MSD advertisements just means the advertising node doesn't support advertising this capability. That's it, that's the whole vibe π.
When the ERLD-MSD type is received in the OSPFv2 or OSPFv3 Link MSD sub-TLV [RFC8476], it MUST be ignored π ββοΈ.
The considerations for advertising the ERLD are specified in [RFC8662] β¨.
5. Signaling ELC and ERLD in BGP-LS π
The OSPF extensions defined in this document can be advertised via BGP-LS (distribution of Link-State and TE information using BGP) [RFC7752] using existing BGP-LS TLVs π§.
The ELC gets advertised using the Prefix Attribute Flags TLV, as defined in [RFC9085] π.
The ERLD-MSD gets advertised using the Node MSD TLV, as defined in [RFC8814] π¦.
6. IANA Considerations ποΈ
IANA has completed the following actions for this document:
- Flag
0x20in the"OSPFv2 Extended Prefix TLV Flags"registry has been allocated to the E-Flag (ELC Flag). - Bit
0x40in the"OSPFv3 Prefix Options (8 bits)"registry has been allocated to the E-Flag (ELC Flag). π
7. Security Considerations π
This document specifies the ability to advertise additional node capabilities using OSPF and BGP-LS. Because of that, the security considerations described in [RFC5340], [RFC7684], [RFC7752], [RFC7770], [RFC8476], [RFC8662], [RFC8814], and [RFC9085] apply to this document π.
β οΈ Serious bestie moment: incorrectly setting the E-Flag during origination, propagation, or redistribution may lead to poor or no load-balancing of the MPLS traffic, or to the MPLS traffic being discarded on the egress node. Please don't get this one wrong. π
β οΈ Also: incorrectly setting the ERLD value may lead to poor or no load-balancing of the MPLS traffic. Double-check those numbers, periodt π .
8. References π
Part 1 ends here, bestie π. The reference lists (Sections 8.1 and 8.2) continue in part 2, along with the Acknowledgements, Contributors, and Authors' Addresses πΈ.
8.1. Normative References β¨
okay bestie, these are the must-read sources the spec leans on. no cap, you can't really get through this doc without them ππ
- [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997,
https://www.rfc-editor.org/info/rfc2119π - [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008,
https://www.rfc-editor.org/info/rfc5340π - [RFC6790] 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, November 2012,
https://www.rfc-editor.org/info/rfc6790π¦ - [RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W., Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute Advertisement", RFC 7684, DOI 10.17487/RFC7684, November 2015,
https://www.rfc-editor.org/info/rfc7684π - [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and S. Ray, "North-Bound Distribution of Link-State and Traffic Engineering (TE) Information Using BGP", RFC 7752, DOI 10.17487/RFC7752, March 2016,
https://www.rfc-editor.org/info/rfc7752π§ - [RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and S. Shaffer, "Extensions to OSPF for Advertising Optional Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, February 2016,
https://www.rfc-editor.org/info/rfc7770πΈ - [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017,
https://www.rfc-editor.org/info/rfc8174π - [RFC8362] Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and F. Baker, "OSPFv3 Link State Advertisement (LSA) Extensibility", RFC 8362, DOI 10.17487/RFC8362, April 2018,
https://www.rfc-editor.org/info/rfc8362β - [RFC8476] Tantsura, J., Chunduri, U., Aldrin, S., and P. Psenak, "Signaling Maximum SID Depth (MSD) Using OSPF", RFC 8476, DOI 10.17487/RFC8476, December 2018,
https://www.rfc-editor.org/info/rfc8476π - [RFC8662] 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, December 2019,
https://www.rfc-editor.org/info/rfc8662π₯ - [RFC8814] 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, August 2020,
https://www.rfc-editor.org/info/rfc8814π - [RFC9085] Previdi, S., Talaulikar, K., Ed., Filsfils, C., Gredler, H., and M. Chen, "Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing", RFC 9085, DOI 10.17487/RFC9085, August 2021,
https://www.rfc-editor.org/info/rfc9085β¨ - [RFC9088] 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", RFC 9088, DOI 10.17487/RFC9088, August 2021,
https://www.rfc-editor.org/info/rfc9088π«Ά
8.2. Informative References π
these ones are more like bonus reading, the "oh you want the deep lore?" pile π§
- [RFC8660] 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, December 2019,
https://www.rfc-editor.org/info/rfc8660π· - [RFC8665] Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler, H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF Extensions for Segment Routing", RFC 8665, DOI 10.17487/RFC8665, December 2019,
https://www.rfc-editor.org/info/rfc8665π - [RFC8666] Psenak, P., Ed. and S. Previdi, Ed., "OSPFv3 Extensions for Segment Routing", RFC 8666, DOI 10.17487/RFC8666, December 2019,
https://www.rfc-editor.org/info/rfc8666π¦
Acknowledgements π«Ά
the authors wanted to give a big shoutout to Yimin Shen, George Swallow, Acee Lindem, Les Ginsberg, Ketan Talaulikar, Jeff Tantsura, Bruno Decraene, and Carlos Pignataro for their super valuable comments. literally iconic of them π
Contributors π
these people helped write the content of this doc and should be considered coauthors. the whole squad π
Gunter Van de Velde (editor)
Nokia
Antwerp
Belgium
Email: gunter.van_de_velde@nokia.com
Wim Henderickx
Nokia
Belgium
Email: wim.henderickx@nokia.com
Keyur Patel
Arrcus
United States of America
Email: keyur@arrcus.com
Authors' Addresses π
and here are the authors, with where to find them π
Xiaohu Xu
Capitalonline
Email: xiaohu.xu@capitalonline.net
Sriganesh Kini
Email: sriganeshkini@gmail.com
Peter Psenak
Cisco Systems, Inc.
Eurovea Centre, Central 3
Pribinova Street 10
81109 Bratislava
Slovakia
Email: ppsenak@cisco.com
Clarence Filsfils
Cisco Systems, Inc.
Brussels
Belgium
Email: cfilsfil@cisco.com
Stephane Litkowski
Cisco Systems, Inc.
La Rigourdiere
Cesson Sevigne
France
Email: slitkows@cisco.com
Matthew Bocci
Nokia
740 Waterside Drive
Aztec West Business Park
Bristol
BS32 4UF
United Kingdom
Email: matthew.bocci@nokia.com
π¦ where this page comes from
- ietf: rfc9089 2021-08
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms