< draft-ietf-isis-segment-routing-msd-07.txt   draft-ietf-isis-segment-routing-msd-08.txt >
IS-IS Working Group J. Tantsura IS-IS Working Group J. Tantsura
Internet-Draft Individual Internet-Draft Individual
Intended status: Standards Track U. Chunduri Intended status: Standards Track U. Chunduri
Expires: June 7, 2018 Huawei Technologies Expires: July 8, 2018 Huawei Technologies
S. Aldrin S. Aldrin
Google, Inc Google, Inc
L. Ginsberg L. Ginsberg
Cisco Systems Cisco Systems
December 04, 2017 January 04, 2018
Signaling MSD (Maximum SID Depth) using IS-IS Signaling MSD (Maximum SID Depth) using IS-IS
draft-ietf-isis-segment-routing-msd-07 draft-ietf-isis-segment-routing-msd-08
Abstract Abstract
This document proposes a way to signal Maximum SID Depth (MSD) This document proposes a way to signal Maximum SID Depth (MSD)
supported by a node at node and/or link granularity by an IS-IS supported by a node and/or link granularity by an IS-IS Router. In a
Router. In a Segment Routing (SR) enabled network a centralized Segment Routing (SR) enabled network a centralized controller that
controller that programs SR tunnels needs to know the MSD supported programs SR tunnels needs to know the MSD supported by the head-end
by the head-end at node and/or link granularity to impose the SID at node and/or link granularity to impose the SID stack of an
stack of an appropriate depth. MSD is relevant to the head-end of a appropriate depth. MSD is relevant to the head-end of a SR tunnel or
SR tunnel or Binding-SID anchor node where Binding-SID expansions Binding-SID anchor node where Binding-SID expansions might result in
might result in creation of a new SID stack. creation of a new SID stack.
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.
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 June 7, 2018. This Internet-Draft will expire on July 8, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
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
1.1. Conventions used in this document . . . . . . . . . . . . 3 1.1. Conventions used in this document . . . . . . . . . . . . 3
1.1.1. Terminology . . . . . . . . . . . . . . . . . . . . . 3 1.1.1. Terminology . . . . . . . . . . . . . . . . . . . . . 3
1.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.2. Requirements Language . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Node MSD Advertisement . . . . . . . . . . . . . . . . . . . 4
3. Node MSD Advertisement . . . . . . . . . . . . . . . . . . . 4 3. Link MSD Advertisement . . . . . . . . . . . . . . . . . . . 4
4. Link MSD Advertisement . . . . . . . . . . . . . . . . . . . 4 4. Node MSD vs Link MSD conflict resolution . . . . . . . . . . 5
5. Node MSD vs Link MSD conflict resolution . . . . . . . . . . 5 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . 6
7. Security Considerations . . . . . . . . . . . . . . . . . . . 6 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 7
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 6 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 9.1. Normative References . . . . . . . . . . . . . . . . . . 7
10.1. Normative References . . . . . . . . . . . . . . . . . . 7 9.2. Informative References . . . . . . . . . . . . . . . . . 7
10.2. Informative References . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction 1. Introduction
When Segment Routing tunnels are computed by a centralized When Segment Routing tunnels are computed by a centralized
controller, it is critical that the controller learns the MSD controller, it is critical that the controller learns the MSD
"Maximum SID Depth" of the node or link SR tunnel exits over, so the "Maximum SID Depth" of the node or link SR tunnel exits over, so the
SID stack depth of a path computed doesn't exceed the number of SIDs SID stack depth of a path computed doesn't exceed the number of SID's
the node is capable of imposing. This document describes how to use the node is capable of imposing. This document describes how to use
IS-IS to signal the MSD of a node or link to a centralized IS-IS to signal the MSD of a node or link to a centralized
controller. controller.
PCEP SR extensions draft [I-D.ietf-pce-segment-routing] signals MSD PCEP SR extensions draft [I-D.ietf-pce-segment-routing] signals MSD
in SR PCE Capability TLV and METRIC Object. However, if PCEP is not in SR PCE Capability TLV and METRIC Object. However, if PCEP is not
supported/configured on the head-end of a SR tunnel or a Binding-SID supported/configured on the head-end of a SR tunnel or a Binding-SID
anchor node and controller does not participate in IGP routing, it anchor node and controller does not participate in IGP routing, it
has no way to learn the MSD of nodes and links which has been has no way to learn the MSD of nodes and links which has been
configured. BGP-LS [RFC7752] defines a way to expose topology and configured. BGP-LS [RFC7752] defines a way to expose topology and
associated attributes and capabilities of the nodes in that topology associated attributes and capabilities of the nodes in that topology
to a centralized controller. MSD signaling by BGP-LS has been to a centralized controller. MSD signaling by BGP-LS has been
defined in [I-D.ietf-idr-bgp-ls-segment-routing-msd]. Typically, defined in [I-D.ietf-idr-bgp-ls-segment-routing-msd]. Typically,
BGP-LS is configured on a small number of nodes, that do not BGP-LS is configured on a small number of nodes, that do not
necessarily act as head-ends. In order, for BGP-LS to signal MSD for necessarily act as head-ends. In order, for BGP-LS to signal MSD for
the all nodes and links in the network MSD is relevant, MSD all the nodes and links in the network MSD is relevant, MSD
capabilites SHOULD be distributed to every IS-IS router in the capabilites should be advertised to every IS-IS router in the
network. network.
[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 Entropy Label (EL) at (RLDC) that is used by a head-end to insert Entropy Label (EL) at
appropriate depth, so it could be read by transit nodes. MSD in appropriate depth, so it could be read by transit nodes. MSD in
contrary signals ability to impose SID's stack of a particular depth. contrary signals ability to impose SID's stack of a particular depth.
MSD of type 1 (IANA Registry), called Base MSD, is used to signal the MSD of type 1 (IANA Registry), called Base MSD, is used to signal the
total number of SIDs a node is capable of imposing, to be used by a total number of SID's a node is capable of imposing, to be used by a
path computation element/controller. In case, there are additional path computation element/controller. In case, there are additional
SIDs (e.g. service) that are to be imposed to the stack - this would SID's (e.g. service) that are to be imposed to the stack - this would
be signaled with an another MSD type (TBD), no adjustment to the Base be signaled with an another MSD type (TBD), no adjustment to the Base
MSD should be made. In the future, new MSD types could be defined to MSD should be made. In the future, new MSD types could be defined to
signal additional capabilities: entropy labels, SIDs that can be signal additional capabilities: entropy labels, SID's that can be
imposed thru recirculation, or another dataplane e.g IPv6. imposed thru recirculation, or another dataplane e.g IPv6.
1.1. Conventions used in this document 1.1. Conventions used in this document
1.1.1. Terminology 1.1.1. Terminology
BGP-LS: Distribution of Link-State and TE Information using Border BGP-LS: Distribution of Link-State and TE Information using Border
Gateway Protocol Gateway Protocol
IS-IS: Intermediate System to Intermediate System IS-IS: Intermediate System to Intermediate System
MSD: Maximum SID Depth MSD: Maximum SID Depth - a number of SID's a node or a link on a node
is capable of imposing
PCC: Path Computation Client PCC: Path Computation Client
PCE: Path Computation Element PCE: Path Computation Element
PCEP: Path Computation Element Protocol PCEP: Path Computation Element Protocol
SID: Segment Identifier SID: Segment Identifier
SR: Segment Routing SR: Segment Routing
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", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
2. Terminology 2. Node MSD Advertisement
This memo makes use of the terms defined in [RFC7981].
3. Node MSD Advertisement
A new sub-TLV within the body of IS-IS Router Capability TLV A new sub-TLV "Node MSD sub-TLV" is defined within the body of IS-IS
[RFC7981], Node MSD sub-TLV is defined to carry the provisioned MSD Router Capability TLV [RFC7981], to carry the provisioned MSD of the
of the router originating the Router Capability TLV. Node MSD is the router originating the Router Capability TLV. Node MSD is the lowest
lowest MSD supported by the node of any interface and can be MSD supported by the node of any interface and if not known throught
provisioned in IS-IS instance. an API, can be provisioned in IS-IS instance.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Sub-Type and Value | | Type | Length | Sub-Type and Value pair |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Node MSD Sub-TLV Figure 1: Node MSD Sub-TLV
The Type (1 byte) of this sub-TLV has value of 23. The Type (1 byte) of this sub-TLV has value of 23.
Length is variable (minimum of 2, multiple of 2 octets) and Length is variable (minimum of 2, multiple of 2 octets) and
represents the total length of value field. represents the total length of value field.
Value field consists of a 1 octet sub-type (IANA Registry) and 1 Value field consists of a 1 octet Sub-Type (IANA Registry) and 1
octet value. octet Value. There could be one or more of the Sub-Type/Value pairs.
Sub-Type 1 (IANA Section), MSD and the Value field contains maximum Sub-Type 1 (IANA Section), MSD and the Value field associated with
MSD of the router originating the Router Capability TLV. Node the Sub-Type contains maximum MSD of the router originating the
Maximum MSD is a number in the range of 0-254. 0 represents lack of Router Capability TLV.
the ability to impose MSD stack of any depth; any other value
Node MSD value is a number in the range of 0-254. 0 represents lack
of the ability to impose SID stack of any depth; any other value
represents that of the node. This value SHOULD represent the lowest represents that of the node. This value SHOULD represent the lowest
value supported by node. value supported by node.
Other Sub-types other than defined above are reserved for future Other Sub-Types other than defined above are reserved for future
extensions. This sub-TLV is optional. The scope of the extensions.
advertisement is specific to the deployment.
4. Link MSD Advertisement This sub-TLV is optional. The scope of the advertisement is specific
to the deployment.
3. Link MSD Advertisement
A new sub-TLV - Link MSD sub-TLV is defined for TLVs 22, 23, 141, A new sub-TLV - Link MSD sub-TLV is defined for TLVs 22, 23, 141,
222, and 223 to carry the provisioned MSD of the interface associated 222, and 223 to carry the provisioned MSD of the interface associated
with the link. with the link.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Sub-Type and Value | | Type | Length | Sub-Type and Value pair |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Link MSD Sub-TLV Figure 2: Link MSD Sub-TLV
The Type (1 byte) of this sub-TLV has value of 15. The Type (1 byte) of this sub-TLV has value of 15.
Length is variable and similar to what is defined in Section 3. Length is variable and similar to what is defined in Section 2.
Value field consists of a 1 octet sub-type (IANA Registry) and 1 Value field consists of a 1 octet sub-type (IANA Registry) and 1
octet value. octet value. There could be one or more of the Sub-Type/Value pairs.
Sub-Type 1 (IANA Section), MSD and the Value field contains Link MSD Sub-Type 1 (IANA Section), MSD and the Value field associated with
of the router originating the corresponding TLV's 22, 23, 141, 222, the Sub-Type contains Link MSD of the router originating the
and 223. Link MSD is a number in the range of 0-254. 0 represents corresponding TLV's 22, 23, 141, 222, and 223.
lack of the ability to impose MSD stack of any depth; any other value
represents that of the particular link MSD value.
5. Node MSD vs Link MSD conflict resolution The value of Link MSD represents MSD on the outgoing link. Link MSD
is a number in the range of 0-254. 0 represents lack of the ability
to impose SID stack of any depth; any other value represents that of
the particular link MSD value.
When both Node MSD and Link MSD are present, the value in the Link 4. Node MSD vs Link MSD conflict resolution
When both Node MSD and Link MSD are present, the value of the Link
MSD MUST be used. MSD MUST be used.
6. IANA Considerations 5. IANA Considerations
This document includes a request to IANA to allocate sub-TLV type This document includes a request to IANA to allocate sub-TLV type
codes for the new sub TLV proposed in Section 3 of this document from codes for the new sub TLV proposed in Section 2 of this document from
IS-IS Router Capability TLV Registry as defined by [RFC7981]. IS-IS Router Capability TLV Registry as defined by [RFC7981].
Following values have been allocated by IANA: Following values have been allocated by IANA:
Value Description Reference Value Description Reference
----- --------------- ------------- ----- --------------- -------------
23 Node MSD This document 23 Node MSD This document
Figure 3: Node MSD Figure 3: Node MSD
For the Link MSD, we request IANA to allocate new sub-TLV codes as For the Link MSD, we request IANA to allocate new sub-TLV codes as
defined in Section 4 from Sub-TLVs for TLVs 22, 23, 141, 222 and 223 defined in Section 3 from Sub-TLVs for TLVs 22, 23, 141, 222 and 223
registry. registry.
Value Description Reference Value Description Reference
----- --------------- ------------- ----- --------------- -------------
15 Link MSD This document 15 Link MSD This document
Figure 4: Link MSD Figure 4: Link MSD
Per TLV information where Link MSD sub-TLV can be part of: Per TLV information where Link MSD sub-TLV can be part of:
TLV 22 23 25 141 222 223 TLV 22 23 25 141 222 223
--- -------------------- --- --------------------
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 a new IANA managed registry under This document requests creation of a new IANA managed registry under
a new category of "Interior Gateway Protocol (IGP) Parameters" IANA a new category of "Interior Gateway Protocol (IGP) Parameters" IANA
registries to identify MSD types as proposed in Section 3, Section 4. registries to identify MSD types as proposed in Section 2, Section 3.
The registration procedure is "Expert Review" as defined in The registration procedure is "Expert Review" as defined in
[RFC8126]. Suggested registry name is "MSD Sub-types". Types are an [RFC8126]. Suggested registry name is "MSD Sub-types". Types are an
unsigned 8 bit number. The following values are defined by this 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 MSD This document 1 Base 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 Sub-type Codepoints Registry Figure 6: MSD Sub-type Codepoints Registry
7. Security Considerations 6. Security Considerations
This document describes a mechanism to signal Segment Routing MSD Security considerations, as specified by [RFC7981] are applicable to
supported at node and/or link granularity through IS-IS LSPs and does this document
not introduce any new security issues.
8. Contributors 7. 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
9. Acknowledgements 8. Acknowledgements
The authors would like to thank Stephane Litkowski and Bruno Decraene The authors would like to thank Stephane Litkowski and Bruno Decraene
for their reviews and valuable comments. for their reviews and valuable comments.
10. References 9. References
10.1. Normative References 9.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>.
[RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic
Engineering", RFC 5305, DOI 10.17487/RFC5305, October Engineering", RFC 5305, DOI 10.17487/RFC5305, October
2008, <https://www.rfc-editor.org/info/rfc5305>. 2008, <https://www.rfc-editor.org/info/rfc5305>.
[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>.
10.2. Informative References 9.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 Maximum SID Depth using Border Gateway Protocol "Signaling Maximum SID Depth using Border Gateway Protocol
Link-State", draft-ietf-idr-bgp-ls-segment-routing-msd-01 Link-State", draft-ietf-idr-bgp-ls-segment-routing-msd-01
(work in progress), October 2017. (work in progress), October 2017.
[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.
Litkowski, "Signaling Entropy Label Capability Using IS- Litkowski, "Signaling Entropy Label Capability and
IS", draft-ietf-isis-mpls-elc-02 (work in progress), Readable Label-stack Depth Using IS-IS", draft-ietf-isis-
October 2016. mpls-elc-03 (work in progress), January 2018.
[I-D.ietf-pce-segment-routing] [I-D.ietf-pce-segment-routing]
Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W.,
and J. Hardwick, "PCEP Extensions for Segment Routing", and J. Hardwick, "PCEP Extensions for Segment Routing",
draft-ietf-pce-segment-routing-11 (work in progress), draft-ietf-pce-segment-routing-11 (work in progress),
November 2017. November 2017.
[RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and
dual environments", RFC 1195, DOI 10.17487/RFC1195, dual environments", RFC 1195, DOI 10.17487/RFC1195,
December 1990, <https://www.rfc-editor.org/info/rfc1195>. December 1990, <https://www.rfc-editor.org/info/rfc1195>.
 End of changes. 38 change blocks. 
77 lines changed or deleted 79 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/