Network Working Group Z. Li Internet-Draft X. Chen Intended status: Standards Track Huawei Technologies Expires: September 15, 2016 March 14, 2016 PCEP Extensions for Tunnel Segment draft-li-pce-tunnel-segment-01 Abstract [I-D.li-spring-tunnel-segment] introduces a new type of segment, Tunnel Segment, for the segment routing. Tunnel segment can be used to reduce SID stack depth of SR path, span the non-SR domain or provide differentiated services. A binding label can be assigned to tunnel segment. An upstream node can use such a binding label for steering traffic into the appropriate tunnel. This document specifies a set of extensions to PCEP to support that PCC reports binding label of tunnel to PCE and that PCE allocates label for tunnel and updates label binding of tunnel to PCC. 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 15, 2016. Li & Chen Expires September 15, 2016 [Page 1] Internet-Draft PCEP Extensions for Tunnel Segment March 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 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 . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.1. Procedure for PCC Reporting Label Binding . . . . . . . . 3 3.2. Procedure for PCE Download Label Binding . . . . . . . . 5 4. Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1. TE object . . . . . . . . . . . . . . . . . . . . . . . . 6 5. TLVs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.1. Tunnel Label Binding TLV . . . . . . . . . . . . . . . . 6 5.2. PATH-SETUP-TYPE TLV . . . . . . . . . . . . . . . . . . . 7 5.3. Tunnel Related TLV . . . . . . . . . . . . . . . . . . . 7 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 7. Security Considerations . . . . . . . . . . . . . . . . . . . 7 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 8.1. Normative References . . . . . . . . . . . . . . . . . . 7 8.2. Informative References . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 1. Introduction [I-D.li-spring-tunnel-segment] introduces a new type of segment, Tunnel Segment, for the segment routing. Tunnel segment can be used to reduce SID stack depth of SR path, span the non-SR domain or provide differentiated services. A binding label can be assigned to tunnel segment. An upstream node can use such a binding label for steering traffic into the appropriate tunnel. The tunnel segment can be allocated for RSVP-TE tunnel, SR-TE tunnel or IP tunnel. [I-D.li-spring-tunnel-segment] defines the requirement of control plane to support use cases of tunnel segment. The PCE related requirements are as follows: Li & Chen Expires September 15, 2016 [Page 2] Internet-Draft PCEP Extensions for Tunnel Segment March 2016 -- PCEP extensions SHOULD be introduced to advertise the binding relationship between a SID/label and the corresponding tunnel from a PCC to a PCE. Attributes of the tunnel MAY be carried optionally. -- PCE SHOULD support to allocate SID/label for the corresponding tunnel dynamically. -- PCEP extensions SHOULD be introduced to distribute the binding relationship between a SID/label and the corresponding tunnel from a PCE to a PCC. Attributes of the tunnel MAY be carried optionally. This document specifies the protocol extensions to PCEP to support these requirements defined in [I-D.li-spring-tunnel-segment]. 2. Terminology SR: Segment Routing SR-TE: Segment Routing Traffic Engineering SR-TE Tunnel: Segment Routing Traffic Engineering Tunnel This document uses the terms defined in [RFC5440]: PCC, PCE, PCEP Peer. The following terms are defined in [I-D.ietf-pce-pce-initiated-lsp]: PCE-initiated LSP: LSP that is instantiated as a result of a request from the PCE. The following terms are defined in [I-D.chen-pce-pce-initiated-ip-tunnel]: IP Tunnel: Tunnel that uses IP encapsulation. PCE-initiated IP Tunnel: IP Tunnel that is instantiated as a result of a request from the PCE. 3. Procedures 3.1. Procedure for PCC Reporting Label Binding In the procedure for PCC reporting the label binding PCC allocates the label and reports the label binding for the tunnel according to the local policy PCC. For report the label binding information, there are following options: Li & Chen Expires September 15, 2016 [Page 3] Internet-Draft PCEP Extensions for Tunnel Segment March 2016 Option 1: [I-D.zhao-pce-pcep-extension-for-pce-controller] specifies the procedures and PCEP protocol extensions for using the PCE as the central controller where LSPs are calculated/setup/initiated and label forwarding entries are downloaded to PCC. It introduces the LABEL object to specify the label binding information in PCLabelUpd message. The label carried in LABEL object is mapped to specific LSP carried in LSP object or FEC carried in FEC object. The LABEL object defined in the document is to allocate label from the PCE to PCC and is not appropriate to represent the label binding for the tunnel which can be carried in other PCE objects. Option 2: [I-D.sivabalan-pce-binding-label-sid] proposes an approach for reporting binding label/SID to Path Computation Element (PCE) for supporting PCE-based Traffic Engineering policies. It introduces the optional TLV called "TE-PATH-BINDING TLV" to carry binding label or SID for a TE path. This TLV is limited to traffic engineering and not appropriate for tunnel segment. Option 3: PCEP-LS [I-D.dhodylee-pce-pcep-te-data-extn] extends the Path Computation Element Communication Protocol (PCEP) with TED population capability. A PCEP TE Report message (also referred to as TERpt message) is sent by a PCC to a PCE to report the TED state. The TE object is a mandatory object which carries TE information of a TE node or a TE link. [I-D.wu-pce-pcep-ls-sr-extension] introduces new extensions of PCEP-LS to export path segment information for Segment Routing. This document adopts Option 3 and introduces a new type of TLV, TUNNEL-LABEL-BINDING TLV, which is a new optional TLV defined to report the label mapping for the tunnel in the case of Segement Routing. The tunnel can be PCE-initiated tunnel or created by PCC. [I-D.chen-pce-pce-initiated-ip-tunnel] defines the PCE-initiated IP tunnel and Tunnel object. Tunnel related TLVs defined in [I-D.chen-pce-pce-initiated-ip-tunnel] will be used when report label binding for the tunnel. In order to support Tunnel Segment for MPLS TE tunnel and SR-TE tunnel, this document introduces two new tunnel types for tunnel related TLVs: RSVP-TE tunnel and SR-TE tunnel. In this document TE object will be extended to carry the label mapping information for the tunnel. A new Object-Type value is defined for the TE object to indicate Tunnel Segment. The TE object in TERpt message MUST carry both TUNNEL-LABEL-BINDING TLV and Tunnel Identifier TLV with the new Object-Type value. If a PCC wants to modify a previously reported label, it MUST send a TERpt message with the TUNNEL-LABEL-BINDING TLV containing the new label binding value. If the Tunnel Identifier TLV is missing, the PCE will generate an error with error-type 6 (mandatory object missing) and error-value which means Tunnel Identifier TLV missing and close the session. If Li & Chen Expires September 15, 2016 [Page 4] Internet-Draft PCEP Extensions for Tunnel Segment March 2016 the TUNNEL-LABEL-BINDING TLV is missing, the PCE will generate an error with error-type 6 (mandatory object missing) and error-value which means TUNNEL-LABEL-BINDING TLV missing and close the session. If a PCE does not recognize the TUNNEL-LABEL-BINDING TLV, it MUST ignore the TLV in accordance with [RFC5440]. If a PCE recognizes the TLV but does not support the TLV, it MUST send PCErr with Error-Type = 2 (Capability not supported). If there are more than one TUNNEL- LABEL-BINDING TLVs, only the first TLV MUST be processed and the rest MUST be silently ignored. If a PCE does not recognize the Tunnel Identifier TLV, it MUST ignore the TLV in accordance with [RFC5440]. If a PCE recognizes the TLV but does not support the TLV, it MUST send PCErr with Error-Type = 2 (Capability not supported). If there are more than one Tunnel Identifier TLVs, only the first TLV MUST be processed and the rest MUST be silently ignored. 3.2. Procedure for PCE Download Label Binding [I-D.zhao-pce-pcep-extension-for-pce-controller] has defined the Label Update Message (also referred to as PCLabelUpd) that is a PCEP message sent by a PCE to a PCC to download label or update the label mapping. The same message is also used to cleanup the label mapping. In the procedure for PCE downloading the label binding for Tunnel Segment PCE is responsible for allocating the label for PCE-initiated tunnel or the tunnel initiated by PCC and reported to PCE. [I-D.chen-pce-pce-initiated-ip-tunnel] defines the PCE-initiated IP tunnel and the TUNNEL object. PCE uses the Label Update Message to download the label mapping for the tunnel in the case of Segment Routing. The PCLabelUpd Message is defined in [I-D.zhao-pce-pcep-extension-for-pce-controller] and the extension of the PCLabelUpd message for tunnel segment is defined as follows: ::= (| |) Where: ::=