| < draft-ietf-isis-segment-routing-extensions-14.txt | draft-ietf-isis-segment-routing-extensions-15.txt > | |||
|---|---|---|---|---|
| IS-IS for IP Internets S. Previdi, Ed. | IS-IS for IP Internets S. Previdi, Ed. | |||
| Internet-Draft L. Ginsberg, Ed. | Internet-Draft L. Ginsberg, Ed. | |||
| Intended status: Standards Track C. Filsfils | Intended status: Standards Track C. Filsfils | |||
| Expires: June 18, 2018 A. Bashandy | Expires: June 22, 2018 A. Bashandy | |||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| H. Gredler | H. Gredler | |||
| RtBrick Inc. | RtBrick Inc. | |||
| S. Litkowski | S. Litkowski | |||
| B. Decraene | B. Decraene | |||
| Orange | Orange | |||
| J. Tantsura | J. Tantsura | |||
| Individual | Individual | |||
| December 15, 2017 | December 19, 2017 | |||
| IS-IS Extensions for Segment Routing | IS-IS Extensions for Segment Routing | |||
| draft-ietf-isis-segment-routing-extensions-14 | draft-ietf-isis-segment-routing-extensions-15 | |||
| Abstract | Abstract | |||
| Segment Routing (SR) allows for a flexible definition of end-to-end | Segment Routing (SR) allows for a flexible definition of end-to-end | |||
| paths within IGP topologies by encoding paths as sequences of | paths within IGP topologies by encoding paths as sequences of | |||
| topological sub-paths, called "segments". These segments are | topological sub-paths, called "segments". These segments are | |||
| advertised by the link-state routing protocols (IS-IS and OSPF). | advertised by the link-state routing protocols (IS-IS and OSPF). | |||
| This draft describes the necessary IS-IS extensions that need to be | This draft describes the necessary IS-IS extensions that need to be | |||
| introduced for Segment Routing operating on an MPLS data-plane. | introduced for Segment Routing operating on an MPLS data-plane. | |||
| skipping to change at page 2, line 4 ¶ | skipping to change at page 2, line 4 ¶ | |||
| 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 18, 2018. | This Internet-Draft will expire on June 22, 2018. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2017 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 12, line 52 ¶ | skipping to change at page 12, line 52 ¶ | |||
| A label is encoded in 3 octets (in the 20 rightmost bits). | A label is encoded in 3 octets (in the 20 rightmost bits). | |||
| An index is encoded in 4 octets. | An index is encoded in 4 octets. | |||
| 2.3. SID/Label Sub-TLV | 2.3. SID/Label Sub-TLV | |||
| The SID/Label sub-TLV may be present in the following TLVs/sub-TLVs | The SID/Label sub-TLV may be present in the following TLVs/sub-TLVs | |||
| defined in this document: | defined in this document: | |||
| SR Capability (Section 3.1) | SR-Capabilities Sub-TLV (Section 3.1) | |||
| SRLB (Section 3.3) | SR Local Block Sub-TLV (Section 3.3) | |||
| Binding TLV (Section 2.4) | SID/Label Binding TLV (Section 2.4) | |||
| MT Binding TLV (Section 2.5) | Multi-Topology SID/Label Binding TLV (Section 2.5) | |||
| Note that when used in the SR Capability and SRLB sub-TLVs the code | Note that the code point used in all of the above cases is the SID/ | |||
| point used is the same as the sub-TLV code point assigned by IANA in | Label Sub-TLV code point assigned by IANA in the "sub-TLVs for TLV | |||
| the sub-TLVs for TLV 149 and 150 registry. | 149 and 150" registry. | |||
| The SID/Label sub-TLV contains a SID or a MPLS Label. The SID/Label | The SID/Label sub-TLV contains a SID or a MPLS Label. The SID/Label | |||
| sub-TLV has the following format: | sub-TLV has the following format: | |||
| 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 | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID/Label (variable) | | | SID/Label (variable) | | |||
| skipping to change at page 17, line 37 ¶ | skipping to change at page 17, line 37 ¶ | |||
| Only the most significant octets of the Prefix are encoded. (i.e., 1 | Only the most significant octets of the Prefix are encoded. (i.e., 1 | |||
| octet for prefix length 1 up to 8, 2 octets for prefix length 9 to | octet for prefix length 1 up to 8, 2 octets for prefix length 9 to | |||
| 16, 3 octets for prefix length 17 up to 24 and 4 octets for prefix | 16, 3 octets for prefix length 17 up to 24 and 4 octets for prefix | |||
| length 25 up to 32, ...., 16 octets for prefix length 113 up to 128). | length 25 up to 32, ...., 16 octets for prefix length 113 up to 128). | |||
| 2.4.4. Mapping Server Prefix-SID | 2.4.4. Mapping Server Prefix-SID | |||
| The Prefix-SID sub-TLV (suggested value 3) is defined in Section 2.1 | The Prefix-SID sub-TLV (suggested value 3) is defined in Section 2.1 | |||
| and contains the SID/index/label value associated with the prefix and | and contains the SID/index/label value associated with the prefix and | |||
| range. The Prefix-SID SubTLV MUST be present in the SID/Label | range. The Prefix-SID SubTLV MUST be present in the SID/Label | |||
| Binding TLV. | Binding TLV unless the M-flag is set in the Flags field of the parent | |||
| TLV. | ||||
| A node receiving a MS entry for a prefix MUST check the existence of | A node receiving a MS entry for a prefix MUST check the existence of | |||
| such prefix in its link-state database prior to consider and use the | such prefix in its link-state database prior to consider and use the | |||
| associated SID. | associated SID. | |||
| 2.4.4.1. Prefix-SID Flags | 2.4.4.1. Prefix-SID Flags | |||
| The Prefix-SID flags are defined in Section 2.1. The Mapping Server | The Prefix-SID flags are defined in Section 2.1. The Mapping Server | |||
| MAY advertise a mapping with the N flag set when the prefix being | MAY advertise a mapping with the N flag set when the prefix being | |||
| mapped is known in the link-state topology with a mask length of 32 | mapped is known in the link-state topology with a mask length of 32 | |||
| skipping to change at page 19, line 45 ¶ | skipping to change at page 19, line 45 ¶ | |||
| MTID: a 12-bit field containing the non-zero ID of the topology | MTID: a 12-bit field containing the non-zero ID of the topology | |||
| being announced. The TLV MUST be ignored if the ID is zero. | being announced. The TLV MUST be ignored if the ID is zero. | |||
| This is to ensure the consistent view of the standard unicast | This is to ensure the consistent view of the standard unicast | |||
| topology. | topology. | |||
| The other fields and SubTLVs are defined in Section 2.4. | The other fields and SubTLVs are defined in Section 2.4. | |||
| 3. Router Capabilities | 3. Router Capabilities | |||
| This section defines sub-TLVs which are inserted into the IS-IS | ||||
| Router Capability TLV-242 that is defined in [RFC7981]. | ||||
| 3.1. SR-Capabilities Sub-TLV | 3.1. SR-Capabilities Sub-TLV | |||
| Segment Routing requires each router to advertise its SR data-plane | Segment Routing requires each router to advertise its SR data-plane | |||
| capability and the range of MPLS label values it uses for Segment | capability and the range of MPLS label values it uses for Segment | |||
| Routing in the case where global SIDs are allocated (i.e., global | Routing in the case where global SIDs are allocated (i.e., global | |||
| indexes). Data-plane capabilities and label ranges are advertised | indexes). Data-plane capabilities and label ranges are advertised | |||
| using the newly defined SR-Capabilities sub-TLV inserted into the IS- | using the newly defined SR-Capabilities sub-TLV. | |||
| IS Router Capability TLV-242 that is defined in [RFC7981]. | ||||
| The Router Capability TLV specifies flags that control its | The Router Capability TLV specifies flags that control its | |||
| advertisement. The SR Capabilities sub-TLV MUST be propagated | advertisement. The SR Capabilities sub-TLV MUST be propagated | |||
| throughout the level and MUST NOT be advertised across level | throughout the level and MUST NOT be advertised across level | |||
| boundaries. Therefore Router Capability TLV distribution flags are | boundaries. Therefore Router Capability TLV distribution flags are | |||
| set accordingly, i.e., the S flag in the Router Capability TLV | set accordingly, i.e., the S flag in the Router Capability TLV | |||
| ([RFC7981]) MUST be unset. | ([RFC7981]) MUST be unset. | |||
| The SR Capabilities sub-TLV has following format: | The SR Capabilities sub-TLV has following format: | |||
| skipping to change at page 22, line 51 ¶ | skipping to change at page 22, line 51 ¶ | |||
| state protocols, algorithm 0 permits any node to overwrite the SPF | state protocols, algorithm 0 permits any node to overwrite the SPF | |||
| path with a different path based on local policy. | path with a different path based on local policy. | |||
| 1: Strict Shortest Path First (SPF) algorithm based on link | 1: Strict Shortest Path First (SPF) algorithm based on link | |||
| metric. The algorithm is identical to algorithm 0 but algorithm 1 | metric. The algorithm is identical to algorithm 0 but algorithm 1 | |||
| requires that all nodes along the path will honor the SPF routing | requires that all nodes along the path will honor the SPF routing | |||
| decision. Local policy MUST NOT alter the forwarding decision | decision. Local policy MUST NOT alter the forwarding decision | |||
| computed by algorithm 1 at the node claiming to support algorithm | computed by algorithm 1 at the node claiming to support algorithm | |||
| 1. | 1. | |||
| The SR-Algorithm sub-TLV is inserted into the IS-IS Router Capability | ||||
| TLV-242 that is defined in [RFC7981]. | ||||
| The Router Capability TLV specifies flags that control its | The Router Capability TLV specifies flags that control its | |||
| advertisement. The SR-Algorithm MUST be propagated throughout the | advertisement. The SR-Algorithm MUST be propagated throughout the | |||
| level and MUST NOT be advertised across level boundaries. Therefore | level and MUST NOT be advertised across level boundaries. Therefore | |||
| Router Capability TLV distribution flags are set accordingly, i.e., | Router Capability TLV distribution flags are set accordingly, i.e., | |||
| the S flag MUST be unset. | the S flag MUST be unset. | |||
| The SR-Algorithm sub-TLV is optional, it MAY only appear a single | The SR-Algorithm sub-TLV is optional, it MAY only appear a single | |||
| time inside the Router Capability TLV. | time inside the Router Capability TLV. | |||
| When the originating router does not advertise the SR-Algorithm sub- | When the originating router does not advertise the SR-Algorithm sub- | |||
| skipping to change at page 28, line 6 ¶ | skipping to change at page 28, line 6 ¶ | |||
| Reference: This document (Section 3.1) | Reference: This document (Section 3.1) | |||
| Type: TBD (suggested value 19) | Type: TBD (suggested value 19) | |||
| Description: Segment Routing Algorithm | Description: Segment Routing Algorithm | |||
| Reference: This document (Section 3.2) | Reference: This document (Section 3.2) | |||
| Type: TBD (suggested value 22) | Type: TBD (suggested value 22) | |||
| Description: Segment Routing Local Base (SRLB) | Description: Segment Routing Local Block (SRLB) | |||
| Reference: This document (Section 3.3) | Reference: This document (Section 3.3) | |||
| Type: TBD (suggested value 24) | Type: TBD (suggested value 24) | |||
| Description: Segment Routing Mapping Server Preference (SRMS | Description: Segment Routing Mapping Server Preference (SRMS | |||
| Preference) | Preference) | |||
| Reference: This document (Section 3.4) | Reference: This document (Section 3.4) | |||
| skipping to change at page 32, line 29 ¶ | skipping to change at page 32, line 29 ¶ | |||
| [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>. | |||
| 9.2. Informative References | 9.2. Informative References | |||
| [I-D.ietf-spring-resiliency-use-cases] | [I-D.ietf-spring-resiliency-use-cases] | |||
| Filsfils, C., Previdi, S., Decraene, B., and R. Shakir, | Filsfils, C., Previdi, S., Decraene, B., and R. Shakir, | |||
| "Resiliency use cases in SPRING networks", draft-ietf- | "Resiliency use cases in SPRING networks", draft-ietf- | |||
| spring-resiliency-use-cases-11 (work in progress), May | spring-resiliency-use-cases-12 (work in progress), | |||
| 2017. | December 2017. | |||
| [I-D.ietf-spring-segment-routing-ldp-interop] | [I-D.ietf-spring-segment-routing-ldp-interop] | |||
| Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., and | Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., and | |||
| S. Litkowski, "Segment Routing interworking with LDP", | S. Litkowski, "Segment Routing interworking with LDP", | |||
| draft-ietf-spring-segment-routing-ldp-interop-09 (work in | draft-ietf-spring-segment-routing-ldp-interop-09 (work in | |||
| progress), September 2017. | progress), September 2017. | |||
| [RFC5311] McPherson, D., Ed., Ginsberg, L., Previdi, S., and M. | [RFC5311] McPherson, D., Ed., Ginsberg, L., Previdi, S., and M. | |||
| Shand, "Simplified Extension of Link State PDU (LSP) Space | Shand, "Simplified Extension of Link State PDU (LSP) Space | |||
| for IS-IS", RFC 5311, DOI 10.17487/RFC5311, February 2009, | for IS-IS", RFC 5311, DOI 10.17487/RFC5311, February 2009, | |||
| End of changes. 14 change blocks. | ||||
| 20 lines changed or deleted | 20 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/ | ||||