rfc9488xml2.original.xml | rfc9488.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | <!DOCTYPE rfc [ | |||
<?rfc toc="yes" ?> | <!ENTITY nbsp " "> | |||
<?rfc symrefs="yes" ?> | <!ENTITY zwsp "​"> | |||
<rfc ipr="trust200902" docName="draft-ietf-pce-local-protection-enforcement-11" | <!ENTITY nbhy "‑"> | |||
category="std" updates="5440"> | <!ENTITY wj "⁠"> | |||
<front> | ]> | |||
<title abbrev="Protection Enforcement">Local Protection Enforcement in P | ||||
CEP</title> | ||||
<author fullname="Andrew Stone" initials="A." surname="Stone"> | ||||
<organization>Nokia</organization> | ||||
<address> | ||||
<postal> | ||||
<street>600 March Road</street> | ||||
<city>Kanata</city> | ||||
<region>Ontario</region> | ||||
<code>K2K 2T6</code> | ||||
<country>Canada</country> | ||||
</postal> | ||||
<email>andrew.stone@nokia.com</email> | ||||
</address> | ||||
</author> | ||||
<author fullname="Mustapha Aissaoui" initials="M." surname="Aissaoui"> | ||||
<organization>Nokia</organization> | ||||
<address> | ||||
<postal> | ||||
<street>600 March Road</street> | ||||
<city>Kanata</city> | ||||
<region>Ontario</region> | ||||
<code>K2K 2T6</code> | ||||
<country>Canada</country> | ||||
</postal> | ||||
<email>mustapha.aissaoui@nokia.com</email> | ||||
</address> | ||||
</author> | ||||
<author fullname="Samuel Sidor" initials="S." surname="Sidor"> | ||||
<organization>Cisco Systems, Inc.</organization> | ||||
<address> | ||||
<postal> | ||||
<street>Eurovea Central 3.</street> | ||||
<street>Pribinova 10</street> | ||||
<city>Bratislava</city> | ||||
<code>811 09</code> | ||||
<country>Slovakia</country> | ||||
</postal> | ||||
<email>ssidor@cisco.com</email> | ||||
</address> | ||||
</author> | ||||
<author fullname="Siva Sivabalan" initials="S." surname="Sivabalan"> | ||||
<organization>Ciena Coroporation</organization> | ||||
<address> | ||||
<postal> | ||||
<street>385 Terry Fox Drive</street> | ||||
<city>Kanata</city> | ||||
<region>Ontario</region> | ||||
<code>K2K 0L1</code> | ||||
<country>Canada</country> | ||||
</postal> | ||||
<email>ssivabal@ciena.com</email> | ||||
</address> | ||||
</author> | ||||
<date year="2023" month="June" day="23"/> | ||||
<abstract> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft | |||
<t>This document updates RFC5440 to clarify usage of the local prote | -ietf-pce-local-protection-enforcement-11" number="9488" submissionType="IETF" c | |||
ction desired bit signalled in the Path Computation Element Protocol (PCEP). | ategory="std" consensus="true" updates="5440" obsoletes="" xml:lang="en" tocIncl | |||
This document also introduces a new flag for signalling protecti | ude="true" sortRefs="true" symRefs="true" version="3"> | |||
on strictness in PCEP.</t> | ||||
</abstract> | ||||
</front> | ||||
<middle> | ||||
<section title="Introduction" anchor="introduction" toc="default"> | ||||
<t>The Path Computation Element (PCE) Communication Protocol (PCEP) | ||||
<xref target="RFC5440" /> enables the communication between a Path Computation C | ||||
lient (PCC) and a PCE, or between two PCEs based on the PCE architecture <xref t | ||||
arget="RFC4655" />. </t> | ||||
<t>PCEP <xref target="RFC5440" /> utilizes flags, values and concept | ||||
s previously defined in RSVP-TE Extensions <xref target="RFC3209" /> and Fast Re | ||||
route Extensions to RSVP-TE <xref target="RFC4090" />. | ||||
One such concept in PCEP is the 'Local Protection Desired' (L fl | ||||
ag in the LSPA Object in <xref target="RFC5440" />), | ||||
which was originally defined in the SESSION-ATTRIBUTE Object in | ||||
RFC3209. In RSVP, this flag signals to downstream routers that they may use a lo | ||||
cal repair mechanism. | ||||
The headend router calculating the path does not know whether a | ||||
downstream router will or will not protect a hop during its calculation. | ||||
Therefore, a local protection desired does not require the trans | ||||
it router to satisfy protection in order to establish the RSVP signalled path. | ||||
This flag is signalled in PCEP as an attribute of the LSP via th | ||||
e LSP Attributes object. </t> | ||||
<t>PCEP Extensions for Segment Routing (<xref target="RFC8664" />) e | <front> | |||
xtends support in PCEP for Segment Routed paths. The path list is encoded with S | <title abbrev="Local Protection Enforcement in PCEP">Local Protection Enforc | |||
egment Identifiers, each of which might offer local protection. | ement in the Path Computation Element Communication Protocol (PCEP)</title> | |||
The PCE may discover the protection eligibility for a Segment Id | <seriesInfo name="RFC" value="9488"/> | |||
entifier (SID) via BGP-LS <xref target="RFC9085" /> and take the protection into | <author fullname="Andrew Stone" initials="A." surname="Stone"> | |||
consideration as a path constraint. | <organization>Nokia</organization> | |||
</t> | <address> | |||
<t>It is desirable for an operator to be able to define the enforcem | <postal> | |||
ent, or strictness of the protection requirement. </t> | <street>600 March Road</street> | |||
<t>This document updates <xref target="RFC5440" /> by further descri | <city>Kanata</city> | |||
bing the behaviour with the Local Protection Desired Flag (L flag) and extends o | <region>Ontario</region> | |||
n it with the introduction of the Enforcement Flag (E flag).</t> | <code>K2K 2T6</code> | |||
<t>The document contains reference notes for Segment Routing, howeve | <country>Canada</country> | |||
r the content described is path setup type and data plane technology agnostic.</ | </postal> | |||
t> | <email>andrew.stone@nokia.com</email> | |||
</section> | </address> | |||
<section title="Requirements Language" anchor="requirements-language"> | </author> | |||
<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", " | <author fullname="Mustapha Aissaoui" initials="M." surname="Aissaoui"> | |||
<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "< | <organization>Nokia</organization> | |||
bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | <address> | |||
"<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | <postal> | |||
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be i | <street>600 March Road</street> | |||
nterpreted | <city>Kanata</city> | |||
as described in BCP 14 <xref target="RFC2119" format="default" s | <region>Ontario</region> | |||
ectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="defa | <code>K2K 2T6</code> | |||
ult" sectionFormat="of" derivedContent="RFC8174"/> when, and only when, | <country>Canada</country> | |||
they appear in all capitals, as shown here.</t> | </postal> | |||
</section> | <email>mustapha.aissaoui@nokia.com</email> | |||
<section title="Terminology" anchor="terminology"> | </address> | |||
<t>This document uses the following terminology:</t> | </author> | |||
<t> PROTECTION MANDATORY: The Path MUST have protection eligibilit | <author fullname="Samuel Sidor" initials="S." surname="Sidor"> | |||
y on all links.</t> | <organization>Cisco Systems, Inc.</organization> | |||
<t> UNPROTECTED MANDATORY: The Path MUST NOT have protection eligi | <address> | |||
bility on all links.</t> | <postal> | |||
<t> PROTECTION PREFERRED: The Path should have protection eligibil | <extaddr>Eurovea Central 3</extaddr> | |||
ity on all links but might contain links which do not have protection eligibilit | <street>Pribinova 10</street> | |||
y.</t> | <city>Bratislava</city> | |||
<t> UNPROTECTED PREFERRED: The Path should not have protection eli | <code>811 09</code> | |||
gibility on all links but might contain links which have protection eligibility. | <country>Slovakia</country> | |||
</t> | </postal> | |||
<t> PCC: Path Computation Client. Any client application request | <email>ssidor@cisco.com</email> | |||
ing a | </address> | |||
path computation to be performed by a Path Computation Element.< | </author> | |||
/t> | <author fullname="Siva Sivabalan" initials="S." surname="Sivabalan"> | |||
<t> PCE: Path Computation Element. An entity (component, applica | <organization>Ciena Corporation</organization> | |||
tion, | <address> | |||
<postal> | ||||
<street>385 Terry Fox Drive</street> | ||||
<city>Kanata</city> | ||||
<region>Ontario</region> | ||||
<code>K2K 0L1</code> | ||||
<country>Canada</country> | ||||
</postal> | ||||
<email>ssivabal@ciena.com</email> | ||||
</address> | ||||
</author> | ||||
<date year="2023" month="October"/> | ||||
<area>rtg</area> | ||||
<workgroup>pce</workgroup> | ||||
<keyword>segment routing</keyword> | ||||
<keyword>adjacency sid</keyword> | ||||
<keyword>sla</keyword> | ||||
<keyword>fast reroute</keyword> | ||||
<keyword>ti-lfa</keyword> | ||||
<abstract> | ||||
<t>This document updates RFC 5440 to clarify usage of the Local Protection | ||||
Desired bit signaled in the Path Computation Element Communication Protocol (PC | ||||
EP). | ||||
This document also introduces a new flag for signaling protectio | ||||
n enforcement in PCEP.</t> | ||||
</abstract> | ||||
</front> | ||||
<middle> | ||||
<section anchor="introduction" toc="default" numbered="true"> | ||||
<name>Introduction</name> | ||||
<t>The Path Computation Element Communication Protocol (PCEP) <xref target | ||||
="RFC5440" format="default"/> enables the communication between a Path Computati | ||||
on Client (PCC) and a PCE or between two PCEs based on the PCE architecture <xre | ||||
f target="RFC4655" format="default"/>. </t> | ||||
<t>PCEP <xref target="RFC5440" format="default"/> utilizes flags, | ||||
values, and concepts previously defined in RSVP-TE Extensions <xref | ||||
target="RFC3209" format="default"/> and Fast Reroute Extensions to | ||||
RSVP-TE <xref target="RFC4090" format="default"/>. One such concept in | ||||
PCEP is the Local Protection Desired (L) flag in the LSP | ||||
Attributes (LSPA) object in <xref target="RFC5440" format="default"/>, whi | ||||
ch | ||||
was originally defined in the Session Attribute object in <xref | ||||
target="RFC3209" format="default"/>. In RSVP, this flag signals to | ||||
downstream routers that they may use a local repair mechanism. The | ||||
headend router calculating the path does not know if a downstream | ||||
router will or will not protect a hop during its calculation. | ||||
Therefore, the L flag does not require the transit | ||||
router to satisfy protection in order to establish the RSVP-signaled | ||||
path. This flag is signaled in PCEP as an attribute of the Label Switched | ||||
Path (LSP) via the | ||||
LSPA object. </t> | ||||
<t>PCEP Extensions for Segment Routing <xref target="RFC8664" | ||||
format="default"/> extends support in PCEP for Segment Routing paths. The | ||||
path list is encoded with Segment Identifiers (SIDs), each of which | ||||
might offer local protection. The PCE may discover the protection | ||||
eligibility for a SID via the Border Gateway Protocol - Link State (BGP-LS | ||||
) | ||||
<xref target="RFC9085" format="default"/> and take the protection into | ||||
consideration as a path constraint. | ||||
</t> | ||||
<t>It is desirable for an operator to be able to define the enforcement of | ||||
the protection requirement. </t> | ||||
<t>This document updates <xref target="RFC5440" format="default"/> by furt | ||||
her describing the behavior of the Local Protection Desired (L) flag and extends | ||||
on it with the introduction of the Protection Enforcement (E) flag.</t> | ||||
<t>The document contains descriptions in the context of Segment Routing; h | ||||
owever, the content described is agnostic in regard to path setup type and data | ||||
plane technology.</t> | ||||
</section> | ||||
<section anchor="requirements-language" numbered="true" toc="default"> | ||||
<name>Requirements Language</name> | ||||
<t> | ||||
The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | ||||
IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | ||||
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | ||||
RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | ||||
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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> | ||||
</section> | ||||
<section anchor="terminology" numbered="true" toc="default"> | ||||
<name>Terminology</name> | ||||
<t>This document uses the following terminology:</t> | ||||
<dl newline="false" spacing="normal"> | ||||
<dt>PROTECTION MANDATORY:</dt><dd>The path <bcp14>MUST</bcp14> have protec | ||||
tion eligibility on all links.</dd> | ||||
<dt>UNPROTECTED MANDATORY:</dt><dd>The path <bcp14>MUST NOT</bcp14> have p | ||||
rotection eligibility on all links.</dd> | ||||
<dt>PROTECTION PREFERRED:</dt><dd>The path should have protection eligibil | ||||
ity on all links but might contain links that do not have protection eligibility | ||||
.</dd> | ||||
<dt>UNPROTECTED PREFERRED:</dt><dd>The path should not have protection eli | ||||
gibility on all links but might contain links that have protection eligibility.< | ||||
/dd> | ||||
<dt>PCC:</dt><dd>Path Computation Client. Any client application requesti | ||||
ng a | ||||
path computation to be performed by a Path Computation Element.< | ||||
/dd> | ||||
<dt>PCE:</dt><dd>Path Computation Element. An entity (component, applicat | ||||
ion, | ||||
or network node) that is capable of computing a network path or | or network node) that is capable of computing a network path or | |||
route based on a network graph and applying computational | route based on a network graph and applying computational | |||
constraints.</t> | constraints.</dd> | |||
<t> PCEP: Path Computation Element Protocol.</t> | <dt>PCEP:</dt><dd>Path Computation Element Communication Protocol</dd> | |||
<t> LSPA: LSP Attributes Object in PCEP, defined in RFC5440</t> | <dt>LSPA:</dt><dd>LSP Attributes object <xref target="RFC5440" format="def | |||
</section> | ault"/></dd> | |||
<section title="Motivation" anchor="motivation" toc="default"> | </dl> | |||
<section title="Implementation differences" anchor="implementation-d | </section> | |||
ifferences" toc="default"> | <section anchor="motivation" toc="default" numbered="true"> | |||
<t>As defined in <xref target="RFC5440" /> the mechanism to sign | <name>Motivation</name> | |||
al protection enforcement in PCEP is the previously mentioned L flag defined in | <section anchor="implementation-differences" toc="default" numbered="true" | |||
the LSPA Object. | > | |||
The name of the flag uses the term "Desired", which by defin | <name>Implementation Differences</name> | |||
ition means "strongly wished for or intended" and the use case originated from t | ||||
he RSVP. | <t>As defined in <xref target="RFC5440" format="default"/>, the mechanism | |||
For RSVP signalled paths, local protection is not within con | to signal protection enforcement in PCEP is the previously mentioned L flag defi | |||
trol of the PCE. However, <xref target="RFC5440" /> does state "When set, this m | ned in the LSPA object. | |||
eans that the computed path must include links protected with Fast Reroute as de | The name of the flag uses the term "Desired", which by defin | |||
fined in [RFC4090]." | ition means "strongly wished for or intended". The use case for this flag origin | |||
Implementations of <xref target="RFC5440" /> have either int | ated in RSVP. | |||
erpreted the L flag as PROTECTION MANDATORY or PROTECTION PREFERRED, leading to | For RSVP-signaled paths, local protection is not within cont | |||
operational differences. </t> | rol of the PCE. However, <xref target="RFC5440" format="default"/> does state th | |||
</section> | at "[w]hen set, this means that the computed path must include links protected w | |||
<section title="SLA Enforcement" anchor="sla-enforcement" toc="defau | ith Fast Reroute as defined in <xref target="RFC4090" />." | |||
lt"> | Implementations that use PCEP <xref target="RFC5440" format= | |||
<t> The boolean bit L flag is unable to distinguish between the | "default"/> have interpreted the L flag as either PROTECTION MANDATORY or PROTEC | |||
different options of PROTECTION MANDATORY, UNPROTECTED MANDATORY, PROTECTION PRE | TION PREFERRED, leading to operational differences. </t> | |||
FERRED and UNPROTECTED PREFERRED. | </section> | |||
Selecting one of the options is typically dependent on the s | <section anchor="sla-enforcement" toc="default" numbered="true"> | |||
ervice | <name>SLA Enforcement</name> | |||
level agreement the operator wishes to impose on the LSP. A | ||||
network | <t> The L flag is a boolean bit and thus unable to distinguish between | |||
may be providing transit to multiple service agreement defin | the different | |||
itions against | options of PROTECTION MANDATORY, UNPROTECTED MANDATORY, PROTECTION | |||
PREFERRED, and UNPROTECTED PREFERRED. | ||||
Selecting one of these options is typically dependent on the | ||||
Service | ||||
Level Agreement (SLA) the operator wishes to impose on the L | ||||
SP. A network | ||||
may be providing transit to multiple SLA definitions against | ||||
the same base topology network, whose behavior could vary, s uch as | the same base topology network, whose behavior could vary, s uch as | |||
wanting local protection to be invoked on some LSPs and not wanting | wanting local protection to be invoked on some LSPs and not wanting | |||
local protection on others. When enforcement is used, the re sulting shortest path calculation is impacted.</t> | local protection on others. When enforcement is used, the re sulting shortest path calculation is impacted.</t> | |||
<t> For example, PROTECTION MANDATORY is for use cases where an | ||||
operator may need the LSP to follow a path which has local protection provided a | <t> For example, PROTECTION MANDATORY is for use cases in whi | |||
long the full path, ensuring that | ch an operator may need the LSP to follow a path that has local protection provi | |||
if there is a failure anywhere along the path that traffic w | ded along the full path, ensuring that | |||
ill be fast re-routed at the point. </t> | traffic will be fast rerouted at the point if there is a fai | |||
<t> For example, UNPROTECTED MANDATORY is when an operator may | lure anywhere along the path. </t> | |||
intentionally prefer an LSP to not be locally protected, | ||||
<t> As another example, UNPROTECTED MANDATORY is for use case | ||||
s in which an operator may | ||||
intentionally prefer an LSP to not be locally protected | ||||
and thus would rather local failures cause the LSP to go dow n. | and thus would rather local failures cause the LSP to go dow n. | |||
An example scenario is one where an LSP is protected with | An example scenario is one where an LSP is protected via a s | |||
path protection via a secondary diverse LSP. Each LSP is | econdary diverse LSP. | |||
traffic engineered to follow specific traffic engineered cri | Each LSP is traffic engineered to follow specific traffic-en | |||
teria | gineered criteria | |||
computed by the PCE to satisfy SLA. Upon a failure, if local | computed by the PCE to satisfy the SLA. Upon a failure, if l | |||
protection | ocal protection | |||
is invoked on the active LSP traffic, the traffic may tempor arily | is invoked on the active LSP traffic, the traffic may tempor arily | |||
traverse links which violate the TE requirements and could n egatively | traverse links that violate the TE requirements and could ne gatively | |||
impact the resources being traversed (e.g., insufficient ban dwidth). | impact the resources being traversed (e.g., insufficient ban dwidth). | |||
In addition, depending on the network topological scenario, | In addition, depending on the network topological scenario, | |||
it may be not feasible for the PCE to reroute the LSP while | it may not be feasible for the PCE to reroute the LSP while | |||
respecting the TE requirements which include path diversity, | respecting the TE requirements, which include path diversity | |||
resulting in the LSP being torn down and switched to the | ; this results | |||
protected path anyways. In such scenarios its desirable for | in the LSP being torn down and switched to the | |||
the LSP to be simply torn down immediately and not re-routed | protected path anyways. In such scenarios, it is desirable f | |||
or | ||||
the LSP to be simply torn down immediately and not rerouted | ||||
through local protection, so that traffic | through local protection, so that traffic | |||
may be forwarded through an already established | may be forwarded through an already-established | |||
traffic-engineered secondary path. </t> | traffic-engineered secondary path. </t> | |||
<t> | <t> | |||
Both UNPROTECTED PREFERRED and PROTECTED PREFERRED options p | Both the UNPROTECTED PREFERRED and PROTECTED PREFERRED optio | |||
rovide a relaxation of the protection constraint. | ns provide a relaxation of the protection constraint. | |||
These options can be used when an operator does not require protection enforcement. Regardless of the option selected, the protection status of a | These options can be used when an operator does not require protection enforcement. Regardless of the option selected, the protection status of a | |||
resource does not influence whether the link must be pruned during a path calculation. Furthermore, the selection of either option indicates a priority selection to | resource does not influence whether the link must be pruned during a path calculation. Furthermore, the selection of either option indicates a priority selection to the | |||
PCE when there is an option to choose a protected or unprote cted instruction associated with a resource, ensuring consistent PCE behavior ac ross different implementations. | PCE when there is an option to choose a protected or unprote cted instruction associated with a resource, ensuring consistent PCE behavior ac ross different implementations. | |||
</t> | </t> | |||
<t>When used with Segment Routing, an adjacency may have both a | <t>When used with Segment Routing, an adjacency may have both a protecte | |||
protected SID and an unprotected SID. | d SID and an unprotected SID. | |||
If the UNPROTECTED PREFERRED option is selected, PCE chooses | If the UNPROTECTED PREFERRED option is selected, the PCE cho | |||
the unprotected SID. Alternatively, if the PROTECTED PREFERRED option is select | oses the unprotected SID. Alternatively, if the PROTECTED PREFERRED option is se | |||
ed, PCE chooses the protected SID | lected, the PCE chooses the protected SID. | |||
</t> | </t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section title="Protection Enforcement Flag (E flag)" anchor="protection | <section anchor="protection-enforcement-flag--e-flag-" toc="default" numbere | |||
-enforcement-flag--e-flag-" toc="default"> | d="true"> | |||
<t>Section 7.11 in Path Computation Element Protocol <xref target="R | <name>Protection Enforcement Flag (E Flag)</name> | |||
FC5440" /> describes the encoding of the Local Protection Desired (L flag). | <t><xref target="RFC5440" section="7.11" sectionFormat="of"></xref> descri | |||
A Protection Enforcement flag "E" is specified below, extending | bes the encoding of the Local Protection Desired (L) flag. | |||
the L flag.</t> | The Protection Enforcement (E) flag, which extends the L flag, i | |||
<t>[RFC Editor Note: The text below assumes the E bit remains the ea | s specified below.</t> | |||
rly allocation value 6. Please adjust if this changes and remove this note befor | <table anchor="flagfieldtable" align="left"> | |||
e publication.]</t> | <name>Codespace of the Flag Field (LSPA Object)</name> | |||
<figure> | <thead> | |||
<artwork><![CDATA[Codespace of the Flag field (LSPA Object) | <tr> | |||
<th>Bit</th> | ||||
Bit Description Reference | <th>Description</th> | |||
<th>Reference</th> | ||||
7 Local Protection Desired RFC5440 | </tr> | |||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td>6</td> | ||||
<td>Protection Enforcement</td> | ||||
<td>RFC 9488</td> | ||||
</tr> | ||||
<tr> | ||||
<td>7</td> | ||||
<td>Local Protection Desired</td> | ||||
<td>RFC 5440</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
6 Local Protection Enforcement This document]]></artwork> | <t>The following shows the format of the LSPA object as defined in <xref t | |||
</figure> | arget="RFC5440" format="default"/> with the addition of the E flag defined in th | |||
<t>The format of the LSPA Object as defined in <xref target="RFC5440 | is document:</t> | |||
" /> is:</t> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure> | ||||
<artwork><![CDATA[ | ||||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Exclude-any | | | Exclude-any | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Include-any | | | Include-any | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Include-all | | | Include-all | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Setup Prio | Holding Prio | Flags |E|L| Reserved | | | Setup Prio | Holding Prio | Flags |E|L| Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
// Optional TLVs // | // Optional TLVs // | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
> | ]]></artwork> | |||
</figure> | ||||
<t> Flags (8 bits)</t> | <dl newline="true" spacing="normal"> | |||
<t> | <dt>Flags (8 bits):</dt><dd> | |||
<list style="symbols"> | <dl newline="false" spacing="normal"> | |||
<t> | <dt>L (Local Protection Desired):</dt><dd>This flag is defined in <xref target=" | |||
L Flag: As defined in | RFC5440" format="default"/> | |||
<xref target="RFC5440" /> | and further updated by this document. When set to 1, protection is | |||
and further updated by this document. When set to 1, pro | desired. When set to 0, protection is not desired. The enforcement of the | |||
tection is desired. When set to 0, protection is not desired. The enforcement of | protection is identified via the E flag.</dd> | |||
the protection is identified via the E flag. | <dt>E (Protection Enforcement):</dt><dd>This flag controls the strictness | |||
</t> | with which the PCE must apply the L flag. When set to 1, the value of the L | |||
<t>E Flag (Protection Enforcement): This flag controls the s | flag needs to be respected during resource selection by the PCE. When the E fla | |||
trictness in which the PCE must apply the L flag. | g | |||
When set to 1, the value of the L flag needs to be respected | is set to 0, an attempt to respect the value of the L flag is made; however, | |||
during resource selection by the PCE. | the PCE could relax or ignore the L flag when computing a path. The | |||
When E flag is set to 0, an attempt to respect the value of | statements below indicate preference when the E flag is set to 0 in | |||
the L flag is made; however, the PCE could relax or ignore the L flag when compu | combination with the L flag value. | |||
ting a path. | </dd> | |||
The statements below indicate preference when the E flag is | </dl> | |||
set to 0 in combination with the L flag value.</t> | </dd> | |||
</list> | </dl> | |||
</t> | ||||
<t>When both the L flag and E flag are set to 1, then the PCE MUST c | <t>When both the L flag and E flag are set to 1, then the PCE <bcp14>MUST< | |||
onsider the protection eligibility as a PROTECTION MANDATORY constraint.</t> | /bcp14> consider the protection eligibility as a PROTECTION MANDATORY constraint | |||
<t>When the L flag is set to 1 and the E flag is set to 0, then the | .</t> | |||
PCE MUST consider the protection eligibility as a PROTECTION PREFERRED constrain | <t>When the L flag is set to 1 and the E flag is set to 0, then the PCE <b | |||
t.</t> | cp14>MUST</bcp14> consider the protection eligibility as a PROTECTION PREFERRED | |||
<t> When both L flag and E flag are set to 0, then the PCE SHOULD | constraint.</t> | |||
<t> When both the L flag and E flag are set to 0, then the PCE <bcp14>SHO | ||||
ULD</bcp14> | ||||
consider the protection eligibility as an UNPROTECTED PREFERRED | consider the protection eligibility as an UNPROTECTED PREFERRED | |||
constraint but MAY consider protection eligibility as an UNPROTE CTED | constraint but <bcp14>MAY</bcp14> consider the protection eligib ility as an UNPROTECTED | |||
MANDATORY constraint. An example of when the latter behavior mig ht | MANDATORY constraint. An example of when the latter behavior mig ht | |||
be chosen is if the PCE has some means (outside the scope of thi s | be chosen is if the PCE has some means (outside the scope of thi s | |||
document) to detect that it is interacting with a legacy PCC tha t expects | document) to detect that it is interacting with a legacy PCC tha t expects | |||
the legacy behavior.</t> | the legacy behavior.</t> | |||
<t>When L flag is set to 0 and E flag is set to 1, then the PCE MUST | <t>When the L flag is set to 0 and the E flag is set to 1, then the PCE <b | |||
consider the protection eligibility as an UNPROTECTED MANDATORY constraint.</t> | cp14>MUST</bcp14> consider the protection eligibility as an UNPROTECTED MANDATOR | |||
Y constraint.</t> | ||||
<t> | <t> | |||
If a PCE is unable to infer the protection status of a resource, | If a PCE is unable to infer the protection status of a resource, | |||
the PCE MAY use local policy to define protected status assumptions. | the PCE <bcp14>MAY</bcp14> use local policy to define protected status assumpti | |||
ons. | ||||
When computing a Segment Routed path, It is RECOMMENDED that a P | ||||
CE assume a Node SID is protected. It is also RECOMMENDED that a PCE assume an A | ||||
djacency SID is protected if the backup flag advertised with the Adjacency SID i | ||||
s set. | ||||
</t> | ||||
<section title="Backwards Compatibility" anchor="compatibility" toc= | ||||
"default"> | ||||
<t>Considerations in the message passing between the PCC and the | ||||
PCE for the E flag bit which are not supported by the entity are outlined in th | ||||
is section, with requirements for the PCE and the PCC implementing this document | ||||
described at the end.</t> | ||||
<t>For a PCC or PCE which does not yet support this document, th | ||||
e E flag is ignored and set to zero in PCRpt and/or PCUpd as per <xref target="R | ||||
FC5440" /> for PCC-initiated or as per <xref target="RFC8281" /> for PCE-initiat | ||||
ed LSPs. It is important to note that <xref target="RFC8231" /> and <xref target | ||||
="RFC8281" /> permit the LSP Attribute Object to be included in PCUpd messages f | ||||
or PCC-initiated and PCE-initiated LSPs. | ||||
</t> | ||||
<t> | ||||
For PCC-initiated LSPs, PCUpd E flag (and L flag) is an echo | ||||
from the previous PCRpt however the bit value is ignored on the PCE from the pr | ||||
evious PCRpt, therefore the E flag value set in the PCUpd is zero. | ||||
A PCE which does not support this document sends PCUpd messa | ||||
ges with the E flag set to 0 for PCC-initated LSPs even if set to 1 in the prior | ||||
PCReq or PCRpt. | ||||
</t> | ||||
<t> | ||||
A PCC which does not support this document sends PCRpt messa | ||||
ges with the E flag set to 0 for PCE-initiated LSPs even if set to 1 in the prio | ||||
r PCInitiate or PCUpd. | ||||
</t> | ||||
<t>For a PCC which does support this document, it MAY set the E | When computing a Segment Routing path, it is <bcp14>RECOMMENDED< | |||
flag to 1 depending on local configuration. | /bcp14> that a PCE assume a Node SID is protected. It is also <bcp14>RECOMMENDED | |||
If communicating with a PCE which does not yet support this | </bcp14> that a PCE assume an Adjacency SID is protected if the backup flag adve | |||
document, the PCE follows the behaviour specified in <xref target="RFC5440" /> a | rtised with the Adjacency SID is set. | |||
nd will ignore the E flag. | </t> | |||
<section anchor="compatibility" toc="default" numbered="true"> | ||||
<name>Backwards Compatibility</name> | ||||
<t>This section outlines considerations for the E flag bit in the messag | ||||
e | ||||
passing between the PCC and the PCE that are not supported by the en | ||||
tity. | ||||
The requirements for the PCE and the PCC implementing this document | ||||
are described | ||||
at the end.</t> | ||||
<t>For a PCC or PCE that does not yet support this document, the E flag | ||||
is ignored and set to 0 in PCRpt and/or PCUpd messages as per <xref target="RFC5 | ||||
440" format="default"/> for PCC-initiated LSPs or as per <xref target="RFC8281" | ||||
format="default"/> for PCE-initiated LSPs. It is important to note that <xref ta | ||||
rget="RFC8231" format="default"/> and <xref target="RFC8281" format="default"/> | ||||
permit the LSPA object <xref target="RFC5440" format="default"/> to be included | ||||
in PCUpd messages for PCC-initiated and PCE-initiated LSPs. | ||||
</t> | ||||
<t> | ||||
For PCC-initiated LSPs, the E flag (and L flag) in a PCUpd message i | ||||
s an echo from the | ||||
previous PCRpt message; however, the bit value is ignored on the PCE | ||||
from the | ||||
previous PCRpt message, so the E flag value set in the PCUpd message | ||||
is 0. | ||||
A PCE that does not support this document sends PCUpd messag | ||||
es with the E flag set to 0 for PCC-initiated LSPs even if set to 1 in the prior | ||||
PCReq or PCRpt message. | ||||
</t> | ||||
<t> | ||||
A PCC that does not support this document sends PCRpt messag | ||||
es with the E flag set to 0 for PCE-initiated LSPs even if set to 1 in the prior | ||||
PCInitiate or PCUpd message. | ||||
</t> | ||||
<t>For a PCC that does support this document, the E flag <bcp14>MAY</bcp | ||||
14> be set to 1 depending on local configuration. | ||||
If communicating with a PCE that does not yet support this d | ||||
ocument, the PCE follows the behavior specified in <xref target="RFC5440" format | ||||
="default"/> and ignores the E flag. | ||||
Thus, a computed path might not respect the enforcement cons traint.</t> | Thus, a computed path might not respect the enforcement cons traint.</t> | |||
<t>For PCC-initiated LSPs, the PCC <bcp14>SHOULD</bcp14> ignore the E fl | ||||
ag value received from the PCE in a PCUpd message as it may be communicating wit | ||||
h a PCE that does not support this document.</t> | ||||
<t>For PCE-initiated LSPs, the PCC <bcp14>MAY</bcp14> process the E flag | ||||
value received from the PCE in a PCUpd message. The PCE <bcp14>SHOULD</bcp14> i | ||||
gnore the E flag value received from the PCC in a PCRpt message as it may be com | ||||
municating with a PCC | ||||
that does not support this document. </t> | ||||
</section> | ||||
</section> | ||||
<section anchor="security-considerations" toc="default" numbered="true"> | ||||
<name>Security Considerations</name> | ||||
<t>This document clarifies the behavior of an existing flag and introduces | ||||
a new flag to provide further control of that existing behavior. The introducti | ||||
on of this new flag and the behavior clarification do not create any new sensiti | ||||
ve information. No additional security measure is required.</t> | ||||
<t>Securing the PCEP session using Transport Layer Security (TLS) <xref ta | ||||
rget="RFC8253" format="default"/>, as per the recommendations and best current p | ||||
ractices in <xref target="RFC9325" format="default"/>, is <bcp14>RECOMMENDED</bc | ||||
p14>.</t> | ||||
</section> | ||||
<section anchor="iana-considerations" toc="default" numbered="true"> | ||||
<name>IANA Considerations</name> | ||||
<t>This document defines a new bit value in the subregistry "LSPA Object F | ||||
lag Field" in the "Path Computation Element Protocol (PCEP) Numbers" registry. I | ||||
ANA has made the following codepoint allocation.</t> | ||||
<t>For PCC-initiated LSPs, the PCC SHOULD ignore the E flag valu | <table anchor="prot-enforce-iana-table" align="left"> | |||
e received from the PCE in a PCUpd message as it may be communicating with a PCE | <name>Addition to LSPA Object Flag Field Registry</name> | |||
which does not support this document.</t> | <thead> | |||
<t>For PCE-initiated LSPs, the PCC MAY process the E flag value | <tr> | |||
received from the PCE in a PCUpd message. The PCE SHOULD ignore the E flag value | <th>Bit</th> | |||
received from the PCC in a PCRpt message as it may be communicating with a PCC | <th>Description</th> | |||
which does not support this document. </t> | <th>Reference</th> | |||
</tr> | ||||
</section> | </thead> | |||
<tbody> | ||||
</section> | <tr> | |||
<td>6</td> | ||||
<section anchor="Imp" title="Implementation Status" toc="default"> | <td>Protection Enforcement</td> | |||
<t>[Note to the RFC Editor - remove this section before publication, | <td>RFC 9488</td> | |||
as well as remove the reference to RFC 7942.]</t> | </tr> | |||
<t>This section records the status of known implementations of the | </tbody> | |||
protocol defined by this specification at the time of posting of | </table> | |||
this Internet-Draft, and is based on a proposal described in | ||||
<xref target="RFC7942"/>. The description of implementations in | ||||
this section is | ||||
intended to assist the IETF in its decision processes in | ||||
progressing drafts to RFCs. Please note that the listing of any | ||||
individual implementation here does not imply endorsement by the | ||||
IETF. Furthermore, no effort has been spent to verify the | ||||
information presented here that was supplied by IETF contributor | ||||
s. | ||||
This is not intended as, and must not be construed to be, a | ||||
catalogue of available implementations or their features. Reade | ||||
rs | ||||
are advised to note that other implementations may exist.</t> | ||||
<t>According to <xref target="RFC7942"/>, "this will allow reviewers | ||||
and working | ||||
groups to assign due consideration to documents that have the | ||||
benefit of running code, which may serve as evidence of valuable | ||||
experimentation and feedback that have made the implemented | ||||
protocols more mature. It is up to the individual working group | ||||
s | ||||
to use this information as they see fit".</t> | ||||
<section title="Nokia Implementation" toc="default"> | ||||
<t> | ||||
<list style="symbols"> | ||||
<t>Organization: Nokia</t> | ||||
<t>Implementation: NSP PCE and SROS PCC.</t> | ||||
<t>Description: Implementation for calculation and conve | ||||
ying intention described in this document</t> | ||||
<t>Maturity Level: Demo</t> | ||||
<t>Coverage: Full</t> | ||||
<t>Contact: andrew.stone@nokia.com </t> | ||||
</list> | ||||
</t> | ||||
</section> | ||||
<section title="Cisco Implementation" toc="default"> | ||||
<t> | ||||
<list style="symbols"> | ||||
<t>Organization: Cisco Systems, Inc.</t> | ||||
<t>Implementation: IOS-XR PCE and PCC.</t> | ||||
<t>Description: Implementation for calculation and conve | ||||
ying intention described in this document</t> | ||||
<t>Maturity Level: Demo</t> | ||||
<t>Coverage: Full</t> | ||||
<t>Contact: ssidor@cisco.com </t> | ||||
</list> | ||||
</t> | ||||
</section> | ||||
</section> | ||||
<section title="Security Considerations" anchor="security-considerations | ||||
" toc="default"> | ||||
<t>This document clarifies the behaviour of an existing flag and int | ||||
roduces a new flag to provide further control of that existing behaviour. The in | ||||
troduction of this new flag and behaviour clarification does not create any new | ||||
sensitive information. No additional security measure is required.</t> | ||||
<t>Securing the PCEP session using Transport Layer Security (TLS) <x | ||||
ref target="RFC8253" />, as per the recommendations and best current practices i | ||||
n <xref target="RFC9325" /> is RECOMMENDED.</t> | ||||
</section> | ||||
<section title="IANA Considerations" anchor="iana-considerations" toc="d | ||||
efault"> | ||||
<t>[RFC Editor Note: The text below assumes the E bit remains th | ||||
e early allocation value 6. Please adjust if this changes and remove this note b | ||||
efore publication.]</t> | ||||
<t>This document defines a new bit value in the sub-registry "LS | ||||
PA Object Flag Field" in the "Path Computation Element Protocol (PCEP) Numbers" | ||||
registry. IANA has made the following codepoint allocation.</t> | ||||
<figure> | ||||
<artwork> | ||||
<![CDATA[ | ||||
Bit Name Reference | ||||
6 Protection Enforcement This document]]> | ||||
</artwork> | ||||
</figure> | ||||
</section> | ||||
</middle> | ||||
<back> | ||||
<references title="Normative References"> | ||||
<?rfc include="reference.RFC.2119.xml" ?> | ||||
<?rfc include="reference.RFC.8174.xml" ?> | ||||
<?rfc include="reference.RFC.5440.xml" ?> | ||||
<?rfc include="reference.RFC.3209.xml" ?> | ||||
<?rfc include="reference.RFC.4090.xml" ?> | ||||
<?rfc include="reference.RFC.8253.xml" ?> | ||||
<?rfc include="reference.RFC.8231.xml" ?> | ||||
<?rfc include="reference.RFC.8281.xml" ?> | ||||
<?rfc include="reference.RFC.9325.xml" ?> | ||||
</references> | ||||
<references title="Informative References"> | ||||
<?rfc include="reference.RFC.4655.xml" ?> | ||||
<?rfc include="reference.RFC.7942.xml" ?> | ||||
<?rfc include="reference.RFC.8664.xml" ?> | ||||
<?rfc include="reference.RFC.9085.xml" ?> | ||||
</references> | ||||
<section title="Acknowledgements" anchor="Acknowledgements" numbered="fa | </section> | |||
lse" toc="default"> | </middle> | |||
<t>Thanks to Dhruv Dhody, Mike Koldychev, and John Scudder for revie | <back> | |||
wing and providing very valuable feedback and discussions on this document.</t> | ||||
<t>Thanks to Julien Meuric for shepherding this document. </t> | ||||
</section> | ||||
</back> | <references> | |||
<name>References</name> | ||||
<references> | ||||
<name>Normative References</name> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2 | ||||
119.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
174.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
440.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3 | ||||
209.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 | ||||
090.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
253.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
231.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
281.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
325.xml"/> | ||||
</references> | ||||
<references> | ||||
<name>Informative References</name> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 | ||||
655.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
664.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
085.xml"/> | ||||
</references> | ||||
</references> | ||||
<section anchor="Acknowledgements" numbered="false" toc="default"> | ||||
<name>Acknowledgements</name> | ||||
<t>Thanks to <contact fullname="Dhruv Dhody"/>, <contact fullname="Mike Ko | ||||
ldychev"/>, and <contact fullname="John Scudder"/> for reviewing and providing v | ||||
ery valuable feedback and discussions on this document.</t> | ||||
<t>Thanks to <contact fullname="Julien Meuric"/> for shepherding this docu | ||||
ment. </t> | ||||
</section> | ||||
</back> | ||||
</rfc> | </rfc> | |||
End of changes. 21 change blocks. | ||||
420 lines changed or deleted | 441 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |