Network Working Group | X. Xu |
Internet-Draft | Alibaba Inc |
Intended status: Standards Track | S. Kini |
Expires: November 15, 2019 | |
P. Psenak | |
C. Filsfils | |
Cisco | |
S. Litkowski | |
Orange | |
May 14, 2019 |
Signaling Entropy Label Capability and Entropy Readable Label Depth Using IS-IS
draft-ietf-isis-mpls-elc-07
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 of processing 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 of 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 November 15, 2019.
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 scenario, 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 stacked 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 whether it's necessary to insert an EL for a given LSP in the case where there has already been at least one EL in the label stack [I-D.ietf-mpls-spring-entropy-label].
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 linecards 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 the 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 linecards are capable of processing ELs. If a router supports ELs on all of its linecards, 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 signalling 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 redistributed from another protocol to an IS-IS protocol instance, a router SHOULD preserve the ELC signalling for that prefix. The exact mechanism on how 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.
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] are applicable to this document. This document does not introduce any new security risks.