One document matched: draft-palle-pce-stateful-pce-p2mp-06.xml
<?xml version="1.0" encoding="us-ascii"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"
[]>
<?rfc toc="yes" ?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="4"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="no"?>
<?rfc rfcedstyle="yes"?>
<?rfc subcompact="no"?>
<?rfc compact="yes" ?>
<?rfc iprnotified="Yes" ?>
<?rfc strict="no" ?>
<rfc ipr="trust200902"
category="std"
docName="draft-palle-pce-stateful-pce-p2mp-06"
obsoletes=""
updates=""
submissionType="IETF"
xml:lang="en">
<front>
<title abbrev="STATEFUL-P2MP">Path Computation Element (PCE)
Protocol Extensions for Stateful PCE usage for
Point-to-Multipoint Traffic Engineering Label Switched
Paths</title>
<author initials="U"
surname="Palle"
fullname="Udayasree Palle">
<organization>Huawei Technologies</organization>
<address>
<postal>
<street>Divyashree Techno Park, Whitefield</street>
<city>Bangalore</city>
<region>Karnataka</region>
<code>560037</code>
<country>India</country>
</postal>
<email>udayasree.palle@huawei.com</email>
</address>
</author>
<author fullname="Dhruv Dhody"
initials="D"
surname="Dhody">
<organization abbrev="Huawei Technologies">Huawei
Technologies</organization>
<address>
<postal>
<street>Divyashree Techno Park, Whitefield</street>
<city>Bangalore</city>
<region>Karnataka</region>
<code>560037</code>
<country>India</country>
</postal>
<email>dhruv.ietf@gmail.com</email>
</address>
</author>
<author initials='Y.T'
surname="Tanaka"
fullname='Yosuke Tanaka'>
<organization abbrev="NTT Communications">NTT Communications
Corporation</organization>
<address>
<postal>
<street>Granpark Tower</street>
<street>3-4-1 Shibaura, Minato-ku</street>
<region>Tokyo</region>
<code>108-8118</code>
<country>Japan</country>
</postal>
<email>yosuke.tanaka@ntt.com</email>
</address>
</author>
<author initials='Y.K'
surname="Kamite"
fullname='Yuji Kamite'>
<organization abbrev="NTT Communications">NTT Communications
Corporation</organization>
<address>
<postal>
<street>Granpark Tower</street>
<street>3-4-1 Shibaura, Minato-ku</street>
<region>Tokyo</region>
<code>108-8118</code>
<country>Japan</country>
</postal>
<email>y.kamite@ntt.com</email>
</address>
</author>
<author initials="Z" surname="Ali" fullname="Zafar Ali">
<organization>Cisco Systems</organization>
<address>
<postal>
<street></street>
<city></city>
<region></region>
<code></code>
<country></country>
</postal>
<email>zali@cisco.com</email>
</address>
</author>
<author initials="V" surname="Beeram" fullname="Vishnu Pavan Beeram">
<organization>Juniper Networks</organization>
<address>
<postal>
<street></street>
<city></city>
<region></region>
<code></code>
<country></country>
</postal>
<email>vbeeram@juniper.net</email>
</address>
</author>
<date month="April"
year="2015" />
<area>Routing</area>
<workgroup>PCE Working Group</workgroup>
<abstract>
<t>The Path Computation Element (PCE) has been identified as
an appropriate technology for the determination of the paths
of point-to-multipoint (P2MP) TE LSPs.
This document provides
extensions required for PCEP so as to enable the usage of a
stateful PCE capability in supporting point-to-multipoint
(P2MP) TE LSPs.</t>
</abstract>
</front>
<middle>
<section title="Introduction"
toc="default">
<t>As per
<xref target="RFC4655" />, the Path Computation Element (PCE)
is an entity that is capable of computing a network path or
route based on a network graph, and applying computational
constraints. A Path Computation Client (PCC) may make
requests to a PCE for paths to be computed.</t>
<t>
<xref target="RFC4857" /> describes how to set up
point-to-multipoint (P2MP) Traffic Engineering Label Switched
Paths (TE LSPs) for use in Multiprotocol Label Switching
(MPLS) and Generalized MPLS (GMPLS) networks. The PCE has
been identified as a suitable application for the computation
of paths for P2MP TE LSPs (<xref target="RFC5671"/>).</t>
<t>The PCEP is designed as a communication protocol between
PCCs and PCEs for point-to-point (P2P) path computations and
is defined in
<xref target="RFC5440" />. The extensions of PCEP to request
path computation for P2MP TE LSPs are described in
<xref target="RFC6006" />.</t>
<t>Stateful PCEs are shown to be helpful in many application
scenarios, in both MPLS and GMPLS networks, as illustrated in
<xref target='I-D.ietf-pce-stateful-pce-app'></xref>. These
scenarios apply equally to P2P and P2MP TE LSPs.
<xref target='I-D.ietf-pce-stateful-pce'></xref> provides the
fundamental extensions needed for stateful PCE to support
general functionality for P2P TE LSP. Complementarily, this
document focuses on the extensions that are necessary in
order for the deployment of stateful PCEs to support P2MP TE
LSPs.</t>
<section title="Requirements Language"
toc="default">
<t>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
<xref target="RFC2119" />.</t>
</section>
</section>
<section title="Terminology"
toc="default">
<t>Terminology used in this document is same as terminology
used in
<xref target='I-D.ietf-pce-stateful-pce'></xref> and
<xref target="RFC6006" />.</t>
</section>
<section title="Supporting P2MP TE LSP for Stateful PCE"
toc="default"
anchor="SEC_M">
<section title="Motivation"
toc="default">
<t>
<xref target='I-D.ietf-pce-stateful-pce-app'>
</xref> presents several use cases, demonstrating scenarios
that benefit from the deployment of a stateful PCE
including optimization, recovery, etc which are equally
applicable to P2MP TE LSPs.
<xref target='I-D.ietf-pce-stateful-pce'></xref> defines the
extensions to PCEP for P2P TE LSPs. Complementarily, this
document focuses on the extensions that are necessary in
order for the deployment of stateful PCEs to support P2MP TE
LSPs.</t>
<t>In addition to that, the stateful nature of a PCE
simplifies the information conveyed in PCEP messages since
it is possible to refer to the LSPs via PLSP-ID. For P2MP
this is an added advantage, where the size of message is
much larger. Incase of stateless PCE, a modification of
P2MP tree requires encoding of all leaves along with the
paths in PCReq message, but using a stateful PCE with P2MP
capability, the PCEP message can be used to convey only the
modifications (the other information can be retrieved from
the P2MP LSP identifier in the LSP database (LSPDB)).</t>
</section>
<section title="Objectives"
toc="default">
<t>The objectives for the protocol extensions to support
P2MP TE LSP for stateful PCE are same as the objectives
described in section 3.2 of
<xref target='I-D.ietf-pce-stateful-pce'></xref>.</t>
</section>
</section>
<section title="Functions to Support P2MP TE LSPs for Stateful PCEs"
toc="default">
<t>
<xref target='I-D.ietf-pce-stateful-pce'></xref> specifies new
functions to support a stateful PCE. It also specifies that a
function can be initiated either from a PCC towards a PCE
(C-E) or from a PCE towards a PCC (E-C).</t>
<t>This document extends these functions to support P2MP TE
LSPs.</t>
<t>
<list style="hanging">
<t hangText="Capability Advertisement (E-C,C-E):">both
the PCC and the PCE must announce during PCEP session
establishment that they support PCEP Stateful PCE
extensions for P2MP using mechanisms defined in
<xref target='SEC_CA'></xref>.</t>
<t hangText="LSP State Synchronization (C-E):">after the
session between the PCC and a stateful PCE with P2MP
capability is initialized, the PCE must learn the state
of a PCC's P2MP TE LSPs before it can perform path
computations or update LSP attributes in a PCC.</t>
<t hangText="LSP Update Request (E-C):">a stateful PCE
with P2MP capability requests modification of attributes
on a PCC's P2MP TE LSP.</t>
<t hangText="LSP State Report (C-E):">a PCC sends an LSP
state report to a PCE whenever the state of a P2MP TE LSP
changes.</t>
<t hangText="LSP Control Delegation (C-E,E-C):">a PCC
grants to a PCE the right to update LSP attributes on one
or more P2MP TE LSPs; the PCE becomes the authoritative
source of the LSP's attributes as long as the delegation
is in effect (See Section 5.5 of
<xref target='I-D.ietf-pce-stateful-pce'></xref>); the
PCC may withdraw the delegation or the PCE may give up
the delegation at any time.</t>
</list>
</t>
<t>
[Editor's Note - An update to <xref target='I-D.sivabalan-pce-disco-stateful'>
</xref> is needed to
support autodiscovery of stateful PCEs with P2MP
capability. This can be undertaken after WG adoption.]</t>
</section>
<section title="Architectural Overview of Protocol Extensions"
toc="default">
<section title="Extension of PCEP Messages"
toc="default">
<t>New PCEP messages are defined in
<xref target='I-D.ietf-pce-stateful-pce'></xref> to support
stateful PCE for P2P TE LSPs. In this document these
messages are extended to support P2MP TE LSPs.</t>
<t>
<list style="hanging">
<t hangText="Path Computation State Report (PCRpt):">
Each P2MP TE LSP State Report in a PCRpt message can
contain actual P2MP TE LSP path attributes, LSP status,
etc. An LSP State Report carried on a PCRpt message is
also used in delegation or revocation of control of a
P2MP TE LSP to/from a PCE. The extension of PCRpt
message is described in
<xref target="SEC_RPT" />.</t>
<t hangText="Path Computation Update Request (PCUpd):">
Each P2MP TE LSP Update Request in a PCUpd message MUST
contain all LSP parameters that a PCE wishes to set for
a given P2MP TE LSP. An LSP Update Request carried on a
PCUpd message is also used to return LSP delegations if
at any point PCE no longer desires control of a P2MP TE
LSP. The PCUpd message is described in
<xref target="SEC_UPD" />.</t>
</list>
</t>
</section>
<section title="Capability Advertisement"
toc="default"
anchor="SEC_CA">
<t>During PCEP Initialization Phase, as per Section 7.1.1
of
<xref target='I-D.ietf-pce-stateful-pce'></xref>, PCEP
speakers advertises Stateful capability via Stateful PCE
Capability TLV in open message.
Two new flags are defined for the STATEFUL-PCE-CAPABILITY TLV
defined in <xref target='I-D.ietf-pce-stateful-pce'></xref> and
updated in <xref target='I-D.ietf-pce-pce-initiated-lsp'></xref>
and <xref target='I-D.ietf-pce-stateful-sync-optimizations'></xref>.
</t>
<t>Two new bits N (P2MP-CAPABILITY) and M (P2MP-LSP-UPDATE-CAPABILITY)
are added in this document:</t>
<t>
<list style="hanging">
<t hangText="N (P2MP-CAPABILITY - 1 bit):">if
set to 1 by a PCC, the N Flag
indicates that the PCC is willing to send P2MP LSP State Reports whenever
P2MP LSP parameters or operational status changes.; if
set to 1 by a PCE, the N Flag indicates that the PCE is interested
in receiving LSP State Reports whenever LSP parameters or
operational status changes. The P2MP-CAPABILITY Flag must be
advertised by both a PCC and a PCE for PCRpt messages P2MP extension to be
allowed on a PCEP session.</t>
<t hangText="M (P2MP-LSP-UPDATE-CAPABILITY - 1 bit):">if
set to 1 by a PCC, the M Flag
indicates that the PCC allows modification of P2MP LSP parameters; if
set to 1 by a PCE, the M Flag indicates that the PCE is capable of
updating P2MP LSP parameters. The P2MP-LSP-UPDATE-CAPABILITY Flag must be
advertised by both a PCC and a PCE for PCUpd messages P2MP extension to be
allowed on a PCEP session.</t>
</list>
</t>
<t>A PCEP speaker should continue to advertise the basic P2MP
capability via mechanisms as described in
<xref target="RFC6006"/>.</t>
</section>
<section title="State Synchronization"
toc="default">
<t>State Synchronization operations described in Section
5.4 of
<xref target='I-D.ietf-pce-stateful-pce'></xref> are
applicable for P2MP TE LSPs as well.</t>
</section>
<section title="LSP Delegation"
toc="default">
<t>LSP delegation operations described in Section 5.5 of
<xref target='I-D.ietf-pce-stateful-pce'></xref> are
applicable for P2MP TE LSPs as well.</t>
</section>
<section title="LSP Operations"
toc="default">
<section title="Passive Stateful PCE"
toc="default">
<t>LSP operations for passive stateful PCE described in
Section 5.6.1 of
<xref target='I-D.ietf-pce-stateful-pce'></xref> are
applicable for P2MP TE LSPs as well.</t>
<t>The Path Computation Request and Response message
format for P2MP TE LSPs is described in Section 3.4 and
Section 3.5 of <xref target="RFC6006" /> respectively.</t>
<t>The Request and Response message for P2MP TE LSPs are
extended to support encoding of LSP object, so that it is
possible to refer to a LSP with a unique identifier and
simplify the PCEP message exchange. For example, incase of
modification of one leaf in a P2MP tree, there should be
no need to carry the full P2MP tree in PCReq
message.</t>
<t>The extension for the Request and Response message for
passive stateful operations on P2MP TE LSPs are described
in <xref target='SEC_REQ'></xref> and
<xref target='SEC_REP'></xref>. The extension for the
Path Computation LSP State Report (PCRpt) message is
described in <xref target='SEC_RPT'></xref>.</t>
</section>
<section title="Active Stateful PCE"
toc="default">
<t>LSP operations for active stateful PCE described in
Section 5.6.2 of
<xref target='I-D.ietf-pce-stateful-pce'></xref> are
applicable for P2MP TE LSPs as well.</t>
<t>The extension for the Path Computation LSP Update
(PCUpd) message for
active stateful operations on P2MP TE LSPs are described
in <xref target='SEC_UPD'></xref>.</t>
</section>
</section>
</section>
<section title="PCEP Object Extensions"
toc="default">
<t>The PCEP TLV defined in this document is compliant with
the PCEP TLV format defined in
<xref target="RFC5440" />.</t>
<section title="Extension of LSP Object"
toc="default">
<t>LSP Object is defined in Section 7.3 of
<xref target='I-D.ietf-pce-stateful-pce'></xref>. It
specifies PLSP-ID to uniquely identify an LSP that is
constant for the life time of a PCEP session. Similarly for
P2MP tunnel, PLSP-ID identify a P2MP TE LSP uniquely.
This document adds the following flags to the LSP
Object:</t>
<t>
<list style="hanging">
<t hangText="N (P2MP bit):">If the bit is set to 1, it
specifies the message is for P2MP TE LSP which MUST be
set in PCRpt or PCUpd message for a P2MP TE LSP.</t>
<t hangText="F (Fragmentation bit):">If the bit is set
to 1, it specifies the message is fragmented.</t>
</list>
</t>
<t>If P2MP bit is set, the following P2MP-LSP-IDENTIFIER
TLV MUST be present in LSP object.</t>
</section>
<section title="P2MP-LSP-IDENTIFIER TLV"
toc="default">
<t>The P2MP LSP Identifier TLV MUST be included in the LSP
object in PCRpt message for RSVP-signaled P2MP TE LSPs. If
the TLV is missing, the PCE will generate an error with
error-type 6 (mandatory object missing) and error-value TBD
(P2MP-LSP-IDENTIFIERS TLV missing) and close the PCEP
session.</t>
<t>The P2MP LSP Identifier TLV MAY be included in the LSP
object in PCUpd message for RSVP-signaled P2MP TE LSPs. The
special value of all zeros for this TLV is used to refer to
all paths pertaining to a particular PLSP-ID.</t>
<t>There are two P2MP LSP Identifier TLVs, one for IPv4 and
one for IPv6.</t>
<t>The format of the IPV4-P2MP-LSP-IDENTIFIER TLV is shown
in the following figure:</t>
<figure align="left"
alt=""
height=""
suppress-title="false"
title="IPV4-P2MP-LSP-IDENTIFIER TLV format"
width=""
anchor="SEC_FIG1">
<artwork align="left"
alt=""
height=""
name=""
type=""
width=""
xml:space="preserve">
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=16 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 Tunnel Sender Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LSP ID | Tunnel ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Extended Tunnel ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| P2MP ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
</figure>
<t>The type of the TLV is [TBD] and it has a fixed length
of 16 octets. The value contains the following fields:</t>
<t>
<list style="hanging">
<t hangText="IPv4 Tunnel Sender Address:">contains the
sender node's IPv4 address, as defined in
<xref target="RFC3209" />, Section 4.6.2.1 for the
LSP_TUNNEL_IPv4 Sender Template Object.</t>
<t hangText="LSP ID:">contains the 16-bit 'LSP ID'
identifier defined in
<xref target="RFC3209" />, Section 4.6.2.1 for the
LSP_TUNNEL_IPv4 Sender Template Object.</t>
<t hangText="Tunnel ID:">contains the 16-bit 'Tunnel
ID' identifier defined in
<xref target="RFC3209" />, Section 4.6.1.1 for the
LSP_TUNNEL_IPv4 Session Object. Tunnel ID remains
constant over the life time of a tunnel.</t>
<t hangText="Extended Tunnel ID:">contains the 32-bit
'Extended Tunnel ID' identifier defined in
<xref target="RFC3209" />, Section 4.6.1.1 for the
LSP_TUNNEL_IPv4 Session Object.</t>
<t hangText="P2MP ID:">contains the 32-bit 'P2MP ID'
identifier defined in Section 19.1.1 of
<xref target="RFC4875" />for the P2MP LSP Tunnel IPv4
SESSION Object.</t>
</list>
</t>
<t>The format of the IPV6-P2MP-LSP-IDENTIFIER TLV is shown
in the following figure:</t>
<figure align="left"
alt=""
height=""
suppress-title="false"
title="IPV6-P2MP-LSP-IDENTIFIER TLV format"
width=""
anchor="SEC_FIG2">
<artwork align="left"
alt=""
height=""
name=""
type=""
width=""
xml:space="preserve">
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=40 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| IPv6 tunnel sender address |
+ (16 octets) +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LSP ID | Tunnel ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| Extended Tunnel ID |
+ (16 octets) +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| P2MP ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
</figure>
<t>The type of the TLV is [TBD] and it has a fixed length
of 40 octets. The value contains the following fields:</t>
<t>
<list style="hanging">
<t hangText="IPv6 Tunnel Sender Address:">contains the
sender node's IPv6 address, as defined in
<xref target="RFC3209" />, Section 4.6.2.2 for the
LSP_TUNNEL_IPv6 Sender Template Object.</t>
<t hangText="LSP ID:">contains the 16-bit 'LSP ID'
identifier defined in
<xref target="RFC3209" />, Section 4.6.2.2 for the
LSP_TUNNEL_IPv6 Sender Template Object.</t>
<t hangText="Tunnel ID:">contains the 16-bit 'Tunnel
ID' identifier defined in
<xref target="RFC3209" />, Section 4.6.1.2 for the
LSP_TUNNEL_IPv6 Session Object. Tunnel ID remains
constant over the life time of a tunnel. </t>
<t hangText="Extended Tunnel ID:">contains the 128-bit
'Extended Tunnel ID' identifier defined in
<xref target="RFC3209" />, Section 4.6.1.2 for the
LSP_TUNNEL_IPv6 Session Object.</t>
<t hangText="P2MP ID:">As defined above in
IPV4-P2MP-LSP-IDENTIFIERS TLV.</t>
</list>
</t>
</section>
<section title="S2LS Object" toc="default">
<t>The S2LS (Source-to-Leaves) Object is used to report RSVP-TE
state of one or more destiantions (leaves) encoded within the
END-POINTS object for a P2MP TE LSP. It MUST be carried in PCRpt
message along with END-POINTS object when N bit is set in
LSP object.</t>
<t>S2LS Object-Class is [TBD].</t>
<t>S2LS Object-Types is 1.</t>
<t>The format of the S2LS object is shown in the following
figure:</t>
<figure align="left"
alt=""
height=""
suppress-title="false"
title="S2LS object format"
width=""
anchor="SEC_FIG3">
<artwork align="left"
alt=""
height=""
name=""
type=""
width=""
xml:space="preserve">
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags | O|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// Optional TLVs //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
</figure>
<t>
<list style="hanging">
<t hangText="Flags(32 bits):"></t>
<t hangText="O(Operational - 3 bits)">the O Field
represents the operational status of the group of
destinations. The values are as per Operational field in LSP object defined in Section 7.3 of
<xref target='I-D.ietf-pce-stateful-pce'></xref>.</t>
</list>
</t>
<t>When N bit is set in LSP object then the O field in LSP
object represents the operational status of the full P2MP TE LSP and
the O field in S2LS object represents the operational status
of a group of destinations encoded within the END-POINTS
object.</t>
<t>Future documents MAY define optional TLVs that MAY be included
in the S2LS Object.</t>
</section>
</section>
<section title="PCEP Message Extensions"
toc="default">
<section title="The PCRpt Message"
toc="default"
anchor="SEC_RPT">
<t>As per Section 6.1 of
<xref target='I-D.ietf-pce-stateful-pce'></xref>, PCRpt
message is used to report the current state of a P2P TE
LSP. This document extends the PCRpt message in reporting
the status of P2MP TE LSP.</t>
<t>The format of PCRpt message is as follows:</t>
<figure align="left"
alt=""
height=""
suppress-title="true"
title=""
width=""
anchor="SEC_FIG4">
<artwork align="left"
alt=""
height=""
name=""
type=""
width=""
xml:space="preserve">
<PCRpt Message> ::= <Common Header>
<state-report-list>
Where:
<state-report-list> ::= <state-report>
[<state-report-list>]
<state-report> ::= [<SRP>]
<LSP>
<end-point-path-pair-list>
<attribute-list>
Where:
<end-point-path-pair-list>::=
[<END-POINTS>]
[<S2LS>]
<path>
[<end-point-path-pair-list>]
<path> ::= (<ERO>|<SERO>)
[<RRO>]
[<path>]
<attribute-list> is defined in [RFC5440] and
extended by PCEP extensions.
</artwork>
</figure>
<t>The P2MP END-POINTS object defined in
<xref target="RFC6006" />is mandatory for specifying
address of P2MP leaves grouped based on leaf types.</t>
<t>
<list style="symbols">
<t>New leaves to add (leaf type = 1)</t>
<t>Old leaves to remove (leaf type = 2)</t>
<t>Old leaves whose path can be modified/reoptimized (leaf type = 3)</t>
<t>Old leaves whose path must be left unchanged (leaf type = 4)</t>
</list>
</t>
<t>When reporting the status of a P2MP TE LSP, the
destinations are grouped in END-POINTS object based on the operational status (O
field in S2LS object) and leaf type (in END-POINTS). This way the leaves that share the same operational status are grouped together.
For reporing the status of delegated P2MP TE LSP, leaf-type = 3, where as for non-delegated
P2MP TE LSP, leaf-type = 4 is used.</t>
<t>For delegated P2MP TE LSP configuration changes are reported via PCRpt message. For example,
adding of new leaves END-POINTS (leaf-type = 1) is used where as removing of old leaves (leaf-type = 2) is used. </t>
<t>Note that we preserve compatibility with the
<xref target='I-D.ietf-pce-stateful-pce'></xref> definition
of <state-report>. At least one instance of
<END-POINTS> MUST be present in this message for P2MP LSP.</t>
<t>During state synchronization, the PCRpt message must report the status of the full P2MP TE LSP.</t>
<t>The S2LS object MUST be carried in PCRpt
message along with END-POINTS object when N bit is set in
LSP object for P2MP TE LSP. If the S2LS object is missing, the receiving
PCE MUST send a PCErr message with Error-type=6 (Mandatory Object
missing) and Error-value=TBD (S2LS object missing). If the
END-POINTS object is missing, the receiving
PCE MUST send a PCErr message with Error-type=6 (Mandatory Object
missing) and Error-value=3 (END-POINTS object missing) (defined
in <xref target='RFC5440'></xref>.</t>
</section>
<section title="The PCUpd Message"
toc="default"
anchor="SEC_UPD">
<t>As per Section 6.2 of
<xref target='I-D.ietf-pce-stateful-pce'></xref>, PCUpd
message is used to update P2P TE LSP attributes. This
document extends the PCUpd message in updating the
attributes of P2MP TE LSP.</t>
<t>The format of a PCUpd message is as follows:</t>
<figure align="left"
alt=""
height=""
suppress-title="true"
title=""
width=""
anchor="SEC_FIG5">
<artwork align="left"
alt=""
height=""
name=""
type=""
width=""
xml:space="preserve">
<PCUpd Message> ::= <Common Header>
<update-request-list>
Where:
<update-request-list> ::= <update-request>
[<update-request-list>]
<update-request> ::= <SRP>
<LSP>
<end-point-path-pair-list>
<attribute-list>
Where:
<end-point-path-pair-list>::=
[<END-POINTS>]
<path>
[<end-point-path-pair-list>]
<path> ::= (<ERO>|<SERO>)
[<path>]
<attribute-list> is defined in [RFC5440] and
extended by PCEP extensions.
</artwork>
</figure>
<t>Note that we preserve compatibility with the
<xref target='I-D.ietf-pce-stateful-pce'></xref> definition
of <update-request>.</t>
<t>The PCC MAY use the make-before-break or sub-group-based
procedures described in <xref target='RFC4875'></xref> based
on a local policy decision.</t>
<t>The END-POINTS object MUST be carried in PCUpd
message when N bit is set in
LSP object for P2MP TE LSP. If the
END-POINTS object is missing, the receiving
PCC MUST send a PCErr message with Error-type=6 (Mandatory Object
missing) and Error-value=3 (END-POINTS object missing) (defined
in <xref target='RFC5440'></xref>.</t>
</section>
<section title="The PCReq Message"
toc="default"
anchor="SEC_REQ">
<t>As per Section 3.4 of
<xref target='RFC6006'></xref>, PCReq
message is used for a P2MP path computation request.
This document extends the PCReq message such that a PCC MAY
include the LSP object in the PCReq message if the stateful PCE
P2MP capability has been negotiated on a PCEP session between
the PCC and a PCE.</t>
<t>The format of PCReq message is as follows:</t>
<figure align="left"
alt=""
height=""
suppress-title="true"
title=""
width=""
anchor="SEC_FIG6">
<artwork align="left"
alt=""
height=""
name=""
type=""
width=""
xml:space="preserve">
<PCReq Message>::= <Common Header>
<request>
where:
<request>::= <RP>
<end-point-rro-pair-list>
[<LSP>]
[<OF>]
[<LSPA>]
[<BANDWIDTH>]
[<metric-list>]
[<IRO>]
[<LOAD-BALANCING>]
where:
<end-point-rro-pair-list>::=<END-POINTS>[<RRO-List>][<BANDWIDTH>]
[<end-point-rro-pair-list>]
<RRO-List>::=<RRO>[<BANDWIDTH>][<RRO-List>]
<metric-list>::=<METRIC>[<metric-list>]
</artwork>
</figure>
</section>
<section title="The PCRep Message"
toc="default"
anchor="SEC_REP">
<t>As per Section 3.5 of
<xref target='RFC6006'></xref>, PCRep
message is used for a P2MP path computation reply.
This document extends the PCRep message such that a PCE MAY
include the LSP object in the PCRep message if the stateful PCE
P2MP capability has been negotiated on a PCEP session between
the PCC and a PCE.</t>
<t>The format of PCRep message is as follows:</t>
<figure align="left"
alt=""
height=""
suppress-title="true"
title=""
width=""
anchor="SEC_FIG7">
<artwork align="left"
alt=""
height=""
name=""
type=""
width=""
xml:space="preserve">
<PCRep Message>::= <Common Header>
<response>
<response>::=<RP>
[<end-point-path-pair-list>]
[<NO-PATH>]
[<attribute-list>]
where:
<end-point-path-pair-list>::=
[<END-POINTS>]<path>[<end-point-path-pair-list>]
<path> ::= (<ERO>|<SERO>) [<path>]
<attribute-list>::=[<LSP>]
[<OF>]
[<LSPA>]
[<BANDWIDTH>]
[<metric-list>]
[<IRO>]
</artwork>
</figure>
</section>
<section title="Example"
toc="default">
<section title="P2MP TE LSP Update Request"
toc="default">
<t>LSP Update Request message is sent by an active
stateful PCE to update the P2MP TE LSP parameters or
attributes. An example of a PCUpd message for P2MP TE LSP
is described below:</t>
<figure align="left"
alt=""
height=""
suppress-title="true"
title=""
width="">
<artwork align="left"
alt=""
height=""
name=""
type=""
width=""
xml:space="preserve">
Common Header
SRP
LSP with P2MP flag set
END-POINTS for leaf type 3
ERO list
</artwork>
</figure>
<t>In this example, a stateful PCE request updation of
path taken by some of the leaves in a P2MP tree. The
update request uses the END-POINT type 3
(modified/reoptimized). The ERO list represents the S2LS
path after modification. The update message does not need
to encode the full P2MP tree in this case.</t>
</section>
<section title="P2MP TE LSP Report"
toc="default">
<t>LSP State Report message is sent by a PCC to report or
delegate the P2MP TE LSP. An example of a PCRpt message
for a delegated P2MP TE LSP is described below to add new leaves to
an existing P2MP TE LSP:</t>
<figure align="left"
alt=""
height=""
suppress-title="true"
title=""
width="">
<artwork align="left"
alt=""
height=""
name=""
type=""
width=""
xml:space="preserve">
Common Header
LSP with P2MP flag set
END-POINTS for leaf type 1
S2LS (O=DOWN)
ERO list (empty)
</artwork>
</figure>
<t>An example of a PCRpt message for P2MP TE LSP is
described below to prune leaves from an existing P2MP TE
LSP:</t>
<figure align="left"
alt=""
height=""
suppress-title="true"
title=""
width="">
<artwork align="left"
alt=""
height=""
name=""
type=""
width=""
xml:space="preserve">
Common Header
LSP with P2MP flag set
END-POINTS for leaf type 2
S2LS (O=UP)
ERO list
</artwork>
</figure>
<t>An example of a PCRpt message for a delegated P2MP TE LSP is
described below to report status of leaves in an
existing P2MP TE LSP:</t>
<figure align="left"
alt=""
height=""
suppress-title="true"
title=""
width="">
<artwork align="left"
alt=""
height=""
name=""
type=""
width=""
xml:space="preserve">
Common Header
LSP with P2MP flag set
END-POINTS for leaf type 3
S2LS (O=UP)
ERO list
END-POINTS for leaf type 3
S2LS (O=DOWN)
ERO list
</artwork>
</figure>
<t>An example of a PCRpt message for a non-delegated P2MP TE LSP is
described below to report status of leaves:</t>
<figure align="left"
alt=""
height=""
suppress-title="true"
title=""
width="">
<artwork align="left"
alt=""
height=""
name=""
type=""
width=""
xml:space="preserve">
Common Header
LSP with P2MP flag set
END-POINTS for leaf type 4
S2LS (O=ACTIVE)
ERO list
END-POINTS for leaf type 4
S2LS (O=DOWN)
ERO list
</artwork>
</figure>
</section>
</section>
<section title="Report and Update Message Fragmentation"
toc="default">
<t>The total PCEP message length, including the common
header, is 16 bytes. In certain scenarios the P2MP report
and update request may not fit into a single PCEP message
(initial report or update). The F-bit is used in the LSP
object to signal that the initial report or update was too
large to fit into a single message and will be fragmented
into multiple messages. In order to identify the single
report or update, each message will use the same
PLSP-ID.</t>
<t>Fragmentation procedure described below for report or
update message is similar to
<xref target="RFC6006" />which describes request and
response message fragmentation.</t>
<section title="Report Fragmentation Procedure"
toc="default">
<t>If the initial report is too large to fit into a
single report message, the PCC will split the report over
multiple messages. Each message sent to the PCE, except
the last one, will have the F-bit set in the LSP object
to signify that the report has been fragmented into
multiple messages. In order to identify that a series of
report messages represents a single report, each message
will use the same PLSP-ID.</t>
<t>To indicate P2MP message fragmentation errors associated
with a P2MP Report, a Error-Type (18) and a new
error-value TBD is used if a PCE has not received the last
piece of the fragmented message, it should send an error
message to the PCC to signal that it has received an
incomplete message (i.e., "Fragmented Report failure").</t>
</section>
<section title="Update Fragmentation Procedure"
toc="default">
<t>Once the PCE computes and updates a path for some or
all leaves in a P2MP TE LSP, an update message is sent to
the PCC. If the update is too large to fit into a single
update message, the PCE will split the update over
multiple messages. Each update message sent by the PCE,
except the last one, will have the F-bit set in the LSP
object to signify that the update has been fragmented
into multiple messages. In order to identify that a
series of update messages represents a single update,
each message will use the same PLSP-ID and
SRP-ID-number.</t>
<t>To indicate P2MP message fragmentation errors associated
with a P2MP Update request, a Error-Type (18) and a new
error-value TBD is used if a PCC has not received the last
piece of the fragmented message, it should send an error
message to the PCE to signal that it has received an
incomplete message (i.e., "Fragmented Update failure").</t>
</section>
</section>
</section>
<section title="Non-Support of P2MP TE LSPs for Stateful PCE"
toc="default">
<t>The PCEP protocol extensions described in this document
for stateful PCEs with P2MP capability MUST NOT be used if
PCE has not advertised its stateful capability with P2MP as
per
<xref target="SEC_CA" />.
If the PCEP Speaker on the PCC supports the extensions of this
draft (understands the P2MP flag in the LSP object) but did not
advertise this capability, then upon receipt
of PCUpd message from the PCE, it SHOULD generate a PCErr with
error-type 19 (Invalid Operation), error-value TBD (Attempted
LSP Update Request for P2MP if active stateful PCE capability
for P2MP was not advertised). If the PCEP Speaker on the PCE
supports the extensions of this draft (understands the P2MP
flag in the LSP object) but did not advertise this
capability, then upon receipt of a PCRpt message from the PCC, it
SHOULD generate a PCErr with error-type 19 (Invalid Operation),
error-value TBD (Attempted LSP State Report for P2MP if stateful PCE
capability for P2MP was not advertised) and it will
terminate the PCEP session.</t>
<t>If a Stateful PCE receives a P2MP TE LSP report message
and the PCE does not understand the P2MP flag in the LSP
object, and therefore the PCEP extensions described in this
document, then the Stateful PCE would act as per
<xref target='I-D.ietf-pce-stateful-pce'></xref>.</t>
</section>
<section title="Manageability Considerations"
toc="default">
<t>All manageability requirements and considerations listed in
<xref target="RFC5440"/>, <xref target="RFC6006"/> and
<xref target='I-D.ietf-pce-stateful-pce'></xref>
apply to PCEP protocol extensions defined in this document. In
addition, requirements and considerations listed in this section
apply.</t>
<section title="Control of Function and Policy"
toc="default">
<t>A PCE or PCC implementation MUST allow configuring the
stateful PCEP capability and the LSP Update
capability for P2MP LSPs.</t>
</section>
<section title="Information and Data Models"
toc="default">
<t>The PCEP MIB module
SHOULD be extended to include advertised P2MP stateful capabilities,
P2MP synchronization status, and P2MP delegation status etc.</t>
</section>
<section title="Liveness Detection and Monitoring"
toc="default">
<t>Mechanisms defined in this document do not imply any new liveness detection
and monitoring requirements in addition to those already listed in
<xref target="RFC5440"/>.</t>
</section>
<section title="Verify Correct Operations"
toc="default">
<t>Mechanisms defined in this document do not imply any new operation
verification requirements in addition to those already listed in
<xref target="RFC5440"/>, <xref target="RFC6006"/> and
<xref target='I-D.ietf-pce-stateful-pce'></xref>.</t>
</section>
<section title="Requirements On Other Protocols"
toc="default">
<t>Mechanisms defined in this document do not imply any new requirements
on other protocols.</t>
</section>
<section title="Impact On Network Operations"
toc="default">
<t>Mechanisms defined in this document do not have any impact on
network operations in addition to those already listed in
<xref target="RFC5440"/>, <xref target="RFC6006"/> and
<xref target='I-D.ietf-pce-stateful-pce'></xref>.</t>
</section>
</section>
<section title="IANA Considerations"
toc="default">
<t>This document requests IANA actions to allocate code
points for the protocol elements defined in this document.
Values shown here are suggested for use by IANA.</t>
<section title="STATEFUL-PCE-CAPABILITY TLV"
toc="default">
<t>The following values are defined in this document for the
Flags field in the STATEFUL-PCE-CAPABILITY-TLV in the OPEN
object:</t>
<figure title=""
suppress-title="true"
align="left"
alt=""
width=""
height="">
<artwork xml:space="preserve"
name=""
type=""
align="left"
alt=""
width=""
height="">
<![CDATA[
Bit Description Reference
TBD P2MP-CAPABILITY This.I-D
TBD P2MP-LSP-UPDATE- This.I-D
CAPABILITY
]]>
</artwork>
</figure>
</section>
<section title="Extension of LSP Object"
toc="default">
<t>This document requests that a registry is created to
manage the Flags field of the LSP object. New values are to
be assigned by Standards Action
<xref target="RFC5226" />. Each bit should be tracked with
the following qualities:</t>
<t>
<list style="symbols">
<t>Bit number (counting from bit 0 as the most
significant bit)</t>
<t>Capability description</t>
<t>Defining RFC</t>
</list>
</t>
<t>The following values are defined in this document:</t>
<figure title=""
suppress-title="true"
align="left"
alt=""
width=""
height="">
<artwork xml:space="preserve"
name=""
type=""
align="left"
alt=""
width=""
height="">
<![CDATA[
Bit Description Reference
TBD P2MP This.I-D
TBD Fragmentation This.I-D
]]>
</artwork>
</figure>
</section>
<section title="Extension of PCEP-Error Object"
toc="default">
<t>A new error types 6 and 19 defined in section 8.4 of
<xref target='I-D.ietf-pce-stateful-pce'></xref>. This
document extend the new Error-Values for those error types
for the following error conditions:</t>
<figure title=""
suppress-title="true"
align="left"
alt=""
width=""
height="">
<artwork xml:space="preserve"
name=""
type=""
align="left"
alt=""
width=""
height="">
<![CDATA[
Error-Type Meaning
6 Mandatory Object missing
Error-value=TBD: S2LS object missing
Error-value=TBD: P2MP-LSP-IDENTIFIER TLV missing
18 P2MP Fragmentation Error
Error-value= TBD. Fragmented Report
failure
Error-value= TBD. Fragmented Update
failure
19 Invalid Operation
Error-value= TBD. Attempted LSP State Report
for P2MP if stateful PCE capability
for P2MP was not advertised
Error-value= TBD. Attempted LSP Update Request
for P2MP if active stateful PCE capability
for P2MP was not advertised
]]>
</artwork>
</figure>
</section>
<section title="PCEP TLV Type Indicators"
toc="default">
<t>This document defines the following new PCEP TLVs:</t>
<figure title=""
suppress-title="true"
align="left"
alt=""
width=""
height="">
<artwork xml:space="preserve"
name=""
type=""
align="left"
alt=""
width=""
height="">
<![CDATA[
Value Meaning Reference
TBD P2MP-IPV4-LSP-IDENTIFIERS This.I-D
TBD P2MP-IPV6-LSP-IDENTIFIERS This.I-D
]]>
</artwork>
</figure>
</section>
</section>
<section title="Security Considerations"
toc="default">
<t>The stateful operations on P2MP TE LSP are more
CPU-intensive and also utilize more link bandwidth. In the event of
an unauthorized stateful P2MP operations, or a denial of service
attack, the subsequent PCEP operations may be disruptive
to the network. Consequently, it is important that implementations
conform to the relevant security requirements of
<xref target="RFC5440"/>, <xref target="RFC6006"/> and
<xref target='I-D.ietf-pce-stateful-pce'></xref>.</t>
</section>
<section title="Acknowledgments"
toc="default">
<t>Thanks to Quintin Zhao and Venugopal Reddy for his comments.</t>
</section>
</middle>
<back>
<references title="Normative References">
<?rfc include="reference.RFC.2119.xml" ?>
<?rfc include="reference.RFC.5440.xml" ?>
<?rfc include="reference.RFC.6006.xml" ?>
<?rfc include="reference.I-D.ietf-pce-stateful-pce"?>
</references>
<references title="Informative References">
<?rfc include="reference.RFC.3209.xml" ?>
<?rfc include="reference.RFC.4655.xml" ?>
<?rfc include="reference.RFC.4857.xml" ?>
<?rfc include="reference.RFC.4875.xml" ?>
<?rfc include="reference.RFC.5226.xml" ?>
<?rfc include="reference.RFC.5671.xml" ?>
<?rfc include="reference.I-D.ietf-pce-stateful-pce-app"?>
<?rfc include="reference.I-D.ietf-pce-pce-initiated-lsp"?>
<?rfc include="reference.I-D.ietf-pce-stateful-sync-optimizations"?>
<?rfc include="reference.I-D.sivabalan-pce-disco-stateful"?>
</references>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-24 12:27:51 |