draft-ietf-isis-mpls-elc-07.txt | draft-ietf-isis-mpls-elc-08.txt | |||
---|---|---|---|---|
Network Working Group X. Xu | Network Working Group X. Xu | |||
Internet-Draft Alibaba Inc | Internet-Draft Alibaba Inc | |||
Intended status: Standards Track S. Kini | Intended status: Standards Track S. Kini | |||
Expires: November 15, 2019 | Expires: March 6, 2020 | |||
P. Psenak | P. Psenak | |||
C. Filsfils | C. Filsfils | |||
Cisco | Cisco | |||
S. Litkowski | S. Litkowski | |||
Orange | Orange | |||
May 14, 2019 | September 3, 2019 | |||
Signaling Entropy Label Capability and Entropy Readable Label Depth | Signaling Entropy Label Capability and Entropy Readable Label Depth | |||
Using IS-IS | Using IS-IS | |||
draft-ietf-isis-mpls-elc-07 | draft-ietf-isis-mpls-elc-08 | |||
Abstract | Abstract | |||
Multiprotocol Label Switching (MPLS) has defined a mechanism to load- | Multiprotocol Label Switching (MPLS) has defined a mechanism to load- | |||
balance traffic flows using Entropy Labels (EL). An ingress Label | balance traffic flows using Entropy Labels (EL). An ingress Label | |||
Switching Router (LSR) cannot insert ELs for packets going into a | Switching Router (LSR) cannot insert ELs for packets going into a | |||
given Label Switched Path (LSP) unless an egress LSR has indicated | given Label Switched Path (LSP) unless an egress LSR has indicated | |||
via signaling that it has the capability of processing ELs, referred | via signaling that it has the capability to process ELs, referred to | |||
to as Entropy Label Capability (ELC), on that tunnel. In addition, | as Entropy Label Capability (ELC), on that tunnel. In addition, it | |||
it would be useful for ingress LSRs to know each LSR's capability of | would be useful for ingress LSRs to know each LSR's capability for | |||
reading the maximum label stack depth and performing EL-based load- | reading the maximum label stack depth and performing EL-based load- | |||
balancing, referred to as Entropy Readable Label Depth (ERLD). This | balancing, referred to as Entropy Readable Label Depth (ERLD). This | |||
document defines a mechanism to signal these two capabilities using | document defines a mechanism to signal these two capabilities using | |||
IS-IS. These mechanisms are particularly useful, where label | IS-IS. These mechanisms are particularly useful, where label | |||
advertisements are done via protocols like IS-IS. | advertisements are done via protocols like IS-IS. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
skipping to change at page 1, line 48 ¶ | skipping to change at page 1, line 48 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on November 15, 2019. | This Internet-Draft will expire on March 6, 2020. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 2, line 27 ¶ | skipping to change at page 2, line 27 ¶ | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Advertising ERLD Using IS-IS . . . . . . . . . . . . . . . . 3 | 3. Advertising ERLD Using IS-IS . . . . . . . . . . . . . . . . 3 | |||
4. Advertising ELC Using IS-IS . . . . . . . . . . . . . . . . . 3 | 4. Advertising ELC Using IS-IS . . . . . . . . . . . . . . . . . 3 | |||
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4 | 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 | 6. BGP-LS Extension . . . . . . . . . . . . . . . . . . . . . . 4 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 4 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 | |||
8. Normative References . . . . . . . . . . . . . . . . . . . . 4 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 5 | |||
9. Normative References . . . . . . . . . . . . . . . . . . . . 5 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
1. Introduction | 1. Introduction | |||
[RFC6790] describes a method to load-balance Multiprotocol Label | [RFC6790] describes a method to load-balance Multiprotocol Label | |||
Switching (MPLS) traffic flows using Entropy Labels (EL). "The Use | Switching (MPLS) traffic flows using Entropy Labels (EL). "The Use | |||
of Entropy Labels in MPLS Forwarding" [RFC6790] introduces the | of Entropy Labels in MPLS Forwarding" [RFC6790] introduces the | |||
concept of Entropy Label Capability (ELC) and defines the signalings | concept of Entropy Label Capability (ELC) and defines the signalings | |||
of this capability via MPLS signaling protocols. Recently, | of this capability via MPLS signaling protocols. Recently, | |||
mechanisms have been defined to signal labels via link-state Interior | mechanisms have been defined to signal labels via link-state Interior | |||
Gateway Protocols (IGP) such as IS-IS | Gateway Protocols (IGP) such as IS-IS | |||
[I-D.ietf-isis-segment-routing-extensions]. In such scenario, the | [I-D.ietf-isis-segment-routing-extensions]. In such scenarios, the | |||
defined signaling mechanisms are inadequate. This draft defines a | defined signaling mechanisms are inadequate. This draft defines a | |||
mechanism to signal the ELC using IS-IS. This mechanism is useful | mechanism to signal the ELC using IS-IS. This mechanism is useful | |||
when the label advertisement is also done via IS-IS. | when the label advertisement is also done via IS-IS. | |||
In addition, in the cases where stacked LSPs are used for whatever | In addition, in the cases where LSPs are used for whatever reasons | |||
reasons (e.g., SR-MPLS [I-D.ietf-spring-segment-routing-mpls]), it | (e.g., SR-MPLS [I-D.ietf-spring-segment-routing-mpls]), it would be | |||
would be useful for ingress LSRs to know each intermediate LSR's | useful for ingress LSRs to know each intermediate LSR's capability of | |||
capability of reading the maximum label stack depth and performing | reading the maximum label stack depth and performing EL-based load- | |||
EL-based load-balancing. This capability, referred to as Entropy | balancing. This capability, referred to as Entropy Readable Label | |||
Readable Label Depth (ERLD) as defined in | Depth (ERLD) as defined in [I-D.ietf-mpls-spring-entropy-label] may | |||
[I-D.ietf-mpls-spring-entropy-label] may be used by ingress LSRs to | be used by ingress LSRs to determine the position of the EL label in | |||
determine whether it's necessary to insert an EL for a given LSP in | the stack, and whether it's necessary to insert multiple ELs at | |||
the case where there has already been at least one EL in the label | different positions in the label stack. | |||
stack [I-D.ietf-mpls-spring-entropy-label]. | ||||
2. Terminology | 2. Terminology | |||
This memo makes use of the terms defined in [RFC6790] and [RFC4971]. | This memo makes use of the terms defined in [RFC6790] and [RFC4971]. | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
3. Advertising ERLD Using IS-IS | 3. Advertising ERLD Using IS-IS | |||
A new MSD-type of the Node MSD sub-TLV [RFC8491], called ERLD is | 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 | 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- | 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 | 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 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 | The scope of the advertisement depends on the application. If a | |||
router has multiple linecards with different capabilities of reading | router has multiple line-cards with different capabilities of reading | |||
the maximum label stack depth, the router MUST advertise the smallest | the maximum label stack depth, the router MUST advertise the smallest | |||
one. | one. | |||
0 1 2 3 | 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 | 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 | | | MSD-Type=TBD2 | ERLD | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 2: ERLD MSD-Type Format | Figure 2: ERLD MSD-Type Format | |||
4. Advertising ELC Using IS-IS | 4. Advertising ELC Using IS-IS | |||
Even though ELC is a property of the node, in some cases it is | 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 | advantageous to associate and advertise the ELC with a prefix. In a | |||
multi-area network, routers may not know the identity of the prefix | multi-area network, routers may not know the identity of the prefix | |||
originator in the remote area, or may not know the capabilities of | originator in a remote area, or may not know the capabilities of such | |||
such originator. Similarly in a multi-domain network, the identity | originator. Similarly in a multi-domain network, the identity of the | |||
of the prefix originator and its capabilities may not be known to the | prefix originator and its capabilities may not be known to the | |||
ingress LSR. | ingress LSR. | |||
One bit of the "Bit Values for Prefix Attribute Flags Sub-TLV" | 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 | 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 | 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 | router MUST NOT announce the ELC for any prefixes that are locally | |||
attached unless all of its linecards are capable of processing ELs. | attached unless all of its line-cards are capable of processing ELs. | |||
If a router supports ELs on all of its linecards, it SHOULD set the | 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. | ELC for every local host prefix it advertises in IS-IS. | |||
When a router leaks a prefix between two levels (upwards or | When a router leaks a prefix between two levels (upwards or | |||
downwards), it MUST preserve the ELC signalling for this prefix. | downwards), it MUST preserve the ELC signaling for this prefix. | |||
0 1 2 3 4 5 6 7... | 0 1 2 3 4 5 6 7... | |||
+-+-+-+-+-+-+-+-+... | +-+-+-+-+-+-+-+-+... | |||
|X|R|N|E| ... | |X|R|N|E| ... | |||
+-+-+-+-+-+-+-+-+... | +-+-+-+-+-+-+-+-+... | |||
When redistributing a prefix between two IS-IS protocol instances or | When redistributing a prefix between two IS-IS protocol instances or | |||
redistributed from another protocol to an IS-IS protocol instance, a | redistributing from another protocol to an IS-IS protocol instance, a | |||
router SHOULD preserve the ELC signalling for that prefix. The exact | router SHOULD preserve the ELC signaling for that prefix. The exact | |||
mechanism on how to exchange ELC between protocol instances running | mechanism used to exchange ELC between protocol instances running on | |||
on an ASBR is outside of the scope of this document and is | an ASBR is outside of the scope of this document and is | |||
implementation specific. | implementation specific. | |||
5. Acknowledgements | 5. Acknowledgements | |||
The authors would like to thank Yimin Shen, George Swallow, Acee | The authors would like to thank Yimin Shen, George Swallow, Acee | |||
Lindem, Les Ginsberg, Ketan Talaulikar, Jeff Tantsura, Bruno Decraene | Lindem, Les Ginsberg, Ketan Talaulikar, Jeff Tantsura, Bruno Decraene | |||
Carlos Pignataro, Wim Hendrickx, and Gunter Van De Velde for their | Carlos Pignataro, Wim Hendrickx, and Gunter Van De Velde for their | |||
valuable comments. | valuable comments. | |||
6. IANA Considerations | 6. BGP-LS Extension | |||
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]. | ||||
7. IANA Considerations | ||||
IANA is requested to allocate the E-bit (bit position 3 is desired) | IANA is requested to allocate the E-bit (bit position 3 is desired) | |||
from the "Bit Values for Prefix Attribute Flags Sub-TLV" registry. | 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 | IANA is requested to allocate a MSD type (the type code of 2 is | |||
desired) from the "IGP MSD Types" registry for ERLD. | desired) from the "IGP MSD Types" registry for ERLD. | |||
7. Security Considerations | 8. Security Considerations | |||
The security considerations as described in [RFC4971] are applicable | The security considerations as described in [RFC4971] nd | |||
to this document. This document does not introduce any new security | [I-D.ietf-mpls-spring-entropy-label] are applicable to this document. | |||
risks. | ||||
8. Normative References | Incorrectly setting the E flag (ELC capable) (during origination, | |||
leaking or redistribution) may lead to black-holing of the traffic on | ||||
the egress node. | ||||
9. Normative References | ||||
[I-D.ietf-idr-bgp-ls-segment-routing-ext] | ||||
Previdi, S., Talaulikar, K., Filsfils, C., Gredler, H., | ||||
and M. Chen, "BGP Link-State extensions for Segment | ||||
Routing", draft-ietf-idr-bgp-ls-segment-routing-ext-16 | ||||
(work in progress), June 2019. | ||||
[I-D.ietf-isis-segment-routing-extensions] | [I-D.ietf-isis-segment-routing-extensions] | |||
Previdi, S., Ginsberg, L., Filsfils, C., Bashandy, A., | Previdi, S., Ginsberg, L., Filsfils, C., Bashandy, A., | |||
Gredler, H., and B. Decraene, "IS-IS Extensions for | Gredler, H., and B. Decraene, "IS-IS Extensions for | |||
Segment Routing", draft-ietf-isis-segment-routing- | Segment Routing", draft-ietf-isis-segment-routing- | |||
extensions-24 (work in progress), April 2019. | extensions-25 (work in progress), May 2019. | |||
[I-D.ietf-mpls-spring-entropy-label] | [I-D.ietf-mpls-spring-entropy-label] | |||
Kini, S., Kompella, K., Sivabalan, S., Litkowski, S., | Kini, S., Kompella, K., Sivabalan, S., Litkowski, S., | |||
Shakir, R., and J. Tantsura, "Entropy label for SPRING | Shakir, R., and J. Tantsura, "Entropy label for SPRING | |||
tunnels", draft-ietf-mpls-spring-entropy-label-12 (work in | tunnels", draft-ietf-mpls-spring-entropy-label-12 (work in | |||
progress), July 2018. | progress), July 2018. | |||
[I-D.ietf-spring-segment-routing-mpls] | [I-D.ietf-spring-segment-routing-mpls] | |||
Bashandy, A., Filsfils, C., Previdi, S., Decraene, B., | Bashandy, A., Filsfils, C., Previdi, S., Decraene, B., | |||
Litkowski, S., and R. Shakir, "Segment Routing with MPLS | Litkowski, S., and R. Shakir, "Segment Routing with MPLS | |||
skipping to change at page 5, line 28 ¶ | skipping to change at page 6, line 5 ¶ | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC4971] Vasseur, JP., Ed., Shen, N., Ed., and R. Aggarwal, Ed., | [RFC4971] Vasseur, JP., Ed., Shen, N., Ed., and R. Aggarwal, Ed., | |||
"Intermediate System to Intermediate System (IS-IS) | "Intermediate System to Intermediate System (IS-IS) | |||
Extensions for Advertising Router Information", RFC 4971, | Extensions for Advertising Router Information", RFC 4971, | |||
DOI 10.17487/RFC4971, July 2007, | DOI 10.17487/RFC4971, July 2007, | |||
<https://www.rfc-editor.org/info/rfc4971>. | <https://www.rfc-editor.org/info/rfc4971>. | |||
[RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic | ||||
Engineering", RFC 5305, DOI 10.17487/RFC5305, October | ||||
2008, <https://www.rfc-editor.org/info/rfc5305>. | ||||
[RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W., and | [RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W., and | |||
L. Yong, "The Use of Entropy Labels in MPLS Forwarding", | L. Yong, "The Use of Entropy Labels in MPLS Forwarding", | |||
RFC 6790, DOI 10.17487/RFC6790, November 2012, | RFC 6790, DOI 10.17487/RFC6790, November 2012, | |||
<https://www.rfc-editor.org/info/rfc6790>. | <https://www.rfc-editor.org/info/rfc6790>. | |||
[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>. | ||||
[RFC7794] Ginsberg, L., Ed., Decraene, B., Previdi, S., Xu, X., and | [RFC7794] Ginsberg, L., Ed., Decraene, B., Previdi, S., Xu, X., and | |||
U. Chunduri, "IS-IS Prefix Attributes for Extended IPv4 | U. Chunduri, "IS-IS Prefix Attributes for Extended IPv4 | |||
and IPv6 Reachability", RFC 7794, DOI 10.17487/RFC7794, | and IPv6 Reachability", RFC 7794, DOI 10.17487/RFC7794, | |||
March 2016, <https://www.rfc-editor.org/info/rfc7794>. | March 2016, <https://www.rfc-editor.org/info/rfc7794>. | |||
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | ||||
Writing an IANA Considerations Section in RFCs", BCP 26, | ||||
RFC 8126, DOI 10.17487/RFC8126, June 2017, | ||||
<https://www.rfc-editor.org/info/rfc8126>. | ||||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
[RFC8491] Tantsura, J., Chunduri, U., Aldrin, S., and L. Ginsberg, | [RFC8491] Tantsura, J., Chunduri, U., Aldrin, S., and L. Ginsberg, | |||
"Signaling Maximum SID Depth (MSD) Using IS-IS", RFC 8491, | "Signaling Maximum SID Depth (MSD) Using IS-IS", RFC 8491, | |||
DOI 10.17487/RFC8491, November 2018, | DOI 10.17487/RFC8491, November 2018, | |||
<https://www.rfc-editor.org/info/rfc8491>. | <https://www.rfc-editor.org/info/rfc8491>. | |||
Authors' Addresses | Authors' Addresses | |||
End of changes. 22 change blocks. | ||||
48 lines changed or deleted | 69 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |