rfc8697xml2.original.xml | rfc8697.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="US-ASCII"?> | <?xml version='1.0' encoding='utf-8'?> | |||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
<?rfc toc="yes"?> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" | |||
<?rfc tocompact="yes"?> | category="std" consensus="true" docName="draft-ietf-pce-association-group-1 | |||
<?rfc tocdepth="3"?> | 0" number="8697" ipr="trust200902" obsoletes="" updates="" xml:lang="en" tocIncl | |||
<?rfc tocindent="yes"?> | ude="true" symRefs="true" sortRefs="false" version="3"> | |||
<?rfc symrefs="yes"?> | <!-- xml2rfc v2v3 conversion 2.32.0 --> | |||
<?rfc sortrefs="no"?> | ||||
<?rfc comments="yes"?> | ||||
<?rfc inline="yes"?> | ||||
<?rfc compact="yes"?> | ||||
<?rfc subcompact="no"?> | ||||
<rfc category="std" docName="draft-ietf-pce-association-group-10" ipr="trust2009 | ||||
02"> | ||||
<front> | <front> | |||
<title abbrev="PCE association group"> | <title abbrev="PCE Association Group"> | |||
Path Computation Element Communication Protocol (PCEP) Extensions for Establ | Path Computation Element Communication Protocol (PCEP) Extensions for Establ | |||
ishing Relationships Between Sets of Label Switched Paths (LSPs)</title> | ishing Relationships between Sets of Label Switched Paths (LSPs)</title> | |||
<seriesInfo name="RFC" value="8697"/> | ||||
<author fullname="Ina Minei" initials="I." surname="Minei"> | <author fullname="Ina Minei" initials="I." surname="Minei"> | |||
<organization>Google, Inc.</organization> | <organization>Google, Inc.</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>1600 Amphitheatre Parkway</street> | <street>1600 Amphitheatre Parkway</street> | |||
<city>Mountain View</city> | <city>Mountain View</city> | |||
<region>CA</region> | <region>CA</region> | |||
<code>94043</code> | <code>94043</code> | |||
<country>US</country> | <country>United States of America</country> | |||
</postal> | </postal> | |||
<email>inaminei@google.com</email> | <email>inaminei@google.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Edward Crabbe" initials="E." surname="Crabbe"> | <author fullname="Edward Crabbe" initials="E." surname="Crabbe"> | |||
<organization>Individual Contributor</organization> | <organization>Individual Contributor</organization> | |||
<address> | <address> | |||
<email>edward.crabbe@gmail.com</email> | <email>edward.crabbe@gmail.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Siva Sivabalan" initials="S." surname="Sivabalan"> | <author fullname="Siva Sivabalan" initials="S." surname="Sivabalan"> | |||
<organization>Cisco Systems, Inc.</organization> | <organization>Cisco Systems, Inc.</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>170 West Tasman Dr.</street> | <street>170 West Tasman Dr.</street> | |||
<city>San Jose</city> | <city>San Jose</city> | |||
<region>CA</region> | <region>CA</region> | |||
<code>95134</code> | <code>95134</code> | |||
<country>US</country> | <country>United States of America</country> | |||
</postal> | </postal> | |||
<email>msiva@cisco.com</email> | <email>msiva@cisco.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Hariharan Ananthakrishnan" initials="H." surname="Ananthak rishnan"> | <author fullname="Hariharan Ananthakrishnan" initials="H." surname="Ananthak rishnan"> | |||
<organization>Netflix</organization> | <organization>Netflix</organization> | |||
<address> | <address> | |||
<email>hari@netflix.com</email> | <email>hari@netflix.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Dhruv Dhody" initials="D." surname="Dhody"> | <author fullname="Dhruv Dhody" initials="D." surname="Dhody"> | |||
<organization>Huawei</organization> | <organization>Huawei</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>Divyashree Techno Park, Whitefield</street> | <street>Divyashree Techno Park, Whitefield</street> | |||
<city>Bangalore</city> | <city>Bangalore</city> | |||
<region>KA</region> | <region>KA</region> | |||
<code>560066</code> | <code>560066</code> | |||
<country>India</country> | <country>India</country> | |||
</postal> | </postal> | |||
skipping to change at line 71 ¶ | skipping to change at line 59 ¶ | |||
<organization>Huawei</organization> | <organization>Huawei</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>Divyashree Techno Park, Whitefield</street> | <street>Divyashree Techno Park, Whitefield</street> | |||
<city>Bangalore</city> | <city>Bangalore</city> | |||
<region>KA</region> | <region>KA</region> | |||
<code>560066</code> | <code>560066</code> | |||
<country>India</country> | <country>India</country> | |||
</postal> | </postal> | |||
<email>dhruv.ietf@gmail.com</email> | <email>dhruv.ietf@gmail.com</email> | |||
<!-- uri and facsimile elements may also be added --> | ||||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Yosuke Tanaka" initials="Y." surname="Tanaka"> | <author fullname="Yosuke Tanaka" initials="Y." surname="Tanaka"> | |||
<organization>NTT Communications Corporation</organization> | <organization>NTT Communications Corporation</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>Granpark Tower 3-4-1 Shibaura, Minato-ku | <street>Granpark Tower 3-4-1 Shibaura, Minato-ku</street> | |||
</street> | <region>Tokyo</region> | |||
<city>Tokyo</city> | <code>108-8118</code> | |||
<region></region> | <country>Japan</country> | |||
<code>108-8118</code> | </postal> | |||
<country>Japan</country> | <email>yosuke.tanaka@ntt.com</email> | |||
</postal> | ||||
<email>yosuke.tanaka@ntt.com</email> | ||||
</address> | </address> | |||
</author> | </author> | |||
<date year="2020" month="January"/> | ||||
<date year="2019" /> | <keyword>PCE</keyword> | |||
<keyword>PCEP</keyword> | ||||
<workgroup>PCE Working Group</workgroup> | <keyword>Association</keyword> | |||
<keyword>PCE, PCEP, Association, Group</keyword> | <keyword>Group</keyword> | |||
<abstract> | <abstract> | |||
<t>This document introduces a generic mechanism to create a grouping of Labe l Switched Paths (LSPs) in the | <t>This document introduces a generic mechanism to create a grouping of La bel Switched Paths (LSPs) in the | |||
context of a Path Computation Element (PCE). | context of a Path Computation Element (PCE). | |||
This grouping can then be used to define associations between sets of LSP s or between a | This grouping can then be used to define associations between sets of LSP s or between a | |||
set of LSPs and a set of attributes (such as configuration parameters or | set of LSPs and a set of attributes (such as configuration parameters | |||
behaviours), | or behaviors), and it is equally applicable to the stateful PCE (active a | |||
and is equally applicable to the stateful PCE (active and passive modes) | nd passive modes) and the stateless PCE. | |||
as well as the stateless PCE. | ||||
</t> | ||||
</abstract> | ||||
<note title="Requirements Language"> | ||||
<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"/>.-- | ||||
> | ||||
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 <xref target="RFC2119"/> <xref target="RFC8174"/> when | ||||
, and only when, they | ||||
appear in all capitals, as shown here. | ||||
</t> | </t> | |||
</abstract> | ||||
</note> | ||||
</front> | </front> | |||
<middle> | <middle> | |||
<section title="Introduction"> | <section numbered="true" toc="default"> | |||
<t><xref target="RFC5440"/> describes the Path Computation Element (PCE) | <name>Introduction</name> | |||
Communication Protocol (PCEP). PCEP enables the communication between a P | <t><xref target="RFC5440" format="default"/> describes the Path Computatio | |||
ath Computation | n Element (PCE) | |||
Client (PCC) and a PCE, or between PCE and PCE, | Communication Protocol (PCEP). PCEP enables communication between a | |||
for the purpose of computation of Multiprotocol Label Switching (MPLS) as | Path Computation Client (PCC) and a PCE, or between a PCE and another | |||
well | PCE, for the purpose of the computation of Multiprotocol Label Switching | |||
as Generalized MPLS (GMPLS) Traffic | (MPLS) as well as Generalized MPLS (GMPLS) Traffic Engineering Label | |||
Engineering Label Switched Path (TE LSP) characteristics. | Switched Path (TE LSP) characteristics. | |||
</t> | </t> | |||
<t><xref target="RFC8231" format="default"/> specifies a set of extensions | ||||
<t><xref target='RFC8231'></xref> specifies a | to PCEP | |||
set of extensions to PCEP to enable stateful | to enable stateful control of TE LSPs within and across PCEP sessions in | |||
control of TE LSPs within and across PCEP sessions in compliance with | compliance with <xref target="RFC4657" format="default"/>. It includes mec | |||
<xref target="RFC4657"/>. It includes mechanisms to effect LSP State Synch | hanisms to | |||
ronization between PCCs and PCEs, | effect LSP State Synchronization between PCCs and PCEs, delegation of | |||
delegation of control over LSPs to PCEs, and PCE control of timing | control over LSPs to PCEs, and PCE control of timing and sequence of | |||
and sequence of path computations within and across PCEP sessions. The model | path computations within and across PCEP sessions. The operational model | |||
of | whereby LSPs are initiated from the PCE is described in <xref target="RFC8 | |||
operation where LSPs are initiated from the PCE is described in | 281" format="default"/>. | |||
<xref target='RFC8281'></xref>. | ||||
</t> | </t> | |||
<t><xref target="RFC4872" format="default"/> defines the RSVP ASSOCIATION | ||||
<t><xref target='RFC4872'/> defines the RSVP ASSOCIATION object, which was | object, which | |||
defined in the context of | was defined in the context of GMPLS-controlled LSPs to be used to | |||
GMPLS-controlled Label Switched Paths (LSPs) to be used to associate recov | associate recovery LSPs with the LSP they are protecting. This object | |||
ery LSPs with the LSP they are protecting. | also has broader applicability as a mechanism to associate RSVP | |||
This object also has broader applicability as a mechanism to | state. <xref target="RFC6780" format="default"/> describes how the ASSOCIA | |||
associate RSVP state and <xref target='RFC6780'/> described how the ASSOCIATI | TION object can | |||
ON | be more generally applied by defining the Extended ASSOCIATION | |||
object can be more generally applied by defining the Extended ASSOCIATION Obj | object.</t> | |||
ect.</t> | <t> This document introduces a generic mechanism to create a grouping of L | |||
SPs. | ||||
<t> This document introduces a generic mechanism to create a grouping of | ||||
LSPs. | ||||
This grouping can then be used to define associations between sets of LSP s or between a | This grouping can then be used to define associations between sets of LSP s or between a | |||
set of LSPs and a set of attributes (such as configuration parameters or | set of LSPs and a set of attributes (such as configuration parameters | |||
behaviours), | or behaviors), and it is equally applicable to the stateful PCE (active | |||
and is equally applicable to stateful PCE (active and passive modes) and | and passive modes) and the stateless PCE. | |||
stateless PCE. | The associations could be created dynamically and conveyed to a PCEP | |||
The associations could be created dynamically and conveyed to a PCEP peer | peer within PCEP, or they could be configured manually by an operator | |||
within PCEP, or | on the PCEP peers. Refer to <xref target="Operation-overview" format="def | |||
it could be configured manually by an operator on the PCEP peers. Refer < | ault"/> for | |||
xref target="Operation-overview"/> for more details. | more details. | |||
</t> | </t> | |||
<section numbered="true" toc="default"> | ||||
</section> <!-- Introduction --> | <name>Requirements Language</name> | |||
<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | ||||
<section title="Terminology"> | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", | |||
<t>This document uses the following terms defined in <xref | "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", | |||
target="RFC5440"/>: PCC, PCE, PCEP Peer, Path Computation Request (PCReq), | "<bcp14>SHOULD NOT</bcp14>", | |||
Path Computation Reply (PCRep), and PCEP Error (PCErr).</t> | "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
<t>This document uses the following terms defined in <xref | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are | |||
target="RFC8051"/>: Stateful PCE, Active Stateful PCE, Passive Stateful PC | to be interpreted as described in BCP 14 <xref target="RFC2119"/> | |||
E, and Delegation.</t> | <xref target="RFC8174"/> when, and only when, they appear in all capitals, | |||
<t>This document uses the following terms defined in <xref | as shown here.</t> | |||
target="RFC8231"/>: LSP State | </section> | |||
Report (PCRpt), LSP Update Request (PCUpd), and State Timeout Interval.</t> | </section> | |||
<t>This document uses the following terms defined in <xref | <section numbered="true" toc="default"> | |||
target='RFC8281'/>: PCE-initiated LSP, and LSP Initiate Request (PCIniti | <name>Terminology</name> | |||
ate).</t> | <t>This document uses the following terms defined in <xref target="RFC5440 | |||
" format="default"/>:</t> | ||||
<!-- No longer needed! <t> The following term is defined in this document: | <ul spacing="normal"> | |||
</t> | <li>PCC</li> | |||
<li>PCE</li> | ||||
<t> Association Timeout Interval: when a PCEP session is terminated, | <li>PCEP Peer</li> | |||
a PCC waits for this time period before deleting associations created by t | <li>Path Computation Request (PCReq)</li> | |||
he PCEP peer. | <li>Path Computation Reply (PCRep)</li> | |||
</t>--> | <li>PCEP Error (PCErr)</li> | |||
</section> <!-- Terminology --> | </ul> | |||
<t>This document uses the following terms defined in <xref target="RFC8051 | ||||
<section anchor="Overview" title="Architectural Overview"> | " format="default"/>:</t> | |||
<section anchor="Motivation" title="Motivation"> | <ul spacing="normal"> | |||
<t> | <li>Stateful PCE</li> | |||
<!--Stateful PCE provides the ability to update existing LSPs and to in | <li>Active Stateful PCE</li> | |||
stantiate new ones. | <li>Passive Stateful PCE</li> | |||
To enable support for PCE-controlled make-before-break and for protecti | <li>Delegation</li> | |||
on, there is a need | </ul> | |||
to define associations between LSPs. For example, the association betwe | <t>This document uses the following terms defined in <xref target="RFC8231 | |||
en the original | " format="default"/>:</t> | |||
and the re-optimized path in the make-before break scenario, or between | <ul spacing="normal"> | |||
the | <li>LSP State Report (PCRpt)</li> | |||
working and protection path in end-to-end protection. Another use for L | <li>LSP Update Request (PCUpd)</li> | |||
SP grouping is for | <li>State Timeout Interval</li> | |||
applying a common set of configuration parameters or behaviors to a set | </ul> | |||
of LSPs.--> | <t>This document uses the following terms defined in <xref target="RFC8281 | |||
" format="default"/>:</t> | ||||
Stateful PCE provides the ability to update existing LSPs and to | <ul spacing="normal"> | |||
instantiate new ones. There are various situations where several | <li>PCE-initiated LSP</li> | |||
LSPs need to share common information. E.g., to support for | <li>LSP Initiate Request (PCInitiate)</li> | |||
PCE-controlled make-before-break, an association between the original | </ul> | |||
and the re-optimized path is desired. Similarly, for end-to-end protect | </section> | |||
ion, the association | <section anchor="Overview" numbered="true" toc="default"> | |||
between working and protection LSPs is required (see <xref target="I-D. | <name>Architectural Overview</name> | |||
ietf-pce-stateful-path-protection"/>). For diverse paths, an association between | <section anchor="Motivation" numbered="true" toc="default"> | |||
a group of LSPs could be used (see <xref target="I-D.ietf-pce-association-diver | <name>Motivations</name> | |||
sity"/>). Another use for the LSP grouping is for | <t>A stateful PCE provides the ability to update existing LSPs and to | |||
applying a common set of configuration parameters or behaviours to a se | instantiate new ones. There are various situations where several | |||
t of LSPs. | LSPs need to share common information. For example, to support | |||
</t> | PCE-controlled make-before-break, an association between the original | |||
<t> | path and the reoptimized path is desired. Similarly, for end-to-end | |||
For a stateless PCE, it might be useful to associate a path | protection, an association between working and protection LSPs is | |||
computation request to an association group, thus enabling it to associate | required (see <xref target="I-D.ietf-pce-stateful-path-protection" format=" | |||
a common set of policy, configuration parameters or behaviours with the re | default"/>). For diverse paths, an | |||
quest. | association between a group of LSPs could be used (see <xref target="I-D.ie | |||
</t> | tf-pce-association-diversity" format="default"/>). Another use for an LSP group | |||
<t>Some associations could be created dynamically, such as association betw | ing would be to apply | |||
een the working and protection LSPs of a tunnel, whereas | a common set of configuration parameters or behaviors to a set of LSPs. | |||
some associations could be created by the operator manually, such as pol | </t> | |||
icy-based association, where the LSP could join | <t> | |||
an operator-configured existing association.</t> | For a stateless PCE, it might be useful to associate a PCReq message to a | |||
<t> | n association group, thus enabling it to associate | |||
Rather than creating separate mechanisms for each use case, this document d | a common set of policies, configuration parameters, or behaviors with the | |||
efines a generic mechanism that can | request. | |||
be reused as needed. | </t> | |||
</t> | <t>Some associations could be created dynamically, such as an associatio | |||
</section><!-- Motivation --> | n | |||
<section title="Relationship with the SVEC List"> | between the working and protection LSPs of a tunnel, whereas | |||
<t>Note that, <xref target="RFC5440"/> defines a mechanism for the synchr | some associations could be created by the operator manually, such as | |||
onization of a set of path computation requests | a policy-based association where the LSP could join an | |||
by using the SVEC (Synchronization VECtor) object, that specifies the list of | operator-configured existing association.</t> | |||
synchronized | <t> | |||
requests that can either be dependent or independent. The SVEC object identif | Rather than creating separate mechanisms for each use case, this document | |||
ies the relationship between the set of path computation requests, identified by | defines a generic mechanism that can be reused as needed. | |||
'Request-ID-number' in RP (Request Parameters) object. <xref target="RFC6007"/> | </t> | |||
further clarifies the use of the SVEC list for | </section> | |||
synchronized path computations when computing dependent requests as well as d | <section numbered="true" toc="default"> | |||
escribes a number of usage scenarios for SVEC | <name>Relationship to the SVEC List</name> | |||
lists within single-domain and multi-domain environments.</t> | <t>Note that <xref target="RFC5440" format="default"/> defines a mechani | |||
<t>The motivation behind the association group defined in this document | sm for the | |||
synchronization of a set of PCReq messages by using the SVEC | ||||
(Synchronization VECtor) object, which specifies the list of | ||||
synchronized requests that can be either dependent or independent. The | ||||
SVEC object identifies the relationship between the set of | ||||
PCReq messages, identified by "Request-ID-number" in the RP | ||||
(Request Parameters) object. <xref target="RFC6007" format="default"/> fu | ||||
rther clarifies | ||||
the use of the SVEC list for synchronized path computations when | ||||
computing dependent requests, and it describes a number of usage | ||||
scenarios for SVEC lists within single-domain and multi-domain | ||||
environments.</t> | ||||
<t>The motivations behind the association group defined in this document | ||||
and the SVEC object are quite different, though some use cases may | and the SVEC object are quite different, though some use cases may | |||
overlap. PCEP extensions that define a new association type should | overlap. PCEP extensions that define a new Association Type should | |||
clarify the relationship between the SVEC object and the association | clarify the relationship between the SVEC object and the Association | |||
type, if any.</t> | Type, if any.</t> | |||
</section> | </section> | |||
<section anchor="Operation-overview" numbered="true" toc="default"> | ||||
<section anchor="Operation-overview" title="Operation Overview"> | <name>Operational Overview</name> | |||
<t> | <t> | |||
LSPs are associated with other LSPs with which they interact by | LSPs are associated with other LSPs with which they interact by | |||
adding them to a common association group. Association groups as | adding them to a common association group. Association groups as | |||
defined in this document can be applied to LSPs originating at the same hea | defined in this document can be applied to LSPs originating at the same | |||
d end | headend or different headends.</t> | |||
or different head ends.</t> | <t>Some associations could be created dynamically by a PCEP speaker, and | |||
the associations (along with the set of LSPs) are conveyed to a PCEP | ||||
<t>Some associations could be created dynamically by a PCEP speaker and the | peer. Whereas some associations are configured by the operator | |||
associations (along with the set of LSPs) are conveyed to a PCEP peer. | beforehand on the PCEP peers in question, a PCEP speaker could then ask | |||
Whereas some associations are configured by the operator on the PCEP pee | an LSP to join the Operator-configured Association. Usage of dynamic and | |||
rs involved beforehand, a PCEP speaker then could ask for a LSP to join the oper | configured associations is usually dependent on the type of | |||
ator-configured association. Usage of dynamic and configured association is usua | association.</t> | |||
lly dependent on the type of the association.</t> | <t>For Operator-configured Associations, the association | |||
parameters, such as the Association Identifier (Association ID), Association Typ | ||||
<t>For the operator-configured association, the association parameters s | e, and | |||
uch as the association identifier, association type, | the Association Source IP address, are manually configured by the | |||
as well as the association source IP address, are manually configured by th | operator. In the case of a dynamic association, the association parameters, | |||
e | such as the Association ID, are allocated dynamically by the | |||
operator. In case of dynamic association, the association parameters such as | PCEP speaker. The Association Source is set as the local PCEP speaker | |||
the association identifier, are allocated dynamically by the PCEP speaker, the a | address unless local policy dictates otherwise, in which case the | |||
ssociation source is set as local PCEP speaker address, unless local policy dict | Association Source is set based on the local policy.</t> | |||
ates otherwise, in which case association source is set based on the local polic | <t>The dynamically created association can be reported to the PCEP peer | |||
y.</t> | via the PCEP messages as per the stateful extensions. When the | |||
Operator-configured Association is known to the PCEP peer beforehand, a | ||||
<t>The dynamically created association can be reported to the PCEP peer | PCEP peer could ask an LSP to join the Operator-configured Association | |||
via the PCEP messages as per the stateful extensions. When the operator-con | via the stateful PCEP messages.</t> | |||
figured association is known to the PCEP peer beforehand, a PCEP peer could ask | <t>The associations are properties of the LSP and thus could be stored i | |||
for a LSP to join the operator-configured association via the stateful PCEP mess | n | |||
ages.</t> | the LSP state database. The dynamic association exists as long as the LSP | |||
state exists. In the case of PCEP session termination, the LSP state cleanup | ||||
<t>The associations are properties of the LSP and thus could be stored in th | <bcp14>MUST</bcp14> also take care of associations.</t> | |||
e LSP state database. The dynamic association exists as long as the LSP | <t>Multiple types of associations can exist, each with its own | |||
state exists. In case of PCEP session termination, the LSP state clean-up MUST a | Association ID space. The definition of the different Association | |||
lso take care of associations.</t> | Types and their behaviors is outside the scope of this document. The | |||
establishment and removal of the association relationship can be done on | ||||
<!--<t>For LSPs originating at the same head end, the association | a per-LSP basis. An LSP may join multiple association groups that have | |||
can be initiated by either the PCC (head end) or by a PCE. Only a statefu | the same Association Type or different Association Types.</t> | |||
l | </section> | |||
PCE can initiate an association for LSPs originating at different head ends | <section anchor="Range" numbered="true" toc="default"> | |||
. | <name>Operator-Configured Association Range</name> | |||
For both cases, the association is uniquely identified by the combination o | <t>Some Association Types are dynamic, some are operator configured, | |||
f an association | and some could be both. For the Association Types that could be both | |||
identifier and the address of the node that created the association. | dynamic and operator configured and use the same | |||
</t>--> | Association Source, it is necessary to distinguish a range of | |||
Association IDs that are marked for Operator-configured | ||||
<t> | Associations, to avoid any Association ID clashes within the | |||
Multiple types of associations can exist, each with their own associati | scope of the Association Source. This document assumes that these two | |||
on identifier space. | ranges are configured. | |||
The definition of the different association types and their behaviours is | ||||
outside the scope of this document. The establishment and removal of the | ||||
association relationship can be done on a per LSP basis. | ||||
An LSP may join multiple association groups, of different or of the same as | ||||
sociation type. | ||||
</t> | ||||
<!--<t> | ||||
In the case of a stateless PCE, associations are created out of band, and | ||||
PCEP peers should be aware of the association and its significance | ||||
outside of the protocol. | ||||
</t>--> | ||||
<!--<t> | ||||
Association groups can be created by both PCC and PCE. When a PCC's | ||||
PCEP session with a PCE terminates unexpectedly, the PCC cleans up associati | ||||
ons (as per | ||||
the processing rules in this document). | ||||
</t>--> | ||||
</section><!-- Operation overview --> | ||||
<section title="Operator-configured Association Range" anchor="Range"> | ||||
<t>Some association types are dynamic, some are operator-configured and | ||||
some could be both. For the association types that could be both dynamic and ope | ||||
rator-configured and use the same association source, <!--it is necessary to con | ||||
figure a range of association identifiers that are marked for operator-configure | ||||
d associations to avoid any association identifier clash within the scope of the | ||||
association source.-->it is necessary to distinguish a range of association ide | ||||
ntifiers that | ||||
are marked for operator-configured associations to avoid any | ||||
association identifier clash within the scope of the association | ||||
source. This document assumes that these two ranges are configured. | ||||
</t> | </t> | |||
<t>A range of Association IDs for each Association Type (and | ||||
<t>A range of association identifiers for each Association type (and Ass | Association Source) is kept for the Operator-configured | |||
ociation Source) are kept for the operator-configured associations. | Associations. Dynamic associations <bcp14>MUST NOT</bcp14> use the | |||
Dynamic associations MUST NOT use the association identifier from th | Association ID from this range. </t> | |||
is range. </t> | <t>This range, as set at the PCEP speaker (a PCC or PCE, as an | |||
Association Source), needs to be communicated to a PCEP peer in the | ||||
<t>This range as set at the PCEP speaker (PCC or PCE, as an association | Open message. A new TLV is defined in this specification for this | |||
source) needs to be communicated to a PCEP peer in the Open Message. | purpose (<xref target="Range-tlv" format="default"/>). See <xref target=" | |||
A new TLV is defined in this specification for this purpose (<xref tar | ex" format="default"/> for an | |||
get="Range-tlv"/>). See <xref target="ex"/> for an example.</t> | example.</t> | |||
<t>The Association ID range for sources other than the PCEP | ||||
<t>Association identifier range for sources other than the PCEP speaker | speaker (for example, a Network Management System (NMS)) is not | |||
(for example an NMS system) is not communicated in PCEP and the procedure for op | communicated in PCEP, and the procedure for Operator-configured | |||
erator-configured association range setting is outside the scope of this documen | Association Range settings is outside the scope of this document.</t> | |||
t.</t> | ||||
<!--<t>All operator-configured associations MUST use identifier from | ||||
the | ||||
range 0x10000 to 0xffffF and encode it in the extended associatio | ||||
n | ||||
id TLV. (<xref target="EXT-association"/>)</t>--> | ||||
</section> | </section> | |||
</section><!-- Overview --> | </section> | |||
<section anchor="Discovery" numbered="true" toc="default"> | ||||
<section anchor="Discovery" title="Discovery of Supported Association Types | <name>Discovery of Supported Association Types</name> | |||
"> | <t>This section defines PCEP extensions so as to support | |||
<t>This section defines PCEP extensions so as to support | the capability advertisement of the Association Types supported by a PCEP spe | |||
the capability advertisement of the association types supported by a PCEP spe | aker.</t> | |||
aker.</t> | <t>A new PCEP ASSOC-Type-List (Association Types list) TLV is defined. Th | |||
e | ||||
<t>A new PCEP ASSOC-Type-List (Association Types list) TLV is defined. The | ||||
PCEP ASSOC-Type-List TLV is carried within an OPEN object. This way, during | PCEP ASSOC-Type-List TLV is carried within an OPEN object. This way, during | |||
PCEP session-setup phase, a PCEP speaker can advertise to a PCEP peer the lis | the PCEP session-setup phase, a PCEP speaker can advertise to a PCEP peer | |||
t | the list of supported Association Types.</t> | |||
of supported Association types.</t> | <section numbered="true" toc="default"> | |||
<section title="ASSOC-Type-List TLV"> | <name>ASSOC-Type-List TLV</name> | |||
<t>The PCEP ASSOC-Type-List TLV is OPTIONAL. It MAY be carried within an OPE | <t>The PCEP ASSOC-Type-List TLV is <bcp14>OPTIONAL</bcp14>. It <bcp14>M | |||
N | AY</bcp14> be carried within an OPEN | |||
object sent by a PCEP speaker in an Open message to a PCEP peer so as to | object sent by a PCEP speaker in an Open message to a PCEP peer so as to | |||
indicate the list of supported Association types.</t> | indicate the list of supported Association Types.</t> | |||
<t>The PCEP ASSOC-Type-List TLV format is compliant with the PCEP TLV fo | ||||
<t>The PCEP ASSOC-Type-List TLV format is compliant with the PCEP TLV format | rmat defined | |||
defined | in <xref target="RFC5440" format="default"/>. That is, the TLV is composed o | |||
in <xref target="RFC5440"/>. That is, the TLV is composed of 2 octets for th | f 2 octets | |||
e type, | for the type, 2 octets specifying the TLV length, and a Value field. The Len | |||
2 octets specifying the TLV length, and a Value field. The Length | gth | |||
field defines the length of the value portion in octets. The TLV is | field defines the length of the value portion in octets. The TLV is | |||
padded to 4-octet alignment, and padding is not included in the | padded to 4-octet alignment, and padding is not included in the | |||
Length field (e.g., a 3-octet value would have a length of three, but | Length field (e.g., a 3-octet value would have a length of three, but | |||
the total size of the TLV would be eight octets).</t> | the total size of the TLV would be 8 octets).</t> | |||
<t>The PCEP ASSOC-Type-List TLV has the following format:</t> | ||||
<t>The PCEP ASSOC-Type-List TLV has the following format: | <figure anchor="ASSOC-Type-List"> | |||
<figure anchor="ASSOC-Type-List" title="The ASSOC-Type-List TLV format"> | <name>The ASSOC-Type-List TLV Format</name> | |||
<artwork><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
TYPE: TBD | ||||
LENGTH: N * 2 (where N is the number of association types) | ||||
VALUE: list of 2-byte association type code points, identifying | ||||
the association types supported by the sender of the Open | ||||
message. | ||||
0 1 2 3 | 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 | 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 | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Assoc-type #1 | Assoc-type #2 | | | Assoc-Type #1 | Assoc-Type #2 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
// // | // // | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Assoc-type #N | padding | | | Assoc-Type #N | padding | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork | |||
> | ||||
]]></artwork></figure> | </figure> | |||
</t> | <dl newline="false" spacing="normal"> | |||
<t>Assoc-type (2 bytes): Association type code point identifier. IANA | <dt>Type:</dt> | |||
manages the "ASSOCIATION Type Field" code point registry (see <xref target="i | <dd>35</dd> | |||
ana_assoc_type"/>).</t> | <dt>Length:</dt> | |||
<section title="Procedure"> | <dd>N * 2 (where N is the number of Association Types).</dd> | |||
<t>An ASSOC-Type-List TLV within an OPEN object in an Open | <dt>Value:</dt> | |||
<dd>List of 2-byte Association Type code points, identifying | ||||
the Association Types supported by the sender of the Open | ||||
message.</dd> | ||||
<dt>Assoc-Type (2 bytes):</dt> | ||||
<dd>Association Type code point identifier. | ||||
IANA manages the "ASSOCIATION Type Field" code point registry (see <xref targe | ||||
t="iana_assoc_type" format="default"/>).</dd> | ||||
</dl> | ||||
<section numbered="true" toc="default"> | ||||
<name>Procedure</name> | ||||
<t>An ASSOC-Type-List TLV within an OPEN object in an Open | ||||
message is included by a PCEP speaker in order to advertise a set of one or | message is included by a PCEP speaker in order to advertise a set of one or | |||
more supported association types. The ASSOC-Type-List TLV MUST NOT appear mo re than | more supported Association Types. The ASSOC-Type-List TLV <bcp14>MUST NOT</b cp14> appear more than | |||
once in an OPEN object. If it appears more than once, the PCEP | once in an OPEN object. If it appears more than once, the PCEP | |||
session MUST be rejected with error type 1 and error value 1 (PCEP | session <bcp14>MUST</bcp14> be rejected with Error-Type 1 and Error-value 1 ( PCEP | |||
session establishment failure / Reception of an invalid Open | session establishment failure / Reception of an invalid Open | |||
message). As specified in <xref target="RFC5440"/>, a PCEP peer that does not recognize the | message). As specified in <xref target="RFC5440" format="default"/>, a PCEP p eer that does not recognize the | |||
ASSOC-Type-List TLV will silently ignore it.</t> | ASSOC-Type-List TLV will silently ignore it.</t> | |||
<t>The Association Type (to be defined in future documents) can specif | ||||
<t>Association type (to be defined in other documents) can specify if the assoc | y if | |||
iation type advertisement is mandatory for it. | the Association Type advertisement is mandatory for it. | |||
Thus, the ASSOC-Type-List TLV MUST be included if at least one mandatory associa | Thus, the ASSOC-Type-List TLV <bcp14>MUST</bcp14> be included if at least one ma | |||
tion type needs to be advertised and the ASSOC-Type-List TLV MAY be included oth | ndatory | |||
erwise. | Association Type needs to be advertised, and the ASSOC-Type-List TLV <bcp14>MAY | |||
</bcp14> be | ||||
For an association type that specifies that the advertisement is mandatory, a | included otherwise. For an Association Type that specifies that the | |||
missing Assoc-type in the ASSOC-Type-List TLV (or missing ASSOC-Type-List TLV) i | advertisement is mandatory, a missing Assoc-Type in the ASSOC-Type-List TLV | |||
s to be interpreted as the association type is not supported by the PCEP speaker | (or a missing ASSOC-Type-List TLV) is to be interpreted as meaning that the | |||
.</t> | Association Type is not supported by the PCEP speaker.</t> | |||
<t>The absence of the ASSOC-Type-List TLV in an OPEN object <bcp14>MUS | ||||
<t>The absence of the ASSOC-Type-List TLV in an OPEN object MUST be interpret | T</bcp14> be | |||
ed as an absence of information on the list of supported | interpreted as an absence of information in the list of supported | |||
Association types (rather than the Association type is not supported). <!--Th | Association Types (rather than an indication that the Association Type is | |||
e PCEP speaker could still use the ASSOCIATION object, if the peer does not supp | not supported). In this case, the PCEP | |||
ort the association, it | ||||
would react as per the procedure described in <xref target="Rules"/>.-->In th | ||||
is case, the PCEP | ||||
speaker could still use the ASSOCIATION object: if the peer does not | speaker could still use the ASSOCIATION object: if the peer does not | |||
support the association, it will react as per the procedure described | support the association, it will react as per the procedure described | |||
in <xref target="Rules"/>.</t> | in <xref target="Rules" format="default"/>.</t> | |||
<t>If the use of the ASSOC-Type-List TLV is triggered by support for a | ||||
<t><!--It is RECOMMENDED that the PCEP implementation include all supported a | mandatory Association Type, then it is <bcp14>RECOMMENDED</bcp14> that the PC | |||
ssociation-types (including optional) to ease the operations of the PCEP peer.-- | EP | |||
> | implementation include all supported Association Types (including optional | |||
In case the use of the ASSOC-Type-List TLV is triggered by support for a ma | types) to ease the operations of the PCEP peer.</t> | |||
ndatory association type, then it is RECOMMENDED that the PCEP implementation in | </section> | |||
clude all supported Association types (including optional) to ease the operation | </section> | |||
s of the PCEP peer.</t> | ||||
</section> | ||||
</section> | ||||
</section> | </section> | |||
<section anchor="Range-tlv" title="Operator-configured Association Range TLV | <section anchor="Range-tlv" numbered="true" toc="default"> | |||
"> | <name>Operator-Configured Association Range TLV</name> | |||
<t>This section defines PCEP extension to support | <t>This section defines a PCEP extension to support | |||
the advertisement of the Operator-configured Association Range used for an As | the advertisement of the Operator-configured Association Range used for an As | |||
sociation type by the PCEP speaker (as an Association source).</t> | sociation Type by the PCEP speaker (as an Association Source).</t> | |||
<t>A new PCEP OP-CONF-ASSOC-RANGE (Operator-configured Association Range) | ||||
<t>A new PCEP OP-CONF-ASSOC-RANGE (Operator-configured Association Range) TLV | TLV is defined. The PCEP OP-CONF-ASSOC-RANGE TLV is carried within an OPEN | |||
is defined. The | object. This way, during the PCEP session-setup phase, a PCEP speaker can | |||
PCEP OP-CONF-ASSOC-RANGE TLV is carried within an OPEN object. This way, dur | advertise to a PCEP peer the Operator-configured Association Range for an | |||
ing | Association Type.</t> | |||
PCEP session-setup phase, a PCEP speaker can advertise to a PCEP peer | <t>The PCEP OP-CONF-ASSOC-RANGE TLV is <bcp14>OPTIONAL</bcp14>. It <bcp14 | |||
the Operator-configured Association Range for an association type.</t> | >MAY</bcp14> be carried within | |||
an OPEN object sent by a PCEP speaker in an Open message to a PCEP peer. | ||||
<t>The PCEP OP-CONF-ASSOC-RANGE TLV is OPTIONAL. It MAY be carried within an | The OP-CONF-ASSOC-RANGE TLV format is compliant with the PCEP TLV format | |||
OPEN | defined in <xref target="RFC5440" format="default"/>. That is, the TLV is co | |||
object sent by a PCEP speaker in an Open message to a PCEP peer. | mposed of 2 | |||
The OP-CONF-ASSOC-RANGE TLV format is compliant with the PCEP TLV format defi | bytes for the type, 2 bytes specifying the TLV length, and a Value field. | |||
ned | The Length field defines the length of the value portion in bytes.</t> | |||
in <xref target="RFC5440"/>. That is, the TLV is composed of 2 bytes for the | <t>The PCEP OP-CONF-ASSOC-RANGE TLV has the following format:</t> | |||
type, | <figure anchor="OP-CONF-ASSOC-RANGE"> | |||
2 bytes specifying the TLV length, and a Value field. The Length | <name>The OP-CONF-ASSOC-RANGE TLV Format</name> | |||
field defines the length of the value portion in bytes.</t> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
0 1 2 3 | ||||
<t>The PCEP OP-CONF-ASSOC-RANGE TLV has the following format:</t> | 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 | |||
<figure anchor="OP-CONF-ASSOC-RANGE" title="The OP-CONF-ASSOC-RANGE TLV for | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
mat"> | | Type | Length | | |||
<artwork><![CDATA[ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
TYPE: 29 (Early allocation by IANA) | | Reserved | Assoc-Type #1 | | |||
LENGTH: N * 8 (where N is the number of association types) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
VALUE: | | Start-Assoc-ID #1 | Range #1 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Reserved | Assoc-Type #N | | |||
| Type | Length | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Start-Assoc-ID #N | Range #N | | |||
| Reserved | Assoc-type #1 | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | > | |||
| Start-Assoc-ID #1 | Range #1 | | </figure> | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | <dl newline="false" spacing="normal"> | |||
// // | <dt>Type:</dt> | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | <dd>29</dd> | |||
| Reserved | Assoc-type #N | | <dt>Length:</dt> | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | <dd>N * 8 (where N is the number of Association Types).</dd> | |||
| Start-Assoc-ID #N | Range #N | | <dt>Value:</dt> | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | <dd> | |||
<t>Includes the following fields, repeated for each | ||||
]]></artwork></figure> | Association Type: | |||
<t>The Value portion includes the following fields, repeated for each associatio | ||||
n type: | ||||
<list> | ||||
<t>Reserved (2 bytes): This field MUST be set to 0 on | ||||
transmission and MUST be ignored on receipt.</t> | ||||
<t>Assoc-type (2 bytes): The association type (<xref target="iana_assoc_type" | ||||
/>). | ||||
The association types are defined in separate documents.</t> | ||||
<t>Start-Assoc-ID (2 bytes): The start association identifier for the Operato | ||||
r-configured Association Range for the particular association type. The values 0 | ||||
and 0xffff MUST NOT be used and on receipt of these values in the TLV, the sess | ||||
ion is rejected with error message sent (see <xref target="pro"/>).</t> | ||||
<t>Range (2 bytes): The number of associations marked for the Operator-config | ||||
ured Associations. The Range MUST be greater than 0, and it MUST be such that (S | ||||
tart-Assoc-ID + Range) do not cross the association identifier range of 0xffff. | ||||
In case this condition is not satisfied, the session is rejected with error mess | ||||
age sent (see <xref target="pro"/>).</t> | ||||
</list></t> | ||||
<section anchor="pro" title="Procedure"> | </t> | |||
<t>A PCEP speaker MAY include an OP-CONF-ASSOC-RANGE TLV within an OPEN objec | <dl newline="false" spacing="normal"> | |||
t in an Open | <dt>Reserved (2 bytes):</dt> | |||
message sent to a PCEP peer in order to advertise the Operator-configured Ass | <dd><bcp14>MUST</bcp14> be set to 0 on transmission and <bcp14>MUST | |||
ociation Range for an association type. | </bcp14> be | |||
The OP-CONF-ASSOC-RANGE TLV MUST NOT appear more than | ignored on receipt.</dd> | |||
<dt>Assoc-Type (2 bytes):</dt> | ||||
<dd>The Association Type (<xref target="iana_assoc_type" | ||||
format="default"/>). The Association Types will be defined in futur | ||||
e | ||||
documents.</dd> | ||||
<dt>Start-Assoc-ID (2 bytes):</dt> | ||||
<dd>The "start association" identifier for the | ||||
Operator-configured Association Range for the particular Association | ||||
Type. The values 0 and 0xffff <bcp14>MUST NOT</bcp14> be used; on receipt of | ||||
these | ||||
values in the TLV, the session is rejected, and an error message is sent | ||||
(see <xref target="pro" format="default"/>).</dd> | ||||
<dt>Range (2 bytes):</dt> | ||||
<dd>The number of associations marked for the | ||||
Operator-configured Associations. Range <bcp14>MUST</bcp14> be greater than 0 | ||||
, and it | ||||
<bcp14>MUST</bcp14> be such that (Start-Assoc-ID + Range) does not cross the | ||||
largest Association ID value of 0xffff. If this condition is not satisfied, t | ||||
he session | ||||
is rejected, and an error message is sent (see <xref target="pro" format="def | ||||
ault"/>).</dd> | ||||
</dl> | ||||
</dd> | ||||
</dl> | ||||
<section anchor="pro" numbered="true" toc="default"> | ||||
<name>Procedure</name> | ||||
<t>A PCEP speaker <bcp14>MAY</bcp14> include an OP-CONF-ASSOC-RANGE TLV | ||||
within an OPEN object in an Open | ||||
message sent to a PCEP peer in order to advertise the Operator-configured Ass | ||||
ociation Range for an Association Type. | ||||
The OP-CONF-ASSOC-RANGE TLV <bcp14>MUST NOT</bcp14> appear more than | ||||
once in an OPEN object. If it appears more than once, the PCEP | once in an OPEN object. If it appears more than once, the PCEP | |||
session MUST be rejected with error type 1 and error value 1 (PCEP | session <bcp14>MUST</bcp14> be rejected with Error-Type 1 and Error-value 1 ( PCEP | |||
session establishment failure / Reception of an invalid Open | session establishment failure / Reception of an invalid Open | |||
message).</t> | message).</t> | |||
<t>As specified in <xref target="RFC5440" format="default"/>, a PCEP pee | ||||
<t>As specified in <xref target="RFC5440"/>, a PCEP peer that does not recogn | r that does not recognize the | |||
ize the | ||||
OP-CONF-ASSOC-RANGE TLV will silently ignore it.</t> | OP-CONF-ASSOC-RANGE TLV will silently ignore it.</t> | |||
<t>The Operator-configured Association Range <bcp14>SHOULD</bcp14> be in | ||||
<t>The Operator-configured Association Range SHOULD be included for each asso | cluded for each | |||
ciation type that could be both dynamic and operator-configured. For association | Association Type that could be both dynamic and operator configured. For | |||
types that are only dynamic or only operator-configured, this TLV MAY be skippe | Association Types that are only dynamic or only operator configured, this | |||
d, in which case the full range of association identifier is considered dynamic | TLV <bcp14>MAY</bcp14> be skipped, in which case the full range of Associatio | |||
or operator-configured respectively. | n IDs | |||
Each association type (that are defined in separate documents) can specify t | is considered dynamic or operator configured, respectively. Each | |||
he default value for the operator-configured association range for their respect | Association Type (to be defined in future documents) can specify the default | |||
ive association type. </t> | value for its Operator-configured Association Range.</t> | |||
<t>The absence of the OP-CONF-ASSOC-RANGE TLV in an OPEN object <bcp14>M | ||||
<!--<t>An Assoc-Type MUST be present only once in the OP-CONF-ASSOC-RANGE TL | UST</bcp14> be | |||
V, if the same Assoc-Type is present more than once, the PCEP | interpreted as an absence of an explicit Operator-configured Association Rang | |||
session MUST be rejected with error type 1 and error value 1 (PCEP | e at the PCEP peer. | |||
session establishment failure / Reception of an invalid Open | In this case, the default behavior as per each Association Type applies. If t | |||
message).</t>--> | he Association | |||
Source is not a PCEP speaker, the default value for the Operator-configured A | ||||
<t>The absence of the OP-CONF-ASSOC-RANGE TLV in an OPEN object MUST be | ssociation Range is used for the Association Source.</t> | |||
interpreted as an absence of explicit Operator-configured Association Range a | <t>If the Assoc-Type is not recognized or supported by the PCEP speaker, | |||
t the PCEP peer. | it <bcp14>MUST</bcp14> ignore that respective (Start-Assoc-ID + Range). If the | |||
In this case, the default behavior as per each association type applies. If t | Assoc-Type is recognized/supported but Start-Assoc-ID or Range is set incorrectl | |||
he association | y, the PCEP | |||
source is not a PCEP speaker, the default value for the operator-configured a | session <bcp14>MUST</bcp14> be rejected with Error-Type 1 and Error-value 1 ( | |||
ssociation range is used for the association source.</t> | PCEP | |||
<t>If the Assoc-type is not recognized or supported by the PCEP speaker, it M | ||||
UST ignore that respective Start-Assoc-ID and Range. If the Assoc-type is recogn | ||||
ized/supported but the Start-Assoc-ID or Range are set incorrectly, the PCEP | ||||
session MUST be rejected with error type 1 and error value 1 (PCEP | ||||
session establishment failure / Reception of an invalid Open | ||||
message). The incorrect range include the case when the (Start-Assoc-ID + Ran | ||||
ge) crosses the association identifier range of 0xffff.</t> | ||||
<t>A given Assoc-type MAY appear more than once in the OP-CONF-ASSOC-RANGE TL | ||||
V in the case of a non-contiguous Operator-configured Association Range. The PCE | ||||
P speaker originating this TLV MUST NOT carry overlapping ranges for an associat | ||||
ion type. If a PCEP peer receives overlapping ranges for an association type, it | ||||
MUST consider the Open message malformed and MUST reject the PCEP session with | ||||
error type 1 and error value 1 (PCEP | ||||
session establishment failure / Reception of an invalid Open | session establishment failure / Reception of an invalid Open | |||
message).</t> | message). The incorrect range includes the case when the | |||
(Start-Assoc-ID + Range) crosses the largest Association ID value of | ||||
<t><!--In case, there is an operator-configured association that was configur | 0xffff.</t> | |||
ed with association parameters (such as association identifier, association type | <t>A given Assoc-Type <bcp14>MAY</bcp14> appear more than once in the | |||
and association source) at the local PCEP speaker, later the PCEP session gets | OP-CONF-ASSOC-RANGE TLV in the case of a non-contiguous | |||
established with the association source and a new operator-configured range is l | Operator-configured Association Range. The PCEP speaker originating this | |||
earned during session establishment.--> | TLV <bcp14>MUST NOT</bcp14> send overlapping ranges for an Association Type. | |||
There may be cases where an operator-configured association was | If a PCEP | |||
configured with association parameters (such as association | peer receives overlapping ranges for an Association Type, it <bcp14>MUST</bcp | |||
identifier, association type and association source) at the local | 14> consider | |||
PCEP speaker, and later the PCEP session gets established with the | the Open message malformed and <bcp14>MUST</bcp14> reject the PCEP session wi | |||
association source and a new operator-configured range is learned | th | |||
during session establishment. | Error-Type 1 and Error-value 1 (PCEP session establishment failure / | |||
At this time, the local PCEP speaker MUST remove any associations that are not | Reception of an invalid Open message).</t> | |||
in the new operator-configured range (by disassociating any LSPs that are part o | <t>There may be cases where an Operator-configured Association was | |||
f it (and notifying this change to the PCEP peer)). If a PCEP speaker receives a | configured with association parameters (such as an Association ID, Associatio | |||
n association for an operator-configured association | n Type, and Association Source) at the local | |||
and the association identifier is not in the operator-configured associati | PCEP speaker, and the PCEP session is later established with the | |||
on range for the association type and association source, it MUST generate an er | Association Source and a new operator-configured range is learned | |||
ror (as described in <xref target="Rules"/>).</t> | during session establishment. At this time, the local PCEP speaker <bcp14>MUS | |||
</section> | T</bcp14> | |||
remove any associations that are not in the new operator-configured range | ||||
(by disassociating any LSPs that are part of it (and notifying the | ||||
PCEP peer of this change)). If a PCEP speaker receives an association for an | ||||
Operator-configured Association and the Association ID is not in | ||||
the Operator-configured Association Range for the Association Type and | ||||
Association Source, it <bcp14>MUST</bcp14> generate an error (as described in | ||||
<xref target="Rules" format="default"/>).</t> | ||||
</section> | ||||
</section> | </section> | |||
<section anchor="association" title="ASSOCIATION Object"> | <section anchor="association" numbered="true" toc="default"> | |||
<section anchor="Definition" title="Object Definition"> | <name>ASSOCIATION Object</name> | |||
<section anchor="Definition" numbered="true" toc="default"> | ||||
<!--Creation of an association group and modifications to its membership | <name>Object Definition</name> | |||
can be initiated by either the PCE or the PCC.--> | <t>Association groups and their memberships are defined using a new | |||
<t>Association groups | ASSOCIATION object. | |||
and their memberships are defined using a new ASSOCIATION object. | </t> | |||
</t> | <t>The ASSOCIATION Object-Class value is 40.</t> | |||
<t>The ASSOCIATION Object-Type value is 1 for IPv4, and its format is | ||||
<t>ASSOCIATION Object-Class is 40 (Early allocation by IANA).</t> | shown in <xref target="Association-Object-Fmt1" format="default"/>:</t> | |||
<t> ASSOCIATION Object-Type is 1 for IPv4 and its format is shown in | <figure anchor="Association-Object-Fmt1"> | |||
<xref target="Association-Object-Fmt1"/>:</t> | <name>The IPv4 ASSOCIATION Object Format</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure anchor="Association-Object-Fmt1" title="The IPv4 ASSOCIATION Object | 0 1 2 3 | |||
format"> | 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 | |||
<artwork><![CDATA[ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Reserved | Flags |R| | ||||
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 | | Association Type | Association ID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Reserved | Flags |R| | | IPv4 Association Source | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Association type | Association ID | | // Optional TLVs // | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwor | |||
| IPv4 Association Source | | k> | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
// Optional TLVs // | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
]]></artwork> | ||||
</figure> | ||||
<t> ASSOCIATION Object-Type is 2 for IPv6 and its format is shown in | ||||
<xref target="Association-Object-Fmt2"/>:</t> | ||||
<figure anchor="Association-Object-Fmt2" title="The IPv6 ASSOCIATION Object | ||||
format"> | ||||
<artwork><![CDATA[ | ||||
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 | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Reserved | Flags |R| | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Association type | Association ID | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | | ||||
| IPv6 Association Source | | ||||
| | | ||||
| | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
// Optional TLVs // | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
]]></artwork> | ||||
</figure> | ||||
<t> Reserved (2-byte): MUST be set to 0 and ignored upon receipt. </t> | ||||
<t> | ||||
Flags (2-byte): The following flags are currently defined: | ||||
<list style="hanging"> | ||||
<t hangText="R (Removal - 1 bit):"> when set, the requesting | ||||
PCEP peer requires the removal of an LSP from the association group. | ||||
When unset, the PCEP peer indicates that the LSP is added or retaine | ||||
d as part of the association group. | ||||
This flag is used for the ASSOCIATION object in the PCRpt and the PC | ||||
Upd message, the flag is ignored | ||||
in other PCEP messages. </t> | ||||
</list> | ||||
</t> | ||||
<t>The unassigned flags MUST be set to zero on transmission and MUST be igno | ||||
red on receipt.</t> | ||||
<t> | ||||
Association type (2-byte): the association type (<xref target="iana_assoc_ty | ||||
pe"/>). | ||||
The association types are defined in separate documents. | ||||
</t> | ||||
<t> Association ID (2-byte): the identifier of the association group. When | ||||
combined | ||||
with other association parameters, such as Association Type and Association | ||||
Source, this value uniquely identifies an association group. | ||||
The values 0xffff and 0x0 are reserved. The value 0xffff is used to indicate | ||||
all association groups and could be used with R flag to indicate removal for | ||||
all associations for the LSP within the scope of association type and associati | ||||
on source. | ||||
</t> | ||||
<t> <!--Association Source: 4 or 16 bytes - An IPv4 or IPv6 address. This co | ||||
uld be the IP | ||||
address of the PCEP speaker that created a dynamic association, an opera | ||||
tor configured IP address, or an IP | ||||
address selected as per the local policy. The value such as 0.0.0.0 or : | ||||
:/128 are acceptable.--> | ||||
Association Source: Contains a valid IPv4 address (4 bytes) if the | ||||
ASSOCIATION Object-Type is 1 or a valid IPv6 address (16 bytes) if the | ||||
ASSOCIATION Object-Type is 2. The address provides scoping for the Association | ||||
ID. | ||||
See <xref target="AssocSrc"/> for details. | ||||
</t> | ||||
<t> Optional TLVs: The optional TLVs follow the PCEP TLV format | ||||
of <xref target="RFC5440"/>. This document defines two optional TLVs. Ot | ||||
her documents can define more TLVs in future. | ||||
</t> | ||||
<section anchor="Global-association-src" title="Global Association Source TL | ||||
V"> | ||||
<t> The Global Association Source TLV is an optional TLV for use in the As | ||||
sociation Object. | ||||
The meaning and the usage of Global Association Source is as per Section | ||||
4 of <xref target="RFC6780"/>. | ||||
</t> | ||||
<figure anchor="Global-Association-Object-Fmt1" title="The Global Association | ||||
Source TLV format"> | ||||
<artwork><![CDATA[ | ||||
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 | Length | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Global Association Source | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
]]></artwork> | ||||
</figure> | </figure> | |||
<t> Type: 30 (Early allocation by IANA). </t> | <t>The ASSOCIATION Object-Type value is 2 for IPv6, and its format is | |||
<t> Length: Fixed value of 4 bytes. </t> | shown in <xref target="Association-Object-Fmt2" format="default"/>:</t> | |||
<t> Global Association Source: as defined in Section 4 of <xref target="RFC6 | <figure anchor="Association-Object-Fmt2"> | |||
780"/>. </t> | <name>The IPv6 ASSOCIATION Object Format</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
</section> | 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 | ||||
<section anchor="EXT-association" title="Extended Association ID TLV"> | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Reserved | Flags |R| | ||||
<t> The Extended Association ID TLV is an optional TLV for use in | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
the Association Object. The meaning and the usage of Extended Association | | Association Type | Association ID | | |||
ID is as per Section 4 of <xref target="RFC6780"/>. | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
</t> | | | | |||
| IPv6 Association Source | | ||||
<figure anchor="Ext-id-Object-Fmt1" title="The Extended Association ID TLV | | | | |||
format"> | | | | |||
<artwork><![CDATA[ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
// Optional TLVs // | ||||
0 1 2 3 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork | |||
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 | Length | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
// Extended Association ID // | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
]]></artwork> | ||||
</figure> | </figure> | |||
<t> Type: 31 (Early allocation by IANA). </t> | <dl newline="false" spacing="normal"> | |||
<t> Length: variable. </t> | <dt>Reserved (2 bytes):</dt> | |||
<t> Extended Association ID: as defined in Section 4 of <xref target="RFC678 | <dd><bcp14>MUST</bcp14> be set to 0 and ignored upon | |||
0"/>. </t> | receipt.</dd> | |||
<dt>Flags (2 bytes):</dt> | ||||
</section> | <dd> | |||
<section title="Association Source" anchor="AssocSrc"> | <t>The following flag is currently defined: | |||
<t>The Association Source field in the ASSOCIATION object is | ||||
set to a valid IP address to identify the node that originates the associatio | ||||
n. In case of dynamic associations, the association source is usually set as the | ||||
local PCEP speaker address, unless local policy dictates otherwise, in which ca | ||||
se association source is set based on the local policy. In case of PCE redundanc | ||||
y, local policy could set the source as a virtual IP address which identifies al | ||||
l instances of | ||||
the PCE. In case of operator-configured association, the association source i | ||||
s manually configured and it could be set as one of the PCEP speakers, Network M | ||||
anagement System (NMS), or any other | ||||
valid IP address that scopes the association identifier for the association t | ||||
ype.</t> | ||||
</section> | ||||
<section title="Unique Identification for an Association Group" anchor="id"> | ||||
<t>The combination of the mandatory fields Association type, Association ID | ||||
and Association Source in the ASSOCIATION object uniquely identify the associati | ||||
on group. If the optional TLVs - Global Association Source or Extended Associati | ||||
on ID are included, then they MUST be included in combination with mandatory fie | ||||
lds to uniquely identify the association group. In this document, all these fiel | ||||
ds are collectively called 'association parameters'. Note that the ASSOCIATION o | ||||
bject MAY include other optional TLVs (not defined in this document) based on th | ||||
e | ||||
association types, that provides 'information' related to the association ty | ||||
pe, this document uses the term 'association information' for it. </t> | ||||
</section> | ||||
</section> <!-- Object Definition --> | ||||
<section title="Relationship with the RSVP ASSOCIATION"> | ||||
<t>The format of PCEP ASSOCIATION Object defined in this document is ali | ||||
gned with the RSVP ASSOCIATION object (<xref target="RFC6780"/>). Various Associ | ||||
ation types related to RSVP association | ||||
are defined in <xref target="RFC4872"/>, <xref target="RFC4873"/>, and < | ||||
xref target="RFC7551"/>. The PCEP extensions that define new association types, | ||||
should clarify how the PCEP associations would work with RSVP associations and v | ||||
ice-versa.</t> | ||||
</section> | ||||
<section anchor="Object-Encoding" title="Object Encoding in PCEP messages"> | ||||
<t>Message formats in this document are expressed using Reduced BNF (RBNF) | ||||
as used in <xref target="RFC5440"/> and defined in <xref target="RFC5511"/>.</t> | ||||
<section title="Stateful PCEP messages"> | ||||
<t> The ASSOCIATION Object MAY be carried in the Path | ||||
Computation Update (PCUpd), Path Computation Report (PCRpt) and Path | ||||
Computation Initiate (PCInitiate) messages. </t> | ||||
<t> When carried in PCRpt message, it is used to report the association | ||||
group membership pertaining to a LSP to a stateful PCE. | ||||
The PCRpt message are used for both initial state synchronization operations | ||||
(Section 5.6 of | ||||
<xref target="RFC8231"/>) as well as whenever the state of the LSP changes. | ||||
If the LSP belongs to an | ||||
association group, then the associations MUST be included during the state s | ||||
ynchronization operations.</t> | ||||
<t>The PCRpt message can also be used to remove an LSP from one or more asso | ||||
ciation groups | ||||
by setting the R flag to 1 in the ASSOCIATION object.</t> | ||||
<t>When an LSP is first reported to the PCE, the PCRpt message MUST include | ||||
all the association groups that it belongs to. Any subsequent report message SHO | ||||
ULD include only the associations that are being modified or removed.</t> | ||||
<t> The PCRpt message is defined in <xref target='RFC8231'></xref> | ||||
and updated as below:</t> | ||||
<figure> | ||||
<artwork><![CDATA[ | ||||
</t> | ||||
<dl newline="false" spacing="normal"> | ||||
<dt>R (Removal - 1 bit):</dt> | ||||
<dd>When set, the requesting | ||||
PCEP peer requires the removal of an LSP from the association group. | ||||
When unset, the PCEP peer indicates that the LSP is added or retained | ||||
as part of the association group. This flag is used for the ASSOCIATION | ||||
object in the Path Computation Report (PCRpt) and | ||||
Path Computation Update (PCUpd) messages. It is ignored in other | ||||
PCEP messages.</dd> | ||||
</dl> | ||||
</dd> | ||||
</dl> | ||||
<t>The unassigned flags <bcp14>MUST</bcp14> be set to 0 on transmission | ||||
and <bcp14>MUST</bcp14> be | ||||
ignored on receipt.</t> | ||||
<dl newline="false" spacing="normal"> | ||||
<dt>Association Type (2 bytes):</dt> | ||||
<dd>The Association Type | ||||
(<xref target="iana_assoc_type" format="default"/>). The Association Types | ||||
will be defined in future documents.</dd> | ||||
<dt>Association ID (2 bytes):</dt> | ||||
<dd>The identifier of the association | ||||
group. When combined with other association parameters, such as an | ||||
Association Type and Association Source, this value uniquely identifies an | ||||
association group. The values 0xffff and 0x0 are reserved. The value | ||||
0xffff is used to indicate all association groups and could be used with | ||||
the R flag to indicate removal for all associations for the LSP within the | ||||
scope of the Association Type and Association Source.</dd> | ||||
<dt>Association Source:</dt> | ||||
<dd>Contains a valid IPv4 address (4 bytes) | ||||
if the ASSOCIATION Object-Type is 1 or a valid IPv6 address (16 bytes) if | ||||
the ASSOCIATION Object-Type is 2. The address provides scoping for the | ||||
Association ID. See <xref target="AssocSrc" format="default"/> for details.< | ||||
/dd> | ||||
<dt>Optional TLVs:</dt> | ||||
<dd>The optional TLVs follow the PCEP TLV format | ||||
defined in <xref target="RFC5440" format="default"/>. This document defines | ||||
two optional | ||||
TLVs. Other documents can define more TLVs in the future.</dd> | ||||
</dl> | ||||
<section anchor="Global-association-src" numbered="true" toc="default"> | ||||
<name>Global Association Source TLV</name> | ||||
<t> The Global Association Source TLV is an optional TLV for use in th | ||||
e ASSOCIATION object. | ||||
The meaning and usage of the Global Association Source TLV are as per | ||||
<xref target="RFC6780" sectionFormat="of" section="4"/>. | ||||
</t> | ||||
<figure anchor="Global-Association-Object-Fmt1"> | ||||
<name>The Global Association Source TLV Format</name> | ||||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
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 | Length | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Global Association Source | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork | ||||
> | ||||
</figure> | ||||
<dl newline="false" spacing="normal"> | ||||
<dt>Type:</dt> | ||||
<dd>30</dd> | ||||
<dt>Length:</dt> | ||||
<dd>Fixed value of 4 bytes.</dd> | ||||
<dt>Global Association Source:</dt> | ||||
<dd>As defined in | ||||
<xref target="RFC6780" sectionFormat="of" section="4"/>.</dd> | ||||
</dl> | ||||
</section> | ||||
<section anchor="EXT-association" numbered="true" toc="default"> | ||||
<name>Extended Association ID TLV</name> | ||||
<t> The Extended Association ID TLV is an optional TLV for use in | ||||
the ASSOCIATION object. The meaning and usage of the | ||||
Extended Association ID TLV are as per | ||||
<xref target="RFC6780" sectionFormat="of" section="4"/>. | ||||
</t> | ||||
<figure anchor="Ext-id-Object-Fmt1"> | ||||
<name>The Extended Association ID TLV Format</name> | ||||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
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 | Length | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
// Extended Association ID // | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork | ||||
> | ||||
</figure> | ||||
<dl newline="false" spacing="normal"> | ||||
<dt>Type:</dt> | ||||
<dd>31</dd> | ||||
<dt>Length:</dt> | ||||
<dd>Variable.</dd> | ||||
<dt>Extended Association ID:</dt> | ||||
<dd>As defined in | ||||
<xref target="RFC6780" sectionFormat="of" section="4"/>.</dd> | ||||
</dl> | ||||
</section> | ||||
<section anchor="AssocSrc" numbered="true" toc="default"> | ||||
<name>Association Source</name> | ||||
<t>The Association Source field in the ASSOCIATION object is | ||||
set to a valid IP address to identify the node that originated the | ||||
association. In the case of dynamic associations, the Association Source is | ||||
usually set as the local PCEP speaker address unless local policy dictates | ||||
otherwise, in which case the Association Source is set based on the local | ||||
policy. In the case of PCE redundancy, local policy could set the source | ||||
as a virtual IP address that identifies all instances of the PCE. In the | ||||
case of Operator-configured Associations, the Association Source is | ||||
manually configured, and it could be set as one of the PCEP speakers, an | ||||
NMS, or any other valid IP address that scopes the Association ID for the As | ||||
sociation Type.</t> | ||||
</section> | ||||
<section anchor="id" numbered="true" toc="default"> | ||||
<name>Unique Identification for an Association Group</name> | ||||
<t>The combination of the mandatory fields Association Type, Associati | ||||
on | ||||
ID, and Association Source in the ASSOCIATION object uniquely identifies | ||||
the association group. If the optional TLVs (Global Association Source and | ||||
Extended Association ID) are included, then they <bcp14>MUST</bcp14> be incl | ||||
uded in | ||||
combination with mandatory fields to uniquely identify the association | ||||
group. In this document, all these fields are collectively called | ||||
"association parameters". Note that the ASSOCIATION object <bcp14>MAY</bcp14 | ||||
> include | ||||
other optional TLVs (not defined in this document) based on the | ||||
Association Types. These TLVs provide "information" related to the | ||||
Association Type. This document refers to this information as | ||||
"association information".</t> | ||||
</section> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Relationship to the RSVP ASSOCIATION Object</name> | ||||
<t>The format of the PCEP ASSOCIATION object defined in this document | ||||
is aligned with the RSVP ASSOCIATION object <xref target="RFC6780" format | ||||
="default"/>. Various Association Types related to RSVP | ||||
association are defined in <xref target="RFC4872" format="default"/>, <xr | ||||
ef target="RFC4873" format="default"/>, and <xref target="RFC7551" format="defau | ||||
lt"/>. The PCEP extensions | ||||
that define new Association Types should clarify how the PCEP | ||||
associations would work with RSVP associations and vice versa.</t> | ||||
</section> | ||||
<section anchor="Object-Encoding" numbered="true" toc="default"> | ||||
<name>Object Encoding in PCEP Messages</name> | ||||
<t>Message formats in this document are expressed using Routing BNF | ||||
(RBNF) as used in <xref target="RFC5440" format="default"/> and defined in | ||||
<xref target="RFC5511" format="default"/>.</t> | ||||
<section numbered="true" toc="default"> | ||||
<name>Stateful PCEP Messages</name> | ||||
<t>The ASSOCIATION object <bcp14>MAY</bcp14> be carried in the PCUpd, | ||||
PCRpt, and | ||||
Path Computation Initiate (PCInitiate) messages. </t> | ||||
<t>When carried in a PCRpt message, this object is used to report the | ||||
association group membership pertaining to an LSP to a stateful PCE. | ||||
The PCRpt message is used for initial State Synchronization operations | ||||
(<xref target="RFC8231" sectionFormat="of" section="5.6"/>), as well as when | ||||
ever the | ||||
state of the LSP changes. If the LSP belongs to an association group, then | ||||
the associations <bcp14>MUST</bcp14> be included during the State Synchroniz | ||||
ation | ||||
operations.</t> | ||||
<t>The PCRpt message can also be used to remove an LSP from one or mor | ||||
e | ||||
association groups by setting the R flag to 1 in the ASSOCIATION | ||||
object.</t> | ||||
<t>When an LSP is first reported to the PCE, the PCRpt message <bcp14> | ||||
MUST</bcp14> | ||||
include all the association groups that it belongs to. Any subsequent | ||||
PCRpt message <bcp14>SHOULD</bcp14> include only the associations that are b | ||||
eing | ||||
modified or removed.</t> | ||||
<t> The PCRpt message is defined in <xref target="RFC8231" format="def | ||||
ault"/> | ||||
and updated as shown below:</t> | ||||
<sourcecode type="rbnf"><![CDATA[ | ||||
<PCRpt Message> ::= <Common Header> | <PCRpt Message> ::= <Common Header> | |||
<state-report-list> | <state-report-list> | |||
Where: | ]]></sourcecode> | |||
<t>Where:</t> | ||||
<sourcecode type="rbnf"><![CDATA[ | ||||
<state-report-list> ::= <state-report>[<state-report-list>] | <state-report-list> ::= <state-report>[<state-report-list>] | |||
<state-report> ::= [<SRP>] | <state-report> ::= [<SRP>] | |||
<LSP> | <LSP> | |||
[<association-list>] | [<association-list>] | |||
<path> | <path> | |||
Where: | ]]></sourcecode> | |||
<t>Where:</t> | ||||
<sourcecode type="rbnf"><![CDATA[ | ||||
<path>::= <intended-path> | <path>::= <intended-path> | |||
[<actual-attribute-list><actual-path>] | [<actual-attribute-list><actual-path>] | |||
<intended-attribute-list> | <intended-attribute-list> | |||
<association-list> ::= <ASSOCIATION> [<association-list>] | <association-list> ::= <ASSOCIATION> [<association-list>] | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | <t> When an LSP is delegated to a stateful PCE, the stateful PCE can c | |||
reate | ||||
<t> When an LSP is delegated to a stateful PCE, the stateful PCE can create | a new association group for this LSP or associate it with one or more existi | |||
a new association group for this LSP, or associate it with one or more exist | ng | |||
ing | association groups. This is done by including the ASSOCIATION object in a | |||
association groups. This is done by including the ASSOCIATION Object in a | ||||
PCUpd message. A stateful PCE can also remove a delegated | PCUpd message. A stateful PCE can also remove a delegated | |||
LSP from one or more association groups by setting the R flag to 1 in the AS SOCIATION object.</t> | LSP from one or more association groups by setting the R flag to 1 in the AS SOCIATION object.</t> | |||
<t>The PCUpd message <bcp14>SHOULD</bcp14> include the association gro | ||||
ups that are being modified or removed. There is no need to include associations | ||||
that remain unchanged.</t> | ||||
<t>The PCUpd message is defined in <xref target="RFC8231" format="defa | ||||
ult"/> | ||||
and updated as shown below:</t> | ||||
<t>The PCUpd message SHOULD include the association groups that are being mo | <sourcecode type="rbnf"><![CDATA[ | |||
dified or removed, there is no need to include associations that remains unchang | <PCUpd Message> ::= <Common Header> | |||
ed.</t> | <update-request-list> | |||
]]></sourcecode> | ||||
<t> The PCUpd message is defined in <xref target='RFC8231'></xref> | <t>Where:</t> | |||
and updated as below:</t> | <sourcecode type="rbnf"><![CDATA[ | |||
<figure> | ||||
<artwork><![CDATA[ | ||||
<PCUpd Message> ::= <Common Header> | ||||
<update-request-list> | ||||
Where: | ||||
<update-request-list> ::= <update-request>[<update-request-list>] | <update-request-list> ::= <update-request>[<update-request-list>] | |||
<update-request> ::= <SRP> | <update-request> ::= <SRP> | |||
<LSP> | <LSP> | |||
[<association-list>] | [<association-list>] | |||
<path> | <path> | |||
Where: | ]]></sourcecode> | |||
<t>Where:</t> | ||||
<sourcecode type="rbnf"><![CDATA[ | ||||
<path>::= <intended-path><intended-attribute-list> | <path>::= <intended-path><intended-attribute-list> | |||
<association-list> ::= <ASSOCIATION> [<association-list>] | <association-list> ::= <ASSOCIATION> [<association-list>] | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | <t>Unless a PCEP speaker wants to delete an association | |||
<t>Unless a PCEP speaker wants to delete an association | from an LSP or make changes to the association, it does not need to | |||
from an LSP or make changes to the association, it does not need to carry th | include the ASSOCIATION object in future stateful messages.</t> | |||
e ASSOCIATION | <t>A PCE initiating a new LSP can also include the association groups | |||
object in future stateful messages.</t> | that this LSP belongs to. This is done by including the ASSOCIATION object in a | |||
PCInitiate message. The PCInitiate message <bcp14>MUST</bcp14> include all t | ||||
<t>A PCE initiating a new LSP can also include the association groups that t | he association groups that it belongs to. | |||
his LSP belongs to. This is done by including the ASSOCIATION Object in a | The PCInitiate message is defined in <xref target="RFC8281" format="default" | |||
PCInitiate message. The PCInitiate message MUST include all the association | /> | |||
groups that it belongs to. | and updated as shown below: | |||
The PCInitiate message is defined in <xref target='RFC8281'></xref> | </t> | |||
and updated as below: | <sourcecode type="rbnf"><![CDATA[ | |||
</t> | ||||
<figure> | ||||
<artwork><![CDATA[ | ||||
<PCInitiate Message> ::= <Common Header> | <PCInitiate Message> ::= <Common Header> | |||
<PCE-initiated-lsp-list> | <PCE-initiated-lsp-list> | |||
Where: | ]]></sourcecode> | |||
<t>Where:</t> | ||||
<sourcecode type="rbnf"><![CDATA[ | ||||
<PCE-initiated-lsp-list> ::= <PCE-initiated-lsp-request> | <PCE-initiated-lsp-list> ::= <PCE-initiated-lsp-request> | |||
[<PCE-initiated-lsp-list>] | [<PCE-initiated-lsp-list>] | |||
<PCE-initiated-lsp-request> ::= (<PCE-initiated-lsp-instantiation>| | <PCE-initiated-lsp-request> ::= (<PCE-initiated-lsp-instantiation>| | |||
<PCE-initiated-lsp-deletion>) | <PCE-initiated-lsp-deletion>) | |||
<PCE-initiated-lsp-instantiation> ::= <SRP> | <PCE-initiated-lsp-instantiation> ::= <SRP> | |||
<LSP> | <LSP> | |||
[<END-POINTS>] | [<END-POINTS>] | |||
<ERO> | <ERO> | |||
[<association-list>] | [<association-list>] | |||
[<attribute-list>] | [<attribute-list>] | |||
]]></sourcecode> | ||||
Where: | <t>Where:</t> | |||
<sourcecode type="rbnf"><![CDATA[ | ||||
<association-list> ::= <ASSOCIATION> [<association-list>] | <association-list> ::= <ASSOCIATION> [<association-list>] | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<section title="Request Message"> | <name>Request Message</name> | |||
<t> | <t> | |||
In case of passive (stateful or stateless) PCE, the ASSOCIATION Object | In the case of a passive (stateful or stateless) PCE, the ASSOCIATION | |||
is OPTIONAL and MAY be carried in the Path Computation Request | object is <bcp14>OPTIONAL</bcp14> and <bcp14>MAY</bcp14> be carried in the P | |||
(PCReq) message. | CReq message. | |||
</t> | </t> | |||
<t> | <t> | |||
When carried in a PCReq message, the ASSOCIATION Object is used to associate | When carried in a PCReq message, the ASSOCIATION object is used to | |||
the path | associate the path computation request to an association group. The | |||
computation request to an association group. The association (and the other L | association (and the other LSPs) should be known to the PCE | |||
SPs) should be known to the PCE beforehand. | beforehand. These could be operator configured or dynamically learned | |||
These could be operator-configured or dynamically learned before via stateful | beforehand via stateful PCEP messages. The R flag in the ASSOCIATION | |||
PCEP messages. The R flag in ASSOCIATION object within PCReq message | object within a PCReq message <bcp14>MUST</bcp14> be set to 0 while sending | |||
MUST be set to 0 while sending and ignored on receipt. | and ignored | |||
on receipt. | ||||
</t> | </t> | |||
<t> | <t> | |||
The PCReq message is defined in <xref target="RFC5440"/> and updated in | The PCReq message is defined in <xref target="RFC5440" format="default"/> and | |||
<xref target="RFC8231"/> , it is further updated below for | updated in | |||
association: | <xref target="RFC8231" format="default"/>. It is further updated below for | |||
</t> | association groups: | |||
</t> | ||||
<figure> | <sourcecode type="rbnf"><![CDATA[ | |||
<artwork><![CDATA[ | ||||
<PCReq Message>::= <Common Header> | <PCReq Message>::= <Common Header> | |||
[<svec-list>] | [<svec-list>] | |||
<request-list> | <request-list> | |||
]]></sourcecode> | ||||
<t>Where:</t> | ||||
<sourcecode type="rbnf"><![CDATA[ | ||||
<svec-list>::= <SVEC>[<svec-list>] | ||||
<request-list>::= <request>[<request-list>] | ||||
Where: | <request>::= <RP> | |||
<svec-list>::= <SVEC>[<svec-list>] | <END-POINTS> | |||
<request-list>::= <request>[<request-list>] | [<LSP>] | |||
[<LSPA>] | ||||
<request>::= <RP> | [<BANDWIDTH>] | |||
<END-POINTS> | [<metric-list>] | |||
[<LSP>] | [<association-list>] | |||
[<LSPA>] | [<RRO>[<BANDWIDTH>]] | |||
[<BANDWIDTH>] | [<IRO>] | |||
[<metric-list>] | [<LOAD-BALANCING>] | |||
[<association-list>] | ]]></sourcecode> | |||
[<RRO>[<BANDWIDTH>]] | <t>Where:</t> | |||
[<IRO>] | <sourcecode type="rbnf"><![CDATA[ | |||
[<LOAD-BALANCING>] | <association-list> ::= <ASSOCIATION> [<association-list>] | |||
]]></sourcecode> | ||||
Where: | ||||
<association-list> ::= <ASSOCIATION> [<association-list>] | ||||
]]></artwork> | ||||
</figure> | ||||
<t> | ||||
Note that the LSP object MAY be present for the passive stateful PCE mode. | ||||
</t> | ||||
</section> | ||||
<section title="Reply Message"> | ||||
<t> | ||||
In case of passive (stateful or stateless) PCE, the ASSOCIATION Object | ||||
is OPTIONAL and MAY be carried in the Path Computation Reply | ||||
(PCRep) message with the NO-PATH object. The ASSOCIATION object in PCRep mess | ||||
age indicates the | ||||
association group that cause the PCE to fail to find a path. | ||||
</t> | ||||
<t> | ||||
The PCRep message is defined in <xref target="RFC5440"/> and updated in | ||||
<xref target="RFC8231"/> , it is further updated below for | ||||
association: | ||||
</t> | ||||
<figure> | <t> | |||
<artwork><![CDATA[ | Note that the LSP object <bcp14>MAY</bcp14> be present for the passive statef | |||
ul | ||||
PCE mode. | ||||
</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Reply Message</name> | ||||
<t> | ||||
In the case of a passive (stateful or stateless) PCE, the ASSOCIATION | ||||
object is <bcp14>OPTIONAL</bcp14> and <bcp14>MAY</bcp14> be carried in the P | ||||
CRep message with the | ||||
NO-PATH object. The ASSOCIATION object in the PCRep message indicates the | ||||
association group that caused the PCE to fail to find a path. | ||||
</t> | ||||
<t> | ||||
The PCRep message is defined in <xref target="RFC5440" format="default"/> and | ||||
updated in | ||||
<xref target="RFC8231" format="default"/>. It is further updated below for as | ||||
sociation groups: | ||||
</t> | ||||
<sourcecode type="rbnf"><![CDATA[ | ||||
<PCRep Message> ::= <Common Header> | <PCRep Message> ::= <Common Header> | |||
<response-list> | <response-list> | |||
Where: | ]]></sourcecode> | |||
<t>Where:</t> | ||||
<response-list>::=<response>[<response-list>] | <sourcecode type="rbnf"><![CDATA[ | |||
<response-list>::=<response>[<response-list>] | ||||
<response>::=<RP> | ||||
[<LSP>] | ||||
[<NO-PATH>] | ||||
[<association-list>] | ||||
[<attribute-list>] | ||||
[<path-list>] | ||||
Where: | ||||
<association-list> ::= <ASSOCIATION> [<association-list>] | ||||
]]></artwork> | ||||
</figure> | ||||
<t> | ||||
Note that the LSP object MAY be present for the passive stateful PCE mode. | ||||
</t> | ||||
</section> | ||||
</section> <!-- Object Encoding --> | ||||
<section anchor="Rules" title="Processing Rules"> | ||||
<t> | <response>::=<RP> | |||
Association groups can be operator-configured on the necessary PCEP speakers | [<LSP>] | |||
and the PCEP speakers can join the existing association groups. | [<NO-PATH>] | |||
In addition, a PCC or a PCE can create association groups dynamically and th | [<association-list>] | |||
e PCEP speaker can also report the associations to its peer via PCEP messages. | [<attribute-list>] | |||
The operator-configured associations are created via configurations (where a | [<path-list>] | |||
ll association parameters are manually set) and exist until explicitly removed v | ]]></sourcecode> | |||
ia configurations. The PCEP speaker can add LSPs to these configured association | <t>Where:</t> | |||
s and carry this via stateful PCEP messages. The dynamic associations are create | <sourcecode type="rbnf"><![CDATA[ | |||
d dynamically by the PCEP speaker (where all association parameters are populate | <association-list> ::= <ASSOCIATION> [<association-list>] | |||
d dynamically). The association group is attached to the LSP state, and the asso | ]]></sourcecode> | |||
ciation group exists till there is at least one LSP as part of the association. | <t> | |||
As described in <xref target="id"/>, the association parameters are the combinat | Note that the LSP object <bcp14>MAY</bcp14> be present for the passive statef | |||
ion of Association type, Association ID and Association Source as well as option | ul | |||
al global source and extended association identifier, that uniquely identifies a | PCE mode. | |||
n association group. The information related to the association types encoded vi | </t> | |||
a the TLVs of a particular association type (not described in this document) are | </section> | |||
the association information (<xref target="id"/>).</t> | </section> | |||
<section anchor="Rules" numbered="true" toc="default"> | ||||
<name>Processing Rules</name> | ||||
<t> | ||||
Association groups can be operator configured on the necessary PCEP | ||||
speakers, and the PCEP speakers can join the existing association groups. | ||||
In addition, a PCC or a PCE can create association groups dynamically, and | ||||
the PCEP speaker can also report the associations to its peer via PCEP | ||||
messages. The Operator-configured Associations are created via | ||||
configurations (where all association parameters are manually set) and | ||||
exist until explicitly removed via configurations. The PCEP speaker can | ||||
add LSPs to these configured associations and provide this information | ||||
via stateful PCEP messages. The dynamic associations are created | ||||
dynamically by the PCEP speaker (where all association parameters are | ||||
populated dynamically). The association group is attached to the LSP | ||||
state, and the association group exists until there is at least one LSP as | ||||
part of the association. As described in <xref target="id" format="default"/ | ||||
>, the | ||||
association parameters are the combination of Association Type, | ||||
Association ID, and Association Source, as well as the optional Global | ||||
Association Source and Extended Association ID TLVs; this combination | ||||
uniquely identifies an association group. The information | ||||
related to the Association Types encoded via the TLVs of a particular | ||||
Association Type (not described in this document) is the association | ||||
information (<xref target="id" format="default"/>).</t> | ||||
<!--But a PCE peer cannot add new members for association group created by | <t>If a PCEP speaker does not recognize the ASSOCIATION object in the | |||
another peer.--> | stateful message, it will return a PCErr message with Error-Type "Unknown | |||
<t>If a | Object" as described in <xref target="RFC5440" format="default"/>. In the ca | |||
PCEP speaker does not recognize the ASSOCIATION object in the stateful messa | se of a PCReq | |||
ge, it will return a PCErr | message, the PCE would react based on the P flag as per <xref target="RFC544 | |||
message with Error-Type "Unknown Object" as described in <xref target="RFC5 | 0" format="default"/>. If a PCEP speaker understands the ASSOCIATION object | |||
440"/>. In case of PCReq message, the PCE would react based on the P flag as per | but does not support the Association Type, it <bcp14>MUST</bcp14> return a P | |||
<xref target="RFC5440"/>. | CErr message | |||
If a | with Error-Type 26 "Association Error" and | |||
PCEP speaker understands the ASSOCIATION object but does not support the Ass | Error-value 1 "Association Type is not supported". If any association | |||
ociation type, | parameters are invalid in the ASSOCIATION object, the PCEP speaker would | |||
it MUST return a PCErr | consider this object malformed and process it as a malformed message <xref t | |||
message with Error-Type 26 (Early allocation by IANA) "Association Error" an | arget="RFC5440" format="default"/>. On receiving a PCEP message with an ASSOCIAT | |||
d Error-Value | ION | |||
1 "Association type is not supported". | object, if a PCEP speaker finds that too many LSPs belong to the | |||
If any association parameters are invalid in the ASSOCIATION object, the PCE | association group, it <bcp14>MUST</bcp14> return a PCErr message with Error- | |||
P speaker | Type 26 | |||
would consider this as malformed object and handle it as malformed message < | "Association Error" and Error-value 2 "Too | |||
xref target="RFC5440"/>. | many LSPs in the association group". If a PCEP speaker cannot handle a new | |||
On receiving a PCEP | association, it <bcp14>MUST</bcp14> return a PCErr message with Error-Type 2 | |||
message with ASSOCIATION, if a | 6 | |||
PCEP speaker finds that too many LSPs belong to the association group, it MU | "Association Error" and Error-value 3 "Too many | |||
ST | association groups". These numbers <bcp14>MAY</bcp14> be set by the operator | |||
return a PCErr message with Error-Type 26 (Early allocation by IANA) "Associ | or chosen | |||
ation Error" and Error-Value | ||||
2 "Too many LSPs in the association group". If a PCEP speaker cannot handle | ||||
a new association, it MUST | ||||
return a PCErr message with Error-Type 26 (Early allocation by IANA) "Associ | ||||
ation Error" and Error-Value | ||||
3 "Too many association groups". These numbers MAY be set by operator or dec | ||||
ided | ||||
based on a local policy. </t> | based on a local policy. </t> | |||
<t>If a PCE peer is unwilling or unable to process the ASSOCIATION objec | ||||
<t>If a PCE | t | |||
peer is unwilling or unable to process the ASSOCIATION object in the statefu | in the stateful message, it <bcp14>MUST</bcp14> return a PCErr message with | |||
l message, it MUST return a | the | |||
PCErr message with the Error-Type "Not supported object" and follow the rele | Error-Type "Not supported object" and follow the relevant procedures | |||
vant | described in <xref target="RFC5440" format="default"/>. In the case of a PCR | |||
procedures described in <xref target="RFC5440"/>. In case of PCReq message, | eq message, the | |||
the PCE would react based on the P flag as per <xref target="RFC5440"/>. | PCE would react based on the P flag as per <xref target="RFC5440" format="de | |||
On receiving a PCEP | fault"/>. On | |||
message with ASSOCIATION, if a | receiving a PCEP message with an ASSOCIATION object, if a PCEP speaker | |||
PCEP speaker could not add the LSP to the association group for any reason, | could not add the LSP to the association group for any reason, it <bcp14>MUS | |||
it MUST | T</bcp14> | |||
return a PCErr message with Error-Type 26 (Early allocation by IANA) "Associ | return a PCErr message with Error-Type 26 | |||
ation Error" and Error-Value | "Association Error" and Error-value 7 "Cannot join the association | |||
7 "Cannot join the association group".</t> | group".</t> | |||
<t>If a PCEP speaker receives an ASSOCIATION object for an Operator-conf | ||||
<t>If a PCEP speaker receives an ASSOCIATION object for an operator-configur | igured Association | |||
ed association | and the Association ID is not in the Operator-configured Association Range | |||
and the association identifier is not in the operator-configured associati | for the Association Type and Association Source, it <bcp14>MUST</bcp14> re | |||
on range | turn a PCErr message with Error-Type 26 | |||
for the Association type and Association Source, it MUST return a PCErr me | "Association Error" and Error-value 8 "Association ID not in range". | |||
ssage with Error-Type 26 (Early allocation by IANA) | </t> | |||
"Association Error" and Error-Value 8 "Association identifier not in range | <t>If a PCEP speaker receives an ASSOCIATION object in a PCReq message | |||
". | and the association is not known (the association is not configured, | |||
</t> | was not created dynamically, or was not learned from a PCEP peer), it <bcp | |||
14>MUST</bcp14> return a | ||||
<t>If a PCEP speaker receives ASSOCIATION in PCReq message, and the associ | PCErr message with Error-Type 26 "Association | |||
ation | Error" and Error-value 4 "Association unknown".</t> | |||
is not known (association is not configured, or created dynamically, or lear | <t>If the association information (related to the association group as a | |||
ned from a PCEP peer), it MUST | whole) received from the peer does not match the local operator-configured | |||
return a PCErr message with Error-Type 26 (Early allocation by IANA) "Associ | information, it <bcp14>MUST</bcp14> return a PCErr message with Error-Type 2 | |||
ation Error" and Error-Value | 6 "Association Error" and Error-value 5 | |||
4 "Association unknown".</t> | "Operator-configured association information mismatch". On receiving | |||
association information (related to the association group as a whole) that | ||||
<t>If the association information (related to the association group as a who | does not match the association information previously received about the | |||
le) | same association from a peer, it <bcp14>MUST</bcp14> return a PCErr message | |||
received from the peer does not match with the local operator-configured | with | |||
information, it MUST | Error-Type 26 "Association Error" and | |||
return a PCErr message with Error-Type 26 (Early allocation by IANA) "Associ | Error-value 6 "Association information mismatch". Note that information | |||
ation Error" and Error-Value | related to each LSP within the association as part of the association | |||
5 "Operator-configured association information mismatch". On receiving assoc | information TLVs could be different. | |||
iation | </t> | |||
information (related to the association group as a whole) that does not matc | <t>If a PCEP speaker receives an ASSOCIATION object with the R bit set f | |||
h with the association information previously received | or | |||
about the same association from a peer, it MUST | removal and the association group (identified by association parameters) | |||
return a PCErr message with Error-Type 26 (Early allocation by IANA) "Associ | is not known, it <bcp14>MUST</bcp14> return a PCErr message with Error-Type | |||
ation Error" and Error-Value | 26 | |||
6 "Association information mismatch". Note that information related to each | "Association Error" and Error-value 4 | |||
LSP within the association as part of the association information TLVs could be | "Association unknown".</t> | |||
different. | <t>The dynamic associations are cleared along with the LSP state | |||
</t> | information as per <xref target="RFC8231" format="default"/>. When a PCEP se | |||
ssion is | ||||
<t>If a PCEP speaker receives an ASSOCIATION object with the R bit set for r | terminated, after expiry of the State Timeout Interval at the PCC, the LSP | |||
emoval, and the association | state associated with that PCEP session is reverted to operator-defined | |||
group (identified by association parameters) is not known, it MUST | default parameters or behaviors. The same procedure is also followed for | |||
return a PCErr message with Error-Type 26 (Early allocation by IANA) "Associ | the association groups. On session termination at the PCE, when the LSP | |||
ation Error" and Error-Value | state reported by the PCC is cleared, the association groups are also | |||
4 "Association unknown". </t> | cleared. When there are no LSPs in an association group, the association | |||
is considered empty and thus deleted.</t> | ||||
<t>The dynamic associations are cleared along with the LSP state information | <t>If the LSP is delegated to another PCE on session failure, | |||
as | the associations (and association information) set by the PCE remain | |||
per the <xref target='RFC8231'></xref>. When a | intact, unless updated by the new PCE that takes over. </t> | |||
PCEP session is terminated, | <t>Upon LSP delegation revocation, the PCC <bcp14>MAY</bcp14> clear the | |||
after expiry of State Timeout Interval at PCC, the LSP state associated | association | |||
with that PCEP session is reverted to operator-defined default | created by the PCE, but in order to avoid traffic loss, it <bcp14>SHOULD</bc | |||
parameters or behaviours. Same procedure is also followed for the associat | p14> | |||
ion groups. On session | perform this action in a make-before-break fashion (same as <xref target="RF | |||
termination at the PCE, when the LSP state reported by PCC is cleared, the | C8231" format="default"/>).</t> | |||
association groups | </section> | |||
are also cleared. When there are no LSPs in an association group, the asso | </section> | |||
ciation is considered to be empty and thus deleted. </t> | <section anchor="IANA-considerations" numbered="true" toc="default"> | |||
<name>IANA Considerations</name> | ||||
<t>In case the LSP is delegated to another PCE on session failure, | ||||
the associations (and association information) set by the PCE remains inta | ||||
ct, unless updated by the new PCE that takes over. </t> | ||||
<!--<t> | ||||
The association timeout interval is as a PCC-local value that can be | ||||
operator-configured or computed by the PCC based on local policy and is us | ||||
ed in the context | ||||
of cleaning up associations on session failure. The associatioThe associat | ||||
ion timeout | ||||
must be set to a value no larger than the state timeout interval (defined | ||||
in | ||||
<xref target='RFC8231'></xref>) and larger than the delegation | ||||
timeout interval (defined in | ||||
<xref target='RFC8231'></xref>. | ||||
</t> | ||||
<t> | ||||
When a PCC's PCEP session with the PCE terminates unexpectedly, the PCC M | ||||
UST | ||||
wait for the association timeout interval before cleaning up the associat | ||||
ion. | ||||
If this PCEP session can be re-established before the association timeout | ||||
interval time expires, no action is taken to clean the association create | ||||
d by | ||||
this PCE. During the time window of the redelegation timeout interval and | ||||
the association timeout interval, the PCE, after re-establishing the sessi | ||||
on, | ||||
can also ask for redelegation following the procedure | ||||
defined in <xref target='RFC8231'></xref> and | ||||
<xref target='RFC8281'></xref>. | ||||
When the association timeout interval timers expires, | ||||
the PCC clears all the associations which are not delegated to any PCEs. | ||||
</t>--> | ||||
<t>Upon LSP delegation revocation, the PCC MAY clear the association | ||||
created by the PCE, but in order to avoid traffic loss, it SHOULD perform t | ||||
his | ||||
in a make-before-break fashion (same as <xref target='RFC8231'/>).</t> | ||||
<!--<t>Error handling for situations for multiple PCE scenarios will be inc | ||||
luded in | ||||
future versions of this draft. | ||||
</t>--> | ||||
</section> <!-- Rules --> | ||||
</section> <!-- Association Object --> | ||||
<section anchor="IANA-considerations" title="IANA Considerations"> | ||||
<t>IANA maintains the "Path Computation Element Protocol (PCEP) Numbers" | <t>IANA maintains the "Path Computation Element Protocol (PCEP) Numbers" | |||
registry at <http://www.iana.org/assignments/pcep>.</t> | registry at <eref brackets="angle" target="https://www.iana.org/assignments/ | |||
<section title="PCEP Object"> | pcep"/>.</t> | |||
<section numbered="true" toc="default"> | ||||
<t>The "PCEP Numbers" registry contains a subregistry "PCEP Objects". | <name>PCEP Object</name> | |||
IANA is requested to confirm the early allocation of the following | <t>The "Path Computation Element Protocol (PCEP) Numbers" registry | |||
code point in the PCEP Objects registry. | contains a subregistry called "PCEP Objects". IANA has allocated the | |||
following code point in the "PCEP Objects" registry. | ||||
</t> | </t> | |||
<texttable anchor="Object-Code-Points" style="none" suppress-title="true | ||||
"> | ||||
<ttcol align="center">Object-Class Value </ttcol> | ||||
<ttcol align="left" width='50%'>Name </ttcol> | ||||
<ttcol align="left">Reference </ttcol> | ||||
<c></c><c> </c><c></c> | ||||
<c>40 (Early allocation by IANA)</c><c>Association</c><c>[This.I-D]</c | ||||
> | ||||
<c></c><c>Object-Type</c><c></c> | ||||
<c></c><c> 0: Reserved </c><c></c> | ||||
<c></c><c> 1: IPv4 </c><c></c> | ||||
<c></c><c> 2: IPv6 </c><c></c> | ||||
</texttable> | ||||
</section> | ||||
<section title="PCEP TLV"> | ||||
<t>IANA is requested to confirm the early allocation of the following | ||||
code point in the "PCEP TLV Type Indicators" registry. | ||||
</t> | ||||
<texttable anchor="new-association-TLV-CP" style="none" suppress-title=" | <table anchor="tab-1"> | |||
true"> | <name>PCEP Object</name> | |||
<ttcol align="center" width='20%'>Value</ttcol> | <thead> | |||
<ttcol align="left" width='40%'>Meaning </ttcol> | <tr> | |||
<ttcol align="left" width='40%'>Reference </ttcol> | <th>Object-Class Value</th> | |||
<c>29 (Early allocation by IANA)</c><c> Operator-configured Assoc | <th>Name</th> | |||
iation Range</c><c>[This.I-D]</c> | <th>Object-Type</th> | |||
<c>30 (Early allocation by IANA)</c><c> Global Association Source | <th>Reference</th> | |||
</c><c>[This.I-D]</c> | </tr> | |||
<c>31 (Early allocation by IANA)</c><c> Extended Association ID</ | </thead> | |||
c><c>[This.I-D]</c> | <tbody> | |||
</texttable> | <tr> | |||
<td rowspan="3">40</td> | ||||
<td rowspan="3">ASSOCIATION</td> | ||||
<td>0: Reserved</td> | ||||
<td>RFC 8697</td> | ||||
</tr> | ||||
<tr> | ||||
<td>1: IPv4</td> | ||||
<td>RFC 8697</td> | ||||
</tr> | ||||
<tr> | ||||
<td>2: IPv6</td> | ||||
<td>RFC 8697</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
<t>IANA is requested to fix the meaning for value 31 in the above regist | </section> | |||
ry to 'Extended Association ID', it is currently mentioned as 'Extended Associat | <section numbered="true" toc="default"> | |||
ion Id'.</t> | <name>PCEP TLV</name> | |||
<t>IANA has allocated the following | ||||
code points in the "PCEP TLV Type Indicators" registry. | ||||
</t> | ||||
<t>IANA is also requested to make a new assignment for | <table anchor="tab-2"> | |||
<name>PCEP TLV Type Indicators</name> | ||||
<thead> | ||||
<tr> | ||||
<th>Value</th> | ||||
<th>Meaning</th> | ||||
<th>Reference</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td>29</td> | ||||
<td>Operator-configured Association Range</td> | ||||
<td>RFC 8697</td> | ||||
</tr> | ||||
<tr> | ||||
<td>30</td> | ||||
<td>Global Association Source</td> | ||||
<td>RFC 8697</td> | ||||
</tr> | ||||
<tr> | ||||
<td>31</td> | ||||
<td>Extended Association ID</td> | ||||
<td>RFC 8697</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
<t>IANA has corrected the capitalization in the meaning for value 31 in | ||||
the above registry | ||||
to "Extended Association ID"; it was previously listed as "Extended | ||||
Association Id".</t> | ||||
<t>IANA has made a new assignment in | ||||
the existing "PCEP TLV Type Indicators" registry as follows: | the existing "PCEP TLV Type Indicators" registry as follows: | |||
</t> | </t> | |||
<table anchor="tab-3"> | ||||
<texttable anchor="new-association-TLV-CP-2" style="none" suppress-title | <name>ASSOC-Type-List PCEP TLV Type Indicator</name> | |||
="true"> | <thead> | |||
<ttcol align="center" width='20%'>Value</ttcol> | <tr> | |||
<ttcol align="left" width='40%'>Meaning </ttcol> | <th>Value</th> | |||
<ttcol align="left" width='40%'>Reference </ttcol> | <th>Meaning</th> | |||
<c>TBD</c><c> ASSOC-Type-List</c><c>[This.I-D]</c> | <th>Reference</th> | |||
</texttable> | </tr> | |||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td>35</td> | ||||
<td>ASSOC-Type-List</td> | ||||
<td>RFC 8697</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Association Flags</name> | ||||
</section> | <t>Per this document, IANA has created a subregistry of the | |||
<section title="Association Flags"> | "Path Computation Element Protocol (PCEP) Numbers" registry | |||
<t>This document requests IANA to create a subregistry of the "PCEP Numb | for the bits carried in the Flags field of the ASSOCIATION object. | |||
ers" for | The subregistry is called "ASSOCIATION Flag Field". New values are | |||
the bits carried in the Flags field of the ASSOCIATION object. | assigned by Standards Action <xref target="RFC8126" format="default"/>. Eac | |||
The subregistry is called "ASSOCIATION Flags Field". New values are | h bit is | |||
assigned by Standards Action <xref target="RFC8126"/>. Each bit should be tr | tracked with the following qualities: | |||
acked | ||||
with the following qualities: | ||||
<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> | ||||
<texttable anchor="Association-Flags" style="none" suppress-title="true | </t> | |||
"> | <ul spacing="normal"> | |||
<ttcol align="left" width='10%'>Bit</ttcol> | <li>Bit number (counting from bit 0 as the most significant bit)</li> | |||
<ttcol align="left" width='50%'>Description </ttcol> | <li>Capability description</li> | |||
<ttcol align="left" width='40%'>Reference </ttcol> | <li>Defining RFC</li> | |||
<c></c><c> </c><c></c> | </ul> | |||
<c>15</c><c>R (Removal)</c><c>[This.I-D]</c> | <table anchor="tab-4"> | |||
</texttable> | <name>New ASSOCIATION Flag Field</name> | |||
<thead> | ||||
<tr> | ||||
<th>Bit</th> | ||||
<th>Description</th> | ||||
<th>Reference</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td>15</td> | ||||
<td>R (Removal)</td> | ||||
<td>RFC 8697</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | ||||
<section anchor="iana_assoc_type" numbered="true" toc="default"> | ||||
<name>Association Type</name> | ||||
<t>Per this document, IANA has created a subregistry of the | ||||
"Path Computation Element Protocol (PCEP) Numbers" registry for | ||||
the Association Type field of the ASSOCIATION object. | ||||
The subregistry is called "ASSOCIATION Type Field". New values are | ||||
assigned by Standards Action <xref target="RFC8126" format="default"/>. | ||||
Each | ||||
value is tracked with the following qualities: | ||||
</section> | </t> | |||
<section title="Association Type" anchor="iana_assoc_type"> | <ul spacing="normal"> | |||
<t>This document requests IANA to create a subregistry of the "PCEP Nu | <li>Type</li> | |||
mbers" for | <li>Name</li> | |||
the Association Type field of the the ASSOCIATION object. | <li>Reference</li> | |||
The subregistry is called "ASSOCIATION Type Field". New values are | </ul> | |||
to be assigned by Standards Action <xref target="RFC8126"/>. Each v | ||||
alue should be | ||||
tracked with the following qualities: | ||||
<list style="symbols"> | ||||
<t>Type</t> | ||||
<t>Name</t> | ||||
<t>Reference</t> | ||||
</list></t> | ||||
<t>There are no association types specified in this document, future | ||||
documents should request the | ||||
assignment of association types from this subregistry.</t> | ||||
</section> | <table anchor="tab-5"> | |||
<section title="PCEP-Error Object" | <name>New ASSOCIATION Type Field</name> | |||
toc="default"> | <thead> | |||
<t>IANA is requested to confirm the early allocation of the following co | <tr> | |||
de points within | <th>Type</th> | |||
the "PCEP-ERROR Object Error Types and Values" sub-registry of the | <th>Name</th> | |||
"PCEP Numbers" registry, as follows:</t> | <th>Reference</th> | |||
<figure title="" | </tr> | |||
suppress-title="true" | </thead> | |||
align="left" | <tbody> | |||
alt="" | <tr> | |||
width="" | <td>0</td> | |||
height=""> | <td>Reserved</td> | |||
<artwork xml:space="preserve" | <td>RFC 8697</td> | |||
name="" | </tr> | |||
type="" | </tbody> | |||
align="left" | </table> | |||
alt="" | ||||
width="" | ||||
height=""> | ||||
<![CDATA[ | ||||
Error-Type Meaning | ||||
26 Association Error [This.I-D] | ||||
(early Error-value=0: | ||||
alloc by Unassigned | ||||
IANA) Error-value=1: | ||||
Association type is not supported | ||||
Error-value=2: | ||||
Too many LSPs in the association group | ||||
Error-value=3: | ||||
Too many association groups | ||||
Error-value=4: | ||||
Association unknown | ||||
Error-value=5: | ||||
Operator-configured association | ||||
information mismatch | ||||
Error-value=6: | ||||
Association information mismatch | ||||
Error-value=7: | ||||
Cannot join the association group | ||||
Error-value=8: | ||||
Association identifier not in range | ||||
]]> | ||||
</artwork> | <t> | |||
</figure> | Values 2-65535 are Unassigned. Future | |||
documents should request the assignment of Association Types from | ||||
this subregistry.</t> | ||||
</section> | </section> | |||
<section toc="default" numbered="true"> | ||||
<name>PCEP-Error Object</name> | ||||
<t>IANA has allocated the following | ||||
code points within the "PCEP-ERROR Object Error Types and Values" | ||||
subregistry of the "Path Computation Element Protocol (PCEP) Numbers" | ||||
registry as follows:</t> | ||||
</section> <!-- IANA --> | <table anchor="tab-6"> | |||
<name>PCEP-ERROR Types and Names</name> | ||||
<thead> | ||||
<tr> | ||||
<th>Error-Type</th> | ||||
<th>Meaning</th> | ||||
<th>Error-value</th> | ||||
<th>Reference</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td rowspan="9">26</td> | ||||
<td rowspan="9">Association Error</td> | ||||
<td>0: Unassigned</td> | ||||
<td>RFC 8697</td> | ||||
</tr> | ||||
<tr> | ||||
<td>1: Association Type is not supported</td> | ||||
<td>RFC 8697</td> | ||||
</tr> | ||||
<tr> | ||||
<td>2: Too many LSPs in the association group</td> | ||||
<td>RFC 8697</td> | ||||
</tr> | ||||
<tr> | ||||
<td>3: Too many association groups</td> | ||||
<td>RFC 8697</td> | ||||
</tr> | ||||
<tr> | ||||
<td>4: Association unknown</td> | ||||
<td>RFC 8697</td> | ||||
</tr> | ||||
<tr> | ||||
<td>5: Operator-configured association information mismatch</td> | ||||
<td>RFC 8697</td> | ||||
</tr> | ||||
<tr> | ||||
<td>6: Association information mismatch</td> | ||||
<td>RFC 8697</td> | ||||
</tr> | ||||
<tr> | ||||
<td>7: Cannot join the association group</td> | ||||
<td>RFC 8697</td> | ||||
</tr> | ||||
<tr> | ||||
<td>8: Association ID not in range</td> | ||||
<td>RFC 8697</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
<section anchor="Security" title="Security Considerations"> | </section> | |||
</section> | ||||
<section anchor="Security" numbered="true" toc="default"> | ||||
<name>Security Considerations</name> | ||||
<t>The security considerations described in <xref target="RFC8231" format= | ||||
"default"/> and <xref target="RFC5440" format="default"/> apply to the | ||||
extensions described in this document as well. Additional considerations | ||||
related to a malicious PCEP speaker are introduced, as associations could | ||||
be spoofed and could be used as an | ||||
attack vector. An attacker could attempt to create too many associations in | ||||
an attempt to load the PCEP peer. The PCEP peer responds with a PCErr | ||||
message as described in <xref target="Rules" format="default"/>. An attacker | ||||
could impact | ||||
LSP operations by creating bogus associations. Further, association groups | ||||
could provide an adversary with the opportunity to eavesdrop on the | ||||
relationship between the LSPs. Thus, securing the PCEP session using | ||||
Transport Layer Security (TLS) <xref target="RFC8253" format="default"/>, as | ||||
per the | ||||
recommendations and best current practices in <xref target="RFC7525" format=" | ||||
default"/>, is | ||||
<bcp14>RECOMMENDED</bcp14>. | ||||
<t>The security considerations described in <xref target='RFC8231'></xref> | </t> | |||
and <xref target='RFC5440'/> | <t>Much of the information carried in the ASSOCIATION object as per this | |||
apply to the extensions described in this document as well. Additional | document is not extra sensitive. It often reflects information that can | |||
considerations related to a malicious PCEP speaker are introduced, as associa | also be derived from the LSP database, but the association provides a much | |||
tions could be spoofed and could be used as an | easier grouping of related LSPs and messages. Implementations and operators | |||
attack vector. An attacker could attempt to create too many associations in a | can, and should, use indirect values in the ASSOCIATION object as a way to | |||
n attempt to load the PCEP peer. The PCEP peer responds with | hide any sensitive business relationships.</t> | |||
PCErr as described in <xref target="Rules"/>. An attacker could impact LSP op | </section> | |||
erations by creating bogus associations. | <section toc="default" numbered="true"> | |||
Further, association groups could provides an adversary with the opportunity | <name>Manageability Considerations</name> | |||
to eavesdrop on the relationship | <t> | |||
between the LSPs. | All manageability requirements and considerations listed in <xref target="RFC5 | |||
Thus securing the PCEP session using Transport Layer | 440" format="default"/> and <xref target="RFC8231" format="default"/> apply to P | |||
Security (TLS) <xref target="RFC8253"/>, as per the recommendations and | CEP protocol | |||
best current practices in <xref target="RFC7525"/>, is RECOMMENDED. | extensions defined in this document. In addition, requirements and | |||
</t> | considerations listed in this section apply. | |||
<t>Much of the information carried in the ASSOCIATION object, as per this docu | </t> | |||
ment is not extra sensitive. It often reflects information | <section toc="default" numbered="true"> | |||
that can also be derived from the LSP Database, but association provides a m | <name>Control of Function and Policy</name> | |||
uch easier grouping of related LSPs and messages. Implementations | <t> | |||
and operator can and should use indirect values in ASSOCIATION as a way to h | A PCE or PCC implementation <bcp14>MUST</bcp14> allow Operator-configured Asso | |||
ide any sensitive business relationships.</t> | ciations and | |||
</section> | <bcp14>SHOULD</bcp14> allow the setting of the Operator-configured Association | |||
<section title="Manageability Considerations" toc="default"> | Range (<xref target="Range" format="default"/>) as described in this document. | |||
<t> | </t> | |||
All manageability requirements and considerations listed in <xref target="RFC5 | </section> | |||
440" pageno="false" format="default" /> | <section toc="default" numbered="true"> | |||
and <xref target="RFC8231" pageno="false" format="default" /> | <name>Information and Data Models</name> | |||
apply to PCEP protocol extensions defined in this document. In addition, requi | <t>The PCEP YANG module is defined in <xref target="PCEP-YANG" format="d | |||
rements and considerations listed in this section apply. | efault"/>. In the | |||
</t> | ||||
<section title="Control of Function and Policy" toc="default"> | ||||
<t> | ||||
A PCE or PCC implementation MUST allow operator-configured associations and SH | ||||
OULD allow setting of the operator-configured association range (<xref target="R | ||||
ange"/>) as described in this document. | ||||
</t> | ||||
</section> | ||||
<section title="Information and Data Models" toc="default"> | ||||
<t>The PCEP YANG module is defined in <xref target="I-D.ietf-pce-pcep-yang"/>. | ||||
In | ||||
future, this YANG module should be extended or augmented to provide | future, this YANG module should be extended or augmented to provide | |||
the following additional information relating to association groups.</t> | the following additional information related to association groups.</t> | |||
<t>An implementation SHOULD allow the operator to view the associations config | <t>An implementation <bcp14>SHOULD</bcp14> allow the operator to view th | |||
ured or created dynamically. Further implementation SHOULD allow to view associa | e associations | |||
tions reported by each peer, and the current set of LSPs in the association.</t> | configured or created dynamically. Future implementations <bcp14>SHOULD</bcp14 | |||
<t>It might also be useful to find out how many associations for each associat | > allow | |||
ion type currently exist and to know how many free association identifiers are a | the viewing of associations reported by each peer and the current set of | |||
vailable for a particular association type and source.</t> | LSPs in the association.</t> | |||
</section> | <t>It might also be useful to find out how many associations for each | |||
<section title="Liveness Detection and Monitoring" toc="default"> | Association Type currently exist and to know how many free Association IDs are | |||
<t> | available for a particular Association Type and source.</t> | |||
Mechanisms defined in this document do not imply any new liveness detection an | </section> | |||
d monitoring requirements in addition to those already listed in <xref target="R | <section toc="default" numbered="true"> | |||
FC5440" pageno="false" format="default" />. | <name>Liveness Detection and Monitoring</name> | |||
</t> | <t> | |||
</section> | Mechanisms defined in this document do not imply any new liveness detection an | |||
<section title="Verify Correct Operations" toc="default"> | d monitoring requirements in addition to those already listed in <xref target="R | |||
<t> | FC5440" format="default"/>. | |||
Mechanisms defined in this document do not imply any new operation verificatio | </t> | |||
n requirements in addition to those already listed in <xref target="RFC5440" pag | </section> | |||
eno="false" format="default" /> | <section toc="default" numbered="true"> | |||
and <xref target="RFC8231" pageno="false" format="default" />. | <name>Verifying Correct Operation</name> | |||
</t> | <t> | |||
</section> | Mechanisms defined in this document do not imply any new operation verificatio | |||
<section title="Requirements on Other Protocols" toc="default"> | n requirements in addition to those already listed in <xref target="RFC5440" for | |||
<t>Mechanisms defined in this document do not imply any new requirements on ot | mat="default"/> | |||
her protocols.</t> | and <xref target="RFC8231" format="default"/>. | |||
</section> | </t> | |||
<section title="Impact on Network Operations" toc="default"> | </section> | |||
<t> | <section toc="default" numbered="true"> | |||
Mechanisms defined in <xref target="RFC5440" pageno="false" format="default" / | <name>Requirements on Other Protocols</name> | |||
> | <t>Mechanisms defined in this document do not imply any new requirements | |||
on other protocols.</t> | ||||
</section> | ||||
<section toc="default" numbered="true"> | ||||
<name>Impact on Network Operations</name> | ||||
<t> | ||||
Mechanisms defined in <xref target="RFC5440" format="default"/> | ||||
and | and | |||
<xref target="RFC8231" pageno="false" format="default" /> also apply to PCEP e | <xref target="RFC8231" format="default"/> also apply to PCEP extensions define | |||
xtensions defined in this document. </t> | d in this document. </t> | |||
</section> | </section> | |||
</section> | ||||
<section anchor="Acknowledgments" title="Acknowledgments"> | ||||
<t>We would like to thank Yuji Kamite and Joshua George for | ||||
their contributions to this document. Also thanks to Venugopal Reddy, | ||||
Cyril Margaria, Rakesh Gandhi, Mike Koldychev, and Adrian Farrel for their | ||||
useful comments.</t> | ||||
<t>We would like to thank Julien Meuric for shepherding this | ||||
document and providing comments with text suggestions.</t> | ||||
<t>Thanks to Stig Venaas for the RTGDIR review comments.</t> | ||||
<t>Thanks to Alvaro Retana, Mirja Kuhlewind, Martin Vigoureux, Barry Leiba, E | ||||
ric Vyncke, Suresh Krishnan, and Benjamin Kaduk for the IESG comments.</t> | ||||
</section> | </section> | |||
</middle> | ||||
<back> | ||||
<section anchor="Contributor" title="Contributors"> | <displayreference target="I-D.ietf-pce-stateful-path-protection" to="PCE-PROTECT | |||
ION"/> | ||||
<figure><artwork> | <displayreference target="I-D.ietf-pce-association-diversity" to="PCE-DIVERSITY" | |||
Stephane Litkowski | /> | |||
Orange | ||||
Email: stephane.litkowski@orange.com | ||||
Xian Zhang | ||||
Huawei Technologies | ||||
F3-1-B RnD Center, Huawei Base | ||||
Bantian, Longgang District | ||||
Shenzhen 518129 | ||||
China | ||||
Email: zhang.xian@huawei.com | ||||
Mustapha Aissaoui | <references> | |||
Nokia | <name>References</name> | |||
<references> | ||||
<name>Normative References</name> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5440. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5511. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6780. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7525. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8051. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8126. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8231. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8281. | ||||
xml"/> | ||||
</references> | ||||
Email: mustapha.aissaoui@nokia.com | <references> | |||
<name>Informative References</name> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4657. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4872. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4873. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6007. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7551. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8253. | ||||
xml"/> | ||||
</artwork></figure> | <!-- draft-ietf-pce-pcep-yang (I-D Exists) --> | |||
</section><!-- Contributor --> | <reference anchor='PCEP-YANG'> | |||
<front> | ||||
<title>A YANG Data Model for Path Computation Element Communications Protocol (P | ||||
CEP)</title> | ||||
<author initials='D' surname='Dhody' fullname='Dhruv Dhody' role="editor"> | ||||
<organization /> | ||||
</author> | ||||
<author initials='J' surname='Hardwick' fullname='Jonathan Hardwick'> | ||||
<organization /> | ||||
</author> | ||||
<author initials='V' surname='Beeram' fullname='Vishnu Beeram'> | ||||
<organization /> | ||||
</author> | ||||
<author initials='J' surname='Tantsura' fullname='Jeff Tantsura'> | ||||
<organization /> | ||||
</author> | ||||
<date month='October' day='31' year='2019' /> | ||||
</front> | ||||
<seriesInfo name='Internet-Draft' value='draft-ietf-pce-pcep-yang-13' /> | ||||
</reference> | ||||
</middle> | <!-- draft-ietf-pce-stateful-path-protection (RFC-EDITOR*R since 2020-01-10 --> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf | ||||
-pce-stateful-path-protection.xml"/> | ||||
<back> | <!-- draft-ietf-pce-association-diversity (IESG Eval::AD Followup) --> | |||
<references title="Normative References"> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf | |||
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.211 | -pce-association-diversity.xml"/> | |||
9.xml"?> | ||||
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.544 | ||||
0.xml"?> | ||||
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.551 | ||||
1.xml"?> | ||||
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.678 | ||||
0.xml"?> | ||||
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.752 | ||||
5.xml"?> | ||||
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.805 | ||||
1.xml"?> | ||||
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.812 | ||||
6.xml"?> | ||||
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.817 | ||||
4.xml"?> | ||||
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.823 | ||||
1.xml"?> | ||||
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.828 | ||||
1.xml"?> | ||||
</references> | </references> | |||
</references> | ||||
<section anchor="ex" numbered="true" toc="default"> | ||||
<name>Example of an Operator-Configured Association Range</name> | ||||
<t>Consider an Association Type T1 (which allows both dynamic and | ||||
Operator-configured Associations with a default range of | ||||
<0x1000, 0xffff>). Consider that, because of the needs of the | ||||
network, the PCE needs to create more dynamic associations and would like | ||||
to change the Association Range to <0xbffe, 0xffff> instead. During | ||||
PCEP session establishment, the PCE would advertise the new range. The PCC | ||||
could skip advertising, as the default values are used. If a PCC is | ||||
creating a dynamic association (with the PCC as the Association Source), | ||||
it needs to pick a free Association ID for type T1 in the range | ||||
<0x1, 0x0fff>, whereas if a PCE is creating a dynamic association | ||||
(with the PCE as the Association Source), it needs to pick a free | ||||
Association ID from the range <0x1, 0xbffd>. Similarly, if | ||||
an Operator-configured Association is manually configured with the PCC as | ||||
the Association Source, it should be from the range <0x1000, | ||||
0xffff>, whereas if the PCE is the Association Source, it should be | ||||
from the range <0xbffe, 0xffff>. If the Association Source is | ||||
not a PCEP peer (for example, an NMS), then the default range of | ||||
<0x1000, 0xffff> is considered.</t> | ||||
</section> | ||||
<section anchor="Acknowledgments" numbered="false" toc="default"> | ||||
<name>Acknowledgments</name> | ||||
<t>We would like to thank <contact fullname="Yuji Kamite"/> and <contact | ||||
fullname="Joshua George"/> for | ||||
their contributions to this document. Thanks also to <contact fullname="Ven | ||||
ugopal Reddy"/>, | ||||
<contact fullname="Cyril Margaria"/>, <contact fullname="Rakesh | ||||
Gandhi"/>, <contact fullname="Mike Koldychev"/>, and <contact fullname="Adr | ||||
ian Farrel"/> for their useful comments.</t> | ||||
<t>We would like to thank <contact fullname="Julien Meuric"/> for shepherd | ||||
ing this | ||||
document and providing comments with text suggestions.</t> | ||||
<t>Thanks to <contact fullname="Stig Venaas"/> for the RTGDIR review comme | ||||
nts.</t> | ||||
<t>Thanks to <contact fullname="Alvaro Retana"/>, <contact | ||||
fullname="Mirja Kühlewind"/>, <contact fullname="Martin Vigoureux"/>, | ||||
<contact fullname="Barry Leiba"/>, <contact fullname="Eric Vyncke"/>, | ||||
<contact fullname="Suresh Krishnan"/>, and <contact fullname="Benjamin Kad | ||||
uk"/> for the IESG comments.</t> | ||||
</section> | ||||
<section anchor="Contributors" numbered="false" toc="default"> | ||||
<name>Contributors</name> | ||||
<references title="Informative References"> | <contact fullname="Stephane Litkowski"> | |||
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4657 | <organization>Orange</organization> | |||
.xml"?> | <address> | |||
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4872 | <postal> | |||
.xml"?> | </postal> | |||
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4873 | <email>stephane.litkowski@orange.com</email> | |||
.xml"?> | </address> | |||
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.6007 | </contact> | |||
.xml"?> | ||||
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.7551 | ||||
.xml"?> | ||||
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8253 | <contact fullname="Xian Zhang"> | |||
.xml"?> | <organization>Huawei Technologies</organization> | |||
<address> | ||||
<postal> | ||||
<extaddr>F3-1-B RnD Center, Huawei Base</extaddr> | ||||
<street>Bantian, Longgang District</street> | ||||
<region>Shenzhen</region> | ||||
<code>518129</code> | ||||
<country>China</country> | ||||
</postal> | ||||
<email>zhang.xian@huawei.com</email> | ||||
</address> | ||||
</contact> | ||||
<?rfc include="reference.I-D.ietf-pce-pcep-yang.xml"?> | <contact fullname="Mustapha Aissaoui"> | |||
<?rfc include="reference.I-D.ietf-pce-stateful-path-protection.xml"?> | <organization>Nokia</organization> | |||
<?rfc include="reference.I-D.ietf-pce-association-diversity.xml"?> | <address> | |||
</references> | <postal> | |||
<section title="Example for Operator-configured Association Range" anchor="ex | </postal> | |||
"> | <email>mustapha.aissaoui@nokia.com</email> | |||
<t>Consider an association type T1 (which allows both dynamic and operator-c | </address> | |||
onfigured association with a default range of <0x1000, 0xffff>). Consider | </contact> | |||
that, because of need of the network, the PCE needs to create more dynamic assoc | </section> | |||
iations and would like to change the association range to <0xbffe, 0xffff> | ||||
instead. During PCEP session establishment the PCE would advertise the new rang | ||||
e, the PCC could skip advertising as the default values are used. If a PCC is cr | ||||
eating a dynamic association (with PCC as association source) it needs to pick a | ||||
free association identifier for type T1 in the range of <0x1, 0x0fff> whe | ||||
reas if a PCE is creating a dynamic association (with PCE as association source) | ||||
it needs to pick a free association identifier from the range <0x1, 0xbffd&g | ||||
t;. Similarly if an operator-configured association is manually configured with | ||||
the PCC as association source, it should be from the range <0x1000, 0xffff> | ||||
; whereas if the PCE is association source, it should be from <0xbffe, 0xffff | ||||
>. In case the association source is not a PCEP peer (for example an NMS syst | ||||
em), then the default range of <0x1000, 0xffff> is considered.</t> | ||||
</section> | ||||
</back> | </back> | |||
</rfc> | </rfc> | |||
End of changes. 93 change blocks. | ||||
1353 lines changed or deleted | 1402 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |