draft-ietf-isis-segment-routing-msd-15.txt | draft-ietf-isis-segment-routing-msd-16.txt | |||
---|---|---|---|---|
IS-IS Working Group J. Tantsura | IS-IS Working Group J. Tantsura | |||
Internet-Draft Nuage Networks | Internet-Draft Nuage Networks | |||
Intended status: Standards Track U. Chunduri | Intended status: Standards Track U. Chunduri | |||
Expires: March 2, 2019 Huawei Technologies | Expires: March 27, 2019 Huawei Technologies | |||
S. Aldrin | S. Aldrin | |||
Google, Inc | Google, Inc | |||
L. Ginsberg | L. Ginsberg | |||
Cisco Systems | Cisco Systems | |||
August 29, 2018 | September 23, 2018 | |||
Signaling MSD (Maximum SID Depth) using IS-IS | Signaling MSD (Maximum SID Depth) using IS-IS | |||
draft-ietf-isis-segment-routing-msd-15 | draft-ietf-isis-segment-routing-msd-16 | |||
Abstract | Abstract | |||
This document defines a way for an Intermediate System to | This document defines a way for an Intermediate System to | |||
Intermediate System (IS-IS) Router to advertise multiple types of | Intermediate System (IS-IS) router to advertise multiple types of | |||
supported Maximum SID Depths (MSDs) at node and/or link granularity. | supported Maximum SID Depths (MSDs) at node and/or link granularity. | |||
Such advertisements allow entities (e.g., centralized controllers) to | Such advertisements allow entities (e.g., centralized controllers) to | |||
determine whether a particular SID stack can be supported in a given | determine whether a particular SID stack can be supported in a given | |||
network. This document only defines one type of MSD maximum label | network. This document only defines one type of MSD maximum label | |||
imposition, but defines an encoding that can support other MSD types. | imposition, but defines an encoding that can support other MSD types. | |||
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 41 ¶ | skipping to change at page 1, line 41 ¶ | |||
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 March 2, 2019. | This Internet-Draft will expire on March 27, 2019. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 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 ¶ | |||
2. Node MSD Advertisement . . . . . . . . . . . . . . . . . . . 3 | 2. Node MSD Advertisement . . . . . . . . . . . . . . . . . . . 3 | |||
3. Link MSD Advertisement . . . . . . . . . . . . . . . . . . . 4 | 3. Link MSD Advertisement . . . . . . . . . . . . . . . . . . . 4 | |||
4. Procedures for using Node and Link MSD Advertisements . . . . 5 | 4. Procedures for using Node and Link MSD Advertisements . . . . 5 | |||
5. Base MPLS Imposition MSD . . . . . . . . . . . . . . . . . . 6 | 5. Base MPLS Imposition MSD . . . . . . . . . . . . . . . . . . 6 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | |||
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 7 | 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 8 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 8 | |||
10.2. Informative References . . . . . . . . . . . . . . . . . 8 | 10.2. Informative References . . . . . . . . . . . . . . . . . 9 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
1. Introduction | 1. Introduction | |||
When Segment Routing (SR) paths are computed by a centralized | When Segment Routing (SR) paths are computed by a centralized | |||
controller, it is critical that the controller learns the Maximum SID | controller, it is critical that the controller learns the Maximum SID | |||
Depth (MSD) that can be imposed at each node/link a given SR path to | Depth (MSD) that can be imposed at each node/link of a given SR path | |||
insure that the Segment Identifier (SID) stack depth of a computed | to insure that the Segment Identifier (SID) stack depth of a computed | |||
path doesn't exceed the number of SIDs the node is capable of | path does not exceed the number of SIDs the node is capable of | |||
imposing. | imposing. | |||
Path Computation Element Protocol (PCEP) SR extensions draft | [I-D.ietf-pce-segment-routing] defines how to signal MSD in the SR | |||
[I-D.ietf-pce-segment-routing] signals MSD in SR Path Computation | Path Computation Element (PCE) Capability TLV and in the METRIC | |||
Element (PCE) Capability TLV and METRIC Object. However, if PCEP is | Object originally defined in [RFC5440]. However, if PCEP is not | |||
not supported/configured on the head-end of an SR tunnel or a | supported/configured on the head-end of an SR tunnel or a Binding-SID | |||
Binding-SID anchor node and controller does not participate in IGP | anchor node and controller does not participate in IGP routing, it | |||
routing, it has no way to learn the MSD of nodes and links. BGP-LS | has no way to learn the MSD of nodes and links. BGP-LS (Distribution | |||
(Distribution of Link-State and TE Information using Border Gateway | of Link-State and TE Information using Border Gateway Protocol) | |||
Protocol) [RFC7752] defines a way to expose topology and associated | [RFC7752] defines a way to expose topology and associated attributes | |||
attributes and capabilities of the nodes in that topology to a | and capabilities of the nodes in that topology to a centralized | |||
centralized controller. MSD signaling by BGP-LS has been defined in | controller. MSD signaling by BGP-LS has been defined in | |||
[I-D.ietf-idr-bgp-ls-segment-routing-msd]. Typically, BGP-LS is | [I-D.ietf-idr-bgp-ls-segment-routing-msd]. Typically, BGP-LS is | |||
configured on a small number of nodes that do not necessarily act as | configured on a small number of nodes that do not necessarily act as | |||
head-ends. In order for BGP-LS to signal MSD for all the nodes and | head-ends. In order for BGP-LS to signal MSD for all the nodes and | |||
links in the network MSD is relevant, MSD capabilities should be | links in the network MSD is relevant, MSD capabilities should be | |||
advertised by every Intermediate System to Intermediate System(IS-IS) | advertised by every Intermediate System to Intermediate System(IS-IS) | |||
router in the network. | router in the network. | |||
Other types of MSD are known to be useful. For example, | Other types of MSD are known to be useful. For example, | |||
[I-D.ietf-isis-mpls-elc] defines Readable Label Depth Capability | [I-D.ietf-isis-mpls-elc] defines Readable Label Depth Capability | |||
(RLDC) that is used by a head-end to insert an Entropy Label (EL) at | (RLDC) that is used by a head-end to insert an Entropy Label (EL) at | |||
a depth, that could be read by transit nodes. | a depth, that could be read by transit nodes. | |||
This document defines an extension to IS-IS used to advertise one or | This document defines an extension to IS-IS used to advertise one or | |||
more types of MSD at node and/or link granularity. It also creates | more types of MSD at node and/or link granularity. It also creates | |||
an IANA registry for assigning MSD type identifiers. It also defines | an IANA registry for assigning MSD type identifiers. It also defines | |||
the Base MPLS Imposition MSD type. In the future it is expected, | the Base MPLS Imposition MSD type. In the future it is expected that | |||
that new MSD types will be defined to signal additional capabilities | new MSD types will be defined to signal additional capabilities e.g., | |||
e.g., entropy labels, SIDs that can be imposed through recirculation, | entropy labels, SIDs that can be imposed through recirculation, or | |||
or SIDs associated with another dataplane e.g., IPv6. Although MSD | SIDs associated with another dataplane e.g., IPv6. | |||
advertisements are associated with Segment Routing, the | ||||
Although MSD advertisements are associated with Segment Routing, the | ||||
advertisements MAY be present even if Segment Routing itself is not | advertisements MAY be present even if Segment Routing itself is not | |||
enabled. Note that in a non-SR MPLS network, label depth is what is | enabled. Note that in a non-SR MPLS network, label depth is what is | |||
defined by the MSD advertisements. | defined by the MSD advertisements. | |||
1.1. Terminology | 1.1. Terminology | |||
BMI: Base MPLS Imposition is the number of MPLS labels which can be | BMI: Base MPLS Imposition is the number of MPLS labels which can be | |||
imposed inclusive of all service/transport/special labels | imposed inclusive of all service/transport/special labels | |||
MSD: Maximum SID Depth - the number of SIDs a node or a link on a | MSD: Maximum SID Depth - the number of SIDs supported by a node or a | |||
node can support | link on a node | |||
SID: Segment Identifier as defined in [RFC8402] | ||||
1.2. Requirements Language | 1.2. Requirements Language | |||
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 . | |||
2. Node MSD Advertisement | 2. Node MSD Advertisement | |||
skipping to change at page 4, line 50 ¶ | skipping to change at page 4, line 50 ¶ | |||
If there exist multiple Node MSD advertisements for the same MSD-Type | If there exist multiple Node MSD advertisements for the same MSD-Type | |||
originated by the same router, the procedures defined in [RFC7981] | originated by the same router, the procedures defined in [RFC7981] | |||
apply. These procedures may result in different MSD values being | apply. These procedures may result in different MSD values being | |||
used by (for example) different controllers - but this does not | used by (for example) different controllers - but this does not | |||
create any interoperability issue. | create any interoperability issue. | |||
3. Link MSD Advertisement | 3. Link MSD Advertisement | |||
The link MSD sub-TLV is defined for TLVs 22, 23, 25, 141, 222, and | The link MSD sub-TLV is defined for TLVs 22, 23, 25, 141, 222, and | |||
223 to carry the MSD of the interface associated with the link. MSD | 223 to carry the MSD of the interface associated with the link. MSD | |||
values may be learned via a hardware API or may be provisioned. | values may be signaled by the forwarding plane or may be provisioned. | |||
0 1 | 0 1 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| MSD-Type | MSD-Value | | | MSD-Type | MSD-Value | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
// ................... // | // ................... // | |||
skipping to change at page 5, line 33 ¶ | skipping to change at page 5, line 33 ¶ | |||
length of value field. | length of value field. | |||
Value: consists of one or more pairs of a 1 octet MSD-Type and 1 | Value: consists of one or more pairs of a 1 octet MSD-Type and 1 | |||
octet MSD-Value. | octet MSD-Value. | |||
MSD-Type is a value defined in the MSD Types registry created by the | MSD-Type is a value defined in the MSD Types registry created by the | |||
IANA Section of this document. | IANA Section of this document. | |||
MSD-Value is a number in the range of 0-255. For all MSD-Types, 0 | MSD-Value is a number in the range of 0-255. For all MSD-Types, 0 | |||
represents lack of the ability to support SID stack of any depth; any | represents lack of the ability to support SID stack of any depth; any | |||
other value represents that of the link when used as an outgoing | other value represents that of the link. | |||
link. | ||||
This sub-TLV is optional. | This sub-TLV is optional. | |||
If multiple Link MSD advertisements for the same MSD-Type and the | If multiple Link MSD advertisements for the same MSD-Type and the | |||
same link are received, the procedure used to select which copy is | same link are received, the procedure used to select which copy is | |||
used is undefined. | used is undefined. | |||
4. Procedures for using Node and Link MSD Advertisements | 4. Procedures for using Node and Link MSD Advertisements | |||
When Link MSD is present for a given MSD type, the value of the Link | When Link MSD is present for a given MSD type, the value of the Link | |||
MSD MUST take preference over the Node MSD. When a Link MSD type is | MSD MUST take precedence over the Node MSD. When a Link MSD type is | |||
not signaled but the Node MSD type is, then the Node MSD type value | not signaled but the Node MSD type is, then the Node MSD type value | |||
MUST be considered as the MSD value for that link. | MUST be considered as the MSD value for that link. | |||
In order to increase flooding efficiency, it is RECOMMENDED that | In order to increase flooding efficiency, it is RECOMMENDED that | |||
routers with homogenous link MSD values advertise just the Node MSD | routers with homogenous link MSD values advertise just the Node MSD | |||
value. | value. | |||
The meaning of the absence of both Node and Link MSD advertisements | The meaning of the absence of both Node and Link MSD advertisements | |||
for a given MSD type is specific to the MSD type. Generally it can | for a given MSD type is specific to the MSD type. Generally it can | |||
only be inferred that the advertising node does not support | only be inferred that the advertising node does not support | |||
skipping to change at page 7, line 17 ¶ | skipping to change at page 7, line 17 ¶ | |||
y y y y y y | y y y y y y | |||
Figure 5: TLVs where LINK MSD Sub-TLV can be present | Figure 5: TLVs where LINK MSD Sub-TLV can be present | |||
This document requests creation of an IANA managed registry under the | This document requests creation of an IANA managed registry under the | |||
category of "Interior Gateway Protocol (IGP) Parameters" IANA | category of "Interior Gateway Protocol (IGP) Parameters" IANA | |||
registries to identify MSD types as proposed in Section 2 and | registries to identify MSD types as proposed in Section 2 and | |||
Section 3. The registration procedure is "Expert Review" as defined | Section 3. The registration procedure is "Expert Review" as defined | |||
in [RFC8126]. Suggested registry name is "IGP MSD Types". Types are | in [RFC8126]. Suggested registry name is "IGP MSD Types". Types are | |||
an unsigned 8 bit number. The following values are defined by this | an unsigned 8 bit number. The following values are defined by this | |||
document | document: | |||
Value Name Reference | Value Name Reference | |||
----- --------------------- ------------- | ----- --------------------- ------------- | |||
0 Reserved This document | 0 Reserved This document | |||
1 Base MPLS Imposition MSD This document | 1 Base MPLS Imposition MSD This document | |||
2-250 Unassigned This document | 2-250 Unassigned This document | |||
251-254 Experimental This document | 251-254 Experimental This document | |||
255 Reserved This document | 255 Reserved This document | |||
Figure 6: MSD Types Codepoints Registry | Figure 6: MSD Types Codepoints Registry | |||
skipping to change at page 7, line 39 ¶ | skipping to change at page 7, line 39 ¶ | |||
General guidance for the Designated Experts is as defined in | General guidance for the Designated Experts is as defined in | |||
[RFC7370] | [RFC7370] | |||
7. Security Considerations | 7. Security Considerations | |||
Security considerations as specified by [RFC7981] are applicable to | Security considerations as specified by [RFC7981] are applicable to | |||
this document. | this document. | |||
Advertisement of the additional information defined in this document | Advertisement of the additional information defined in this document | |||
that is false, e.g., an MSD that is incorrect, may result in a path | that is false, e.g., an MSD that is incorrect, may result in a path | |||
computation failing, having a service unavailable, or instantiation | computation failing, having a service unavailable, or calculation of | |||
of a path that can't be supported by the head-end (the node | a path that cannot be supported by the head-end (the node performing | |||
performing the imposition). | the imposition). | |||
The presence of this information also may inform an attacker of how | The presence of this information also may inform an attacker of how | |||
to induce any of the aforementioned conditions. | to induce any of the aforementioned conditions. | |||
8. Contributors | 8. Contributors | |||
The following people contributed to this document: | The following people contributed to this document: | |||
Peter Psenak | Peter Psenak | |||
Email: ppsenak@cisco.com | Email: ppsenak@cisco.com | |||
skipping to change at page 8, line 21 ¶ | skipping to change at page 8, line 21 ¶ | |||
10. References | 10. References | |||
10.1. Normative References | 10.1. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
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>. | |||
[RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation | ||||
Element (PCE) Communication Protocol (PCEP)", RFC 5440, | ||||
DOI 10.17487/RFC5440, March 2009, | ||||
<https://www.rfc-editor.org/info/rfc5440>. | ||||
[RFC7370] Ginsberg, L., "Updates to the IS-IS TLV Codepoints | [RFC7370] Ginsberg, L., "Updates to the IS-IS TLV Codepoints | |||
Registry", RFC 7370, DOI 10.17487/RFC7370, September 2014, | Registry", RFC 7370, DOI 10.17487/RFC7370, September 2014, | |||
<https://www.rfc-editor.org/info/rfc7370>. | <https://www.rfc-editor.org/info/rfc7370>. | |||
[RFC7981] Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions | [RFC7981] Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions | |||
for Advertising Router Information", RFC 7981, | for Advertising Router Information", RFC 7981, | |||
DOI 10.17487/RFC7981, October 2016, | DOI 10.17487/RFC7981, October 2016, | |||
<https://www.rfc-editor.org/info/rfc7981>. | <https://www.rfc-editor.org/info/rfc7981>. | |||
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
<https://www.rfc-editor.org/info/rfc8126>. | <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>. | |||
[RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., | ||||
Decraene, B., Litkowski, S., and R. Shakir, "Segment | ||||
Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, | ||||
July 2018, <https://www.rfc-editor.org/info/rfc8402>. | ||||
10.2. Informative References | 10.2. Informative References | |||
[I-D.ietf-idr-bgp-ls-segment-routing-msd] | [I-D.ietf-idr-bgp-ls-segment-routing-msd] | |||
Tantsura, J., Chunduri, U., Mirsky, G., and S. Sivabalan, | Tantsura, J., Chunduri, U., Mirsky, G., and S. Sivabalan, | |||
"Signaling MSD (Maximum SID Depth) using Border Gateway | "Signaling MSD (Maximum SID Depth) using Border Gateway | |||
Protocol Link-State", draft-ietf-idr-bgp-ls-segment- | Protocol Link-State", draft-ietf-idr-bgp-ls-segment- | |||
routing-msd-02 (work in progress), August 2018. | routing-msd-02 (work in progress), August 2018. | |||
[I-D.ietf-isis-mpls-elc] | [I-D.ietf-isis-mpls-elc] | |||
Xu, X., Kini, S., Sivabalan, S., Filsfils, C., and S. | Xu, X., Kini, S., Sivabalan, S., Filsfils, C., and S. | |||
End of changes. 17 change blocks. | ||||
34 lines changed or deleted | 46 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/ |