rfc9168xml2.original.xml | rfc9168.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="iso-8859-1"?> | <?xml version="1.0" encoding="utf-8"?> | |||
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | ||||
<?rfc strict="no" ?> | ||||
<?rfc toc="yes"?> | ||||
<?rfc tocompact="yes"?> | ||||
<?rfc tocdepth="3"?> | ||||
<?rfc tocindent="yes"?> | ||||
<?rfc symrefs="yes"?> | ||||
<?rfc sortrefs="yes" ?> | ||||
<?rfc comments="yes"?> | ||||
<?rfc inline="yes"?> | ||||
<?rfc compact="yes"?> | ||||
<?rfc subcompact="no"?> | ||||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | <!DOCTYPE rfc [ | |||
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | <!ENTITY nbsp " "> | |||
.2119.xml"> | <!ENTITY zwsp "​"> | |||
<!ENTITY RFC4364 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | <!ENTITY nbhy "‑"> | |||
.4364.xml"> | <!ENTITY wj "⁠"> | |||
<!ENTITY RFC4655 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.4655.xml"> | ||||
<!ENTITY RFC4657 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.4657.xml"> | ||||
<!ENTITY RFC4760 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.4760.xml"> | ||||
<!ENTITY RFC5088 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.5088.xml"> | ||||
<!ENTITY RFC5089 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.5089.xml"> | ||||
<!ENTITY RFC5440 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.5440.xml"> | ||||
<!ENTITY RFC5511 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.5511.xml"> | ||||
<!ENTITY RFC5886 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.5886.xml"> | ||||
<!ENTITY RFC6123 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.6123.xml"> | ||||
<!ENTITY RFC6952 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.6952.xml"> | ||||
<!ENTITY RFC7399 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.7399.xml"> | ||||
<!ENTITY RFC7942 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.7942.xml"> | ||||
<!ENTITY RFC8126 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8126.xml"> | ||||
<!ENTITY RFC8174 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8174.xml"> | ||||
<!ENTITY RFC8231 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8231.xml"> | ||||
<!ENTITY RFC8232 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8232.xml"> | ||||
<!ENTITY RFC8253 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8253.xml"> | ||||
<!ENTITY RFC8281 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8281.xml"> | ||||
<!ENTITY RFC8283 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8283.xml"> | ||||
<!ENTITY RFC8664 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8664.xml"> | ||||
]> | ]> | |||
<rfc category="std" docName="draft-ietf-pce-pcep-flowspec-12" ipr="trust200902"> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-pce-pcep-flo | |||
wspec-12" number="9168" ipr="trust200902" obsoletes="" updates="" submissionType | ||||
<front> | ="IETF" category="std" consensus="true" xml:lang="en" tocInclude="true" tocDepth | |||
<title abbrev="PCEP-FlowSpec">PCEP Extension for Flow Specification</title> | ="4" symRefs="true" sortRefs="true" version="3"> | |||
<author surname="Dhody" initials="D." fullname="Dhruv Dhody"> | ||||
<organization>Huawei Technologies</organization> | ||||
<address> | ||||
<postal> | ||||
<street>Divyashree Techno Park, Whitefield</street> | ||||
<city>Bangalore, Karnataka</city> | ||||
<code>560066</code> | ||||
<country>India</country> | ||||
</postal> | ||||
<email>dhruv.ietf@gmail.com</email> | ||||
</address> | ||||
</author> | ||||
<author surname="Farrel" initials="A." fullname="Adrian Farrel"> | ||||
<organization>Old Dog Consulting</organization> | ||||
<address> | ||||
<email>adrian@olddog.co.uk</email> | ||||
</address> | ||||
</author> | ||||
<author surname="Li" initials="Z." fullname="Zhenbin Li"> | <front> | |||
<organization>Huawei Technologies</organization> | <title abbrev="PCEP Flow Spec">Path Computation Element Communication Protoc | |||
<address> | ol (PCEP) Extension for Flow Specification</title> | |||
<postal> | <seriesInfo name="RFC" value="9168"/> | |||
<street>Huawei Bld., No.156 Beiqing Rd.</street> | <author surname="Dhody" initials="D." fullname="Dhruv Dhody"> | |||
<city>Beijing</city> | <organization>Huawei Technologies</organization> | |||
<code>100095</code> | <address> | |||
<country>China</country> | <postal> | |||
</postal> | <street>Divyashree Techno Park, Whitefield</street> | |||
<email>lizhenbin@huawei.com</email> | <city>Bangalore</city> | |||
</address> | <region>Karnataka</region> | |||
</author> | <code>560066</code> | |||
<country>India</country> | ||||
</postal> | ||||
<email>dhruv.ietf@gmail.com</email> | ||||
</address> | ||||
</author> | ||||
<author surname="Farrel" initials="A." fullname="Adrian Farrel"> | ||||
<organization>Old Dog Consulting</organization> | ||||
<address> | ||||
<email>adrian@olddog.co.uk</email> | ||||
</address> | ||||
</author> | ||||
<author surname="Li" initials="Z." fullname="Zhenbin Li"> | ||||
<organization>Huawei Technologies</organization> | ||||
<address> | ||||
<postal> | ||||
<street>Huawei Bldg., No. 156 Beiqing Rd.</street> | ||||
<city>Beijing</city> | ||||
<code>100095</code> | ||||
<country>China</country> | ||||
</postal> | ||||
<email>lizhenbin@huawei.com</email> | ||||
</address> | ||||
</author> | ||||
<date year="2022" month="January" /> | ||||
<date /> | <keyword>PCE</keyword> | |||
<keyword>FlowSpec</keyword> | ||||
<keyword>Flow Spec</keyword> | ||||
<abstract> | <abstract> | |||
<t>The Path Computation Element (PCE) is a functional component capable of sele | <t>The Path Computation Element (PCE) is a functional component capable of | |||
cting | selecting | |||
paths through a traffic engineering network. These paths may be supplied | paths through a traffic engineering (TE) network. These paths may be suppli | |||
in response to requests for computation, or may be unsolicited requests | ed | |||
in response to requests for computation or may be unsolicited requests | ||||
issued by the PCE to network elements. Both approaches use the PCE Communic ation | issued by the PCE to network elements. Both approaches use the PCE Communic ation | |||
Protocol (PCEP) to convey the details of the computed path.</t> | Protocol (PCEP) to convey the details of the computed path.</t> | |||
<t>Traffic flows may be categorized and described using "Flow Specificatio | ||||
<t>Traffic flows may be categorized and described using "Flow Specifications". | ns". RFC 8955 defines the Flow Specification and describes how Flow Specificati | |||
RFC | on | |||
XXXX defines the Flow Specification and describes how Flow Specification | components are used to describe traffic flows. RFC 8955 also defines how Fl | |||
Components are used to describe traffic flows. RFC XXXX also defines how Fl | ow | |||
ow | ||||
Specifications may be distributed in BGP to allow specific traffic flows to be | Specifications may be distributed in BGP to allow specific traffic flows to be | |||
associated with routes.</t> | associated with routes.</t> | |||
<t>This document specifies a set of extensions to PCEP to support dissemin | ||||
<t>This document specifies a set of extensions to PCEP to support dissemination | ation of | |||
of | ||||
Flow Specifications. This allows a PCE to indicate what traffic should be p laced | Flow Specifications. This allows a PCE to indicate what traffic should be p laced | |||
on each path that it is aware of.</t> | on each path that it is aware of.</t> | |||
<t>The extensions defined in this document include the creation, update, a | ||||
nd withdrawal of Flow | ||||
Specifications via PCEP and can be applied to tunnels initiated by the PCE o | ||||
r to tunnels where | ||||
control is delegated to the PCE by the Path Computation Client (PCC). | ||||
Furthermore, a PCC requesting a new path can include | ||||
Flow Specifications in the request to indicate the purpose of the tunnel a | ||||
llowing the PCE to factor this into the path computation.</t> | ||||
<t>The extensions defined in this document include the creation, update, and wi | </abstract> | |||
thdrawal of Flow | </front> | |||
Specifications via PCEP, and can be applied to tunnels initiated by the PCE | <middle> | |||
or to tunnels where | <section anchor="Intro" numbered="true" toc="default"> | |||
control is delegated to the PCE by the PCC. Furthermore, a PCC requesting a | <name>Introduction</name> | |||
new path can include | <t><xref target="RFC4655" format="default"/> defines the Path Computation | |||
Flow Specifications in the request to indicate the purpose of the tunnel all | Element (PCE), a functional component | |||
owing the PCE to factor | ||||
this into the path computation.</t> | ||||
<t>RFC Editor Note: Please replace XXXX in the Abstract with the RFC number ass | ||||
igned | ||||
to draft-ietf-idr-rfc5575bis when it is published. Please remove this note. | ||||
</t> | ||||
</abstract> | ||||
</front> | ||||
<middle> | ||||
<section anchor="Intro" title="Introduction"> | ||||
<t><xref target="RFC4655"/> defines the Path Computation Element (PCE), a funct | ||||
ional component | ||||
capable of computing paths for use in traffic engineering networks. PCE was originally | capable of computing paths for use in traffic engineering networks. PCE was originally | |||
conceived for use in Multiprotocol Label Switching (MPLS) for Traffic Engine ering (TE) networks | conceived for use in Multiprotocol Label Switching (MPLS) for traffic engine ering (TE) networks | |||
to derive the routes of Label Switched Paths (LSPs). However, the scope of PCE was quickly | to derive the routes of Label Switched Paths (LSPs). However, the scope of PCE was quickly | |||
extended to make it applicable to Generalized MPLS (GMPLS)-controlled networ ks, and more recent work | extended to make it applicable to networks controlled by Generalized MPLS (G MPLS), and more recent work | |||
has brought other traffic engineering technologies and planning applications into scope (for | has brought other traffic engineering technologies and planning applications into scope (for | |||
example, Segment Routing (SR) <xref target="RFC8664" />).</t> | example, Segment Routing (SR) <xref target="RFC8664" format="default"/>).</t | |||
> | ||||
<t><xref target="RFC5440"/> describes the Path Computation Element Communicatio | <t><xref target="RFC5440" format="default"/> describes the PCE | |||
n Protocol (PCEP). | Communication Protocol (PCEP). | |||
PCEP defines the communication between a Path Computation Client (PCC) and a PCE, or between | PCEP defines the communication between a Path Computation Client (PCC) and a PCE, or between | |||
PCE and PCE, enabling computation of path for MPLS-TE LSPs.</t> | PCE and PCE, enabling computation of the path for MPLS-TE LSPs.</t> | |||
<t>Stateful PCE <xref target="RFC8231" format="default"/> specifies a set | ||||
<t>Stateful PCE <xref target="RFC8231"/> specifies a set of extensions to PCEP | of extensions to PCEP to enable control of | |||
to enable control of | ||||
TE-LSPs by a PCE that retains state about the LSPs provisioned in the networ k (a stateful PCE). | TE-LSPs by a PCE that retains state about the LSPs provisioned in the networ k (a stateful PCE). | |||
<xref target="RFC8281"/> describes the setup, maintenance, and teardown of L SPs initiated by a | <xref target="RFC8281" format="default"/> describes the setup, maintenance, and teardown of LSPs initiated by a | |||
stateful PCE without the need for local configuration on the PCC, thus allow ing for a dynamic | stateful PCE without the need for local configuration on the PCC, thus allow ing for a dynamic | |||
network that is centrally controlled. <xref target="RFC8283"/> introduces t he architecture for PCE | network that is centrally controlled. <xref target="RFC8283" format="defaul t"/> introduces the architecture for PCE | |||
as a central controller and describes how PCE can be viewed as a component t hat performs computation | as a central controller and describes how PCE can be viewed as a component t hat performs computation | |||
to place 'flows' within the network and decide how these flows are routed.</t> | to place "flows" within the network and decide how these flows are routed.</ t> | |||
<t>The description of traffic flows by the combination of multiple Flow Specifi cation Components and | <t>The description of traffic flows by the combination of multiple Flow Sp ecification components and | |||
their dissemination as traffic flow specifications (Flow Specifications) is described for BGP in | their dissemination as traffic flow specifications (Flow Specifications) is described for BGP in | |||
<xref target="I-D.ietf-idr-rfc5575bis" />. In BGP, a Flow Specification is comprised of traffic | <xref target="RFC8955" format="default"/>. In BGP, a Flow Specification is comprised of traffic | |||
filtering rules and is associated with actions to perform on the packets tha t match the Flow | filtering rules and is associated with actions to perform on the packets tha t match the Flow | |||
Specification. The BGP routers that receive a Flow Specification can classi fy received packets | Specification. The BGP routers that receive a Flow Specification can classi fy received packets | |||
according to the traffic filtering rules and can direct packets based on the associated actions.</t> | according to the traffic filtering rules and can direct packets based on the associated actions.</t> | |||
<t>When a PCE is used to initiate tunnels (such as TE-LSPs or SR paths) us | ||||
<t>When a PCE is used to initiate tunnels (such as TE-LSPs or SR paths) using P | ing PCEP, it is important | |||
CEP, it is important | ||||
that the head end of the tunnels understands what traffic to place on each t unnel. The data flows | that the head end of the tunnels understands what traffic to place on each t unnel. The data flows | |||
intended for a tunnel can be described using Flow Specification Components. | intended for a tunnel can be described using Flow Specification components. | |||
When PCEP is in | When PCEP is in | |||
use for tunnel initiation it makes sense for that same protocol to be used t | use for tunnel initiation, it makes sense for that same protocol to be used | |||
o distribute the Flow | to distribute the Flow | |||
Specification Components that describe what data is to flow on those tunnels | Specification components that describe what data is to flow on those tunnels | |||
.</t> | .</t> | |||
<t>This document specifies a set of extensions to PCEP to support dissemin | ||||
<t>This document specifies a set of extensions to PCEP to support dissemination | ation of Flow Specification | |||
of Flow Specification | components. We term the description of a traffic flow using Flow Specificat | |||
Components. We term the description of a traffic flow using Flow Specificat | ion components as a | |||
ion Components as a | ||||
"Flow Specification". This term is conceptually the same as the term used i n | "Flow Specification". This term is conceptually the same as the term used i n | |||
<xref target="I-D.ietf-idr-rfc5575bis" />, however, no mechanism is provided to distribute an action | <xref target="RFC8955" format="default"/>; however, no mechanism is provided to distribute an action | |||
associated with the Flow Specification because there is only one action that is applicable in the | associated with the Flow Specification because there is only one action that is applicable in the | |||
PCEP context (that is, directing the matching traffic to the identified LSP) .</t> | PCEP context (that is, directing the matching traffic to the identified LSP) .</t> | |||
<t>The extensions defined in this document include the creation, update, a | ||||
<t>The extensions defined in this document include the creation, update, and wi | nd withdrawal of Flow | |||
thdrawal of Flow | Specifications via PCEP and can be applied to tunnels initiated by the PCE o | |||
Specifications via PCEP, and can be applied to tunnels initiated by the PCE | r to tunnels where | |||
or to tunnels where | ||||
control is delegated to the PCE by the PCC. Furthermore, a PCC requesting a new path can include | control is delegated to the PCE by the PCC. Furthermore, a PCC requesting a new path can include | |||
Flow Specifications in the request to indicate the purpose of the tunnel all owing the PCE to factor | Flow Specifications in the request to indicate the purpose of the tunnel all owing the PCE to factor | |||
this into the path computation.</t> | this into the path computation.</t> | |||
<t>Flow Specifications are carried in TLVs within a new object called the | ||||
<t>Flow Specifications are carried in TLVs within a new object called the FLOWS | FLOWSPEC object defined | |||
PEC object defined | ||||
in this document. The flow filtering rules indicated by the Flow Specificat ions are mainly | in this document. The flow filtering rules indicated by the Flow Specificat ions are mainly | |||
defined by BGP Flow Specifications.</t> | defined by BGP Flow Specifications.</t> | |||
<t>Note that PCEP-installed Flow Specifications are intended to be install | ||||
<t>Note that PCEP-installed Flow Specifications are intended to be installed on | ed only at the head end of | |||
ly at the head-end of | ||||
the LSP to which they direct traffic. It is acceptable (and potentially des irable) that other | the LSP to which they direct traffic. It is acceptable (and potentially des irable) that other | |||
routers in the network have Flow Specifications installed that match the sam e traffic, but direct | routers in the network have Flow Specifications installed that match the sam e traffic but direct | |||
it onto different routes or to different LSPs. Those other Flow Specificati ons may be installed | it onto different routes or to different LSPs. Those other Flow Specificati ons may be installed | |||
using the PCEP extensions defined in this document, may be distributed using | using the PCEP extensions defined in this document, distributed using BGP pe | |||
BGP per | r | |||
<xref target="I-D.ietf-idr-rfc5575bis" />, or may be configured using manual | <xref target="RFC8955" format="default"/>, or configured using manual operat | |||
operations. Since | ions. Since | |||
this document is about PCEP-installed Flow Specifications, those other Flow Specifications at | this document is about PCEP-installed Flow Specifications, those other Flow Specifications at | |||
other routers are out of scope. In this context, however, it is worth notin g that changes to the | other routers are out of scope. In this context, however, it is worth notin g that changes to the | |||
wider routing system (such as the distribution and installation of BGP Flow Specifications, or | wider routing system (such as the distribution and installation of BGP Flow Specifications, or | |||
fluctuations in the IGP link state database) might mean that traffic matchin g the PCEP Flow Specification | fluctuations in the IGP link state database) might mean that traffic matchin g the PCEP Flow Specification | |||
never reaches the head end of the LSP at which the PCEP Flow Specification h as been installed. This may | never reaches the head end of the LSP at which the PCEP Flow Specification h as been installed. This may | |||
or may not be desirable according to the operator's traffic engineering | or may not be desirable according to the operator's traffic engineering and | |||
and routing policies, and is | routing policies and is | |||
particularly applicable at LSPs that do not have their head ends at the ingr | particularly applicable at LSPs that do not have their head ends at the ingr | |||
ess-edge of the network, but | ess edge of the network, but | |||
it is not an effect that this document seeks to address.</t> | it is not an effect that this document seeks to address.</t> | |||
</section> | ||||
</section> | <section numbered="true" toc="default"> | |||
<name>Terminology</name> | ||||
<section title="Terminology"> | <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14 | |||
>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14> | ||||
<t>This document uses the following terms defined in <xref target="RFC5440"/>: | SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | |||
PCC, PCE, PCEP Peer.</t> | "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY< | |||
/bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted | ||||
<t>The following term from <xref target="I-D.ietf-idr-rfc5575bis"/> is used fre | as described in BCP 14 <xref target="RFC2119" format="default"/> <xref targe | |||
quently throughout this | t="RFC8174" format="default"/> when, and only when, | |||
they appear in all capitals, as shown here.</t> | ||||
<t>This document uses the following terms defined in <xref target="RFC5440 | ||||
" format="default"/>: PCC, PCE, and PCEP Peer.</t> | ||||
<t>The following term from <xref target="RFC8955" format="default"/> is us | ||||
ed frequently throughout this | ||||
document: | document: | |||
<list style="empty"> | </t> | |||
<t>A Flow Specification is an n-tuple consisting of several matching crit eria that can be | <blockquote>A Flow Specification is an n-tuple consisting of several mat ching criteria that can be | |||
applied to IP traffic. A given IP packet is said to match the defined Flow Specification | applied to IP traffic. A given IP packet is said to match the defined Flow Specification | |||
if it matches all the specified criteria.</t> | if it matches all the specified criteria.</blockquote> | |||
</list></t> | ||||
<t><xref target="I-D.ietf-idr-rfc5575bis"/> also states that "A given Flow Spec | <t><xref target="RFC8955" format="default"/> also states that "[a] given F | |||
ification may be | low Specification may be | |||
associated with a set of attributes," and that, "...attributes can be used t | associated with a set of attributes" and that "...attributes can be used to | |||
o encode a set of | encode a set of | |||
predetermined actions." However, in the context of this document, no action is explicitly | predetermined actions." However, in the context of this document, no action is explicitly | |||
specified associated with the Flow Specification since the action "forward a | specified as associated with the Flow Specification since the action of forw | |||
ll matching traffic | arding all matching traffic | |||
onto the associated path" is implicit.</t> | onto the associated path is implicit.</t> | |||
<t>How an implementation decides to filter traffic that matches a Flow Spe | ||||
<t>How an implementation decides how to filter traffic that matches a Flow Spec | cification does not form | |||
ification does not form | ||||
part of this specification, but a flag is provided to indicate whether the s ender of a PCEP | part of this specification, but a flag is provided to indicate whether the s ender of a PCEP | |||
message that includes a Flow Specification intends it to be installed as a L | message that includes a Flow Specification intends it to be installed as a L | |||
ongest Prefix | ongest Prefix Match (LPM) route or as a Flow Specification policy.</t> | |||
Match route or as a Flow Specification policy.</t> | <t>This document uses the terms "stateful PCE" and "active PCE" as advocat | |||
ed in <xref target="RFC7399" format="default"/>.</t> | ||||
<t>This document uses the terms "stateful PCE" and "active PCE" as advocated in | </section> | |||
<xref target="RFC7399" />.</t> | <section numbered="true" toc="default"> | |||
<name>Procedures for PCE Use of Flow Specifications</name> | ||||
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD" | <section numbered="true" toc="default"> | |||
, "SHOULD NOT", | <name>Context for PCE Use of Flow Specifications</name> | |||
"RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are | <t>In the PCE architecture, there are five steps in the setup and use of | |||
to be interpreted | LSPs: | |||
as described in BCP 14 <xref target="RFC2119" /> <xref target="RFC8174" /> w | </t> | |||
hen, and only when, | <ol spacing="normal" type="1"><li>Decide which LSPs to set up. The deci | |||
they appear in all capitals, as shown here.</t> | sion may be made by a user, by a PCC, or by the PCE. | |||
There can be a number of triggers for this, including user interventi | ||||
</section> | on and dynamic response | |||
to changes in traffic demands.</li> | ||||
<section title="Procedures for PCE Use of Flow Specifications"> | <li>Decide what properties to assign to an LSP. This can include band | |||
width reservations, priorities, | ||||
<section title="Context for PCE Use of Flow Specifications"> | and the Differentiated Services Code Point (DSCP) (i.e., MPLS Traffic | |||
Class field). This function is also determined by user configuration | ||||
<t>In the PCE architecture there are five steps in the setup and use of LSPs: | or in response to predicted or observed traffic demands.</li> | |||
<list style="numbers"> | <li>Decide what traffic to put on the LSP. This is effectively determ | |||
<t>Decide which LSPs to set up. The decision may be made by a user, by | ining which traffic flows to | |||
a PCC, or by the PCE. | assign to which LSPs; practically, this is closely linked to the firs | |||
There can be a number of triggers for this including user interventio | t two decisions listed | |||
n and dynamic response | above.</li> | |||
to changes in traffic demands.</t> | <li>Cause the LSP to be set up and modified to have the right characte | |||
<t>Decide what properties to assign to an LSP. This can include bandwid | ristics. This will usually | |||
th reservations, priorities, | ||||
and DSCP (i.e., MPLS Traffic Class field). This function is also det | ||||
ermined by user configuration | ||||
or in response to predicted or observed traffic demands.</t> | ||||
<t>Decide what traffic to put on the LSP. This is effectively determini | ||||
ng which traffic flows to | ||||
assign to which LSPs, and practically, this is closely linked to the | ||||
first two decisions listed | ||||
above.</t> | ||||
<t>Cause the LSP to be set up and modified to have the right characteris | ||||
tics. This will usually | ||||
involve the PCE advising or instructing the PCC at the head end of th e LSP, and the PCC will | involve the PCE advising or instructing the PCC at the head end of th e LSP, and the PCC will | |||
then signal the LSP across the network.</t> | then signal the LSP across the network.</li> | |||
<t>Tell the head end of the LSP what traffic to put on the LSP. This ma | <li>Tell the head end of the LSP what traffic to put on the LSP. This | |||
y happen after or at the | may happen after or at the | |||
same time as the LSP is set up. This step is the subject of this doc | same time as the LSP is set up. This step is the subject of this doc | |||
ument.</t> | ument.</li> | |||
</list></t> | </ol> | |||
</section> | ||||
</section> | <section numbered="true" toc="default"> | |||
<name>Elements of the Procedure</name> | ||||
<section title="Elements of Procedure"> | <t>There are three elements in the procedure: | |||
<t>There are three elements of procedure: | ||||
<list style="symbols"> | ||||
<t>A PCE and a PCC must be able to indicate whether or not they support | ||||
the use of Flow | ||||
Specifications.</t> | ||||
<t>A PCE or PCC must be able to include Flow Specifications in PCEP mes | </t> | |||
sages with clear | <ol spacing="normal"> | |||
<li>A PCE and a PCC must be able to indicate whether or not they suppo | ||||
rt the use of Flow | ||||
Specifications.</li> | ||||
<li>A PCE or PCC must be able to include Flow Specifications in PCEP | ||||
messages with a clear | ||||
understanding of the applicability of those Flow Specifications in e ach case. This includes | understanding of the applicability of those Flow Specifications in e ach case. This includes | |||
whether the use of such information is mandatory, constrained, or op | whether the use of such information is mandatory, constrained, or op | |||
tional, and how | tional and how | |||
overlapping Flow Specifications will be resolved.</t> | overlapping Flow Specifications will be resolved.</li> | |||
<li>Flow Specification information/state must be synchronized between | ||||
<t>Flow Specification information/state must be synchronized between PC | PCEP peers so that, | |||
EP peers so that, | ||||
on recovery, the peers have the same understanding of which Flow Spe cifications apply | on recovery, the peers have the same understanding of which Flow Spe cifications apply | |||
just as is required in the case of stateful PCE and LSP delegation ( | just as is required in the case of stateful PCE and LSP delegation ( | |||
see Section 5.6 of | see <xref section="5.6" target="RFC8231" sectionFormat="of"/>).</li> | |||
<xref target="RFC8231" />).</t> | </ol> | |||
</list></t> | <t>The following subsections describe these points.</t> | |||
<section numbered="true" toc="default"> | ||||
<t>The following subsections describe these points.</t> | <name>Capability Advertisement</name> | |||
<t>As with most PCEP capability advertisements, the ability to support | ||||
<section title="Capability Advertisement"> | Flow Specifications can be | |||
indicated in the PCEP Open message or in IGP PCE capability advertisemen | ||||
<t>As with most PCEP capability advertisements, the ability to support Flow | ts.</t> | |||
Specifications can be | <section anchor="open" numbered="true" toc="default"> | |||
indicated in the PCEP OPEN message or in IGP PCE capability advertisemen | <name>PCEP Open Message</name> | |||
ts.</t> | ||||
<section title="PCEP OPEN Message" anchor="open"> | ||||
<t>During PCEP session establishment, a PCC or PCE that supports the proc | ||||
edures described in | ||||
this document announces this fact by including the "PCE FlowSpec Capab | ||||
ility" TLV (described in | ||||
<xref target="cap"/>) in the OPEN Object carried in the PCEP Open mess | ||||
age.</t> | ||||
<t>The presence of the PCE FlowSpec Capability TLV in the OPEN Object in | <t>During PCEP session establishment, a PCC or PCE that supports the | |||
a PCE's OPEN message | procedures described in | |||
this document announces this fact by including the PCE FlowSpec Capabi | ||||
lity TLV (described in | ||||
<xref target="cap" format="default"/>) in the OPEN object carried in t | ||||
he PCEP Open message.</t> | ||||
<t>The presence of the PCE FlowSpec Capability TLV in the OPEN objec | ||||
t in a PCE's Open message | ||||
indicates that the PCE can distribute FlowSpecs to PCCs and can receiv e FlowSpecs in messages | indicates that the PCE can distribute FlowSpecs to PCCs and can receiv e FlowSpecs in messages | |||
from PCCs.</t> | from PCCs.</t> | |||
<t>The presence of the PCE FlowSpec Capability TLV in the OPEN objec | ||||
<t>The presence of the PCE FlowSpec Capability TLV in the OPEN Object in | t in a PCC's Open message | |||
a PCC's OPEN message | ||||
indicates that the PCC supports the FlowSpec functionality described i n this document.</t> | indicates that the PCC supports the FlowSpec functionality described i n this document.</t> | |||
<t>If either one of a pair of PCEP peers does not include the PCE Fl | ||||
<t>If either one of a pair of PCEP peers does not include the PCE FlowSpe | owSpec Capability TLV in the | |||
c Capability TLV in the | OPEN object in its Open message, then the other peer <bcp14>MUST NOT</ | |||
OPEN Object in its OPEN message, then the other peer MUST NOT include | bcp14> include a FLOWSPEC object in any | |||
a FLOWSPEC object in any | ||||
PCEP message sent to the peer. If a FLOWSPEC object is received when support has not been indicated, | PCEP message sent to the peer. If a FLOWSPEC object is received when support has not been indicated, | |||
the receiver will respond with a PCErr message reporting the objects c ontaining the FlowSpec as described | the receiver will respond with a PCErr message reporting the objects c ontaining the FlowSpec as described | |||
in <xref target="RFC5440" />: that is, it will use 'Unknown Objec | in <xref target="RFC5440" format="default"/>: that is, it will use "Un | |||
t' if it does not support this | known Object" if it does not support this | |||
specification, and 'Not supported object' if it supports thi | specification and "Not supported object" if it supports this specifica | |||
s specification but has not chosen | tion but has not chosen | |||
to support FLOWSPEC objects on this PCEP session.</t> | to support FLOWSPEC objects on this PCEP session.</t> | |||
</section> | ||||
</section> | <section numbered="true" toc="default"> | |||
<name>IGP PCE Capabilities Advertisement</name> | ||||
<section title="IGP PCE Capabilities Advertisement"> | <t>The ability to advertise support for PCEP and PCE features in IGP | |||
advertisements is provided | ||||
<t>The ability to advertise support for PCEP and PCE features in IGP adve | for OSPF in <xref target="RFC5088" format="default"/> and for IS-IS in | |||
rtisements is provided | <xref target="RFC5089" format="default"/>. The mechanism | |||
for OSPF in <xref target="RFC5088" /> and for IS-IS in <xref target="R | uses the PCE Discovery TLV, which has a PCE-CAP-FLAGS sub-TLV containi | |||
FC5089" />. The mechanism | ng bit flags, each of which | |||
uses the PCE Discovery TLV which has a PCE-CAP-FLAGS sub-TLV containin | ||||
g bit-flags each of which | ||||
indicates support for a different feature.</t> | indicates support for a different feature.</t> | |||
<t>This document defines a new PCE-CAP-FLAGS sub-TLV bit, the FlowSp | ||||
<t>This document defines a new PCE-CAP-FLAGS sub-TLV bit, the FlowSpec Ca | ec Capable flag (bit number 16). | |||
pable flag (bit number TBD1). | ||||
Setting the bit indicates that an advertising PCE supports the procedu res defined in this document.</t> | Setting the bit indicates that an advertising PCE supports the procedu res defined in this document.</t> | |||
<t>Note that while PCE FlowSpec capability may be advertised during | ||||
<t>Note that while PCE FlowSpec Capability may be advertised during disco | discovery, PCEP speakers that wish to | |||
very, PCEP speakers that wish to | use Flow Specification in PCEP <bcp14>MUST</bcp14> negotiate PCE FlowS | |||
use Flow Specification in PCEP MUST negotiate PCE FlowSpec Capability | pec capability during PCEP session setup, as | |||
during PCEP session setup, as | specified in <xref target="open" format="default"/>. A PCC <bcp14>MAY | |||
specified in <xref target="open" />. A PCC MAY initiate PCE FlowSpec | </bcp14> initiate PCE FlowSpec capability negotiation at PCEP | |||
Capability negotiation at PCEP | ||||
session setup even if it did not receive any IGP PCE capability advert isement, and a PCEP peer that | session setup even if it did not receive any IGP PCE capability advert isement, and a PCEP peer that | |||
advertised support for FlowSpec in the IGP is not obliged to support t hese procedures on any given | advertised support for FlowSpec in the IGP is not obliged to support t hese procedures on any given | |||
PCEP session.</t> | PCEP session.</t> | |||
</section> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
</section> | <name>Dissemination Procedures</name> | |||
<t>This section describes the procedures to support Flow Specification | ||||
<section title="Dissemination Procedures"> | s in PCEP messages.</t> | |||
<t>The primary purpose of distributing Flow Specification information | ||||
<t>This section describes the procedures to support Flow Specifications in | is to allow a PCE to indicate to | |||
PCEP messages.</t> | ||||
<t>The primary purpose of distributing Flow Specification information is to | ||||
allow a PCE to indicate to | ||||
a PCC what traffic it should place on a path (such as an LSP or an SR pa th). This means that the | a PCC what traffic it should place on a path (such as an LSP or an SR pa th). This means that the | |||
Flow Specification may be included in: | Flow Specification may be included in: | |||
<list style="symbols"> | </t> | |||
<ul spacing="normal"> | ||||
<t>PCInitiate messages so that an active PCE can indicate the traffic | <li>PCInitiate messages so that an active PCE can indicate the traff | |||
to place on a path at the time | ic to place on a path at the time | |||
that the PCE instantiates the path.</t> | that the PCE instantiates the path.</li> | |||
<li>PCUpd messages so that an active PCE can indicate or change the | ||||
<t>PCUpd messages so that an active PCE can indicate or change the tr | traffic to place on a path | |||
affic to place on a path | that has already been set up.</li> | |||
that has already been set up.</t> | <li>PCRpt messages so that a PCC can report the traffic that the PCC | |||
will place on the path.</li> | ||||
<t>PCRpt messages so that a PCC can report the traffic that the PCC w | <li>PCReq messages so that a PCC can indicate what traffic it plans | |||
ill place on the path.</t> | to place on a path when it | |||
requests that the PCE perform a computation in case that informati | ||||
<t>PCReq messages so that a PCC can indicate what traffic it plans to | on aids the PCE in its work.</li> | |||
place on a path at the time it | <li>PCRep messages so that a PCE that has been asked to compute a pa | |||
requests the PCE to perform a computation in case that information | th can suggest which traffic | |||
aids the PCE in its work.</t> | could be placed on a path that a PCC may be about to set up.</li> | |||
<li>PCErr messages so that issues related to paths and the traffic t | ||||
<t>PCRep messages so that a PCE that has been asked to compute a path | hey carry can be reported to the | |||
can suggest which traffic | PCE by the PCC and problems with other PCEP messages that carry Fl | |||
could be placed on a path that a PCC may be about to set up.</t> | ow Specifications can | |||
be reported.</li> | ||||
<t>PCErr messages so that issues related to paths and the traffic the | </ul> | |||
y carry can be reported to the | <t>To carry Flow Specifications in PCEP messages, this document define | |||
PCE by the PCC, and so that problems with other PCEP messages that | s a new PCEP object called the | |||
carry Flow Specifications can | "PCEP FLOWSPEC object". The object is <bcp14>OPTIONAL</bcp14> in the me | |||
be reported.</t> | ssages described above and <bcp14>MAY</bcp14> appear more | |||
</list></t> | ||||
<t>To carry Flow Specifications in PCEP messages, this document defines a n | ||||
ew PCEP object called the | ||||
PCEP FLOWSPEC object. The object is OPTIONAL in the messages described | ||||
above and MAY appear more | ||||
than once in each message.</t> | than once in each message.</t> | |||
<t>To describe a traffic flow, the PCEP FLOWSPEC object carries a Flow Filter TLV.</t> | ||||
<t>To describe a traffic flow, the PCEP FLOWSPEC object carries one of the | <t>The inclusion of multiple PCEP FLOWSPEC objects allows multiple tra | |||
following combinations of | ffic flows to be placed on a single | |||
TLVs: | ||||
<list style="symbols"> | ||||
<t>zero or one Flow Filter TLV</t> | ||||
<t>one L2 Flow Filter TLV</t> | ||||
<t>both a Flow Filter TLV and an L2 Flow Filter TLV</t> | ||||
</list></t> | ||||
<t>The inclusion of multiple PCEP FLOWSPEC objects allows multiple traffic | ||||
flows to be placed on a single | ||||
path.</t> | path.</t> | |||
<t>Once a PCE and PCC have established that they can both support the | ||||
<t>Once a PCE and PCC have established that they can both support the use o | use of Flow Specifications in PCEP | |||
f Flow Specifications in PCEP | ||||
messages, such information may be exchanged at any time for new or exist ing paths.</t> | messages, such information may be exchanged at any time for new or exist ing paths.</t> | |||
<t>The application and prioritization of Flow Specifications are descr | ||||
<t>The application and prioritization of Flow Specifications is described i | ibed in <xref target="priorities" format="default"/>.</t> | |||
n <xref target="priorities" />.</t> | <t>As per <xref target="RFC8231" format="default"/>, any attributes of | |||
the path received from a PCE are subject to the PCC's | ||||
<t>As per <xref target="RFC8231" />, any attributes of the path received fr | local policy. This holds true for the Flow Specifications as well.</t> | |||
om a PCE are subject to PCC's | </section> | |||
local policy. This holds good for the Flow Specifications as well.</t> | <section numbered="true" toc="default"> | |||
<name>Flow Specification Synchronization</name> | ||||
</section> | <t>The Flow Specifications are carried along with the LSP state inform | |||
ation as per <xref target="RFC8231" format="default"/>, | ||||
<section title="Flow Specification Synchronization"> | ||||
<t>The Flow Specifications are carried along with the LSP State information | ||||
as per <xref target="RFC8231" /> | ||||
making the Flow Specifications part of the LSP database (LSP-DB). Thus, the synchronization of the Flow | making the Flow Specifications part of the LSP database (LSP-DB). Thus, the synchronization of the Flow | |||
Specification information is done as part of LSP-DB synchronization. Th is may be achieved using normal | Specification information is done as part of LSP-DB synchronization. Th is may be achieved using normal | |||
state synchronization procedures as described in <xref target="RFC8231" | state synchronization procedures as described in <xref target="RFC8231" | |||
/> or enhanced state synchronization | format="default"/> or enhanced state synchronization | |||
procedures as defined in <xref target="RFC8232" />.</t> | procedures as defined in <xref target="RFC8232" format="default"/>.</t> | |||
<t>The approach selected will be implementation and deployment specifi | ||||
<t>The approach selected will be implementation and deployment specific and | c and will depend on issues such as | |||
will depend on issues such as | ||||
how the databases are constructed and what level of synchronization supp ort is needed.</t> | how the databases are constructed and what level of synchronization supp ort is needed.</t> | |||
</section> | ||||
</section> | </section> | |||
</section> | ||||
</section> | <section anchor="cap" numbered="true" toc="default"> | |||
<name>PCE FlowSpec Capability TLV</name> | ||||
</section> | <t>The PCE-FLOWSPEC-CAPABILITY TLV is an optional TLV that can be carried | |||
in the OPEN object | ||||
<section title="PCE FlowSpec Capability TLV" anchor="cap"> | <xref target="RFC5440" format="default"/> to exchange the PCE FlowSpec capab | |||
ilities of the PCEP speakers.</t> | ||||
<t>The PCE-FLOWSPEC-CAPABILITY TLV is an optional TLV that can be carried in th | <t>The format of the PCE-FLOWSPEC-CAPABILITY TLV follows the format of all | |||
e OPEN Object | PCEP TLVs | |||
<xref target="RFC5440"/> to exchange PCE FlowSpec capabilities of the PCEP s | as defined in <xref target="RFC5440" format="default"/> and is shown in <xre | |||
peakers.</t> | f target="capfig" format="default"/>.</t> | |||
<figure anchor="capfig"> | ||||
<t>The format of the PCE-FLOWSPEC-CAPABILITY TLV follows the format of all PCEP | <name>PCE-FLOWSPEC-CAPABILITY TLV Format</name> | |||
TLVs | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
as defined in <xref target="RFC5440" /> and is shown in <xref target="capfig | ||||
" />.</t> | ||||
<figure title="PCE-FLOWSPEC-CAPABILITY TLV format" anchor="capfig"> | ||||
<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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type=TBD2 | Length=2 | | | Type=51 | Length=2 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Value=0 | Padding | | | Value=0 | Padding | | |||
+---------------------------------------------------------------+ | +---------------------------------------------------------------+ | |||
]]> | ]]></artwork> | |||
</artwork> | </figure> | |||
</figure> | <t>The type of the PCE-FLOWSPEC-CAPABILITY TLV is 51, and it has a fixed l | |||
ength of 2 octets. | ||||
<t>The type of the PCE-FLOWSPEC-CAPABILITY TLV is TBD2 and it has a fixed lengt | The Value field <bcp14>MUST</bcp14> be set to 0 and <bcp14>MUST</bcp14> be i | |||
h of 2 octets. | gnored on receipt. The two bytes of padding | |||
The Value field MUST be set to 0 and MUST be ignored on receipt. The two by | <bcp14>MUST</bcp14> be set to zero and ignored on receipt.</t> | |||
tes of padding | <t>The inclusion of this TLV in an OPEN object indicates that the sender c | |||
MUST be set to zero and ignored on receipt.</t> | an perform FlowSpec handling | |||
<t>The inclusion of this TLV in an OPEN object indicates that the sender can pe | ||||
rform FlowSpec handling | ||||
as defined in this document.</t> | as defined in this document.</t> | |||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>PCEP FLOWSPEC Object</name> | ||||
<t>The PCEP FLOWSPEC object defined in this document is compliant with the | ||||
PCEP object format | ||||
defined in <xref target="RFC5440" format="default"/>. | ||||
</section> | It is <bcp14>OPTIONAL</bcp14> in the PCReq, PCRep, PCErr, PCInitiate, | |||
PCRpt, and PCUpd messages and <bcp14>MAY</bcp14> be present zero, one, or mo | ||||
<section title="PCEP FLOWSPEC Object"> | re times. Each instance of the | |||
<t>The PCEP FLOWSPEC object defined in this document is compliant with the PCEP | ||||
object format | ||||
defined in <xref target="RFC5440"/>. It is OPTIONAL in the PCReq, PCRep, PC | ||||
Err, PCInitiate, | ||||
PCRpt, and PCUpd messages and MAY be present zero, one, or more times. Each | ||||
instance of the | ||||
object specifies a separate traffic flow.</t> | object specifies a separate traffic flow.</t> | |||
<t>The PCEP FLOWSPEC object <bcp14>MAY</bcp14> carry a FlowSpec filter rul | ||||
<t>The PCEP FLOWSPEC object carries a FlowSpec filter rule encoded in a TLV (a | e encoded in a Flow Filter TLV as defined in <xref target="tlv" format="default" | |||
Flow Filter TLV, | />.</t> | |||
a single L2 Flow Filter TLV, or both) as defined in <xref target="tlv" />).< | <t>The FLOWSPEC Object-Class is 43 (to be assigned by IANA).</t> | |||
/t> | <t>The FLOWSPEC Object-Type is 1.</t> | |||
<t>The format of the body of the PCEP FLOWSPEC object is shown in <xref ta | ||||
<t>The FLOWSPEC Object-Class is TBD3 (to be assigned by IANA).</t> | rget="FlowSpecFig" format="default"/>.</t> | |||
<figure anchor="FlowSpecFig"> | ||||
<t>The FLOWSPEC Object-Type is 1.</t> | <name>PCEP FLOWSPEC Object Body Format</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<t>The format of the body of the PCEP FLOWSPEC object is shown in <xref target= | ||||
"FlowSpecFig" /></t> | ||||
<figure title="PCEP FLOWSPEC Object Body Format" anchor="FlowSpecFig"> | ||||
<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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| FS-ID | | | FS-ID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| AFI | Reserved | Flags |L|R| | | AFI | Reserved | Flags |L|R| | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
// TLVs // | // TLVs // | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]> | ]]></artwork> | |||
</artwork> | </figure> | |||
</figure> | ||||
<t>FS-ID (32-bits): A PCEP-specific identifier for the FlowSpec information. A | <dl> | |||
PCE | <dt>FS-ID (32 bits):</dt> | |||
<dd> A PCEP-specific identifier for the FlowSpec information. A PCE | ||||
or PCC creates an FS-ID for each FlowSpec that it originates, and the value is | or PCC creates an FS-ID for each FlowSpec that it originates, and the value is | |||
unique within the scope of that PCE or PCC and is constant for the lifetime of a | unique within the scope of that PCE or PCC and is constant for the lifetime of a | |||
PCEP session. All subsequent PCEP messages can identify the FlowSpec using the | PCEP session. All subsequent PCEP messages can identify the FlowSpec using the | |||
FS-ID. The values 0 and 0xFFFFFFFF are reserved and MUST NOT be used. Note | FS-ID. The values 0 and 0xFFFFFFFF are reserved and <bcp14>MUST NOT</bcp14> | |||
that <xref target="I-D.gont-numeric-ids-sec-considerations" /> gives advice | be used. Note | |||
on | that <xref target="I-D.gont-numeric-ids-sec-considerations" format="default" | |||
assigning transient numeric identifiers such as the FS-ID so as to minimise | /> gives advice on | |||
security risks.</t> | assigning transient numeric identifiers such as the FS-ID so as to minimize | |||
security risks.</dd> | ||||
<t>AFI (16-bits): Address Family Identifier as used in BGP <xref target="RFC476 | <dt>AFI (16 bits):</dt> | |||
0"/> | <dd> Address Family Identifier as used in BGP <xref target="RFC4760" format= | |||
(AFI=1 for IPv4 or VPNv4, AFI=2 for IPv6 and VPNv6 as per as per | "default"/> | |||
<xref target="I-D.ietf-idr-flow-spec-v6"/>).</t> | (AFI=1 for IPv4 or VPNv4, AFI=2 for IPv6 and VPNv6 as per | |||
<xref target="RFC8956" format="default"/>).</dd> | ||||
<t>Reserved (8-bits): MUST be set to zero on transmission and ignored on receip | ||||
t.</t> | ||||
<t>Flags (8-bits): Two flags are currently assigned - | ||||
<list style="empty"> | <dt>Reserved (8 bits):</dt> | |||
<dd> <bcp14>MUST</bcp14> be set to zero on transmission and ignored on re | ||||
ceipt.</dd> | ||||
<dt>Flags (8 bits):</dt> | ||||
<dd><t>Two flags are currently assigned: </t> | ||||
<t>R bit: The Remove bit is set when a PCEP FLOWSPEC object is included in | <dl> | |||
a PCEP | <dt>R bit:</dt> | |||
<dd>The Remove bit is set when a PCEP FLOWSPEC object is included in a PC | ||||
EP | ||||
message to indicate removal of the Flow Specification from the associate d tunnel. | message to indicate removal of the Flow Specification from the associate d tunnel. | |||
If the bit is clear, the Flow Specification is being added or modified.< | If the bit is clear, the Flow Specification is being added or modified.< | |||
/t> | /dd> | |||
<dt>L bit:</dt> | ||||
<t>L bit: The Longest Prefix Match (LPM) bit is set to indicate that the Fl | <dd>The Longest Prefix Match (LPM) bit is set to indicate that the Flow | |||
ow | Specification is to be installed as a route subject to LPM | |||
Specification is to be installed as a route subject to longest prefix ma | ||||
tch | ||||
forwarding. If the bit is clear, the Flow Specification described by th e | forwarding. If the bit is clear, the Flow Specification described by th e | |||
Flow Filter TLV (see <xref target="tlv" />) is to be installed as a Flow | Flow Filter TLV (see <xref target="tlv" format="default"/>) is to be ins talled as a Flow | |||
Specification. If the bit is set, only Flow Specifications that describ e | Specification. If the bit is set, only Flow Specifications that describ e | |||
IPv4 or IPv6 destinations are meaningful in the Flow Filter TLV and othe | IPv4 or IPv6 destinations are meaningful in the Flow Filter TLV, and oth | |||
rs are ignored. If the L | ers are ignored. | |||
If the L | ||||
is set and the receiver does not support the use of Flow Specifications that | is set and the receiver does not support the use of Flow Specifications that | |||
are present in the Flow Filter TLV for the installation of a route subje ct to | are present in the Flow Filter TLV for the installation of a route subje ct to | |||
longest prefix match forwarding, then the PCEP peer MUST respond with a | LPM forwarding, then the PCEP peer <bcp14>MUST</bcp14> respond with a PC | |||
PCErr | Err | |||
message with error-type TBD8 (FlowSpec Error) and error-value 5 (Unsuppo | message with Error-Type 30 (FlowSpec Error) and Error-value 5 (Unsupport | |||
rted | ed | |||
LPM Route).</t> | LPM Route).</dd> | |||
</dl> | ||||
<t>Unassigned bits MUST be set to zero on transmission and ignored on recei | </dd> | |||
pt.</t> | </dl> | |||
</list></t> | ||||
<t>If the PCEP speaker receives a message with R bit set in the FLOWSPEC object | ||||
and the Flow Specification | ||||
identified with a FS-ID does not exist, it MUST generate a PCErr with Error- | ||||
type TBD8 (FlowSpec Error), | ||||
error-value 4 (Unknown FlowSpec). </t> | ||||
<t>If the PCEP speaker does not understand or support the AFI in the FLOWSPEC m | <t>Unassigned bits <bcp14>MUST</bcp14> be set to zero on transmission an | |||
essage, the PCEP peer | d ignored on receipt. | |||
MUST respond with a PCErr message with error-type TBD8 (FlowSpec Error), err | </t> | |||
or-value 2 | <t>If the PCEP speaker receives a message with the R bit set in the FLOWSP | |||
EC object and the Flow Specification | ||||
identified with an FS-ID does not exist, it <bcp14>MUST</bcp14> generate a P | ||||
CErr with Error-Type 30 (FlowSpec Error) and Error-value 4 (Unknown FlowSpec). < | ||||
/t> | ||||
<t>If the PCEP speaker does not understand or support the AFI in the FLOWS | ||||
PEC message, the PCEP peer | ||||
<bcp14>MUST</bcp14> respond with a PCErr message with Error-Type 30 (FlowSpe | ||||
c Error) and Error-value 2 | ||||
(Malformed FlowSpec).</t> | (Malformed FlowSpec).</t> | |||
<t>The following TLVs can be used in the FLOWSPEC object: | ||||
</t> | ||||
<t>The following TLVs can be used in the FLOWSPEC object: | <dl> | |||
<list style="symbols"> | <dt>Speaker Entity Identifier TLV:</dt> | |||
<t>Speaker Entity Identifier TLV: As specified in <xref target="RFC8232"/>, the SPEAKER-ENTITY-ID TLV | <dd> As specified in <xref target="RFC8232" format="default"/>, the SPEAK ER-ENTITY-ID TLV | |||
encodes a unique identifier for the node that does not change during the lifetime of the PCEP | encodes a unique identifier for the node that does not change during the lifetime of the PCEP | |||
speaker. This is used to uniquely identify the FlowSpec originator and t | speaker. This is used to uniquely identify the FlowSpec originator and t | |||
hus used in conjunction | hus is used in conjunction | |||
with FS-ID to uniquely identify the FlowSpec information. This TLV MUST | with the FS-ID to uniquely identify the FlowSpec information. This TLV < | |||
be included. If the TLV | bcp14>MUST</bcp14> be included. If the TLV | |||
is missing, the PCEP peer MUST respond with a PCErr message with error-t | is missing, the PCEP peer <bcp14>MUST</bcp14> respond with a PCErr messa | |||
ype TBD8 (FlowSpec Error), | ge with Error-Type 30 (FlowSpec Error) and | |||
error-value 2 (Malformed FlowSpec). If more than one instance of this T | Error-value 2 (Malformed FlowSpec). If more than one instance of this T | |||
LV is present, the first MUST be | LV is present, the first <bcp14>MUST</bcp14> be | |||
processed and subsequence instances MUST be ignored.</t> | processed, and subsequent instances <bcp14>MUST</bcp14> be ignored.</dd> | |||
<dt>Flow Filter TLV (variable):</dt> | ||||
<t>Flow Filter TLV (variable): One TLV MAY be included. The Flow Filter TLV | <dd> One TLV <bcp14>MAY</bcp14> be included. The Flow Filter TLV is <bcp1 | |||
is OPTIONAL when the R bit | 4>OPTIONAL</bcp14> when the R bit | |||
is set.</t> | is set.</dd> | |||
</dl> | ||||
<t>L2 Flow Filter TLV (variable): One TLV MAY be included. The L2 Flow Fil | ||||
ter TLV is OPTIONAL when | ||||
the R bit is set.</t> | ||||
</list></t> | ||||
<t>At least one Flow Filter TLV or one L2 Flow Filter TLV MUST be present when | ||||
the R bit is clear. If | ||||
both TLVs are missing when the R bit is clear, the PCEP peer MUST respond wi | ||||
th a PCErr message with | ||||
error-type TBD8 (FlowSpec Error) and error-value 2 (Malformed FlowSpec). A | ||||
Flow Filter TLV and a L2 | ||||
Flow Filter TLV MAY both be present when filtering is based on both L3 and L | ||||
2 fields.</t> | ||||
</section> | ||||
<section title="Flow Filter TLV and L2 Flow Filter TLV" anchor="tlv"> | ||||
<t>Two new PCEP TLVs are defined to convey Flow Specification filtering rules t | ||||
hat specify | ||||
what traffic is carried on a path. The TLVs follow the format of all PCEP T | ||||
LVs as defined | ||||
in <xref target="RFC5440" />. The Type field values come from the codepoint | ||||
space for | ||||
PCEP TLVs and has the value TBD4 for Flow Filter TLV and TBD9 for L2 Flow Fi | ||||
lter TLV.</t> | ||||
<t>The Value fields of the TLVs contain one or more sub-TLVs (the Flow Specific | <t>The Flow Filter TLV <bcp14>MUST</bcp14> be present when the R bit is cl | |||
ation TLVs or L2 | ear. If the | |||
Flow Specification TLVs) as defined in <xref target="subtlv" />, and they re | TLV is missing when the R bit is clear, the PCEP peer <bcp14>MUST</bcp14> re | |||
present the complete | spond with a PCErr message with | |||
Error-Type 30 (FlowSpec Error) and Error-value 2 (Malformed FlowSpec).</t> | ||||
<t>Filtering based on the L2 fields is out of scope of this document.</t> | ||||
</section> | ||||
<section anchor="tlv" numbered="true" toc="default"> | ||||
<name>Flow Filter TLV</name> | ||||
<t>One new PCEP TLV is defined to convey Flow Specification filtering rule | ||||
s that specify | ||||
what traffic is carried on a path. The TLV follows the format of all PCEP T | ||||
LVs as defined | ||||
in <xref target="RFC5440" format="default"/>. The Type field values come fr | ||||
om the code point space for | ||||
PCEP TLVs and has the value 52 for Flow Filter TLV.</t> | ||||
<t>The Value field of the TLV contains one or more sub-TLVs (the Flow Spec | ||||
ification TLVs) as defined in <xref target="subtlv" format="default"/>, and they | ||||
represent the complete | ||||
definition of a Flow Specification for traffic to be placed on the tunnel. This tunnel is | definition of a Flow Specification for traffic to be placed on the tunnel. This tunnel is | |||
indicated by the PCEP message in which the PCEP FLOWSPEC object is carried. The set of Flow | indicated by the PCEP message in which the PCEP FLOWSPEC object is carried. The set of Flow | |||
Specification TLVs and L2 Flow Filter TLVs in a single instance of a Flow Fi lter TLV are | Specification TLVs in a single instance of a Flow Filter TLV is | |||
combined to indicate the specific Flow Specification. Note that the PCEP F LOWSPEC object can | combined to indicate the specific Flow Specification. Note that the PCEP F LOWSPEC object can | |||
include just one Flow Filter TLV, just one L2 Flow Filter TLV, or one of eac | include just one Flow Filter TLV.</t> | |||
h TLV.</t> | <t>Further Flow Specifications can be included in a PCEP message by includ | |||
ing additional | ||||
<t>Further Flow Specifications can be included in a PCEP message by including a | FLOWSPEC objects.</t><t> In the future, there may be a desire to add support | |||
dditional | for L2 Flow | |||
FLOWSPEC objects.</t> | Specifications (such as described in <xref target="I-D.ietf-idr-flowspec-l2vp | |||
n"/>).</t> | ||||
</section> | </section> | |||
<section anchor="subtlv" numbered="true" toc="default"> | ||||
<section title="Flow Specification TLVs" anchor="subtlv"> | <name>Flow Specification TLVs</name> | |||
<t>The Flow Filter TLV carries one or more Flow Specification TLVs. The F | ||||
<t>The Flow Filter TLV carries one or more Flow Specification TLVs. The Flow S | low Specification TLV | |||
pecification TLV | follows the format of all PCEP TLVs as defined in <xref target="RFC5440" for | |||
follows the format of all PCEP TLVs as defined in <xref target="RFC5440" />. | mat="default"/>. However, the Type values | |||
However, the Type values | are selected from a separate IANA registry (see <xref target="iana" format=" | |||
are selected from a separate IANA registry (see <xref target="iana" />) rath | default"/>) rather than from the common | |||
er than from the common | ||||
PCEP TLV registry.</t> | PCEP TLV registry.</t> | |||
<t>Type values are chosen so that there can be commonality with Flow Speci | ||||
fications defined for use | ||||
with BGP <xref target="RFC8955" format="default"/> <xref target="RFC8956" fo | ||||
rmat="default"/>. This | ||||
is possible because the BGP Flow Spec encoding uses a single octet to encode | ||||
the type, whereas PCEP uses | ||||
2 octets. Thus, the space of values for the Type field is partitioned as | ||||
shown in <xref target="fspectlvs" format="default"/>.</t> | ||||
<t>Type values are chosen so that there can be commonality with Flow Specificat | <table anchor="fspectlvs"> | |||
ions defined for use | <name>Flow Specification TLV Type Ranges</name> | |||
with BGP <xref target="I-D.ietf-idr-rfc5575bis"/> and <xref target="I-D.ietf | <thead> | |||
-idr-flow-spec-v6" />. This | <tr> | |||
is possible because the BGP Flow Spec encoding uses a single octet to encode | <th>Range</th> | |||
the type where as PCEP uses | <th>Description</th> | |||
two octets. Thus the space of values for the Type field is partitioned as s | </tr> | |||
hown in <xref target="fspectlvs" />.</t> | </thead> | |||
<tbody> | ||||
<figure title="Flow Specification TLV Type Ranges" anchor="fspectlvs"> | <tr> | |||
<artwork> | <td>0-255</td> | |||
<![CDATA[ | <td><t>Per BGP Flow Spec registry defined by | |||
Range | | <xref target="RFC8955"/> and | |||
0 .. 255 | Per BGP registry defined by | <xref target="RFC8956"/>.</t> | |||
| [I-D.ietf-idr-rfc5575bis] and | <t> Not to be allocated in this registry.</t></td> | |||
| [I-D.ietf-idr-flow-spec-v6]. | </tr> | |||
| Not to be allocated in this registry. | <tr> | |||
| | <td>256-65535</td> | |||
256 .. 65535 | New PCEP Flow Specifications allocated according | <td>New PCEP Flow Specifications allocated according | |||
| to the registry defined in this document. | to the registry defined in this document.</td> | |||
]]> | </tr> | |||
</artwork> | </tbody> | |||
</figure> | </table> | |||
<t><xref target="RFC8955" format="default"/> is the reference for the "Flo | ||||
<t><xref target="I-D.ietf-idr-rfc5575bis"/> is the reference for the registry " | w Spec Component Types" registry and defines the allocations it contains. <xref | |||
Flow Spec Component Types" | target="RFC8956" format="default"/> requested the creation of the "Flow Spec IP | |||
and defines the allocations it contains. <xref target="I-D.ietf-idr-flow-sp | v6 Component Types" registry, as well as its initial allocations. If the AFI (i | |||
ec-v6"/> requested for another | n the | |||
registry "Flow Spec IPv6 Component Types" and requested initial allocations | ||||
in it. If the AFI (in the | ||||
FLOWSPEC object) is set to IPv4, the range 0..255 is as per "Flow Spec Compo nent Types" | FLOWSPEC object) is set to IPv4, the range 0..255 is as per "Flow Spec Compo nent Types" | |||
<xref target="I-D.ietf-idr-rfc5575bis"/>; if the AFI is set to IPv6, the ran | <xref target="RFC8955" format="default"/>; if the AFI is set to IPv6, the ra | |||
ge 0..255 is as per "Flow | nge 0..255 is as per "Flow | |||
Spec IPv6 Component Types" <xref target="I-D.ietf-idr-flow-spec-v6"/>.</t> | Spec IPv6 Component Types" <xref target="RFC8956" format="default"/>.</t> | |||
<t>The content of the Value field in each TLV is specific to the type/AFI and d escribes the parameters | <t>The content of the Value field in each TLV is specific to the type/AFI an d describes the parameters | |||
of the Flow Specification. The definition of the format of many of these Va lue fields is inherited | of the Flow Specification. The definition of the format of many of these Va lue fields is inherited | |||
from BGP specifications. Specifically, the inheritance is from <xref target | from BGP specifications. Specifically, the inheritance is from <xref target | |||
="I-D.ietf-idr-rfc5575bis"/> and | ="RFC8955" format="default"/> and | |||
<xref target="I-D.ietf-idr-flow-spec-v6"/>, but may also be inherited from f | <xref target="RFC8956" format="default"/>, but it may also be inherited from | |||
uture BGP specifications.</t> | future BGP specifications.</t> | |||
<t>When multiple Flow Specification TLVs are present in a single Flow Filter TL V they are combined to | <t>When multiple Flow Specification TLVs are present in a single Flow Filter TLV, they are combined to | |||
produce a more detailed specification of a flow. For examples and rules abo ut how this is achieved, | produce a more detailed specification of a flow. For examples and rules abo ut how this is achieved, | |||
see <xref target="I-D.ietf-idr-rfc5575bis"/>. As described in <xref target= | see <xref target="RFC8955" format="default"/>. As described in <xref target | |||
"I-D.ietf-idr-rfc5575bis"/> | ="RFC8955" format="default"/>, | |||
where it says "A given component type MAY (exactly once) be present in the F | where it says "A given component type <bcp14>MAY</bcp14> (exactly once) be p | |||
low Specification," a Flow | resent in the Flow Specification", a Flow | |||
Filter TLV MUST NOT contain more than one Flow Specification TLV of the same | Filter TLV <bcp14>MUST NOT</bcp14> contain more than one Flow Specification | |||
type: an implementation | TLV of the same type: an implementation | |||
that receives a PCEP message with a Flow Flter TLV that contains more than o | that receives a PCEP message with a Flow Filter TLV that contains more than | |||
ne Flow Specification TLV | one Flow Specification TLV | |||
of the same type MUST respond with a PCErr message with error-type TBD8 (Flo | of the same type <bcp14>MUST</bcp14> respond with a PCErr message with Error | |||
wSpec Error), error-value 2 | -Type 30 (FlowSpec Error) and Error-value 2 | |||
(Malformed FlowSpec) and MUST NOT install the Flow Specification.</t> | (Malformed FlowSpec) and <bcp14>MUST NOT</bcp14> install the Flow Specificat | |||
ion.</t> | ||||
<t>An implementation that receives a PCEP message carrying a Flow Specification | <t>An implementation that receives a PCEP message carrying a Flow Specific | |||
TLV with a type value | ation TLV with a type value | |||
that it does not recognize or does not support MUST respond with a PCErr mes | that it does not recognize or support <bcp14>MUST</bcp14> respond with a PCE | |||
sage with error-type TBD8 | rr message with Error-Type 30 | |||
(FlowSpec Error), error-value 1 (Unsupported FlowSpec) and MUST NOT install | (FlowSpec Error) and Error-value 1 (Unsupported FlowSpec) and <bcp14>MUST NO | |||
the Flow Specification.</t> | T</bcp14> install the Flow Specification.</t> | |||
<t>When used in other protocols (such as BGP), these Flow Specifications a | ||||
<t>When used in other protocols (such as BGP), these Flow Specifications are al | re also associated with actions | |||
so associated with actions | ||||
to indicate how traffic matching the Flow Specification should be treated. In PCEP, however, the only | to indicate how traffic matching the Flow Specification should be treated. In PCEP, however, the only | |||
action is to associate the traffic with a tunnel and to forward matching tra ffic onto that path, so | action is to associate the traffic with a tunnel and to forward matching tra ffic onto that path, so | |||
no encoding of an action is needed.</t> | no encoding of an action is needed.</t> | |||
<t><xref target="priorities" format="default"/> describes how overlapping | ||||
<t><xref target="priorities" /> describes how overlapping Flow Specifications a | Flow Specifications are prioritized and | |||
re prioritized and | ||||
handled.</t> | handled.</t> | |||
<t>All Flow Specification TLVs with Types in the range 0 to 255 have value | ||||
<t>All Flow Specification TLVs with Types in the range 0 to 255 have Values def | s defined | |||
ined | for use in BGP (for example, in <xref target="RFC8955" format="default"/> an | |||
for use in BGP (for example, in <xref target="I-D.ietf-idr-rfc5575bis"/> and | d | |||
<xref target="I-D.ietf-idr-flow-spec-v6"/>) and are set using the BGP encodi | <xref target="RFC8956" format="default"/>) and are set using the BGP encodin | |||
ng, | g | |||
but without the type octet (the relevant information is in the | but without the type octet (the relevant information is in the | |||
Type field of the TLV). The Value field is padded with trailing | Type field of the TLV). The Value field is padded with trailing | |||
zeros to achieve 4-byte alignment.</t> | zeros to achieve 4-byte alignment.</t> | |||
<t>This document defines the following new types: | ||||
<t>This document defines the following new types: | </t> | |||
<table align="left" anchor="tlvFigthis"> | ||||
<name>Flow Specification TLV Types Defined in this Document</name> | ||||
<thead> | ||||
<tr> | ||||
<th> Type </th> | ||||
<th> Description</th> | ||||
<th> Value Defined In</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<figure title="Table of Flow Specification TLV Types defined in this document" a | <td>256</td> | |||
nchor="tlvFigthis"> | <td>Route Distinguisher</td> | |||
<artwork> | <td>RFC 9168</td> | |||
<![CDATA[ | </tr> | |||
+-------+-------------------------+-----------------------------+ | <tr> | |||
| Type | Description | Value defined in | | ||||
| | | | | ||||
+-------+-------------------------+-----------------------------+ | ||||
| TBD5 | Route Distinguisher | [This.I-D] | | ||||
+-------+-------------------------+-----------------------------+ | ||||
| TBD6 | IPv4 Multicast Flow | [This.I-D] | | ||||
+-------+-------------------------+-----------------------------+ | ||||
| TBD7 | IPv6 Multicast Flow | [This.I-D] | | ||||
+-------+-------------------------+-----------------------------+ | ||||
]]> | <td>257</td> | |||
</artwork> | <td>IPv4 Multicast Flow</td> | |||
</figure></t> | <td>RFC 9168</td> | |||
</tr> | ||||
<tr> | ||||
<t>To allow identification of a VPN in PCEP via a Route Distinguisher (RD) <x | <td>258</td> | |||
ref target="RFC4364"/>, | <td>IPv6 Multicast Flow</td> | |||
a new TLV - ROUTE-DISTINGUISHER TLV is defined in this document. A Flow S | <td>RFC 9168</td> | |||
pecification TLV with | </tr> | |||
Type TBD5 (ROUTE-DISTINGUISHER TLV) carries an RD Value, used to identify | </tbody> | |||
that other flow filter | </table> | |||
<t>To allow identification of a VPN in PCEP via a Route Distinguisher (RD) | ||||
<xref target="RFC4364" format="default"/>, | ||||
a new TLV, ROUTE-DISTINGUISHER TLV, is defined in this document. A Flow S | ||||
pecification TLV with | ||||
Type 256 (ROUTE-DISTINGUISHER TLV) carries an RD value, which is used to i | ||||
dentify that other flow filter | ||||
information (for example, an IPv4 destination prefix) is associated with a specific VPN identified | information (for example, an IPv4 destination prefix) is associated with a specific VPN identified | |||
by the RD. See <xref target="vpn-id" /> for further discussion of VPN ide | by the RD. See <xref target="vpn-id" format="default"/> for further discu | |||
ntification.</t> | ssion of VPN identification.</t> | |||
<figure anchor="rdtlv"> | ||||
<figure title="The Format of the ROUTE-DISTINGUISHER TLV" anchor="rdtlv"> | <name>The Format of the ROUTE-DISTINGUISHER TLV</name> | |||
<artwork> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<![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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type=[TBD5] | Length=8 | | | Type=256 | Length=8 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Route Distinguisher | | | Route Distinguisher | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]> | ]]></artwork> | |||
</artwork> | </figure> | |||
</figure> | <t>The format of the RD is as per <xref target="RFC4364" format="default"/ | |||
>.</t> | ||||
<t>The format of RD is as per <xref target="RFC4364"/>.</t> | <t>Although it may be possible to describe a multicast Flow Specification | |||
from the | ||||
<t>Although it may be possible to describe a multicast Flow Specification from | ||||
the | ||||
combination of other Flow Specification TLVs with specific values, it is mor e convenient | combination of other Flow Specification TLVs with specific values, it is mor e convenient | |||
to use a dedicated Flow Specification TLV. Flow Specification TLVs with Typ e | to use a dedicated Flow Specification TLV. Flow Specification TLVs with Typ e | |||
values TBD6 and TBD7 are used to identify a multicast flow for IPv4 and IPv6 | values 257 and 258 are used to identify a multicast flow for IPv4 and IPv6, | |||
respectively. | respectively. | |||
The Value field is encoded as shown in <xref target="mcastfig" />.</t> | The Value field is encoded as shown in <xref target="mcastfig" format="defau | |||
lt"/>.</t> | ||||
<figure title="Multicast Flow Specification TLV Encoding" anchor="mcastfig"> | <figure anchor="mcastfig"> | |||
<artwork> | <name>Multicast Flow Specification TLV Encoding</name> | |||
<![CDATA[ | <artwork name="" type="" align="left" alt=""><![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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Reserved |S|G| Src Mask Len | Grp Mask Len | | | Reserved |S|G| Src Mask Len | Grp Mask Len | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
~ Source Address ~ | ~ Source Address ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
~ Group multicast Address ~ | ~ Group multicast Address ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]> | ]]></artwork> | |||
</artwork> | </figure> | |||
</figure> | ||||
<t>The address fields and address mask lengths of the two Multicast Flow Specif | <t>The address fields and address mask lengths of the two Multicast Flow S | |||
ication TLVs | pecification TLVs | |||
contain source and group prefixes for matching against packet flows noting t | contain source and group prefixes for matching against packet flows. Note th | |||
hat the two address | at the two address | |||
fields are 32 bits for an IPv4 Multicast Flow and 128 bits for an IPv6 Multi cast Flow.</t> | fields are 32 bits for an IPv4 Multicast Flow and 128 bits for an IPv6 Multi cast Flow.</t> | |||
<t>The Reserved field <bcp14>MUST</bcp14> be set to zero and ignored on re | ||||
<t>The Reserved field MUST be set to zero and ignored on receipt.</t> | ceipt.</t> | |||
<t>Two bit flags (S and G) are defined to describe the multicast wildcardi | ||||
<t>Two bit flags (S and G) are defined to describe the multicast wildcarding in | ng in use. | |||
use. | If the S bit is set, then source wildcarding is in use, and the values in th | |||
If the S bit is set, then source wildcarding is in use and the values in the | e Source Mask Length | |||
Source Mask Length | and Source Address fields <bcp14>MUST</bcp14> be ignored. If the G bit is s | |||
and Source Address fields MUST be ignored. If the G bit is set, then group | et, then group wildcarding is in | |||
wildcarding is in | use, and the values in the Group Mask Length and Group multicast Address fie | |||
use and the values in the Group Mask Length and Group multicast Address fiel | lds <bcp14>MUST</bcp14> be ignored. | |||
ds MUST be ignored. | The G bit <bcp14>MUST NOT</bcp14> be set unless the S bit is also set: if a | |||
The G bit MUST NOT be set unless the S bit is also set: if a Multicast Flow | Multicast Flow Specification TLV | |||
Specification TLV | is received with S bit = 0 and G bit = 1, the receiver <bcp14>MUST</bcp14> r | |||
is received with S bit = 0 and G bit = 1 the receiver MUST respond with a PC | espond with a PCErr with Error-Type 30 (FlowSpec Error) and Error-value 2 (Malfo | |||
Err with Error-type | rmed FlowSpec).</t> | |||
TBD8 (FlowSpec Error) and error-value 2 (Malformed FlowSpec).</t> | <t>The three multicast mappings may be achieved as follows: | |||
</t> | ||||
<t>The three multicast mappings may be achieved as follows: | <ul empty="true"> | |||
<li>(S, G) - S bit = 0, G bit = 0, the Source Address and Group multicast | ||||
<list style="empty"> | Address prefixes are | |||
both used to define the multicast flow.</li> | ||||
<t>(S, G) - S bit = 0, G bit = 0, the Source Address and Group multicast A | <li>(*, G) - S bit = 1, G bit = 0, the Group multicast Address prefix is u | |||
ddress prefixes are | sed to define the | |||
both used to define the multicast flow.</t> | multicast flow, but the Source Address prefix is ignored.</li> | |||
<li>(*, *) - S bit = 1, G bit = 1, the Source Address and Group multicast | ||||
<t>(*, G) - S bit = 1, G bit = 0, the Group multicast Address prefix is us | Address prefixes are | |||
ed to define the | both ignored.</li> | |||
multicast flow, but the Source Address prefix is ignored.</t> | </ul> | |||
</section> | ||||
<t>(*, *) = S bit = 1, G bit = 1, the Source Address and Group multicast A | <section anchor="detailed" numbered="true" toc="default"> | |||
ddress prefixes are | <name>Detailed Procedures</name> | |||
both ignored.</t> | <t>This section outlines some specific detailed procedures for using the p | |||
rotocol extensions | ||||
</list></t> | ||||
<section title="L2 Flow Specification TLVs" anchor="L2-subtlv"> | ||||
<t>The L2 Flow Filter TLV carries one or more L2 Flow Specification TLV. The | ||||
L2 Flow Specification TLV | ||||
follows the format of all PCEP TLVs as defined in <xref target="RFC5440" | ||||
/>. However, the Type values | ||||
are selected from a separate IANA registry (see <xref target="iana-2" />) | ||||
rather than from the common | ||||
PCEP TLV registry.</t> | ||||
<t>Type values are chosen so that there can be commonality with L2 Flow Spec | ||||
ifications defined for use | ||||
with BGP <xref target="I-D.ietf-idr-flowspec-l2vpn"/>. This is possible | ||||
because the BGP Flow Spec | ||||
encoding uses a single octet to encode the type where as PCEP uses two oc | ||||
tets. Thus the space of | ||||
values for the Type field is partitioned as shown in <xref target="L2-fsp | ||||
ectlvs" />.</t> | ||||
<figure title="L2 Flow Specification TLV Type Ranges" anchor="L2-fspectlvs"> | ||||
<artwork> | ||||
<![CDATA[ | ||||
Range | | ||||
---------------+------------------------------------------------- | ||||
0 .. 255 | Per BGP registry defined by | ||||
| [I-D.ietf-idr-flowspec-l2vpn]. | ||||
| Not to be allocated in this registry. | ||||
| | ||||
256 .. 65535 | New PCEP Flow Specifications allocated according | ||||
| to the registry defined in this document. | ||||
]]> | ||||
</artwork> | ||||
</figure> | ||||
<t><xref target="I-D.ietf-idr-flowspec-l2vpn"/> is the reference for the regi | ||||
stry "L2 Flow Spec Component Types" | ||||
and defines the allocations it contains.</t> | ||||
<t>The content of the Value field in each TLV is specific to the type and des | ||||
cribes the parameters | ||||
of the Flow Specification. The definition of the format of many of these | ||||
Value fields is inherited | ||||
from BGP specifications. Specifically, the inheritance is from <xref targ | ||||
et="I-D.ietf-idr-flowspec-l2vpn"/>, but may also be inherited from future BGP sp | ||||
ecifications.</t> | ||||
<t>When multiple L2 Flow Specification TLVs are present in a single L2 Flow F | ||||
ilter TLV they are combined to | ||||
produce a more detailed specification of a flow. Similarly, when both Flow | ||||
Filter TLV and L2 Flow Filter TLV are present, they are combined to | ||||
produce a more detailed specification of a flow.</t> | ||||
<t>An implementation that receives a PCEP message carrying a L2 Flow Specific | ||||
ation TLV with a type value | ||||
that it does not recognize or does not support MUST respond with a PCErr m | ||||
essage with error-type TBD8 | ||||
(FlowSpec Error), error-value 1 (Unsupported FlowSpec) and MUST NOT instal | ||||
l the Flow Specification.</t> | ||||
<t>All L2 Flow Specification TLVs with Types in the range 0 to 255 have their | ||||
Values interpretted | ||||
as defined for use in BGP (for example, in <xref target="I-D.ietf-idr-flow | ||||
spec-l2vpn"/>) and are set using the BGP encoding, | ||||
but without the type octet (the relevant information is in the | ||||
Type field of the TLV). The Value field is padded with trailing | ||||
zeros to achieve 4-byte alignment.</t> | ||||
<t>This document defines no new types.</t> | ||||
<t>In the rest of the document when the Flow Specification is mentioned, it i | ||||
ncludes the L2 Flow Specifications as well.</t> | ||||
</section> | ||||
</section> | ||||
<section title="Detailed Procedures" anchor="detailed"> | ||||
<t>This section outlines some specific detailed procedures for using the protoc | ||||
ol extensions | ||||
defined in this document.</t> | defined in this document.</t> | |||
<section anchor="default" numbered="true" toc="default"> | ||||
<section title="Default Behavior and Backward Compatibility" anchor="default"> | <name>Default Behavior and Backward Compatibility</name> | |||
<t>The default behavior is that no Flow Specification is applied to a tu | ||||
<t>The default behavior is that no Flow Specification is applied to a tunnel | nnel. That is, | |||
. That is, | the default is that the FLOWSPEC object is not used, as is the case in al | |||
the default is that the FLOWSPEC object is not used as is the case in all | l systems | |||
systems | ||||
before the implementation of this specification.</t> | before the implementation of this specification.</t> | |||
<t>In this case, it is a local matter (such as through configuration) ho | ||||
<t>In this case, it is a local matter (such as through configuration) how tu | w tunnel head ends | |||
nnel head ends | are instructed in terms of what traffic to place on a tunnel.</t> | |||
are instructed what traffic to place on a tunnel.</t> | <t><xref target="RFC5440" format="default"/> describes how receivers res | |||
pond when they see unknown PCEP | ||||
<t><xref target="RFC5440"/> describes how receivers respond when they see un | ||||
known PCEP | ||||
objects.</t> | objects.</t> | |||
</section> | ||||
</section> | <section anchor="composite" numbered="true" toc="default"> | |||
<name>Composite Flow Specifications</name> | ||||
<section title="Composite Flow Specifications" anchor="composite"> | <t>Flow Specifications may be represented by a single Flow Specification | |||
TLV or may require a | ||||
<t>Flow Specifications may be represented by a single Flow Specification TLV | ||||
or may require a | ||||
more complex description using multiple Flow Specification TLVs. For exam ple, a flow | more complex description using multiple Flow Specification TLVs. For exam ple, a flow | |||
indicated by a source-destination pair of IPv6 addresses would be describe d by the | indicated by a source-destination pair of IPv6 addresses would be describe d by the | |||
combination of Destination IPv6 Prefix and Source IPv6 Prefix Flow Specifi cation TLVs.</t> | combination of Destination IPv6 Prefix and Source IPv6 Prefix Flow Specifi cation TLVs.</t> | |||
</section> | ||||
</section> | <section anchor="modify" numbered="true" toc="default"> | |||
<name>Modifying Flow Specifications</name> | ||||
<section title="Modifying Flow Specifications" anchor="modify"> | <t>A PCE may want to modify a Flow Specification associated with a tunne | |||
l, or a PCC may | ||||
<t>A PCE may want to modify a Flow Specification associated with a tunnel, or | ||||
a PCC may | ||||
want to report a change to the Flow Specification it is using with a tunne l.</t> | want to report a change to the Flow Specification it is using with a tunne l.</t> | |||
<t>It is important to identify the specific Flow Specification so it is | ||||
<t>It is important that the specific Flow Specification is identified so that | clear that | |||
it is clear that | ||||
this is a modification of an existing flow and not the addition of a new f low as described | this is a modification of an existing flow and not the addition of a new f low as described | |||
in <xref target="multiple" />. The FS-ID field of the PCEP FLOWSPEC objec t is used to | in <xref target="multiple" format="default"/>. The FS-ID field of the PCE P FLOWSPEC object is used to | |||
identify a specific Flow Specification in the context of the content of th e Speaker Entity | identify a specific Flow Specification in the context of the content of th e Speaker Entity | |||
Identifier TLV.</t> | Identifier TLV.</t> | |||
<t>When modifying a Flow Specification, all Flow Specification TLVs for | ||||
<t>When modifying a Flow Specification, all Flow Specification TLVs for the i | the intended specification | |||
ntended specification | of the flow <bcp14>MUST</bcp14> be included in the PCEP FLOWSPEC object. T | |||
of the flow MUST be included in the PCEP FLOWSPEC object. the FS-ID MUST b | he FS-ID <bcp14>MUST</bcp14> be retained from the | |||
e retained from the | previous description of the flow, and the same Speaker Entity Identifier T | |||
previous description of the flow, and the same Speaker Entity Identity TLV | LV <bcp14>MUST</bcp14> be used.</t> | |||
MUST be used.</t> | </section> | |||
<section anchor="multiple" numbered="true" toc="default"> | ||||
</section> | <name>Multiple Flow Specifications</name> | |||
<t>It is possible that traffic from multiple flows will be placed on a s | ||||
<section title="Multiple Flow Specifications" anchor="multiple"> | ingle tunnel. In some cases, | |||
<t>It is possible that traffic from multiple flows will be placed on a single | ||||
tunnel. In some cases | ||||
it is possible to define these within a single PCEP FLOWSPEC object by wid ening the scope of a Flow | it is possible to define these within a single PCEP FLOWSPEC object by wid ening the scope of a Flow | |||
Specification TLV: for example, traffic to two destination IPv4 prefixes m ight be captured by a single | Specification TLV: for example, traffic to two destination IPv4 prefixes m ight be captured by a single | |||
Flow Specification TLV with type 'Destination' with a suitably adjusted pr efix. However, this is | Flow Specification TLV with type "Destination" with a suitably adjusted pr efix. However, this is | |||
unlikely to be possible in most scenarios, and it must be recalled that it is not permitted to include | unlikely to be possible in most scenarios, and it must be recalled that it is not permitted to include | |||
two Flow Specification TLVs of the same type within one Flow Filter TLV.</ t> | two Flow Specification TLVs of the same type within one Flow Filter TLV.</ t> | |||
<t>The normal procedure, therefore, is to carry each Flow Specification | ||||
<t>The normal procedure, therefore, is to carry each Flow Specification in it | in its own PCEP FLOWSPEC object. | |||
s own PCEP FLOWSPEC object. | ||||
Multiple objects may be present on a single PCEP message, or multiple PCEP messages may be used.</t> | Multiple objects may be present on a single PCEP message, or multiple PCEP messages may be used.</t> | |||
</section> | ||||
</section> | <section anchor="addremove" numbered="true" toc="default"> | |||
<name>Adding and Removing Flow Specifications</name> | ||||
<section title="Adding and Removing Flow Specifications" anchor="addremove"> | <t>The Remove bit in the PCEP FLOWSPEC object is left clear when a Flow | |||
Specification is being | ||||
<t>The Remove bit in the PCEP FLOWSPEC object is left clear when a Flow Spec | ||||
ification is being | ||||
added or modified.</t> | added or modified.</t> | |||
<t>To remove a Flow Specification, a PCEP FLOWSPEC object is included wi | ||||
<t>To remove a Flow Specification, a PCEP FLOWSPEC object is included with t | th the FS-ID matching the | |||
he FS-ID matching the | one being removed, and the R bit is set to indicate removal. In this cas | |||
one being removed, and the R bit set to indicate removal. In this case i | e, it is not necessary to | |||
t is not necessary to | ||||
include any Flow Specification TLVs.</t> | include any Flow Specification TLVs.</t> | |||
<t>If the R bit is set and Flow Specification TLVs are present, an imple | ||||
<t>If the R bit is set and Flow Specification TLVs are present, an implement | mentation <bcp14>MAY</bcp14> ignore them. If | |||
ation MAY ignore them. If | ||||
the implementation checks the Flow Specification TLVs against those recor ded for the FS-ID and Speaker | the implementation checks the Flow Specification TLVs against those recor ded for the FS-ID and Speaker | |||
Entity Identity of the Flow Specification being removed and finds a misma | Entity Identifier of the Flow Specification being removed and finds a mis | |||
tch, the Flow Specification matching the FS-ID | match, the Flow Specification matching the FS-ID | |||
MUST still be removed and the implementation SHOULD record a local except | <bcp14>MUST</bcp14> still be removed, and the implementation <bcp14>SHOUL | |||
ion or log.</t> | D</bcp14> record a local exception or log.</t> | |||
</section> | ||||
</section> | <section anchor="vpn-id" numbered="true" toc="default"> | |||
<name>VPN Identifiers</name> | ||||
<section title="VPN Identifiers" anchor="vpn-id"> | <t>VPN instances are identified in BGP using RDs <xref target="RFC4364" | |||
format="default"/>. These | ||||
<t>VPN instances are identified in BGP using Route Distinguishers (RDs) <xref | ||||
target="RFC4364"/>. These | ||||
values are not normally considered to have any meaning outside of the netw ork, and they are not encoded | values are not normally considered to have any meaning outside of the netw ork, and they are not encoded | |||
in data packets belonging to the VPNs. However, RDs provide a useful way of identifying VPN instances | in data packets belonging to the VPNs. However, RDs provide a useful way of identifying VPN instances | |||
and are often manually or automatically assigned to VPNs as they are provi sioned.</t> | and are often manually or automatically assigned to VPNs as they are provi sioned.</t> | |||
<t>Thus, the RD provides a useful way to indicate that traffic for a par | ||||
<t>Thus the RD provides a useful way to indicate that traffic for a particula | ticular VPN should be placed on a | |||
r VPN should be placed on a | ||||
given tunnel. The tunnel head end will need to interpret this Flow Specif ication not as a filter on | given tunnel. The tunnel head end will need to interpret this Flow Specif ication not as a filter on | |||
the fields of data packets, but using the other mechanisms that it already | the fields of data packets but rather using the other mechanisms that it a | |||
uses to identify VPN traffic. | lready uses to identify VPN traffic. | |||
This could be based on the incoming port (for port-based VPNs) or may leve | These mechanisms could be based on the incoming port (for port-based VPNs) | |||
rage knowledge of the VRF that | or may leverage knowledge of the VPN Routing and Forwarding (VRF) that | |||
is in use for the traffic.</t> | is in use for the traffic.</t> | |||
</section> | ||||
<section anchor="priorities" numbered="true" toc="default"> | ||||
<name>Priorities and Overlapping Flow Specifications</name> | ||||
<t>Flow Specifications can overlap. For example, two different Flow Spe | ||||
cifications may be identical except | ||||
for the length of the prefix in the destination address. In these cases, | ||||
the PCC must determine how to | ||||
prioritize the Flow Specifications so as to know which path to assign pack | ||||
ets that match both Flow Specifications. That is, the PCC must assign a precede | ||||
nce to the Flow Specifications so that it checks | ||||
each incoming packet for a match in a predictable order.</t> | ||||
</section> | <t>The processing of BGP Flow Specifications is described in | |||
<xref target="RFC8955" format="default"/>. Section <xref target="RFC895 | ||||
<section title="Priorities and Overlapping Flow Specifications" anchor="priorit | 5" section="5.1" sectionFormat="bare"/> of | |||
ies"> | that document explains the order of traffic filtering rules to | |||
be executed by an implementation of that specification.</t> | ||||
<t>Flow specifications can overlap. For example, two different flow specific | <t>PCCs <bcp14>MUST</bcp14> apply the same ordering rules as defined in | |||
ations may be identical except | <xref target="RFC8955" format="default"/>.</t> | |||
for the length of the prefix in the destination address. In these cases t | <t>Furthermore, it is possible that Flow Specifications will be distribu | |||
he PCC must determine how to | ted | |||
prioritize the flow specifications so as to know to which path to assign p | ||||
ackets that match both flow | ||||
specifications. That is, the PCC must assign a precedence to the flow spe | ||||
cifications so that it checks | ||||
each incoming packet for a match in a predictable order.</t> | ||||
<t>The processing of BGP Flow Specifications is described in <xref target="I- | ||||
D.ietf-idr-rfc5575bis"/>. Section 5.1 of that | ||||
document explains the order of traffic filtering rules to be executed by a | ||||
n implementation of that | ||||
specification.</t> | ||||
<t>PCCs MUST apply the same ordering rules as defined in <xref target="I-D.ie | ||||
tf-idr-rfc5575bis"/>.</t> | ||||
<t>Furthermore, it is possible that Flow Specifications will be distributed | ||||
by BGP as well as by PCEP as described in this document. In such | by BGP as well as by PCEP as described in this document. In such | |||
cases implementations supporting both approaches MUST apply the | cases, implementations supporting both approaches <bcp14>MUST</bcp14> appl | |||
prioritization and ordering rules as set out in <xref target="I-D.ietf-idr | y the | |||
-rfc5575bis" /> | prioritization and ordering rules as set out in <xref target="RFC8955" for | |||
mat="default"/> | ||||
regardless of which protocol distributed the Flow Specifications. | regardless of which protocol distributed the Flow Specifications. | |||
However, implementations MAY provide a configuration control to | However, implementations <bcp14>MAY</bcp14> provide a configuration contro | |||
allow one protocol to take precedence over the other as this may be | l to | |||
allow one protocol to take precedence over the other; this may be | ||||
particularly useful if the Flow Specifications make identical matches | particularly useful if the Flow Specifications make identical matches | |||
on traffic, but have different actions. It is RECOMMENDED that when | on traffic but have different actions. It is <bcp14>RECOMMENDED</bcp14> t | |||
hat a message be | ||||
logged for the operator to understand the behavior when | ||||
two Flow Specifications distributed by different protocols overlap, | two Flow Specifications distributed by different protocols overlap, | |||
and especially when one acts to replace another, that a message be | especially when one acts to replace another.</t> | |||
logged for the operator to understand the behaviour.</t> | <t><xref target="mg-mxfspec" format="default"/> of this document covers | |||
manageability considerations relevant to the | ||||
<t><xref target="mg-mxfspec"/> of this document covers manageability consider | prioritized ordering of Flow Specifications.</t> | |||
ations relevant to the | <t>An implementation that receives a PCEP message carrying a Flow Specif | |||
prioritized ordering of flow specifications.</t> | ication that it cannot resolve | |||
<t>An implementation that receives a PCEP message carrying a Flow Specificati | ||||
on that it cannot resolve | ||||
against other Flow Specifications already installed (for example, because the new Flow Specification has | against other Flow Specifications already installed (for example, because the new Flow Specification has | |||
irresolvable conflicts with other Flow Specifications that are already ins | irresolvable conflicts with other Flow Specifications that are already ins | |||
talled) MUST respond with a PCErr | talled) <bcp14>MUST</bcp14> respond with a PCErr | |||
message with error-type TBD8 (FlowSpec Error), error-value 3 (Unresolvable | message with Error-Type 30 (FlowSpec Error) and Error-value 3 (Unresolvabl | |||
Conflict) and MUST NOT install the | e Conflict) and <bcp14>MUST NOT</bcp14> install the | |||
Flow Specification.</t> | Flow Specification.</t> | |||
</section> | ||||
</section> | </section> | |||
<section anchor="messages" numbered="true" toc="default"> | ||||
</section> | <name>PCEP Messages</name> | |||
<t>This section describes the format of messages that contain FLOWSPEC obj | ||||
<section title="PCEP Messages" anchor="messages"> | ects. The | |||
only difference from previous message formats is the inclusion of that objec | ||||
<t>This section describes the format of messages that contain FLOWSPEC objects. | t.</t> | |||
The | <t>The figures in this section use the notation defined in <xref target="R | |||
only difference to previous message formats is the inclusion of that object. | FC5511" format="default"/>.</t> | |||
</t> | <t>The FLOWSPEC object is <bcp14>OPTIONAL</bcp14> and <bcp14>MAY</bcp14> b | |||
e carried in the PCEP messages.</t> | ||||
<t>The figures in this section use the notation defined in <xref target="RFC551 | <t>The PCInitiate message is defined in <xref target="RFC8281" format="def | |||
1" />.</t> | ault"/> and updated | |||
<t>The FLOWSPEC object is OPTIONAL and MAY be carried in the PCEP messages.</t> | ||||
<t>The PCInitiate message is defined in <xref target="RFC8281" /> and updated | ||||
as below:</t> | as below:</t> | |||
<sourcecode type="rbnf"><![CDATA[ | ||||
<figure> | ||||
<artwork> | ||||
<![CDATA[ | ||||
<PCInitiate Message> ::= <Common Header> | <PCInitiate Message> ::= <Common Header> | |||
<PCE-initiated-lsp-list> | <PCE-initiated-lsp-list> | |||
Where: | Where: | |||
<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-request> ::= | |||
( <PCE-initiated-lsp-instantiation>| | ( <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> | |||
[<attribute-list>] | [<attribute-list>] | |||
[<flowspec-list>] | [<flowspec-list>] | |||
Where: | Where: | |||
<flowspec-list> ::= <FLOWSPEC> [<flowspec-list>] | <flowspec-list> ::= <FLOWSPEC> [<flowspec-list>] | |||
]]> | ]]></sourcecode> | |||
</artwork> | <t>The PCUpd message is defined in <xref target="RFC8231" format="default" | |||
</figure> | /> and | |||
<t>The PCUpd message is defined in <xref target="RFC8231" /> and | ||||
updated as below:</t> | updated as below:</t> | |||
<sourcecode type="rbnf"><![CDATA[ | ||||
<figure> | ||||
<artwork> | ||||
<![CDATA[ | ||||
<PCUpd Message> ::= <Common Header> | <PCUpd Message> ::= <Common Header> | |||
<update-request-list> | <update-request-list> | |||
Where: | Where: | |||
<update-request-list> ::= <update-request> | <update-request-list> ::= <update-request> | |||
[<update-request-list>] | [<update-request-list>] | |||
<update-request> ::= <SRP> | <update-request> ::= <SRP> | |||
<LSP> | <LSP> | |||
<path> | <path> | |||
[<flowspec-list>] | [<flowspec-list>] | |||
Where: | Where: | |||
<path>::= <intended-path><intended-attribute-list> | <path>::= <intended-path><intended-attribute-list> | |||
<flowspec-list> ::= <FLOWSPEC> [<flowspec-list>] | <flowspec-list> ::= <FLOWSPEC> [<flowspec-list>] | |||
]]> | ]]></sourcecode> | |||
</artwork> | <t>The PCRpt message is defined in <xref target="RFC8231" format="default" | |||
</figure> | /> and | |||
<t>The PCRpt message is defined in <xref target="RFC8231"/> and | ||||
updated as below:</t> | updated as below:</t> | |||
<sourcecode type="rbnf"><![CDATA[ | ||||
<figure> | ||||
<artwork> | ||||
<![CDATA[ | ||||
<PCRpt Message> ::= <Common Header> | <PCRpt Message> ::= <Common Header> | |||
<state-report-list> | <state-report-list> | |||
Where: | Where: | |||
<state-report-list> ::= <state-report>[<state-report-list>] | <state-report-list> ::= <state-report>[<state-report-list>] | |||
<state-report> ::= [<SRP>] | <state-report> ::= [<SRP>] | |||
<LSP> | <LSP> | |||
<path> | <path> | |||
[<flowspec-list>] | [<flowspec-list>] | |||
Where: | Where: | |||
<path>::= <intended-path> | <path>::= <intended-path> | |||
[<actual-attribute-list><actual-path>] | [<actual-attribute-list><actual-path>] | |||
<intended-attribute-list> | <intended-attribute-list> | |||
<flowspec-list> ::= <FLOWSPEC> [<flowspec-list>] | <flowspec-list> ::= <FLOWSPEC> [<flowspec-list>] | |||
]]> | ]]></sourcecode> | |||
</artwork> | <t>The PCReq message is defined in <xref target="RFC5440" format="default" | |||
</figure> | /> and updated in <xref target="RFC8231" format="default"/>; | |||
it is further updated below for a Flow Specification:</t> | ||||
<t>The PCReq message is defined in <xref target="RFC5440"/> and updated in <xre | <sourcecode type="rbnf"><![CDATA[ | |||
f target="RFC8231"/>, | ||||
it is further updated below for flow specification:</t> | ||||
<figure> | ||||
<artwork> | ||||
<![CDATA[ | ||||
<PCReq Message>::= <Common Header> | <PCReq Message>::= <Common Header> | |||
[<svec-list>] | [<svec-list>] | |||
<request-list> | <request-list> | |||
Where: | Where: | |||
<svec-list>::= <SVEC>[<svec-list>] | <svec-list>::= <SVEC>[<svec-list>] | |||
<request-list>::= <request>[<request-list>] | <request-list>::= <request>[<request-list>] | |||
<request>::= <RP> | <request>::= <RP> | |||
skipping to change at line 1004 ¶ | skipping to change at line 784 ¶ | |||
[<LSPA>] | [<LSPA>] | |||
[<BANDWIDTH>] | [<BANDWIDTH>] | |||
[<metric-list>] | [<metric-list>] | |||
[<RRO>[<BANDWIDTH>]] | [<RRO>[<BANDWIDTH>]] | |||
[<IRO>] | [<IRO>] | |||
[<LOAD-BALANCING>] | [<LOAD-BALANCING>] | |||
[<flowspec-list>] | [<flowspec-list>] | |||
Where: | Where: | |||
<flowspec-list> ::= <FLOWSPEC> [<flowspec-list>] | <flowspec-list> ::= <FLOWSPEC> [<flowspec-list>] | |||
]]> | ]]></sourcecode> | |||
</artwork> | <t>The PCRep message is defined in <xref target="RFC5440" format="default" | |||
</figure> | /> and updated in | |||
<xref target="RFC8231" format="default"/>; it is further updated below for a | ||||
<t>The PCRep message is defined in <xref target="RFC5440" /> and updated in | Flow | |||
<xref target="RFC8231" />, it is further updated below for flow | Specification:</t> | |||
specification:</t> | <sourcecode type="rbnf"><![CDATA[ | |||
<figure> | ||||
<artwork> | ||||
<![CDATA[ | ||||
<PCRep Message> ::= <Common Header> | <PCRep Message> ::= <Common Header> | |||
<response-list> | <response-list> | |||
Where: | Where: | |||
<response-list>::=<response>[<response-list>] | <response-list>::=<response>[<response-list>] | |||
<response>::=<RP> | <response>::=<RP> | |||
[<LSP>] | [<LSP>] | |||
[<NO-PATH>] | [<NO-PATH>] | |||
[<attribute-list>] | [<attribute-list>] | |||
[<path-list>] | [<path-list>] | |||
[<flowspec-list>] | [<flowspec-list>] | |||
Where: | Where: | |||
<flowspec-list> ::= <FLOWSPEC> [<flowspec-list>] | <flowspec-list> ::= <FLOWSPEC> [<flowspec-list>] | |||
]]> | ]]></sourcecode> | |||
</artwork> | </section> | |||
</figure> | <section numbered="true" toc="default"> | |||
<name>IANA Considerations</name> | ||||
</section> | <t>This document requests that IANA allocate code points for the protocol | |||
elements | ||||
<section title="IANA Considerations"> | ||||
<t>IANA maintains the "Path Computation Element Protocol (PCEP) Numbers" regist | ||||
ry. | ||||
This document requests IANA actions to allocate code points for the protocol | ||||
elements | ||||
defined in this document.</t> | defined in this document.</t> | |||
<section numbered="true" toc="default"> | ||||
<section title="PCEP Objects"> | <name>PCEP Objects</name> | |||
<t>IANA maintains a subregistry called "PCEP Objects" within the "Path C | ||||
<t>Each PCEP object has an Object-Class and an Object-Type. IANA maintains a | omputation Element Protocol | |||
subregistry called "PCEP Objects". IANA is requested to make an assignmen | (PCEP) Numbers" registry. Each PCEP object has an Object-Class and an Object- | |||
t from this | Type, and IANA has allocated new code points in this subregistry as follows:</t> | |||
subregistry as follows:</t> | <table align="left"> | |||
<name>PCEP Objects Subregistry Additions</name> | ||||
<figure> | <thead> | |||
<artwork> | <tr> | |||
<![CDATA[ | <th>Object-Class Value</th> | |||
Object-Class | Value Name | Object-Type | Reference | <th>Name</th> | |||
TBD3 | FLOWSPEC | 0: Reserved | [This.I-D] | <th>Object-Type</th> | |||
| | 1: Flow Specification | [This.I-D] | <th>Reference</th> | |||
]]> | </tr> | |||
</artwork> | </thead> | |||
</figure> | <tbody> | |||
<tr> | ||||
<section title="PCEP FLOWSPEC Object Flag Field"> | <td rowspan="2">43</td> | |||
<td rowspan="2">FLOWSPEC</td> | ||||
<t>This document requests that a new sub-registry, named "FLOWSPEC Object | <td>0: Reserved</td> | |||
Flag Field", is created within the "Path Computation Element Protocol | <td>RFC 9168</td> | |||
</tr> | ||||
<tr> | ||||
<td>1: Flow Specification</td> | ||||
<td>RFC 9168</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
<section numbered="true" toc="default"> | ||||
<name>PCEP FLOWSPEC Object Flag Field</name> | ||||
<t>This document requests that a new subregistry, "FLOWSPEC Object | ||||
Flag Field", be created within the "Path Computation Element Protocol | ||||
(PCEP) Numbers" registry to manage the Flag field of the FLOWSPEC | (PCEP) Numbers" registry to manage the Flag field of the FLOWSPEC | |||
object. New values are to be assigned by Standards Action <xref target= "RFC8126"/>. | object. New values are to be assigned by Standards Action <xref target= "RFC8126" format="default"/>. | |||
Each bit should be tracked with the following qualities: | Each bit should be tracked with the following qualities: | |||
<list style="symbols"> | </t> | |||
<t>Bit number (counting from bit 0 as the most significant bit)</t> | <ul spacing="normal"> | |||
<t>Capability description</t> | <li>Bit number (counting from bit 0 as the most significant bit)</li | |||
<t>Defining RFC</t> | > | |||
</list></t> | <li>Capability description</li> | |||
<li>Defining RFC</li> | ||||
<t>The initial population of this registry is as follows:</t> | </ul> | |||
<t>The initial population of this registry is as follows:</t> | ||||
<figure> | <table align="left"> | |||
<artwork> | <name>Initial Contents of the FLOWSPEC Object Flag Field Registry</na | |||
<![CDATA[ | me> | |||
Bit | Description | Reference | <thead> | |||
-----+--------------------+------------- | <tr> | |||
0-5 | Unnassigned | | <th>Bit</th> | |||
6 | LPM (L bit) | [This.I-D] | <th>Description</th> | |||
7 | Remove (R bit) | [This.I-D] | <th>Reference</th> | |||
]]> | </tr> | |||
</artwork> | </thead> | |||
</figure> | <tbody> | |||
<tr> | ||||
</section> | <td>0-5</td> | |||
<td>Unassigned</td> | ||||
</section> | <td></td> | |||
</tr> | ||||
<tr> | ||||
<td>6</td> | ||||
<td>LPM (L bit)</td> | ||||
<td>RFC 9168</td> | ||||
</tr> | ||||
<tr> | ||||
<td>7</td> | ||||
<td> Remove (R bit)</td> | ||||
<td>RFC 9168</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
<section title="PCEP TLV Type Indicators"> | </section> | |||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>PCEP TLV Type Indicators</name> | ||||
<t>IANA maintains a subregistry called "PCEP TLV Type Indicators" within | ||||
the "Path Computation Element Protocol (PCEP) Numbers" registry. IANA has made | ||||
the following allocations in this subregistry:</t> | ||||
<t>IANA maintains a subregistry called "PCEP TLV Type Indicators". IANA is r | <table align="left"> | |||
equested to | <name>PCEP TLV Type Indicators Subregistry Additions</name> | |||
make an assignment from this subregistry as follows:</t> | <thead> | |||
<tr> | ||||
<th>Value</th> | ||||
<th>Description</th> | ||||
<th> Reference</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td>51</td> | ||||
<td>PCE-FLOWSPEC-CAPABILITY TLV</td> | ||||
<td>RFC 9168</td> | ||||
</tr> | ||||
<tr> | ||||
<td>52</td> | ||||
<td>FLOW FILTER TLV</td> | ||||
<td>RFC 9168</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
<figure> | </section> | |||
<artwork> | <section anchor="iana" numbered="true" toc="default"> | |||
<![CDATA[ | <name>Flow Specification TLV Type Indicators</name> | |||
Value | Meaning | Reference | <t>IANA has created a new subregistry called "PCEP Flow Specification TL | |||
TBD2 | PCE-FLOWSPEC-CAPABILITY TLV | [This.I-D] | V Type Indicators" within the "Path Computation Element Protocol (PCEP) Numbers" | |||
TBD4 | FLOW FILTER TLV | [This.I-D] | registry.</t> | |||
TBD9 | L2 FLOW FILTER TLV | [This.I-D] | <t>Allocations from this registry are to be made according to the follow | |||
]]> | ing assignment policies <xref target="RFC8126" format="default"/>:</t> | |||
</artwork> | ||||
</figure> | ||||
</section> | ||||
<section title="Flow Specification TLV Type Indicators" anchor="iana"> | <table align="left"> | |||
<name>Registration Procedures for the PCEP Flow Specification TLV Type | ||||
Indicators Subregistry</name> | ||||
<thead> | ||||
<tr> | ||||
<th>Range</th> | ||||
<th>Registration Procedures</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td>0-255</td> | ||||
<td><t>Reserved - must not be allocated.</t> | ||||
<t>Usage mirrors the BGP Flow Spec registry | ||||
<xref target="RFC8955"/> <xref target="RFC8956"/>.</t></td> | ||||
</tr> | ||||
<tr> | ||||
<t>IANA is requested to create a new subregistry call the "PCEP Flow Specific | <td>256-64506</td> | |||
ation TLV Type Indicators" registry.</t> | <td>Specification Required</td> | |||
</tr> | ||||
<tr> | ||||
<t>Allocations from this registry are to be made according to the following a | <td>64507-65531</td> | |||
ssignment policies <xref target="RFC8126" />:</t> | <td>First Come First Served</td> | |||
</tr> | ||||
<tr> | ||||
<figure> | <td>65532-65535</td> | |||
<artwork> | <td>Experimental Use</td> | |||
<![CDATA[ | </tr> | |||
Range | Assignment policy | </tbody> | |||
0 .. 255 | Reserved - must not be allocated. | </table> | |||
| Usage mirrors the BGP FlowSpec registry | ||||
| [I-D.ietf-idr-rfc5575bis] and | ||||
| [I-D.ietf-idr-flow-spec-v6]. | ||||
| | ||||
256 .. 64506 | Specification Required | ||||
| | ||||
64507 .. 65531 | First Come First Served | ||||
| | ||||
65532 .. 65535 | Experimental | ||||
]]> | ||||
</artwork> | ||||
</figure> | ||||
<t>IANA is requested to pre-populate this registry with values defined in thi s | <t>IANA has populated this registry with values defined in this | |||
document as follows, taking the new values from the range 256 to 64506:</t > | document as follows, taking the new values from the range 256 to 64506:</t > | |||
<table align="left"> | ||||
<name>Initial Contents of the PCEP Flow Specification TLV Type Indicators | ||||
Subregistry</name> | ||||
<thead> | ||||
<tr> | ||||
<th>Value</th> | ||||
<th>Meaning</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<figure> | <td>256</td> | |||
<artwork> | <td>Route Distinguisher</td> | |||
<![CDATA[ | </tr> | |||
Value | Meaning | <tr> | |||
TBD5 | Route Distinguisher | ||||
TBD6 | IPv4 Multicast | ||||
TBD7 | IPv6 Multicast | ||||
]]> | ||||
</artwork> | ||||
</figure> | ||||
</section> | ||||
<section title="L2 Flow Specification TLV Type Indicators" anchor="iana-2"> | ||||
<t>IANA is requested to create a new subregistry called the "PCEP L2 Flow Spe | ||||
cification TLV Type Indicators" registry.</t> | ||||
<t>Allocations from this registry are to be made according to the following a | ||||
ssignment policies <xref target="RFC8126" />:</t> | ||||
<figure> | ||||
<artwork> | ||||
<![CDATA[ | ||||
Range | Assignment policy | ||||
---------------+--------------------------------------------------- | ||||
0 .. 255 | Reserved - must not be allocated. | ||||
| Usage mirrors the BGP L2 FlowSpec registry | ||||
| [I-D.ietf-idr-flowspec-l2vpn]. | ||||
| | ||||
256 .. 64506 | Specification Required | ||||
| | ||||
64507 .. 65531 | First Come First Served | ||||
| | ||||
65532 .. 65535 | Experimental | ||||
]]> | ||||
</artwork> | ||||
</figure> | ||||
</section> | ||||
<section title="PCEP Error Codes"> | ||||
<t>IANA maintains a subregistry called "PCEP-ERROR Object Error Types and Val | ||||
ues". Entries | ||||
in this subregistry are described by Error-Type and Error-value. IANA is | ||||
requested to | ||||
make the following assignment from this subregistry:</t> | ||||
<figure> | ||||
<artwork> | ||||
<![CDATA[ | ||||
Error-| Meaning | Error-value | Reference | ||||
Type | | | | ||||
TBD8 | FlowSpec error | 0: Unassigned | [This.I-D] | ||||
| | 1: Unsupported FlowSpec | [This.I-D] | ||||
| | 2: Malformed FlowSpec | [This.I-D] | ||||
| | 3: Unresolvable Conflict | [This.I-D] | ||||
| | 4: Unknown FlowSpec | [This.I-D] | ||||
| | 5: Unsupported LPM Route | [This.I-D] | ||||
| | 6-255: Unassigned | [This.I-D] | ||||
]]> | ||||
</artwork> | ||||
</figure> | ||||
</section> | ||||
<section title="PCE Capability Flag"> | ||||
<t>IANA maintains a subregistry called "Open Shortest Path First v2 (OSPFv2) | ||||
Parameters" | ||||
with a sub-registry called "Path Computation Element (PCE) Capability Flag | ||||
s". IANA is | ||||
requested to assign a new capability bit from this registry as follows:</t | ||||
> | ||||
<figure> | ||||
<artwork> | ||||
<![CDATA[ | ||||
Bit | Capability Description | Reference | ||||
TBD1 | FlowSpec | [This.I-D] | ||||
]]> | ||||
</artwork> | ||||
</figure> | ||||
</section> | ||||
</section> | ||||
<section title="Implementation Status" anchor="imps"> | ||||
<t>[NOTE TO RFC EDITOR : This whole section and the reference to RFC 7942 | ||||
is to be removed before publication as an RFC]</t> | ||||
<t>This section records the status of known implementations of the | ||||
protocol defined by this specification at the time of posting of | ||||
this Internet-Draft, and is based on a proposal described in | ||||
<xref target="RFC7942"/>. The description of implementations in this secti | ||||
on is | ||||
intended to assist the IETF in its decision processes in | ||||
progressing drafts to RFCs. Please note that the listing of any | ||||
individual implementation here does not imply endorsement by the | ||||
IETF. Furthermore, no effort has been spent to verify the | ||||
information presented here that was supplied by IETF contributors. | ||||
This is not intended as, and must not be construed to be, a | ||||
catalog of available implementations or their features. Readers | ||||
are advised to note that other implementations may exist.</t> | ||||
<t>According to <xref target="RFC7942"/>, "this will allow reviewers and worki | ||||
ng | ||||
groups to assign due consideration to documents that have the | ||||
benefit of running code, which may serve as evidence of valuable | ||||
experimentation and feedback that have made the implemented | ||||
protocols more mature. It is up to the individual working groups | ||||
to use this information as they see fit".</t> | ||||
<t>At the time of posting the -12 version of this document, there are no known | <td>257</td> | |||
implementations of this mechanism. It is believed that two vendors are | <td> IPv4 Multicast</td> | |||
considering prototype implementations, but these plans are too vague to | </tr> | |||
make any further assertions.</t> | <tr> | |||
<td>258</td> | ||||
<td>IPv6 Multicast</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<name>PCEP Error Codes</name> | ||||
<t>IANA maintains a subregistry called "PCEP-ERROR Object Error Types an | ||||
d Values" within the "Path Computation Element Protocol (PCEP) Numbers" registry | ||||
. Entries | ||||
in this subregistry are described by Error-Type and Error-value. IANA has | ||||
added the following assignment to this subregistry:</t> | ||||
<table align="left"> | ||||
<name>PCEP-ERROR Object Error Types and Values Subregistry Additions</nam | ||||
e> | ||||
<thead> | ||||
<tr> | ||||
<th>Error-Type</th> | ||||
<th>Meaning</th> | ||||
<th>Error-value</th> | ||||
<th>Reference</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td rowspan="7">30</td> | ||||
<td rowspan="7">FlowSpec error</td> | ||||
<td>0: Unassigned</td> | ||||
<td>RFC 9168</td> | ||||
</tr> | ||||
<tr> | ||||
<td>1: Unsupported FlowSpec</td> | ||||
<td>RFC 9168</td> | ||||
</tr> | ||||
<tr> | ||||
<td>2: Malformed FlowSpec</td> | ||||
<td>RFC 9168</td> | ||||
</tr> | ||||
<tr> | ||||
<section title="Security Considerations" anchor="Security"> | <td>3: Unresolvable Conflict</td> | |||
<td>RFC 9168</td> | ||||
</tr> | ||||
<tr> | ||||
<td>4: Unknown FlowSpec</td> | ||||
<td>RFC 9168</td> | ||||
</tr> | ||||
<tr> | ||||
<td>5: Unsupported LPM Route</td> | ||||
<td>RFC 9168</td> | ||||
</tr> | ||||
<tr> | ||||
<td>6-255: Unassigned</td> | ||||
<td>RFC 9168</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
<t>We may assume that a system that utilizes a remote PCE is subject to a numbe | </section> | |||
r of | <section numbered="true" toc="default"> | |||
<name>PCE Capability Flag</name> | ||||
<t>IANA has registered a new capability bit in the OSPF Parameters "Path | ||||
Computation Element (PCE) Capability Flags" registry as follows:</t> | ||||
<table align="left"> | ||||
<name>Path Computation Element (PCE) Capability Flags Registry Addition | ||||
s</name> | ||||
<thead> | ||||
<tr> | ||||
<th>Bit</th> | ||||
<th>Capability Description</th> | ||||
<th>Reference</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td>16</td> | ||||
<td>FlowSpec</td> | ||||
<td>RFC 9168</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | ||||
</section> | ||||
<section anchor="Security" numbered="true" toc="default"> | ||||
<name>Security Considerations</name> | ||||
<t>We may assume that a system that utilizes a remote PCE is subject to a | ||||
number of | ||||
vulnerabilities that could allow spurious LSPs or SR paths to be established or that | vulnerabilities that could allow spurious LSPs or SR paths to be established or that | |||
could result in existing paths being modified or torn down. Such systems, t herefore, | could result in existing paths being modified or torn down. Such systems, t herefore, | |||
apply security considerations as described in <xref target="RFC5440" />, | apply security considerations as described in <xref target="RFC5440" format= | |||
Section 2.5 of <xref target="RFC6952" />, <xref target="RFC8253" />, and | "default"/>, | |||
<xref target="I-D.ietf-idr-rfc5575bis" />.</t> | <xref target="RFC6952" section="2.5" sectionFormat="of"/>, <xref target="RFC | |||
8253" format="default"/>, and | ||||
<t>The description of Flow Specifications associated with paths set up or contr | <xref target="RFC8955" format="default"/>.</t> | |||
olled by a | <t>The description of Flow Specifications associated with paths set up or | |||
PCE add a further detail that could be attacked without tearing down LSPs or | controlled by a | |||
SR paths, | PCE adds a further detail that could be attacked without tearing down LSPs o | |||
but causing traffic to be misrouted within the network. Therefore, the use | r SR paths | |||
of the security | but causes traffic to be misrouted within the network. Therefore, the use o | |||
f the security | ||||
mechanisms for PCEP referenced above is important.</t> | mechanisms for PCEP referenced above is important.</t> | |||
<t>Visibility into the information carried in PCEP does not have direct pr | ||||
<t>Visibility into the information carried in PCEP does not have direct privacy | ivacy concerns for | |||
concerns for | end users' data; however, knowledge of how data is routed in a network may m | |||
end-users' data, however, knowledge of how data is routed in a network | ake that | |||
may make that | ||||
data more vulnerable. Of course, the ability to interfere with the way data is routed also | data more vulnerable. Of course, the ability to interfere with the way data is routed also | |||
makes the data more vulnerable. Furthermore, knowledge of the connected end -points (such as | makes the data more vulnerable. Furthermore, knowledge of the connected end points (such as | |||
multicast receivers or VPN sites) is usually considered private customer inf ormation. Therefore, | multicast receivers or VPN sites) is usually considered private customer inf ormation. Therefore, | |||
implementations or deployments concerned with protecting privacy MUST apply | implementations or deployments concerned with protecting privacy <bcp14>MUST | |||
the mechanisms described | </bcp14> apply the mechanisms described | |||
in the documents referenced above: in particular to secure the PCEP session | in the documents referenced above, in particular, to secure the PCEP session | |||
using IPSec per Sections | using IPsec per Sections | |||
10.4 to 10.6 of <xref target="RFC5440" /> or TLS per <xref target="RFC8253" | <xref target="RFC5440" section="10.4" sectionFormat="bare"/> to <xref targe | |||
/>. Note that TCP-MD5 | t="RFC5440" section="10.6" sectionFormat="bare"/> of <xref target="RFC5440"/> or | |||
security as originally suggested in <xref target="RFC5440" /> does not provi | TLS per <xref target="RFC8253" format="default"/>. Note that TCP-MD5 | |||
de sufficient security | security as originally suggested in <xref target="RFC5440" format="default"/ | |||
or privacy guarantees, and SHOULD NOT be relied upon.</t> | > does not provide sufficient security | |||
or privacy guarantees and <bcp14>SHOULD NOT</bcp14> be relied upon.</t> | ||||
<t>Experience with Flow Specifications in BGP systems indicates that they can b | <t>Experience with Flow Specifications in BGP systems indicates that they | |||
ecome complex and | can become complex and | |||
that the overlap of Flow Specifications installed in different orders can le ad to unexpected | that the overlap of Flow Specifications installed in different orders can le ad to unexpected | |||
results. Although this is not directly a security issue per se, the confusi on and unexpected | results. Although this is not directly a security issue per se, the confusi on and unexpected | |||
forwarding behavior may be engineered or exploited by an attacker. Furtherm ore, this complexity | forwarding behavior may be engineered or exploited by an attacker. Furtherm ore, this complexity | |||
might give rise to a situation where the forwarding behaviors might create g aps in the monitoring | might give rise to a situation where the forwarding behaviors might create g aps in the monitoring | |||
and inspection of particular traffic or provide a path that avoids expected mitigations. Therefore, | and inspection of particular traffic or provide a path that avoids expected mitigations. Therefore, | |||
implementers and operators SHOULD pay careful attention to the Manageability | implementers and operators <bcp14>SHOULD</bcp14> pay careful attention to th | |||
Considerations described | e manageability considerations described | |||
in <xref target="Manage" /> and familiarize themselves with the careful expl | in <xref target="Manage" format="default"/> and familiarize themselves with | |||
anations in | the careful explanations in | |||
<xref target="I-D.ietf-idr-rfc5575bis" />.</t> | <xref target="RFC8955" format="default"/>.</t> | |||
</section> | ||||
</section> | <section anchor="Manage" numbered="true" toc="default"> | |||
<name>Manageability Considerations</name> | ||||
<section title="Manageability Considerations" anchor="Manage"> | <t>The feature introduced by this document enables operational manageabili | |||
ty of networks operated in | ||||
<t>The feature introduced by this document enables operational manageability o | conjunction with a PCE and using PCEP. In the case of a stateful active | |||
f networks operated in | PCE or with PCE-initiated services, in the absence of this feature, additio | |||
conjunction with a PCE and using PCEP. Without this feature, but in the ca | nal manual configuration is needed to tell the head ends | |||
se of a stateful active | ||||
PCE or with PCE-initiated services, additional manual configuration is need | ||||
ed to tell the head-ends | ||||
what traffic to place on the network services (LSPs, SR paths, etc.).</t> | what traffic to place on the network services (LSPs, SR paths, etc.).</t> | |||
<t>This section follows the advice and guidance of <xref target="RFC6123" | ||||
<t>This section follows the advice and guidance of <xref target="RFC6123" />.< | format="default"/>.</t> | |||
/t> | <section anchor="mg-mxfspec" numbered="true" toc="default"> | |||
<name>Management of Multiple Flow Specifications</name> | ||||
<section title="Management of Multiple Flow Specifications" anchor="mg-mxfspec | <t>Experience with Flow Specification in BGP suggests that there can be | |||
"> | a lot of complexity when | |||
two or more Flow Specifications overlap. This can arise, for example, wi | ||||
<t>Experience with flow specification in BGP suggests that there can be a lo | th addresses indicated | |||
t of complexity when | using prefixes and could cause confusion about what traffic should be pla | |||
two or more flow specifications overlap. This can arise, for example, wi | ced on which path. Unlike | |||
th addresses indicated | the behavior in a distributed routing system, it is not important to the | |||
using prefixes, and could cause confusion about what traffic should be pl | routing stability and consistency | |||
aced on which path. Unlike | ||||
the behavior in a distributed routing system, it is not important to the | ||||
routing stablity and consistency | ||||
of the network that each head-end implementation applies the same rules t o disambiguate overlapping Flow | of the network that each head-end implementation applies the same rules t o disambiguate overlapping Flow | |||
Specifications, but it is important that: | Specifications, but it is important that: | |||
<list style="symbols"> | </t> | |||
<t>A network operator can easily find out what traffic is being placed | <ul spacing="normal"> | |||
on which path and why. This | <li>a network operator can easily find out what traffic is being place | |||
will facilitate analysis of the network and diagnosis of faults.</t> | d on which path and why. This | |||
<t>A PCE is able to correctly predict the effect of instructions it giv | will facilitate analysis of the network and diagnosis of faults.</li | |||
es to a PCC. This will | > | |||
<li>a PCE be able to correctly predict the effect of instructions it g | ||||
ives to a PCC. This will | ||||
ensure that traffic is correctly placed on the network without causi ng congestion or other | ensure that traffic is correctly placed on the network without causi ng congestion or other | |||
network inefficiencies, and that traffic is correctly delivered.</t> | network inefficiencies and that traffic is correctly delivered.</li> | |||
</list></t> | </ul> | |||
<t>To that end, a PCC <bcp14>MUST</bcp14> enable an operator to view the | ||||
<t>To that end, a PCC MUST enable an operator to view the the Flow Specifica | Flow Specifications that it has installed, | |||
tions that it has installed, | and these <bcp14>MUST</bcp14> be presented in order of precedence such th | |||
and these MUST be presented in order of precedence such that when two Flo | at when two Flow Specifications overlap, | |||
w Specifications overlap, | ||||
the one that will be serviced with higher precedence is presented to the operator first.</t> | the one that will be serviced with higher precedence is presented to the operator first.</t> | |||
<t>A discussion of precedence ordering for Flow Specifications is found | ||||
<t>A discussion of precedence ordering for flow specifications is found in < | in <xref target="priorities" format="default"/>.</t> | |||
xref target="priorities"/>.</t> | </section> | |||
<section anchor="mg-control" numbered="true" toc="default"> | ||||
</section> | <name>Control of Function through Configuration and Policy</name> | |||
<t>Support for the function described in this document implies that a fu | ||||
<section title="Control of Function through Configuration and Policy" anchor=" | nctional element that | |||
mg-control"> | is capable of requesting that a PCE compute and control a path is also ab | |||
le to configure the | ||||
<t>Support for the function described in this document implies that a functi | ||||
onal element that | ||||
is capable of requesting a PCE to compute and control a path is also able | ||||
to configure the | ||||
specification of what traffic should be placed on that path. Where there is a human involved | specification of what traffic should be placed on that path. Where there is a human involved | |||
in this action, configuration of the Flow Specification must be available through an interface | in this action, configuration of the Flow Specification must be available through an interface | |||
(such as a graphical user interface or a command line interface). Where a distinct software | (such as a graphical user interface or a Command Line Interface). Where a distinct software | |||
component (i.e., one not co-implemented with the PCE) is used, a protocol mechanism will be | component (i.e., one not co-implemented with the PCE) is used, a protocol mechanism will be | |||
required that could be PCEP itself or could be a data model such as exten | required that could be PCEP itself or a data model, such as extensions to | |||
sions to the YANG | the YANG | |||
model for requesting path computation <xref target="I-D.ietf-teas-yang-pa | model for requesting path computation <xref target="I-D.ietf-teas-yang-pa | |||
th-computation" />.</t> | th-computation" format="default"/>.</t> | |||
<t>Implementations <bcp14>MAY</bcp14> be constructed with a configurable | ||||
<t>Implementations MAY be constructed with a configurable switch to say whet | switch to indicate whether they support | |||
her they support | the functions defined in this document. Otherwise, such implementations | |||
the functions defined in this document. Otherwise, such implementations | <bcp14>MUST</bcp14> indicate | |||
MUST indicate | that they support the function as described in <xref target="cap" format= | |||
that they support the function as described in <xref target="cap" />. If | "default"/>. If an implementation | |||
an implementation | allows configurable support of this function, that support <bcp14>MAY</bc | |||
supports configurable support of this function, that support MAY be confi | p14> be configurable per peer or | |||
gurable per peer or | ||||
once for the whole implementation.</t> | once for the whole implementation.</t> | |||
<t>As mentioned in <xref target="mg-mxfspec" format="default"/>, a PCE i | ||||
<t>As mentioned in <xref target="mg-mxfspec" />, a PCE implementation SHOULD | mplementation <bcp14>SHOULD</bcp14> provide a mechanism | |||
provide a mechanism | ||||
to configure variations in the precedence ordering of Flow Specifications per PCC.</t> | to configure variations in the precedence ordering of Flow Specifications per PCC.</t> | |||
</section> | ||||
</section> | <section anchor="mg-model" numbered="true" toc="default"> | |||
<name>Information and Data Models</name> | ||||
<section title="Information and Data Models" anchor="mg-model"> | <t>The YANG model in <xref target="I-D.ietf-pce-pcep-yang" format="defau | |||
lt"/> can be used to model and monitor | ||||
<t>The YANG model in <xref target="I-D.ietf-pce-pcep-yang" /> can be used to | ||||
model and monitor | ||||
PCEP states and messages. To make that YANG model useful for the extensi ons described in | PCEP states and messages. To make that YANG model useful for the extensi ons described in | |||
this document, it would need to be augmented to cover the new protocol el ements.</t> | this document, it would need to be augmented to cover the new protocol el ements.</t> | |||
<t>Similarly, as noted in <xref target="mg-control" format="default"/>, | ||||
<t>Similarly, as noted in <xref target="mg-control" />, the YANG model defin | the YANG model defined in | |||
ed in | <xref target="I-D.ietf-teas-yang-path-computation" format="default"/> cou | |||
<xref target="I-D.ietf-teas-yang-path-computation" /> could be extended t | ld be extended to allow the specification | |||
o allow specification | ||||
of Flow Specifications.</t> | of Flow Specifications.</t> | |||
<t>Finally, as mentioned in <xref target="mg-mxfspec" format="default"/> | ||||
<t>Finally, as mentioned in <xref target="mg-mxfspec" />, a PCC implementati | , a PCC implementation <bcp14>SHOULD</bcp14> provide | |||
on SHOULD provide | ||||
a mechanism to allow an operator to read the Flow Specifications from a P CC and to | a mechanism to allow an operator to read the Flow Specifications from a P CC and to | |||
understand in what order they will be executed. This could be achieved u sing a new YANG | understand in what order they will be executed. This could be achieved u sing a new YANG | |||
model.</t> | model.</t> | |||
</section> | ||||
</section> | <section anchor="mg-monitor" numbered="true" toc="default"> | |||
<name>Liveness Detection and Monitoring</name> | ||||
<section title="Liveness Detection and Monitoring" anchor="mg-monitor"> | <t>The extensions defined in this document do not require any additional | |||
liveness detection | ||||
<t>The extensions defined in this document do not require any additional liv | and monitoring support. See <xref target="RFC5440" format="default"/> an | |||
eness detection | d <xref target="RFC5886" format="default"/> for | |||
and monitoring support. See <xref target="RFC5440" /> and <xref target=" | ||||
RFC5886" /> for | ||||
more information.</t> | more information.</t> | |||
</section> | ||||
</section> | <section anchor="mg-verify" numbered="true" toc="default"> | |||
<name>Verifying Correct Operation</name> | ||||
<section title="Verifying Correct Operation" anchor="mg-verify"> | <t>The chief element of operation that needs to be verified (in addition to | |||
the operation | ||||
<t>The chief element of operation that needs to be verified (in addition to | of the protocol elements as described in <xref target="RFC5440" format="d | |||
the operation | efault"/>) is the installation, | |||
of the protocol elements as described in <xref target="RFC5440" />) is th | ||||
e installation, | ||||
precedence, and correct operation of the Flow Specifications at a PCC.</t > | precedence, and correct operation of the Flow Specifications at a PCC.</t > | |||
<t>In addition to the YANG model, for reading Flow Specifications descri | ||||
<t>In addition to the YANG model for reading Flow Specifications described i | bed in <xref target="mg-model" format="default"/>, | |||
n <xref target="mg-model" />, | ||||
tools may be needed to inject Operations and Management (OAM) traffic at the PCC that matches | tools may be needed to inject Operations and Management (OAM) traffic at the PCC that matches | |||
specific criteria so that it can be monitored as traveling along the desi red path. Such tools are | specific criteria so that it can be monitored while traveling along the d esired path. Such tools are | |||
outside the scope of this document.</t> | outside the scope of this document.</t> | |||
</section> | ||||
</section> | <section anchor="mg-reqs" numbered="true" toc="default"> | |||
<name>Requirements for Other Protocols and Functional Components</name> | ||||
<section title="Requirements on Other Protocols and Functional Components" anc | <t>This document places no requirements on other protocols or components | |||
hor="mg-reqs"> | .</t> | |||
</section> | ||||
<t>This document places no requirements on other protocols or components.</t | <section anchor="mg-impact" numbered="true" toc="default"> | |||
> | <name>Impact on Network Operation</name> | |||
<t>The use of the features described in this document clearly have an im | ||||
</section> | portant impact | |||
<section title="Impact on Network Operation" anchor="mg-impact"> | ||||
<t>The use of the features described in this document clearly have an import | ||||
ant impact | ||||
on network traffic since they cause traffic to be routed on specific path s in the | on network traffic since they cause traffic to be routed on specific path s in the | |||
network. However, in practice, these changes make no direct changes to t he network | network. However, in practice, these changes make no direct changes to t he network | |||
operation because traffic is already placed on those paths using some pre -existing | operation because traffic is already placed on those paths using some pre -existing | |||
configuration mechanism. Thus, the significant change is the reduction i n mechanisms | configuration mechanism. Thus, the significant change is the reduction i n mechanisms | |||
that have to be applied, rather than a change to how the traffic is passe d through | that have to be applied rather than a change to how the traffic is passed through | |||
the network.</t> | the network.</t> | |||
</section> | ||||
</section> | ||||
<!--<section title="Other Considerations" anchor="mg-other"> | ||||
<t>No other manageability considerations are known at this time.</t> | ||||
</section>--> | ||||
</section> | </section> | |||
</middle> | ||||
<back> | ||||
<displayreference target="I-D.ietf-idr-flowspec-l2vpn" to="BGP-L2VPN"/> | ||||
<displayreference target="I-D.gont-numeric-ids-sec-considerations" to="NUMERIC-I | ||||
DS-SEC"/> | ||||
<displayreference target="I-D.ietf-pce-pcep-yang" to="PCE-PCEP-YANG"/> | ||||
<displayreference target="I-D.ietf-teas-yang-path-computation" to="TEAS-YANG-PAT | ||||
H"/> | ||||
<section title="Acknowledgements"> | <references> | |||
<t>Thanks to Julian Lucek, Sudhir Cheruathur, Olivier Dugeon, Jayant Agarwal, | <name>References</name> | |||
Jeffrey Zhang, | <references> | |||
Acee Lindem, Vishnu Pavan Beeram, Julien Meuric, Deborah Brungard, Eric Vyn | <name>Normative References</name> | |||
cke, Erik Kline, | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
Benjamin Kaduk, Martin Duke, Roman Danyliw, and Alvaro Retana for useful di | FC.2119.xml"/> | |||
scussions and | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
comments.</t> | FC.4364.xml"/> | |||
</section> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
FC.4760.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.5440.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.5511.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8174.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8231.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8232.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8253.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8281.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8955.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8956.xml"/> | ||||
</middle> | </references> | |||
<references> | ||||
<name>Informative References</name> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.4655.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.5088.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.5089.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.5886.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6123.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6952.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.7399.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8126.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8283.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8664.xml"/> | ||||
<back> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .gont-numeric-ids-sec-considerations.xml"/> | |||
<references title="Normative References"> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D | |||
&RFC2119; | .ietf-pce-pcep-yang.xml"/> | |||
&RFC4364; | ||||
&RFC4760; | ||||
&RFC5440; | ||||
&RFC5511; | ||||
&RFC8174; | ||||
&RFC8231; | ||||
&RFC8232; | ||||
&RFC8253; | ||||
&RFC8281; | ||||
<?rfc include='reference.I-D.ietf-idr-rfc5575bis'?> | ||||
<?rfc include='reference.I-D.ietf-idr-flow-spec-v6'?> | ||||
<?rfc include='reference.I-D.ietf-idr-flowspec-l2vpn'?> | ||||
</references> | ||||
<references title="Informative References"> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D | |||
&RFC4655; | .ietf-teas-yang-path-computation.xml"/> | |||
&RFC5088; | ||||
&RFC5089; | ||||
&RFC5886; | ||||
&RFC6123; | ||||
&RFC6952; | ||||
&RFC7399; | ||||
&RFC7942; | ||||
&RFC8126; | ||||
&RFC8283; | ||||
&RFC8664; | ||||
<?rfc include='reference.I-D.gont-numeric-ids-sec-considerations'?> | ||||
<?rfc include='reference.I-D.ietf-pce-pcep-yang'?> | ||||
<?rfc include='reference.I-D.ietf-teas-yang-path-computation'?> | ||||
</references> | ||||
<section title="Contributors" toc="default"> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I- | |||
<figure title="" align="left" height="" width="" alt="" suppress-title="false" | D.ietf-idr-flowspec-l2vpn.xml"/> | |||
> | ||||
<artwork> | ||||
<![CDATA[ | ||||
Shankara | ||||
Huawei Technologies | ||||
Divyashree Techno Park, | ||||
Whitefield Bangalore, | ||||
Karnataka | ||||
560066 | ||||
India | ||||
Email: shankara@huawei.com | </references> | |||
</references> | ||||
<section numbered="false" toc="default"> | ||||
<name>Acknowledgements</name> | ||||
<t>Thanks to <contact fullname="Julian Lucek"/>, <contact fullname="Sudhir | ||||
Cheruathur"/>, <contact fullname="Olivier Dugeon"/>, <contact fullname="Jayant | ||||
Agarwal"/>, <contact fullname="Jeffrey Zhang"/>, | ||||
<contact fullname="Acee Lindem"/>, <contact fullname="Vishnu Pavan Beeram"/ | ||||
>, <contact fullname="Julien Meuric"/>, <contact fullname="Deborah Brungard"/>, | ||||
<contact fullname="Éric Vyncke"/>, <contact fullname="Erik Kline"/>, | ||||
<contact fullname="Benjamin Kaduk"/>, <contact fullname="Martin Duke"/>, <c | ||||
ontact fullname="Roman Danyliw"/>, and <contact fullname="Alvaro Retana"/> for u | ||||
seful discussions and | ||||
comments.</t> | ||||
</section> | ||||
Qiandeng Liang | <section toc="default" numbered="false"> | |||
Huawei Technologies | <name>Contributors</name> | |||
101 Software Avenue, | ||||
Yuhuatai District | ||||
Nanjing | ||||
210012 | ||||
China | ||||
Email: liangqiandeng@huawei.com | <contact fullname="Shankara"> | |||
<organization>Huawei Technologies</organization> | ||||
<address> | ||||
<postal> | ||||
<street>Divyashree Techno Park, Whitefield</street> | ||||
<extaddr></extaddr> | ||||
<city>Bangalore</city> | ||||
<region>Karnataka</region> | ||||
<code>560066</code> | ||||
<country>India</country> | ||||
</postal> | ||||
Cyril Margaria | <email>shankara@huawei.com</email> | |||
Juniper Networks | </address> | |||
200 Somerset Corporate Boulevard, Suite 4001 | </contact> | |||
Bridgewater, NJ | ||||
08807 | ||||
USA | ||||
Email: cmargaria@juniper.net | <contact fullname="Qiandeng Liang"> | |||
<organization>Huawei Technologies</organization> | ||||
<address> | ||||
<postal> | ||||
<street>101 Software Avenue,</street> | ||||
<extaddr>Yuhuatai District</extaddr> | ||||
<region>Nanjing</region><code>210012</code> | ||||
<country>China</country> | ||||
</postal> | ||||
Colby Barth | <email>liangqiandeng@huawei.com</email> | |||
Juniper Networks | </address> | |||
200 Somerset Corporate Boulevard, Suite 4001 | </contact> | |||
Bridgewater, NJ | ||||
08807 | ||||
USA | ||||
Email: cbarth@juniper.net | <contact fullname="Cyril Margaria"> | |||
<organization>Juniper Networks</organization> | ||||
<address> | ||||
<postal> | ||||
<street>200 Somerset Corporate Boulevard, Suite 4001</street> | ||||
<region>Bridgewater, NJ</region><code>08807</code> | ||||
<country>USA</country> | ||||
</postal> | ||||
Xia Chen | <email>cmargaria@juniper.net</email> | |||
Huawei Technologies | </address> | |||
Huawei Bld., No.156 Beiqing Rd. | </contact> | |||
Beijing | ||||
100095 | ||||
China | ||||
Email: jescia.chenxia@huawei.com | <contact fullname="Colby Barth"> | |||
<organization>Juniper Networks</organization> | ||||
<address> | ||||
<postal> | ||||
<street>200 Somerset Corporate Boulevard, Suite 4001</street> | ||||
<region>Bridgewater, NJ</region> | ||||
<code>08807</code> | ||||
<country>USA</country> | ||||
</postal> | ||||
Shunwan Zhuang | <email>cbarth@juniper.net</email> | |||
Huawei Technologies | </address> | |||
Huawei Bld., No.156 Beiqing Rd. | </contact> | |||
Beijing | ||||
100095 | ||||
China | ||||
Email: zhuangshunwan@huawei.com | <contact fullname="Xia Chen"> | |||
<organization>Huawei Technologies</organization> | ||||
<address> | ||||
<postal> | ||||
<street>Huawei Bld., No. 156 Beiqing Rd.</street> | ||||
<region>Beijing</region> | ||||
<code>100095</code> | ||||
<country>China</country> | ||||
</postal> | ||||
Cheng Li | <email>jescia.chenxia@huawei.com</email> | |||
Huawei Technologies | </address> | |||
Huawei Campus, No. 156 Beiqing Rd. | </contact> | |||
Beijing 100095 | ||||
China | ||||
Email: c.l@huawei.com | <contact fullname="Shunwan Zhuang"> | |||
<organization>Huawei Technologies</organization> | ||||
<address> | ||||
<postal> | ||||
<street>Huawei Bld., No. 156 Beiqing Rd.</street> | ||||
<region>Beijing</region> | ||||
<code>100095</code> | ||||
<country>China</country> | ||||
</postal> | ||||
]]> | <email>zhuangshunwan@huawei.com</email> | |||
</artwork> | </address> | |||
</figure> | </contact> | |||
</section> | ||||
</back> | <contact fullname="Cheng Li"> | |||
<organization>Huawei Technologies</organization> | ||||
<address> | ||||
<postal> | ||||
<street>Huawei Campus, No. 156 Beiqing Rd.</street> | ||||
<region>Beijing</region><code>100095</code> | ||||
<country>China</country> | ||||
</postal> | ||||
<email>c.l@huawei.com</email> | ||||
</address> | ||||
</contact> | ||||
</section> | ||||
</back> | ||||
</rfc> | </rfc> | |||
End of changes. 190 change blocks. | ||||
1496 lines changed or deleted | 1310 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |