Pce Working Group X. Xu Internet-Draft Huawei Intended status: Standards Track April 28, 2014 Expires: October 30, 2014 PCEP Extensions for SFC in SR Networks draft-xu-pce-sr-sfc-00 Abstract [I-D.xu-spring-pce-based-sfc-arch] describes a PCE-based SFC architecture in which the PCE is used to compute service function paths in SR networks. Based on the above architecture, this document describes extensions to the Path Computation Element Protocol (PCEP) that allow a PCE to compute and instantiate service function paths in SR networks. 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 [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 October 30, 2014. Copyright Notice Copyright (c) 2014 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 Xu Expires October 30, 2014 [Page 1] Internet-Draft PCEP Extensions for SR-based SFC April 2014 (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. Overview of PCEP Extensions for SFC in SR Networks . . . . . 4 4. PCEP Message Extensions for SR-based SFC . . . . . . . . . . 4 4.1. PCReq Message . . . . . . . . . . . . . . . . . . . . . . 4 4.2. PCRep Message . . . . . . . . . . . . . . . . . . . . . . 5 5. Object Formats . . . . . . . . . . . . . . . . . . . . . . . 5 5.1. OPEN Object . . . . . . . . . . . . . . . . . . . . . . . 5 5.1.1. SR-SFC PCE Capability TLV . . . . . . . . . . . . . . 5 5.2. RP Object . . . . . . . . . . . . . . . . . . . . . . . . 6 5.3. Include Route Object . . . . . . . . . . . . . . . . . . 6 5.4. SR-SFC-ERO Object . . . . . . . . . . . . . . . . . . . . 6 5.4.1. SR-SFC-ERO Subobject . . . . . . . . . . . . . . . . 7 5.4.2. NSI Associated with SID . . . . . . . . . . . . . . . 8 5.4.3. SR-SFC-ERO Processing . . . . . . . . . . . . . . . . 9 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 6.1. PCEP Objects . . . . . . . . . . . . . . . . . . . . . . 9 6.2. PCEP-Error Object . . . . . . . . . . . . . . . . . . . . 9 6.3. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 9 6.4. New Path Setup Type . . . . . . . . . . . . . . . . . . . 9 6.5. New IRO Sub-object Type . . . . . . . . . . . . . . . . . 10 7. Security considerations . . . . . . . . . . . . . . . . . . . 10 8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 10 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 9.1. Normative References . . . . . . . . . . . . . . . . . . 10 9.2. Informative References . . . . . . . . . . . . . . . . . 10 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 11 1. Introduction Service Function Chaining (SFC) provides a flexible way to construct services. When applying a particular service function chain to the traffic classified by the SFC classifier, the traffic needs to be steered through an ordered set of service functions in the network. This ordered set service functions in the network, referred to as a Service Function Path (SFP), is an instantiation of the service function chain in the network. For example, as shown in Figure 1, an Xu Expires October 30, 2014 [Page 2] Internet-Draft PCEP Extensions for SR-based SFC April 2014 SFP corresponding to the SFC of {SF1, SF3} can be expressed as {Service Node 1, SF1, Service Node 2, SF3}. +-------+ +--+ PCE | | +-------+ | | | | +-------------------------------------------------+ | | SR Netowrks | | | +-----+ +-----+ | | | | SF1 | | SF2 | | | | +--+--+ +--+--+ | | | | | | | | ^ | | | | | (2)| +---+ +---+ | | | +--+ | | | ++---------+ | | | +--------------+ | | +----+| V | | |+-----+ | | | |PCC || (1) +---+-+----+ (3) || SF3 | | | --> |SFC +----+|----> | Service |---->|+-----+ |----> ----+Classifier+------+ Node 1 +-----+Service Node 2+-------- +----------+ +----------+ +--------------+ | | | +-------------------------------------------------+ Figure 1: PCE-based Service Function Chaining in SR Network [I-D.xu-spring-pce-based-sfc-arch] describes a PCE-based SFC architecture in which the PCE is used to compute a service function path (i.e., instantiate a service function chain) in SR networks. This document describes extensions to the PCEP based on that architecture. 2. Terminology This section contains definitions for terms used frequently throughout this document. However, many additional definitions can be found in [RFC5440], [I-D.sivabalan-pce-segment-routing] and [I-D.xu-spring-pce-based-sfc-arch]. PCC: Path Computation Client PCE: Path Computation Element PCEP: Path Computation Element Protocol Xu Expires October 30, 2014 [Page 3] Internet-Draft PCEP Extensions for SR-based SFC April 2014 ERO: Explicit Route Object SF Identifier (SF ID): A unique identifier that represents a service function within an SFC-enabled domain. Service Function Path (SFP): The instantiation of an SFC in the network. Specifically speaking, it is an ordered list of service node locators and SF IDs. Compact SFP: An ordered list of service node locators. SR-specific SFP: An ordered list of node SIDs (representing service nodes) and Service SIDs. Compact SR-specific SFP: An ordered list of node SIDs (representing service nodes). SR: Segment Routing SID: Segment Identifier Service SID : A locally unique SID indicating a particular service function on a service node. 3. Overview of PCEP Extensions for SFC in SR Networks As discussed in [I-D.xu-spring-pce-based-sfc-arch], the PCC provides an ordered list of SF IDs to the PCE and indicates to the PCE that what type of path is requested (e.g., an SFP, or a compact SFP, or an SR-specific SFP, or a compact SR-specific SFP), and then the PCE responds with a correponding path. 4. PCEP Message Extensions for SR-based SFC 4.1. PCReq Message This document does not specify any changes to the PCReq message format. This document requires the PATH-SETUP-TYPE TLV [I-D.sivabalan-pce-lsp-setup-type] to be carried in the RP Object in order for a PCC to request a particular type of path. Four new Path Setup Types need to be defined for SR-based SFC, or SR-SFC in short (Section 5.2). This document also requires the Include Route Object (IRO) to be carried in the PCReq message in order for a PCC to specify that the computed SFP must traverse a set of specified service functions. A new IRO sub-object type needs to be defined for SFC (Section 5.3). Xu Expires October 30, 2014 [Page 4] Internet-Draft PCEP Extensions for SR-based SFC April 2014 4.2. PCRep Message This document defines the format of the PCRep message carrying an SFP. The message is sent by a PCE to a PCC in response to a previously received PCReq message, where the PCC requested an SFP. The format of the SFC-specific PCRep message is as follows: ::= Where: ::=[] ::= [] [] Where: ::=[] The RP and NO-PATH Objects are defined in [RFC5440]. The < SR-SFC- ERO> object contains the SFP and is defined in Section 5.4. 5. Object Formats 5.1. OPEN Object This document defines a new optional TLV for use in the OPEN Object. 5.1.1. SR-SFC PCE Capability TLV The SR-SFC-PCE-CAPABILITY TLV is an optional TLV for use in the OPEN Object to negotiate SR-SFC capability on the PCEP session. The format of the SR-SFC-PCE-CAPABILITY TLV is shown in the following Figure 2: 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=TBD | Length=4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Flags | MSD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: SR-SFC-PCE-CAPABILITY TLV format Xu Expires October 30, 2014 [Page 5] Internet-Draft PCEP Extensions for SR-based SFC April 2014 The code point for the TLV type is to be defined by IANA. The TLV length is 4 octets. The 32-bit value is formatted as follows. The "Maximum SID Depth" (1 octet) field (MSD) specifies the maximum number of SIDs that a PCC is capable of imposing on a packet. The "Flags" (1 octet) and "Reserved" (2 octets) fields are currently unused, and MUST be set to zero and ignored on receipt. 5.1.1.1. Negotiating SR-SFC Capability The SR-SFC capability TLV is contained in the OPEN object. By including the TLV in the OPEN message to a PCE, a PCC indicates its support for SFPs. By including the TLV in the OPEN message to a PCC, a PCE indicates that it is capable of computing SFPs. 5.2. RP Object In order to setup an SFP, the RP object MUST carry a PATH-SETUP-TYPE TLV specified in [I-D.sivabalan-pce-lsp-setup-type]. This document defines four new Path Setup Types (PST) for SR-SFC as follows: PST = 2: The path is an SFP. PST = 3: The path is a compact SFP. PST = 4: The path is an SR-specific SFP. PST = 5: The path is a compact SR-specific SFP. 5.3. Include Route Object The IRO (Include Route Object) MUST be carried within PCReq messages to indicate a particular SFC. Furthermore, the IRO MAY be carried in PCRep messages. When carried within a PCRep message with the NO-PATH object, the IRO indicates the set of service functions that cause the PCE to fail to find a path. This document defines a new sub-object type for the SR-SFC as follows: Type Sub-object 5 Service Function ID 5.4. SR-SFC-ERO Object Generally speaking, an SR-SFC-ERO object consists of one or more ERO subobjects described in the following sub-sections to represent a particular type of service function path. In the ERO subobject, each Xu Expires October 30, 2014 [Page 6] Internet-Draft PCEP Extensions for SR-based SFC April 2014 SID is associated with an identifier that represents either a service node or a service function. This identifier is referred to as the 'Node or Service Identifier' (NSI). As described later, an NSI can be represented in various formats (e.g., IPv4 address, IPv6 address, SF identifier, etc). Specially speaking, in the SFP case, the NSI of every ERO subobject contained in the SR-SFC-ERO object represents a service node or a service function while the SID of each ERO subobject is set to null. In the compact SFP case, the NSI of every ERO subobject contained in the SR-SFC-ERO object only represents a service node meanwhile the SID of every ERO subobject is set to null. In the SR-specific SFP, the NSI of every ERO subobject contained in the SR-SFC-ERO object represents a service node or a service function while the SID of every ERO subject MUST NOT be null. In the compact SR-specific SFP, the NSI of every ERO subobject contained in the SR- SFC-ERO object represents a service node meanwhile the SID of every ERO subobject MUST NOT be null. 5.4.1. SR-SFC-ERO Subobject An SR-SFC-ERO subobject (as shown in Figure 3) consists of a 32-bit header followed by the SID and the NSI associated with the SID. The SID is a 32-bit or 128 bit number. The size of the NSI depends on its respective type, as described in the following sub-sections. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L| Type | Length | NSIT | Flags |P|F|S|C|M| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // SID (variable:4 or 16 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // NSI (variable) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: SR-SFC-ERO Subobject Format The fields in the ERO Subobject are as follows: 'L' Flag: indicates whether the subobject represents a loose-hop in the explicit route [RFC3209]. If this flag is unset, a PCC MUST not overwrite the SID value present in the SR-SFC-ERO subobject. Otherwise, a PCC MAY expand or replace one or more SID value(s) in the received SR-SFC-ERO based on its local policy. Type: is the type of the SR-SFC-ERO Subobject. This document defines the SR-SFC-ERO Subobject type. A new code point will be requested for the SR-SFC-ERO Subobject from IANA. Xu Expires October 30, 2014 [Page 7] Internet-Draft PCEP Extensions for SR-based SFC April 2014 Length: contains the total length of the subobject in octets, including the L, Type and Length fields. Length MUST be at least 4, and MUST be a multiple of 4. NSI Type (NSIT): indicates the type of NSI associated with the SID. The NSI-Type values are described later in this document. Flags: is used to carry any additional information pertaining to SID. Currently, the following flag bits are defined: M: When this bit is set, the SID value represents an MPLS label stack entry as specified in [RFC5462], where only the label value is specified by the PCE. Other fields (TC, S, and TTL) fields MUST be considered invalid, and PCC MUST set these fields according to its local policy and MPLS forwarding rules. C: When this bit as well as the M bit are set, then the SID value represents an MPLS label stack entry as specified in [RFC5462], where all the entry's fields (Label, TC, S, and TTL) are specified by the PCE. However, a PCC MAY choose to override TC, S, and TTL values according its local policy and MPLS forwarding rules. S: When this bit is set, the SID value in the subobject body is null. In this case, the PCC is responsible for choosing the SID value, e.g., by looking up its Traffic Engineering Database (TED) using node/service identifier in the subobject body. F: When this bit is set, the NSI value in the subobject body is null. P: When this bit is set, the SID value represents an IPv6 address. SID: is the 4-octect or 16-octect Segment Identifier NSI: contains the NSI associated with the SID. Depending on the value of NSIT, the NSI can have different format as described in the following sub-section. 5.4.2. NSI Associated with SID This document defines the following NSIs: 'IPv4 Node ID': is specified as an IPv4 address. In this case, NSIT and Length are 1 and 12 respectively. Xu Expires October 30, 2014 [Page 8] Internet-Draft PCEP Extensions for SR-based SFC April 2014 'IPv6 Node ID': is specified as an IPv6 address. In this case, NSIT and Length are 2 and 24 respectively. 'Service ID': is specified as an SF ID. In this case, NSIT and Length are TBD. 5.4.3. SR-SFC-ERO Processing TBD. 6. IANA Considerations 6.1. PCEP Objects IANA is requested to allocate an ERO subobject type (recommended value= 6) for the SR-SFC-ERO subobject. 6.2. PCEP-Error Object TBD. 6.3. PCEP TLV Type Indicators This document defines the following new PCEP TLVs: Value Meaning Reference 27 SR-SFC-PCE-CAPABILITY This document 6.4. New Path Setup Type This document defines a new setup type for the PATH-SETUP-TYPE TLV as follows: Value Description Reference 2 The path is an SFP. This document 3 The path is a compact SFP. This document 4 The path is an SR-specific SFP. This document 5 The path is a compact SR-specific SFP. This document Xu Expires October 30, 2014 [Page 9] Internet-Draft PCEP Extensions for SR-based SFC April 2014 6.5. New IRO Sub-object Type This document defines a new IRO sub-object type for the SFC as follows: Type Sub-object 5 Service Function ID 7. Security considerations This document does not introduce any new security considerations. 8. Acknowledgement TBD. 9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", RFC 3209, December 2001. [RFC5440] Vasseur, JP. and JL. Le Roux, "Path Computation Element (PCE) Communication Protocol (PCEP)", RFC 5440, March 2009. [RFC5462] Andersson, L. and R. Asati, "Multiprotocol Label Switching (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic Class" Field", RFC 5462, February 2009. 9.2. Informative References [I-D.sivabalan-pce-lsp-setup-type] Sivabalan, S., Medved, J., Minei, I., Varga, R., and E. Crabbe, "Conveying path setup type in PCEP messages", draft-sivabalan-pce-lsp-setup-type-01 (work in progress), October 2013. Xu Expires October 30, 2014 [Page 10] Internet-Draft PCEP Extensions for SR-based SFC April 2014 [I-D.sivabalan-pce-segment-routing] Sivabalan, S., Medved, J., Filsfils, C., Crabbe, E., and R. Raszuk, "PCEP Extensions for Segment Routing", draft- sivabalan-pce-segment-routing-02 (work in progress), October 2013. [I-D.xu-spring-pce-based-sfc-arch] Xu, X., "PCE-based SFC Architecture in SR Networks", draft-xu-spring-pce-based-sfc-arch-00 (work in progress), April 2014. Author's Address Xiaohu Xu Huawei Email: xuxiaohu@huawei.com Xu Expires October 30, 2014 [Page 11]