PCEP Extensions for
Associated Bidirectional Segment Routing (SR) PathsHuawei TechnologiesHuawei Campus, No. 156 Beiqing Rd.Beijing100095Chinachengli13@huawei.comHuawei TechnologiesHuawei Campus, No. 156 Beiqing Rd.Beijing100095ChinaMach.chen@huawei.comChina MobileChinachengweiqiang@chinamobile.comCisco Systems, Inc.Canadargandhi@cisco.comZTE CorporationChinaxiong.quan@zte.com.cn
Routing Area
PCE Working GroupThe Path Computation Element Communication Protocol (PCEP) provides
mechanisms for Path Computation Elements (PCEs) to perform path
computations in response to Path Computation Clients (PCCs) requests.
Segment routing (SR) leverages the source routing and tunneling paradigms.
The Stateful PCEP extensions allow stateful control of Segment Routing
Traffic Engineering (TE) Paths. Furthermore, PCEP can be used for computing SR TE paths in
the network.This document defines PCEP extensions for grouping two unidirectional
SR Paths (one in each direction in the network) into a single
Associated Bidirectional SR Path. The mechanisms defined in this
document can also be applied using a Stateful PCE for both PCE-
Initiated and PCC-Initiated LSPs, as well as when using a Stateless PCE.Segment routing (SR) leverages the source
routing and tunneling paradigms. SR supports steering packets onto an
explicit forwarding path at the ingress node. SR is specified for unidirectional paths.
However, some applications
require bidirectional paths in SR networks, for example, in mobile
backhaul transport networks. The requirement for bidirectional
SR Paths is specified in . describes the Path Computation Element (PCE)
Communication Protocol (PCEP). PCEP enables the communication between a
Path Computation Client (PCC) and a PCE, or between PCE and PCE, for the
purpose of computation of Traffic Engineering (TE) Label Switched Paths (LSP).
specifies a set of extensions to PCEP to
enable stateful control of TE LSPs within and across PCEP sessions.
The mode of operation where LSPs are initiated from the PCE is described in . specifies extensions to
the Path Computation Element Protocol (PCEP)
for SR networks, that allow a stateful PCE to compute and initiate SR TE
paths, as well as a PCC to request, report or delegate them. introduces a generic
mechanism to create a grouping of LSPs which can then be used to define
associations between a set of LSPs and/or a set of attributes,
and is equally applicable to the active and passive modes of a Stateful PCE or a stateless PCE . defines PCEP extensions for grouping
two unidirectional RSVP-TE LSPs into an Associated Bidirectional LSP
when using a Stateful PCE for both PCE-Initiated and PCC-Initiated
LSPs as well as when using a Stateless PCE.
It specifies the procedure for
'Double-sided Bidirectional LSP Association', where the PCE
creates the association and provisions the forward LSPs at their ingress nodes. The RSVP-TE
signals the forward LSPs to the egress nodes. Thus, both endpoints learn the
reverse LSPs forming the bidirectional LSP association.This document extends the bidirectional LSP association to SR
by specifying PCEP extensions for grouping two
unidirectional SR Paths into a bidirectional SR Path. For bidirectional SR,
there are use-cases such as directed BFD and SR Performance Measurement (PM)
those require PCC to be aware of the reverse direction SR Path.
For such use-cases, the reverse SR Paths are also communicated
to the ingress nodes using the PCEP
extensions defined in this document. This allows both endpoints to be aware of
the SR Paths in both directions, including their status and all other path related
information. Associating an unidirectional SR Path with
a reverse direction unidirectional RSVP-TE LSP to form a bidirectional LSP and
vice versa, are outside the scope of this document.This document makes use of the terms defined in . The reader is assumed to be
familiar with the terminology defined in , , , , and .The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 when, and only
when, they appear in all capitals, as shown here.As per , TE LSPs are
associated by adding them to a common association group by a PCEP peer.
uses the association
group object and the procedures as specified in to group two unidirectional RSVP-TE LSPs.
Similarly, two SR Paths can also be associated using similar technique.
This document
extends these association mechanisms for bidirectional SR Paths. Two unidirectional SR
Paths (one in each direction in the network) can be associated
together by using the association group defined in this document for PCEP messages.Note that the procedure for using the association group defined in this document is specific to the
associated bidirectional SR Paths. The procedure for this association
group is different than
the bidirectional association groups defined in
for associated bidirectional RSVP-TE LSPs. defines a mechanism for
communicating Path Segment Identifier (PSID) in PCEP for SR.
The PSID is defined for SR-MPLS in . The PSID can be used for
identifying an SR Path of an associated bidirectional SR Path.
The PATH-SEGMENT TLV MAY be included for each SR Path in the
LSP object to support required use-cases. The PATH-SEGMENT TLV MUST be handled as
defined in and is not modified for
associated bidirectional SR Path.For associating two unidirectional SR Paths,
this document defines a new Association Type called 'Double-sided
Bidirectional with Reverse LSP Association Group' for Association Group Object (Class-Value 40) as follows: Association Type (TBD1 to be assigned by IANA) = Double-sided
Bidirectional with Reverse LSP Association GroupSimilar to RSVP-TE bidirectional LSP associations, this Association Type
is also operator-configured in nature and statically created by the
operator on the PCEP peers. 'Operator-configured
Association Range' TLV (Value 29)
MUST NOT be sent for this Association Type, and MUST be ignored, so
that the entire range of association ID can be used for it.The handling of the Association ID, Association Source, optional Global
Association Source and optional Extended Association ID in this
association are set in the same way as .A member of the 'Double-sided Bidirectional with Reverse LSP Association
Group' can take the role of a forward or reverse direction SR Path and follow
the similar rules defined in for LSPs.An SR Path (forward or reverse) cannot be part of more than
one 'Double-sided Bidirectional with Reverse LSP Association Group'.The endpoints of the SR Paths in 'Double-sided Bidirectional with Reverse LSP Association Group' cannot be
different. In 'Double-sided Bidirectional with Reverse LSP Association Group', for properties such as forward and reverse
direction and co-routed path, it uses the
Bidirectional LSP Association Group TLV defined in . All fields and processing
rules are as per .For a Bidirectional SR Path, an ingress PCC is aware of the forward
direction SR Path beginning from itself to the egress PCC using the existing
PCEP procedures. For the use-cases which require the ingress PCC
to be aware of the reverse direction SR Path, PCE informs the reverse SR Path to the
ingress PCC. To achieve this, a PCInitiate message for
the reverse SR Path is sent to the ingress PCC and a PCInitiate message
for the forward SR Path is sent to the egress PCC (with the matching
association group). These PCInitiate message MUST NOT trigger initiation
of SR Paths on PCCs.The SR Path can be identified by an LSP of an SR Policy as described in
.For a bidirectional LSP computation when using both direction LSPs on
a node, the same LSP would need to be identified using 2 different
PLSP-IDs based on the PCEP session to the ingress or the egress node.
Note that the PLSP-ID space is independent at each PCC, the PLSP-ID
allocated by the egress PCC cannot be used for the LSP at the
ingress PCC (PLSP-ID conflict may occur). As per normal PCInitiate
operations, PCC assigns the PLSP-IDs for the local LSPs.
Hence, when the PCE notifies an ingress PCC of the reverse LSP, it
does so by using PCInitiate operations and sets PLSP-ID to zero and sets the
R bit in the Bidirectional LSP Association Group TLV in the association
object to indicate that this PCInitiate LSP is a reverse LSP. The PCC
upon receiving the PCInitiate MUST locally assign a new PLSP-ID and it MUST
issue a PCRpt to PCE for this LSP containing the new PLSP-ID. This
reverse direction LSP MUST NOT be instantiated on the PCC.In other words, a given LSP will be identified by PLSP-ID A at the ingress node while it
will be identified by PLSP-ID B at the egress node. The PCE will maintain
two PLSP-IDs for the same LSP.
For example, ingress PCC1 may report to PCE an LSP1 with
PLSP-ID 100. Egress PCC2 may report to PCE an LSP2 with PLSP-ID 200.
Both of these LSPs are part of a bidirectional association. When PCE
notifies PCC1 of the reverse direction LSP2, it does so by sending a PCInitiate to PCC1 with
PLSP-ID set to zero and R bit set in the Bidirectional LSP Association Group TLV.
PCC1 upon reception of this generates a new PLSP-ID
(example PLSP-ID 300) and issues a PCRpt to PCE. Thus there would two PLSP-ID associated
for LSP2 (300 at PCC1 and 200 at PCC2).As specified in ,
Associated Bidirectional SR Paths can be created by a Stateful
PCE as shown in Figure 1.Stateful PCE can create and update the forward and reverse SR
Paths independently for 'Double-sided Bidirectional with Reverse LSP
Association Group'.Stateful PCE can establish and remove the association
relationship on a per SR Path basis.Stateful PCE can create and update the SR Path and the
association on a PCC via PCInitiate and PCUpd messages,
respectively, using the procedures described in .The reverse direction SR Path (LSP2(R) at node S, LSP1(R) at
node D as shown in Figure 1) SHOULD be informed by the PCE via
PCInitiate message with the matching association group for
the use-cases which require the PCC to be aware of the reverse direction SR Path.As specified in ,
Associated Bidirectional SR Paths can also be created by a
PCC as shown in Figure 2a and 2b.PCC can create and update the forward SR Path and update the reverse SR Path
independently for a 'Double-sided Bidirectional with Reverse LSP
Association Group'.PCC cannot instantiate a reverse SR Path in a bidirectional SR Path.PCC can establish and remove the association relationship on a
per SR Path basis.PCC MUST report the change in the association group of an SR
Path to PCE(s) via PCRpt message.PCC can report the forward and reverse SR Paths independently
to PCE(s) via PCRpt message.PCC can delegate the forward and reverse SR Paths independently
to a Stateful PCE, where PCE would control the SR Paths.Stateful PCE can update the SR Paths in the 'Double-sided
Bidirectional with Reverse LSP Association Group' via PCUpd message, using
the procedures described in .The reverse direction SR Path (LSP2(R) at node S, LSP1(R) at
node D as shown in Figure 2b) SHOULD be informed by the PCE via
PCInitiate message with the matching association group for
the use-cases which require the PCC to be aware of the reverse direction SR Path.As defined in , for
a stateless PCE, it might be useful to associate a path computation
request to an association group, thus enabling it to associate a
common set of configuration parameters or behaviors with the request.
A PCC can request co-routed or non-co-routed forward and reverse
direction paths from a stateless PCE for a bidirectional SR
association group.The Bidirectional (B) flag in Request Parameters (RP) object and Stateful PCE Request Parameter (SRP)
object follow the procedure defined in .During state synchronization, a PCC MUST report all the existing
Bidirectional Association Groups to the Stateful PCE as per .
After the state synchronization, the PCE MUST remove all
stale Bidirectional Association Groups.The error handling as described in section 5.7 of continue to apply.The PCEP Path Setup Type (PST) for SR is set to 'TE Path is Setup
using Segment Routing' .
If a PCEP speaker receives a different PST
value for 'Double-sided Bidirectional with Reverse LSP Association Group' and
it does not support; it MUST send a PCErr message with
Error-Type = 26 (Association Error) and
Error-Value = 'Bidirectional LSP Association - Path Setup Type
Not Supported' defined in .[Note to the RFC Editor - remove this section before publication, as
well as remove the reference to .This section records the status of known implementations of the
protocol defined by this specification at the time of posting of this
Internet-Draft, and is based on a proposal described in . The description of implementations in this section
is intended to assist the IETF in its decision processes in progressing
drafts to RFCs. Please note that the listing of any individual
implementation here does not imply endorsement by the IETF. Furthermore,
no effort has been spent to verify the information presented here that
was supplied by IETF contributors. This is not intended as, and must not
be construed to be, a catalog of available implementations or their
features. Readers are advised to note that other implementations may
exist.According to , "this will allow reviewers and
working groups to assign due consideration to documents that have the
benefit of running code, which may serve as evidence of valuable
experimentation and feedback that have made the implemented protocols
more mature. It is up to the individual working groups to use this
information as they see fit".The feature is developing based on Huawei VRP8.Organization: HuaweiImplementation: Huawei's Commercial Delivery implementation
based on VRP8.Description: The implementation is under development.Maturity Level: ProductContact: tanren@huawei.comOrganization: ZTEImplementation: ZTE's Commercial Delivery implementation based
on Rosng v8.Description: The implementation is under development.Maturity Level: ProductContact: zhan.shuangping@zte.com.cnThe security considerations described in ,
, , and apply to the extensions defined
in this document as well.A new Association Type for the Association Object, 'Double-sided
Bidirectional with Reverse LSP Association Group' is introduced in
this document. Additional security considerations related to LSP
associations due to a malicious PCEP speaker is described in and apply to this Association
Type. Hence, securing the PCEP session using Transport Layer Security
(TLS) is recommended.All manageability requirements and considerations listed in , , and apply to PCEP protocol extensions defined in this
document. In addition, requirements and considerations listed in this
section apply.The mechanisms defined in this document do not imply any control or
policy requirements in addition to those already listed in , , and . describes the PCEP MIB, there are no new
MIB Objects defined for 'Double-sided Bidirectional with Reverse LSP Association Groups'. The PCEP
YANG module defines data model
for Associated Bidirectional SR Paths.Mechanisms defined in this document do not imply any new liveness
detection and monitoring requirements in addition to those already
listed in , , and
.Mechanisms defined in this document do not imply any new operation
verification requirements in addition to those already listed in , , and .Mechanisms defined in this document do not imply any new
requirements on other protocols.Mechanisms defined in , , and
also apply to PCEP extensions defined in this document.This document defines a new Association Type for the Association
Object (Class Value 40) defined . IANA
is requested to make the assignment of a type for the sub-registry
"ASSOCIATION Type" as follows:Many thanks to Marina Fizgeer, Adrian Farrel, and Andrew Stone for the detailed review of this document and providing many useful comments.The following people have substantially contributed to this
document: