Network Working Group Z. Li Internet-Draft N. Wu Intended status: Standards Track Huawei Expires: September 22, 2016 March 21, 2016 IS-IS Extensions for Segment Path Programming draft-li-isis-spp-extensions-00 Abstract Segment Routing (SR) facilitates the steering of unicast traffic through leveraging the source routing paradigm. As introduced in Segment Path Programming (SPP), the concept of segment could be used in a more generalized manner that may be beyond reachability. This document describes the necessary IS-IS extensions for those cases. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. Status of This Memo 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 http://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 September 22, 2016. Copyright Notice Copyright (c) 2016 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 (http://trustee.ietf.org/license-info) in effect on the date of Li & Wu Expires September 22, 2016 [Page 1] Internet-DraftIS-IS Extensions for Segment Path Programming March 2016 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 3. Protocol Extensions . . . . . . . . . . . . . . . . . . . . . 3 3.1. Generalized SRGB . . . . . . . . . . . . . . . . . . . . 3 3.1.1. SRGB Universe Sub-TLV . . . . . . . . . . . . . . . . 4 3.2. Segment for Node Identification . . . . . . . . . . . . . 5 3.3. Segment for Interface Identification . . . . . . . . . . 6 3.4. Segment for Tunnel Identification . . . . . . . . . . . . 7 4. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 8 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 8.1. Normative References . . . . . . . . . . . . . . . . . . 9 8.2. Informative References . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 1. Introduction Segment Routing (SR), introduced in [I-D.ietf-spring-segment-routing] facilitates the steering of unicast traffic through leveraging the source routing paradigm. As introduced in Segment Path Programming (SPP) [I-D.li-spring-segment-path-programming], the concept of segment could be used in a more generalized manner that may be beyond reachability. This document describes the necessary IS-IS extensions for those cases. 2. Terminology o SID: Segment Identifier o SR: Segment Routing o SRGB: Segment Routing Global Block o GSID: Generalized Segment Identifier o GSRGB: Generalized Segment Routing Global Block Li & Wu Expires September 22, 2016 [Page 2] Internet-DraftIS-IS Extensions for Segment Path Programming March 2016 o SPP: Segment Path Programming 3. Protocol Extensions 3.1. Generalized SRGB As stated in [I-D.li-spring-segment-path-programming], a generalized segment is just an indicator for specific procedure which may serve certain application. And this segment could be used in the control plane and doesn't have to be mapped to a MPLS label in the forwarding plane. It would be reasonable that this generalized segments come from an orthogonal SRGB since their definition and usages are completely different from the traditional ones. To do so, instead of slicing a unified SRGB into application specific pieces, multiple "SRGB universes" are defined for different applications. The SR Capabilities Sub-TLV defined in [I-D.ietf-isis-segment-routing-extensions] has following format: Li & Wu Expires September 22, 2016 [Page 3] Internet-DraftIS-IS Extensions for Segment Path Programming March 2016 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Range | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SID/Label Sub-TLV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // ... ... // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Range | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SID/Label Sub-TLV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SRGB Universe Sub-TLV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Where: Type: TBD, suggested value 22 Length: variable. Flags: 1 octet of flags. The following are defined: 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |I|V|H|G| | +-+-+-+-+-+-+-+-+ Where: G-Flag: Generalized SRGB flag. If set, then this SRGB is used in generalized manner beyond reachability. By default, this bit is UNSET. 3.1.1. SRGB Universe Sub-TLV A SRGB Universe Sub-TLV may be attached to a SR Capabilities Sub-TLV to indicate the corresponding SRGB expressed is used as a generalized SRGB which serves for the application specified by SRGB Identifier. It is possible that multiple instances of the SRGB Universe Sub-TLV are attached to the same SR Capabilities Sub-TLV, which means the same but orthogonal ranges will be used for different applications. The SRGB Universe sub-TLV has following format: Li & Wu Expires September 22, 2016 [Page 4] Internet-DraftIS-IS Extensions for Segment Path Programming March 2016 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | SRGB Identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Where: Type: TBD Length: variale SRGB Identifier: 2 octets field. The following are defined: +------------+---------------------------------------+ | Identifier | SRGB Universe | +------------+---------------------------------------+ | 0 | Reserved | | 1 | Suggested for Node Identification | | 2 | Suggested for Interface Identification| | 3 | Suggested for Tunnel Identification | | 4-32767 | Reserved for assignments by IANA | |32768-65535 | Reserved for proprietary features | +------------+---------------------------------------+ 3.2. Segment for Node Identification As described in [I-D.li-spring-segment-path-programming], a node SID can be enhanced to map an specified application in the control plane to a forwarding entry in the forwarding plane. Whether to map the SID to a MPLS label can be determined by the local policy of the node. Protocol extensions should be introduced to specify if the Segment maps to the MPLS label when advertising SRGBs or all kinds of Segments. The Prefix-SID sub-TLV has the following format: Li & Wu Expires September 22, 2016 [Page 5] Internet-DraftIS-IS Extensions for Segment Path Programming March 2016 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Flags | Algorithm | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SID/Index/Label (variable) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SRGB Universe Sub-TLV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ where: Type: TBD, suggested value 3 Length: variable. Flags: 1 octet field of following flags: 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |R|N|P|E|V|L|G| | +-+-+-+-+-+-+-+-+ Where: G-Flag: Generalized Segment Flag. When set, this corresponding SID is used as a generalized one and SHOULD NOT be mapped onto a MPLS label. The application that this GSID is bind to SHOULD be specified by a SRGB Universe sub-TLV following the Prefix-SID sub-TLV. 3.3. Segment for Interface Identification In those applications which need a specified interface or a set of interfaces, a GSID can be used to represent the mapping relationship. A new SID called Interface-SID Sub-TLV is introduced in this document to represent certain interface of a segment routing node. The Interface-SID Sub-TLV may be used in the Binding TLV [I-D.ietf-isis-segment-routing-extensions] and followed by a SRGB Universe Sub-TLV to indicate the mapping relationship with an application. The Interface-SID Sub-TLV has the following format: Li & Wu Expires September 22, 2016 [Page 6] Internet-DraftIS-IS Extensions for Segment Path Programming March 2016 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length |V|L|G| Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | System-ID (6 octets) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Interface ID (32 bits) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SID/Label Sub-TLV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SRGB Universe Sub-TLV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Where: Type: TBD Length: variable. Flags: 1 octet field of following flags: 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |V|L|G| | +-+-+-+-+-+-+-+-+ Where: V-Flag: Value flag. If set, then the Prefix-SID carries a value (instead of an index). By default the flag is UNSET. L-Flag: Local flag. If set, then the value/index carried by the Prefix-SID has local significance. By default the flag is UNSET. G-Flag: Generalized Segment Flag. When set, this corresponding SID is used as a generalized one and SHOULD NOT be mapped onto a MPLS label. The application that this GSID is bind to SHOULD be specified by a SRGB Universe sub-TLV following the Interface-SID Sub-TLV. Interface ID: The identifier assigned to the interface by the router specified by the system-ID. 3.4. Segment for Tunnel Identification Similarly, a GSID may be binded to a tunnel like the way stated in [isis-tunnel-segment], but it can serve for a different application instead of reachability. Li & Wu Expires September 22, 2016 [Page 7] Internet-DraftIS-IS Extensions for Segment Path Programming March 2016 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Tunnel-SID Sub-TLV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SID/Label Sub-TLV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SRGB Universe Sub-TLV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Flags: 1 octet field of following flags: 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |V|L|G| | +-+-+-+-+-+-+-+-+ Add the Generalized Flag in the Flags field with the same sematics as above. 4. Procedures The SRGB Universe sub-TLV defined in this document MUST be carried when application specified scenarios concerned. The missing of this sub-TLV SHOULD be regarded as an error and logged. Multiple instances of this sub-TLV MAY co-exist only when several different applications involved. A GSID SHOULD be invalid unless it is properly contained in the corresponding "Universe". 5. IANA Considerations +-----------+----------------------------+----------+ | TLV Code | Description | Length | +-----------+----------------------------+----------+ | TBD | SRGB Universe Sub-TLV | 2 | | TBD | Interface-SID Sub-TLV | variable | +-----------+----------------------------+----------+ +-----------+---------------------------------------+ | SRGB ID | Description +-----------+---------------------------------------+ | 1 | SRGB for Node Identification | | 2 | SRGB for Interface Identification | | 3 | SRGB for Tunnel Identification | +-----------+---------------------------------------+ 6. Security Considerations TBD. Li & Wu Expires September 22, 2016 [Page 8] Internet-DraftIS-IS Extensions for Segment Path Programming March 2016 7. Acknowledgments TBD. 8. References 8.1. Normative References [I-D.ietf-isis-segment-routing-extensions] Previdi, S., Filsfils, C., Bashandy, A., Gredler, H., Litkowski, S., Decraene, B., and J. Tantsura, "IS-IS Extensions for Segment Routing", draft-ietf-isis-segment- routing-extensions-06 (work in progress), December 2015. [I-D.ietf-spring-segment-routing] Filsfils, C., Previdi, S., Decraene, B., Litkowski, S., and R. Shakir, "Segment Routing Architecture", draft-ietf- spring-segment-routing-07 (work in progress), December 2015. [I-D.li-spring-segment-path-programming] Li, Z. and I. Milojevic, "Segment Path Programming (SPP)", draft-li-spring-segment-path-programming-00 (work in progress), October 2015. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . 8.2. Informative References [I-D.ietf-isis-te-metric-extensions] Previdi, S., Giacalone, S., Ward, D., Drake, J., and W. Wu, "IS-IS Traffic Engineering (TE) Metric Extensions", draft-ietf-isis-te-metric-extensions-11 (work in progress), February 2016. [I-D.li-spring-tunnel-segment] Li, Z. and N. Wu, "Tunnel Segment in Segment Routing", draft-li-spring-tunnel-segment-01 (work in progress), March 2016. Authors' Addresses Li & Wu Expires September 22, 2016 [Page 9] Internet-DraftIS-IS Extensions for Segment Path Programming March 2016 Zhenbin Li Huawei Huawei Bld., No.156 Beiqing Rd. Beijing 100095 China Email: lizhenbin@huawei.com Nan Wu Huawei Huawei Bld., No.156 Beiqing Rd. Beijing 100095 China Email: eric.wu@huawei.com Li & Wu Expires September 22, 2016 [Page 10]