Network Working Group S. Sivabalan
Internet-Draft J. Medved
Intended status: Standards Track C. Filsfils
Expires: April 19, 2014 Cisco Systems, Inc.
E. Crabbe
Google, Inc.
R. Raszuk
NTT I3
October 16, 2013
PCEP Extensions for Segment Routing
draft-sivabalan-pce-segment-routing-02.txt
Abstract
Segment Routing (SR) enables any head-end node to select any path
without relying on a hop-by-hop signaling technique (e.g., LDP or
RSVP-TE). It depends only on "segments" that are advertised by Link-
State Interior Gateway Protocols (IGPs). A Segment Routed Path can
be derived from a variety of mechanisms, including an IGP Shortest
Path Tree (SPT), explicit configuration, or a Path Computation
Element (PCE). This document specifies extensions to the Path
Computation Element Protocol (PCEP) that allow a stateful PCE to
compute and instantiate Traffic Engineering paths, as well as a PCC
to request a path subject to certain constraint(s) and optimization
criteria 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."
Sivabalan, et al. Expires April 19, 2014 [Page 1]
Internet-Draft PCEP Extensions for Segment Routing October 2013
This Internet-Draft will expire on April 19, 2014.
Copyright Notice
Copyright (c) 2013 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 . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Overview of PCEP Operation in SR Networks . . . . . . . . . . 5
4. SR-Specific PCEP Message Extensions . . . . . . . . . . . . . 6
4.1. The PCReq Message . . . . . . . . . . . . . . . . . . . . 6
4.2. The PCRep Message . . . . . . . . . . . . . . . . . . . . 6
4.3. The PCInitiate Message . . . . . . . . . . . . . . . . . 7
4.4. The PCRpt Message . . . . . . . . . . . . . . . . . . . . 7
4.5. The PCUpd Message . . . . . . . . . . . . . . . . . . . . 8
5. Object Formats . . . . . . . . . . . . . . . . . . . . . . . 8
5.1. The OPEN Object . . . . . . . . . . . . . . . . . . . . . 8
5.1.1. The SR PCE Capability TLV . . . . . . . . . . . . . . 8
5.2. The RP/SRP Object . . . . . . . . . . . . . . . . . . . . 10
5.3. The SR-ERO Object . . . . . . . . . . . . . . . . . . . . 10
5.3.1. The SR-ERO Subobject . . . . . . . . . . . . . . . . 10
5.3.2. NAI Associated with SID . . . . . . . . . . . . . . . 12
5.3.3. SR-ERO Processing . . . . . . . . . . . . . . . . . . 13
6. Backward Compatibility . . . . . . . . . . . . . . . . . . . 14
7. Management Considerations . . . . . . . . . . . . . . . . . . 14
7.1. Policy . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.2. The PCEP Data Model . . . . . . . . . . . . . . . . . . . 14
8. Security Considerations . . . . . . . . . . . . . . . . . . . 14
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
9.1. PCEP Objects . . . . . . . . . . . . . . . . . . . . . . 15
9.2. PCEP-Error Object . . . . . . . . . . . . . . . . . . . . 15
9.3. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 15
9.4. New Path Setup Type . . . . . . . . . . . . . . . . . . . 15
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 15
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 16
Sivabalan, et al. Expires April 19, 2014 [Page 2]
Internet-Draft PCEP Extensions for Segment Routing October 2013
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 16
12.1. Normative References . . . . . . . . . . . . . . . . . . 16
12.2. Informative References . . . . . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17
1. Introduction
SR technology leverages the source routing and tunneling paradigms.
A source node can choose a path without relying on hop-by-hop
signaling protocols such as LDP or RSVP-TE. Each path is specified
as a set of "segments" advertised by link-state routing protocols
(IS-IS or OSPF). [I-D.filsfils-rtgwg-segment-routing] provides an
introduction to SR technology. The corresponding IS-IS and OSPF
extensions are specified in
[I-D.previdi-isis-segment-routing-extensions] and
[I-D.psenak-ospf-segment-routing-extensions], respectively. Two
types of segments have been defined; nodal and adjacency segments. A
nodal segment represents a path to a node, whereas an adjacency
segment represents a specific adjacency to a node. The SR
architecture can be applied to the MPLS forwarding plane without any
change, as well as to the IPv6 forwarding plane with a new type of
routing extension header. A Segment Identifier (SID) is a 32-bit
value. In the case of the MPLS data plane, an SR path corresponds to
an MPLS Label Switching Path (LSP)
A Segment Routed path (SR path) can be derived from an IGP Shortest
Path Tree (SPT). Segment Routed Traffic Engineering paths (SR-TE
paths) may not follow IGP SPT. Such paths may be chosen by a
suitable network planning tool and provisioned on the source node of
the SR-TE path.
[RFC5440] describes Path Computation Element Protocol (PCEP) for
communication between a Path Computation Client (PCC) and a Path
Control Element (PCE) or between one a pair of PCEs. A PCE computes
paths for MPLS Traffic Engineering LSPs (MPLS-TE LSPs) based on
various constraints and optimization criteria.
[I-D.ietf-pce-stateful-pce] specifies extensions to PCEP that allow a
stateful PCE to compute and recommend network paths in compliance
with [RFC4657] and defines objects and TLVs for MPLS-TE LSPs.
Stateful PCEP extensions provide synchronization of LSP state between
a PCC and a PCE or between a pair of PCEs, delegation of LSP control,
reporting of LSP state from a PCC to a PCE, controlling the setup and
path routing of an LSP from a PCE to a PCC. Stateful PCEP extensions
are intended for an operational model in which LSPs are configured on
the PCC, and control over them is delegated to the PCE.
A mechanism to dynamically instantiate LSPs on a PCC based on the
requests from a stateful PCE or a controller using stateful PCE is
Sivabalan, et al. Expires April 19, 2014 [Page 3]
Internet-Draft PCEP Extensions for Segment Routing October 2013
specified in [I-D.crabbe-pce-pce-initiated-lsp]. Such mechanism is
useful in Software Driven Networks (SDN) applications, such as demand
engineering, or bandwidth calendaring.
It is possible to use a stateful PCE for computing one or more SR-TE
paths taking into account various constraints and objective
functions. Once a path is chosen, the stateful PCE can instantiate
an SR-TE path on a PCC using PCEP extensions specified in
[I-D.crabbe-pce-pce-initiated-lsp] using the SR specific PCEP
extensions described in this document. Additionally, using
procedures described in this document, a PCC can request an SR path
from either stateful or a stateless PCE. This specification uses the
PATH-SETUP-TYPE TLV and procedures specified in
[I-D.sivabalan-pce-lsp-setup-type].
2. Terminology
The following terminologies are used in this document:
ERO: Explicit Route Object
IGP: Interior Gateway Protocol
IS-IS: Intermediate System to Intermediate System
LSR: Label Switching Router
MSD: Maximum SID Depth
NAI: Node or Adjacency Identifier
OSPF: Open Shortest Path First
PCC: Path Computation Client
PCE: Path Computation Element
PCEP: Path Computation Element Protocol
RRO: Record Route Object
SID: Segment Identifier
SR: Segment Routing
SR-ERO: Segment Routed Explicit Route Object
SR Path: Segment Routed Path
Sivabalan, et al. Expires April 19, 2014 [Page 4]
Internet-Draft PCEP Extensions for Segment Routing October 2013
SR-RRO: Segment Routed Record Route Object
SR-TE: Segment Routed Traffic Engineering
3. Overview of PCEP Operation in SR Networks
In SR networks, an ingress node of an SR path appends all outgoing
packets with an SR header consisting of a list of Segment IDs (SIDs).
The header has all necessary information to guide the packets from
the ingress node to the egress node of the path, and hence there is
no need for any signaling protocol. A SID can represent a nodal
segment representing a path to a node or adjacency segment
representing path over a specific adjacency.
In a PCEP session, path information is carried in the Explicit Route
Object (ERO), which consists of a sequence of subobjects. Various
types of ERO subobjects have been specified in [RFC3209], [RFC3473],
and [RFC3477]. In SR networks, a PCE needs to specify EROs
containing SIDs (denoted as SR-EROs in this document), and a PCC
needs to be capable of processing such EROs. An SR-ERO can be
included in the Path Computation LSP Initiate Request message
(PCInitiate) defined in [I-D.crabbe-pce-pce-initiated-lsp], as well
as in the Path Computation LSP Update Request (PCUpd) and Path
Computation LSP State Report (PCRpt) messages defined in Report
(PCRpt) messages defined in [I-D.ietf-pce-stateful-pce].
When a PCEP session between a PCC and a PCE is established, both PCEP
Speakers exchange information to indicate their ability to support
SR-specific functionality. This document does not preclude a PCEP
message from containing different ERO types. However, each subobject
within an SR-ERO MUST represent an SID. Furthermore, an LSP
initially established using RSVP-TE can be updated using SR-ERO.
This capability is useful when a network is migrated from RSVP-TE to
SR technology. Similarly, an LSP initially established using SR-ERO
can updated to signal the LSP using RSVP-TE if necessary.
A PCC MAY include an ERO object in a PCRpt message. In SR networks,
a PCC MAY learn the SR path actually taken by data packets and report
that path to a PCE. Methods used by a PCC to learn SR-TE paths are
outside the scope of this document.
In summary, this document:
o Defines a new PCEP capability, new subobjects, a new TLV, and new
PCEP error codes.
o Specifies how two PCEP Speakers can establish a PCEP session that
can carry SR-TE paths.
Sivabalan, et al. Expires April 19, 2014 [Page 5]
Internet-Draft PCEP Extensions for Segment Routing October 2013
o Defines the formats of SR-specific PCEP messages in Backus-Naur
Format (BNF).
This document specifies SR extensions for the stateless PCE model
defined in [RFC5440], as well as for the active stateful and passive
stateful PCE models defined in [I-D.ietf-pce-stateful-pce].
4. SR-Specific PCEP Message Extensions
As defined in [RFC5440], a PCEP message consists of a common header
followed by a variable length body made up of mandatory and/or
optional objects. PCEP messages an their formats for stateless PCE
are defined in [RFC5440]. PCEP messages and their formats for
stateful PCE are defined in [I-D.ietf-pce-stateful-pce]. PCEP
messages and their formats for PCE-initiated LSP instantiation are
defined in [I-D.crabbe-pce-pce-initiated-lsp].
This document defines changes to PCEP messages and their formats
required to carry SR-specific information.
4.1. The PCReq Message
This document does not specify any changes to the PCReq message
format. This document requires the PATH-SETUP-TYPE TLV to be carried
in the RP Object in order for a PCC to request SR-TE paths.
4.2. The PCRep Message
This document defines the format of the PCRep message carrying SR-TE
paths. The message is sent by a PCE to a PCC in response to a
previously received PCReq message, where the PCC requested SR TE
path. The format of the SR-specific PCRep message is as follows:
<PCRep Message> ::= <Common Header>
<response-list>
Where:
<response-list>::=<response>[<response-list>]
<response> ::= <RP>
[<NO-PATH>]
[<path-list>]
Where:
<path-list>::=<SR-ERO>[<path-list>]
Sivabalan, et al. Expires April 19, 2014 [Page 6]
Internet-Draft PCEP Extensions for Segment Routing October 2013
The RP and NO-PATH Objects are defined in [RFC5440]. The <SR-ERO>
object contains the SR-TE path and is defined in Section 5.3.
4.3. The PCInitiate Message
The format of the PCInitiate message is as follows:
<PCInitiate Message> ::= <Common Header>
<PCE-initiated-lsp-list>
Where:
<PCE-initiated-lsp-list> ::=
<PCE-initiated-lsp-request>[<PCE-initiated-lsp-list>]
<PCE-initiated-lsp-request> ::= <SRP>
<LSP>
[<SR-ERO>]
The <LSP> object in the Common Header MUST include the SYMBOLIC-PATH-
NAME TLV. The message MAY contain an <SR-ERO> object containing
subobjects defining the SR-TE path as defined in Section 5.3.
4.4. The PCRpt Message
An SR-specific PCRpt message is sent by a PCC to a PCE to report the
current state of an SR-TE Path. A PCRpt message can carry more than
one LSP State Report, but all LSP State reports in the SR-Specific
PCRpt message MUST be for SR TE Paths. A PCC can send an LSP State
Report either in response to an LSP Update Request from a PCE, or
asynchronously when the state of an SR-TE Path changes.
The format of the SR-specific PCRpt message is as follows:
<PCRpt Message> ::= <Common Header>
<state-report-list>
Where:
<state-report-list> ::= <state-report>[<state-report-list>]
<state-report> ::= <SRP>
<LSP>
<sr-te-path>
Where:
<sr-te-path> ::= <SR-ERO>
Sivabalan, et al. Expires April 19, 2014 [Page 7]
Internet-Draft PCEP Extensions for Segment Routing October 2013
The <SR-ERO> object contains the actual SR-TE path used by the PCC
and is defined in Section 5.3. The actual SR-TE Path may be
different from the programmed SR-TE Path, for example, when the
latter contains loose hops and the PCC must compute the path between
loose hops locally.
The <SRP> and <LSP> objects are defined in
[I-D.ietf-pce-stateful-pce]. The <LSP> object MUST include the
SYMBOLIC-PATH-NAME TLV.
4.5. The PCUpd Message
An SR-Specific PCUpd message is sent by a PCE to a PCC to update an
SR-TE Path. A PCUpd message can carry more than one LSP Update
Request.
The format of the SR-specific PCUpd message is as follows:
<PCUpd Message> ::= <Common Header>
<udpate-request-list>
Where:
<update-request-list> ::= <update-request>[<update-request-list>]
<update-request> ::= <SRP>
<LSP>
<sr-te-path>
Where:
<sr-te-path>::= <SR-ERO>
The <SR-ERO> object contains the SR-TE path computed by the PCE, and
is defined in Section 5.3. The <SRP> and <LSP> objects are defined
in [I-D.ietf-pce-stateful-pce]. The LSP object MUST include the
SYMBOLIC-PATH-NAME TLV. Note that unlike the RSVP-TE specific PCUpd
message defined in [I-D.ietf-pce-stateful-pce], the path in the SR-
specific PCUpd message does not have attributes - only hops specified
in the <SR-ERO> object.
5. Object Formats
5.1. The OPEN Object
This document defines a new optional TLV for use in the OPEN Object.
5.1.1. The SR PCE Capability TLV
Sivabalan, et al. Expires April 19, 2014 [Page 8]
Internet-Draft PCEP Extensions for Segment Routing October 2013
The SR-PCE-CAPABILITY TLV is an optional TLV for use in the OPEN
Object to negotiate Segment Routing capability on the PCEP session.
The format of the SR-PCE-CAPABILITY TLV is shown in the following
figure:
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 1: SR-PCE-CAPABILITY TLV format
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 Capability
The SR 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
SR-TE Paths. By including the TLV in the OPEN message to a PCC, a
PCE indicates that it is capable of computing SR-TE paths.
The number of SIDs that can be imposed on a packet depends on PCC's
data plane's capability. The default value of MSD is 0 meaning that
a PCC does not impose any limitation on the number of SIDs included
in any SR-TE path coming from PCE. Once an SR-capable PCEP session
is established with a non-default MSD value, the corresponding PCE
cannot send SR-TE paths with SIDs exceeding the MSD value. If a PCC
needs to modify the MSD value, the PCEP session must be closed and
re-established with the new MSD value. If a PCEP session is
established with a non-default MSD value, and the PCC receives an SR-
TE path containing more SIDs than specified in the MSD value, the PCC
MUST send out a PCErr message with Error-Type 10 (Reception of an
invalid object) and Error-value 3 (Unsupported number of Segment
ERO).
The SR Capability TLV is meaningful only in the OPEN message sent
from a PCC to a PCE. As such, a PCE does not need to set MSD value
Sivabalan, et al. Expires April 19, 2014 [Page 9]
Internet-Draft PCEP Extensions for Segment Routing October 2013
in outbound message to a PCC. Similarly, an MSD value received by a
PCC is ignored. If there are multiple SR capability TLVs, only the
first TLV is processed.
All bits in the Reserved and Flags fields SHOULD be set to 0 on
outbound OPEN messages, and MUST be ignored on inbound OPEN messages.
5.2. The RP/SRP Object
In order to setup an LSP using SR, RP or SRP object may carry PATH-
SETUP-TYPE TLV specified in [I-D.sivabalan-pce-lsp-setup-type]. This
document defines a new Path Setup Type (PST) for SR as follows:
o PST = 1: Path is setup using Segment Routing technique.
5.3. The SR-ERO Object
An SR-TE path consists of one or more SID(s) where each SID is
associated with the identifier that represents the node or adjacency
corresponding to the SID. This identifier is referred to as the
'Node or Adjacency Identifier' (NAI). As described later, a NAI can
be represented in various formats (e.g., IPv4 address, IPv6 address,
etc). Furthermore, a NAI is used only for troubleshooting purposes,
and MUST not be used to replace or modify any fields in a data packet
header. An SR-ERO object consists of one or more ERO subobjects
described in the following section. Also, all subobjects within an
SR-ERO MUST be of the SR-ERO subobject type.
5.3.1. The SR-ERO Subobject
An SR-ERO subobject consists of a 32-bit header followed by the SID
and the NAI associated with the SID. The SID is a 32-bit number.
The size of the NAI depends on its respective type, as described in
the following 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 | ST | Flags |F|S|C|M|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// NAI (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: SR-ERO Subobject format
The fields in the ERO Subobject are as follows:
Sivabalan, et al. Expires April 19, 2014 [Page 10]
Internet-Draft PCEP Extensions for Segment Routing October 2013
The '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-ERO subobject.
Otherwise, a PCC MAY expand or replace one or more SID value(s) in
the received SR-ERO based on its local policy.
Type is the type of the SR-ERO Subobject. This document defines the
SR-ERO Subobject type. A new code point will be requested for the
SR-ERO Subobject from IANA.
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.
SID Type (ST) indicates the type of information associated with the
SID contained in the object body. The SID-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/adjacency identifier in the subobject body.
Sivabalan, et al. Expires April 19, 2014 [Page 11]
Internet-Draft PCEP Extensions for Segment Routing October 2013
* F: When this bit is set, the NAI value in the subobject body is
null.
SID is the Segment Identifier.
NAI contains the NAI associated with the SID. Depending on the
value of ST, the NAI can have different format as described in the
following section.
5.3.2. NAI Associated with SID
This document defines the following NAIs:
'IPv4 Node ID' is specified as an IPv4 address. In this case, ST
and Length are 1 and 12 respectively.
'IPv6 Node ID' is specified as an IPv6 address. In this case, ST
and Length are 2 and 24 respectively.
'IPv4 Adjacency' is specified as a pair of IPv4 addresses. In this
case, ST and Length are 3 and 16, respectively, and the format of
the NAI is shown in the following figure:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local IPv4 address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote IPv4 address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: NAI for IPv4 Adjacency
'IPv6 Adjacency' is specified as a pair of IPv6 addresses. In this
case, ST and Length are 4 and 40 respectively, and the format of
the NAI is shown in the following figure:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Local IPv6 address (16 bytes) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Remote IPv6 address (16 bytes) //
Sivabalan, et al. Expires April 19, 2014 [Page 12]
Internet-Draft PCEP Extensions for Segment Routing October 2013
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: NAI for IPv6 adjacency
'Unnumbered Adjacency with IPv4 NodeIDs' is specified as a pair of
Node ID / Interface ID tuples. In this case, ST and Length are 5
and 24 respectively, and the format of the NAI is shown in the
following figure:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Node-ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Interface ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote Node-ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote Interface ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: NAI for Unnumbered adjacency with IPv4 Node IDs
We are yet to decide if another SID subobject is required for
unnumbered adjacency with 128 bit node ID.
5.3.3. SR-ERO Processing
A PCEP Speaker that does not recognize the new ERO subobject in the
PCCreate, PCUpd or PCRpt message MUST reject the entire PCEP message
and MUST send a PCE error message with Error-Type=3 ("Unknown
Object") and Error-Value=2 ("Unrecognized object Type") or Error-
Type=4 ("Not supported object") and Error-Value=2 ("Not supported
object Type"), defined in [RFC5440].
When the SID represents an MPLS label (i.e. the M bit is set), its
value (20 most significant bits) MUST be larger than 15, unless it is
special purpose label, such as an Entropy Label Indicator (ELI) or an
Entropy Label (EL). If a PCEP Speaker receives a label ERO subobject
with an invalid value, it MUST send the PCE error message with Error-
Type = "Reception of an invalid object" and Error-Value = "Bad label
value". If both M and C bits of an ERO subobject are set, and if a
PCEP Speaker finds erroneous setting in one or more of TC, S, and TTL
fields, it MUST send a PCE error with Error-Type = "Reception of an
invalid object" and Error-Value = "Bad label format".
Sivabalan, et al. Expires April 19, 2014 [Page 13]
Internet-Draft PCEP Extensions for Segment Routing October 2013
If a PCC receives a stack of SR-ERO subobjects, and the number of
stack exceeds the maximum number of SIDs that the PCC can impose on
the packet, it MAY send a PCE error with Error-Type = "Reception of
an invalid object" and Error-Value = "Unsupported number of Segment
ERO subobjects".
When a PCEP speaker detects that all subobjects of SR-ERO are not
identical, it MUST send PCE error with Error-Type = "Reception of an
invalid object" and Error-Value = "Non-identical ERO subobjects" and
close the PCEP session.
6. Backward Compatibility
An LSR that does not support the SR PCEP capability negotiation
cannot recognize the SR-ERO subobjects. As such, it shall send a
PCEP error with Error-Type = 4 (Not supported object) and Error-Value
= 2 (Not supported object Type) as per [RFC5440].
7. Management Considerations
7.1. Policy
PCEP implementation:
o Can enable SR-PCEP capability either by default or via explicit
configuration.
o May generate PCEP error due to unsupported number of SR-ERO
subobjects either by default or via explicit configuration.
7.2. The PCEP Data Model
A PCEP MIB module is defined in [I-D.ietf-pce-pcep-mib] needs be
extended to cover additional functionality provided by [RFC5440] and
[I-D.crabbe-pce-pce-initiated-lsp]. Such extension will cover the
new functionality specified in this document.
8. Security Considerations
The security considerations described in [RFC5440] and
[I-D.crabbe-pce-pce-initiated-lsp] are applicable to this
specification. No additional security measure is required.
Sivabalan, et al. Expires April 19, 2014 [Page 14]
Internet-Draft PCEP Extensions for Segment Routing October 2013
9. IANA Considerations
9.1. PCEP Objects
IANA is requested to allocate a ERO subobject type (recommended value
= 5) for the SR-ERO subobject.
9.2. PCEP-Error Object
This document defines new Error-Type and Error-Value for the
following new conditions:
Error-Type Meaning
10 Reception of an invalid object
Error-value=2: Bad label value
Error-value=3: Unsupported number of Segment ERO
subobjects
Error-value=4: Bad label format
Error-value=5: Non-identical ERO subobjects
9.3. PCEP TLV Type Indicators
This document defines the following new PCEP TLVs:
Value Meaning Reference
-------- ------------------------------------ -----------------
26 SR-PCE-CAPABILITY This document
Table 1
9.4. New Path Setup Type
This document defines a new setup type for the PATH-SETUP-TYPE TLV as
follows:
Value Description Reference
1 Traffic engineering path is setup using This document
Segment Routing technique.
Table 2
10. Contributors
The following people contributed to this document:
Sivabalan, et al. Expires April 19, 2014 [Page 15]
Internet-Draft PCEP Extensions for Segment Routing October 2013
- Lakshmi Sharma (Cisco Systems)
11. Acknowledgements
We like to thank Ina Minei, George Swallow, and Marek Zavodsky for
the valuable comments.
12. References
12.1. Normative References
[I-D.crabbe-pce-pce-initiated-lsp]
Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "PCEP
Extensions for PCE-initiated LSP Setup in a Stateful PCE
Model", draft-crabbe-pce-pce-initiated-lsp-01 (work in
progress), April 2013.
[I-D.filsfils-rtgwg-segment-routing]
Filsfils, C., Previdi, S., Bashandy, A., Decraene, B.,
Litkowski, S., Horneffer, M., Milojevic, I., Shakir, R.,
Ytti, S., Henderickx, W., Tantsura, J., and E. Crabbe,
"Segment Routing Architecture", draft-filsfils-rtgwg-
segment-routing-00 (work in progress), June 2013.
[I-D.ietf-pce-pcep-mib]
Koushik, K., Stephan, E., Zhao, Q., King, D., and J.
Hardwick, "PCE communication protocol (PCEP) Management
Information Base", draft-ietf-pce-pcep-mib-04 (work in
progress), February 2013.
[I-D.ietf-pce-stateful-pce]
Crabbe, E., Medved, J., Minei, I., and R. Varga, "PCEP
Extensions for Stateful PCE", draft-ietf-pce-stateful-
pce-05 (work in progress), July 2013.
[I-D.previdi-isis-segment-routing-extensions]
Previdi, S., Filsfils, C., Bashandy, A., Gredler, H.,
Decraene, B., Litkowski, S., Geib, R., Milojevic, I.,
Shakir, R., Ytti, S., Henderickx, W., and J. Tantsura,
"IS-IS Extensions for Segment Routing", draft-previdi-
isis-segment-routing-extensions-01 (work in progress),
July 2013.
[I-D.psenak-ospf-segment-routing-extensions]
Psenak, P., Previdi, S., Filsfils, C., Gredler, H., and R.
Shakir, "OSPF Extensions for Segment Routing", draft-
psenak-ospf-segment-routing-extensions-01 (work in
progress), July 2013.
Sivabalan, et al. Expires April 19, 2014 [Page 16]
Internet-Draft PCEP Extensions for Segment Routing October 2013
[I-D.sivabalan-pce-lsp-setup-type]
Sivabalan, S., Medved, J., Minei, I., Varga, R., and E.
Crabbe, "LSP setup method in PCEP messages", draft-
sivabalan-pce-lsp-setup-type-00 (work in progress),
October 2013.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[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.
12.2. Informative References
[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.
[RFC3473] Berger, L., "Generalized Multi-Protocol Label Switching
(GMPLS) Signaling Resource ReserVation Protocol-Traffic
Engineering (RSVP-TE) Extensions", RFC 3473, January 2003.
[RFC3477] Kompella, K. and Y. Rekhter, "Signalling Unnumbered Links
in Resource ReSerVation Protocol - Traffic Engineering
(RSVP-TE)", RFC 3477, January 2003.
[RFC4657] Ash, J. and J. Le Roux, "Path Computation Element (PCE)
Communication Protocol Generic Requirements", RFC 4657,
September 2006.
Authors' Addresses
Siva Sivabalan
Cisco Systems, Inc.
2000 Innovation Drive
Kanata, Ontario K2K 3E8
Canada
Email: msiva@cisco.com
Sivabalan, et al. Expires April 19, 2014 [Page 17]
Internet-Draft PCEP Extensions for Segment Routing October 2013
Jan Medved
Cisco Systems, Inc.
170 West Tasman Dr.
San Jose, CA 95134
US
Email: jmedved@cisco.com
Clarence Filsfils
Cisco Systems, Inc.
Pegasus Parc
De kleetlaan 6a, DIEGEM BRABANT 1831
BELGIUM
Email: cfilsfil@cisco.com
Edward Crabbe
Google, Inc.
1600 Amphitheatre Parkway
Mountain View, CA 94043
US
Email: edward.crabbe@gmail.com
Robert Raszuk
NTT I3
101 S. Ellsworth Ave
San Mateo, CA 94401
US
Email: robert@raszuk.net
Sivabalan, et al. Expires April 19, 2014 [Page 18]