Network Working Group | X. Xu |
Internet-Draft | Alibaba Inc |
Intended status: Standards Track | S. Kini |
Expires: March 6, 2020 | |
P. Psenak | |
C. Filsfils | |
Cisco | |
S. Litkowski | |
Orange | |
September 3, 2019 |
Signaling Entropy Label Capability and Entropy Readable Label Depth Using IS-IS
draft-ietf-isis-mpls-elc-08
Multiprotocol Label Switching (MPLS) has defined a mechanism to load-balance traffic flows using Entropy Labels (EL). An ingress Label Switching Router (LSR) cannot insert ELs for packets going into a given Label Switched Path (LSP) unless an egress LSR has indicated via signaling that it has the capability to process ELs, referred to as Entropy Label Capability (ELC), on that tunnel. In addition, it would be useful for ingress LSRs to know each LSR's capability for reading the maximum label stack depth and performing EL-based load-balancing, referred to as Entropy Readable Label Depth (ERLD). This document defines a mechanism to signal these two capabilities using IS-IS. These mechanisms are particularly useful, where label advertisements are done via protocols like IS-IS.
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 March 6, 2020.
Copyright (c) 2019 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.
[RFC6790] describes a method to load-balance Multiprotocol Label Switching (MPLS) traffic flows using Entropy Labels (EL). "The Use of Entropy Labels in MPLS Forwarding" [RFC6790] introduces the concept of Entropy Label Capability (ELC) and defines the signalings of this capability via MPLS signaling protocols. Recently, mechanisms have been defined to signal labels via link-state Interior Gateway Protocols (IGP) such as IS-IS [I-D.ietf-isis-segment-routing-extensions]. In such scenarios, the defined signaling mechanisms are inadequate. This draft defines a mechanism to signal the ELC using IS-IS. This mechanism is useful when the label advertisement is also done via IS-IS.
In addition, in the cases where LSPs are used for whatever reasons (e.g., SR-MPLS [I-D.ietf-spring-segment-routing-mpls]), it would be useful for ingress LSRs to know each intermediate LSR's capability of reading the maximum label stack depth and performing EL-based load-balancing. This capability, referred to as Entropy Readable Label Depth (ERLD) as defined in [I-D.ietf-mpls-spring-entropy-label] may be used by ingress LSRs to determine the position of the EL label in the stack, and whether it's necessary to insert multiple ELs at different positions in the label stack.
This memo makes use of the terms defined in [RFC6790] and [RFC4971].
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.
A new MSD-type of the Node MSD sub-TLV [RFC8491], called ERLD is defined to advertise the ERLD of a given router. As shown in Figure 2, it is formatted as described in [RFC8491] with a new MSD-Type code to be assigned by IANA (the type code of 2 is desired) and the Value field is set to the ERLD in the range between 0 to 255. The scope of the advertisement depends on the application. If a router has multiple line-cards with different capabilities of reading the maximum label stack depth, the router MUST advertise the smallest one.
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MSD-Type=TBD2 | ERLD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: ERLD MSD-Type Format
Even though ELC is a property of the node, in some cases it is advantageous to associate and advertise the ELC with a prefix. In a multi-area network, routers may not know the identity of the prefix originator in a remote area, or may not know the capabilities of such originator. Similarly in a multi-domain network, the identity of the prefix originator and its capabilities may not be known to the ingress LSR.
One bit of the "Bit Values for Prefix Attribute Flags Sub-TLV" registry defined in [RFC7794] (Bit 3 is desired) is to be assigned by the IANA for the ELC. If a router has multiple line cards, the router MUST NOT announce the ELC for any prefixes that are locally attached unless all of its line-cards are capable of processing ELs. If a router supports ELs on all of its line-cards, it SHOULD set the ELC for every local host prefix it advertises in IS-IS.
When a router leaks a prefix between two levels (upwards or downwards), it MUST preserve the ELC signaling for this prefix.
0 1 2 3 4 5 6 7... +-+-+-+-+-+-+-+-+... |X|R|N|E| ... +-+-+-+-+-+-+-+-+...
When redistributing a prefix between two IS-IS protocol instances or redistributing from another protocol to an IS-IS protocol instance, a router SHOULD preserve the ELC signaling for that prefix. The exact mechanism used to exchange ELC between protocol instances running on an ASBR is outside of the scope of this document and is implementation specific.
The authors would like to thank Yimin Shen, George Swallow, Acee Lindem, Les Ginsberg, Ketan Talaulikar, Jeff Tantsura, Bruno Decraene Carlos Pignataro, Wim Hendrickx, and Gunter Van De Velde for their valuable comments.
The IS-IS extensions defined in this document can be advertised via BGP-LS [RFC7752] using existing BGP-LS TLVs.
The ELC Flag included in the Prefix Attribute Flags sub-TLV, as defined in Section 4, is advertised using the Prefix Attribute Flags TLV (TLV 1170) of the BGP-LS IPv4/IPv6 Prefix NLRI Attribute as defined in section 2.3.2 of [I-D.ietf-idr-bgp-ls-segment-routing-ext].
The ERLD MSD-type introduced for IS-IS in Section 3 is advertised using the Node MSD TLV (TLV 266) of the BGP-LS Node NLRI Attribute as defined in section 3 of [I-D.ietf-idr-bgp-ls-segment-routing-ext].
IANA is requested to allocate the E-bit (bit position 3 is desired) from the "Bit Values for Prefix Attribute Flags Sub-TLV" registry.
IANA is requested to allocate a MSD type (the type code of 2 is desired) from the “IGP MSD Types” registry for ERLD.
The security considerations as described in [RFC4971] nd [I-D.ietf-mpls-spring-entropy-label] are applicable to this document.
Incorrectly setting the E flag (ELC capable) (during origination, leaking or redistribution) may lead to black-holing of the traffic on the egress node.