<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-pce-pcep-flowspec-12" indexInclude="true" ipr="trust200902" number="9168" prepTime="2022-01-14T10:34:47" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="4" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-pce-pcep-flowspec-12" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9168" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="PCEP Flow Spec">Path Computation Element Communication Protocol (PCEP) Extension for Flow Specification</title>
    <seriesInfo name="RFC" value="9168" stream="IETF"/>
    <author surname="Dhody" initials="D." fullname="Dhruv Dhody">
      <organization showOnFrontPage="true">Huawei Technologies</organization>
      <address>
        <postal>
          <street>Divyashree Techno Park, Whitefield</street>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <code>560066</code>
          <country>India</country>
        </postal>
        <email>dhruv.ietf@gmail.com</email>
      </address>
    </author>
    <author surname="Farrel" initials="A." fullname="Adrian Farrel">
      <organization showOnFrontPage="true">Old Dog Consulting</organization>
      <address>
        <email>adrian@olddog.co.uk</email>
      </address>
    </author>
    <author surname="Li" initials="Z." fullname="Zhenbin Li">
      <organization showOnFrontPage="true">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 month="01" year="2022"/>
    <area>Routing</area>
    <workgroup>PCE</workgroup>
    <keyword>PCE</keyword>
    <keyword>FlowSpec</keyword>
    <keyword>Flow Spec</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">The Path Computation Element (PCE) is a functional component capable of selecting
    paths through a traffic engineering (TE) network.  These paths may be supplied
    in response to requests for computation or may be unsolicited requests
    issued by the PCE to network elements.  Both approaches use the PCE Communication
    Protocol (PCEP) to convey the details of the computed path.</t>
      <t indent="0" pn="section-abstract-2">Traffic flows may be categorized and described using "Flow Specifications".  RFC 8955 defines the Flow Specification and describes how Flow Specification
    components are used to describe traffic flows.  RFC 8955 also defines how Flow
    Specifications may be distributed in BGP to allow specific traffic flows to be
    associated with routes.</t>
      <t indent="0" pn="section-abstract-3">This document specifies a set of extensions to PCEP to support dissemination of
    Flow Specifications.  This allows a PCE to indicate what traffic should be placed
    on each path that it is aware of.</t>
      <t indent="0" pn="section-abstract-4">The extensions defined in this document include the creation, update, and withdrawal of Flow
    Specifications via PCEP and can be applied to tunnels initiated by the PCE or 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 allowing the PCE to factor this into the path computation.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9168" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2022 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-procedures-for-pce-use-of-f">Procedures for PCE Use of Flow Specifications</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-context-for-pce-use-of-flow">Context for PCE Use of Flow Specifications</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-elements-of-the-procedure">Elements of the Procedure</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.2.2">
                  <li pn="section-toc.1-1.3.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.1.1"><xref derivedContent="3.2.1" format="counter" sectionFormat="of" target="section-3.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-capability-advertisement">Capability Advertisement</xref></t>
                    <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.2.2.1.2">
                      <li pn="section-toc.1-1.3.2.2.2.1.2.1">
                        <t indent="0" pn="section-toc.1-1.3.2.2.2.1.2.1.1"><xref derivedContent="3.2.1.1" format="counter" sectionFormat="of" target="section-3.2.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcep-open-message">PCEP Open Message</xref></t>
                      </li>
                      <li pn="section-toc.1-1.3.2.2.2.1.2.2">
                        <t indent="0" pn="section-toc.1-1.3.2.2.2.1.2.2.1"><xref derivedContent="3.2.1.2" format="counter" sectionFormat="of" target="section-3.2.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-igp-pce-capabilities-advert">IGP PCE Capabilities Advertisement</xref></t>
                      </li>
                    </ul>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.2.1"><xref derivedContent="3.2.2" format="counter" sectionFormat="of" target="section-3.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dissemination-procedures">Dissemination Procedures</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.3">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.3.1"><xref derivedContent="3.2.3" format="counter" sectionFormat="of" target="section-3.2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-flow-specification-synchron">Flow Specification Synchronization</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pce-flowspec-capability-tlv">PCE FlowSpec Capability TLV</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcep-flowspec-object">PCEP FLOWSPEC Object</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-flow-filter-tlv">Flow Filter TLV</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-flow-specification-tlvs">Flow Specification TLVs</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-detailed-procedures">Detailed Procedures</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-default-behavior-and-backwa">Default Behavior and Backward Compatibility</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-composite-flow-specificatio">Composite Flow Specifications</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.3">
                <t indent="0" pn="section-toc.1-1.8.2.3.1"><xref derivedContent="8.3" format="counter" sectionFormat="of" target="section-8.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-modifying-flow-specificatio">Modifying Flow Specifications</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.4">
                <t indent="0" pn="section-toc.1-1.8.2.4.1"><xref derivedContent="8.4" format="counter" sectionFormat="of" target="section-8.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multiple-flow-specification">Multiple Flow Specifications</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.5">
                <t indent="0" pn="section-toc.1-1.8.2.5.1"><xref derivedContent="8.5" format="counter" sectionFormat="of" target="section-8.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-adding-and-removing-flow-sp">Adding and Removing Flow Specifications</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.6">
                <t indent="0" pn="section-toc.1-1.8.2.6.1"><xref derivedContent="8.6" format="counter" sectionFormat="of" target="section-8.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-vpn-identifiers">VPN Identifiers</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.7">
                <t indent="0" pn="section-toc.1-1.8.2.7.1"><xref derivedContent="8.7" format="counter" sectionFormat="of" target="section-8.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-priorities-and-overlapping-">Priorities and Overlapping Flow Specifications</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcep-messages">PCEP Messages</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="10.1" format="counter" sectionFormat="of" target="section-10.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcep-objects">PCEP Objects</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2.1.2">
                  <li pn="section-toc.1-1.10.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.10.2.1.2.1.1"><xref derivedContent="10.1.1" format="counter" sectionFormat="of" target="section-10.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcep-flowspec-object-flag-f">PCEP FLOWSPEC Object Flag Field</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="10.2" format="counter" sectionFormat="of" target="section-10.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcep-tlv-type-indicators">PCEP TLV Type Indicators</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.3">
                <t indent="0" pn="section-toc.1-1.10.2.3.1"><xref derivedContent="10.3" format="counter" sectionFormat="of" target="section-10.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-flow-specification-tlv-type-">Flow Specification TLV Type Indicators</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.4">
                <t indent="0" pn="section-toc.1-1.10.2.4.1"><xref derivedContent="10.4" format="counter" sectionFormat="of" target="section-10.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcep-error-codes">PCEP Error Codes</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.5">
                <t indent="0" pn="section-toc.1-1.10.2.5.1"><xref derivedContent="10.5" format="counter" sectionFormat="of" target="section-10.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pce-capability-flag">PCE Capability Flag</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="11" format="counter" sectionFormat="of" target="section-11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="12" format="counter" sectionFormat="of" target="section-12"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-manageability-consideration">Manageability Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.12.2">
              <li pn="section-toc.1-1.12.2.1">
                <t indent="0" pn="section-toc.1-1.12.2.1.1"><xref derivedContent="12.1" format="counter" sectionFormat="of" target="section-12.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-management-of-multiple-flow">Management of Multiple Flow Specifications</xref></t>
              </li>
              <li pn="section-toc.1-1.12.2.2">
                <t indent="0" pn="section-toc.1-1.12.2.2.1"><xref derivedContent="12.2" format="counter" sectionFormat="of" target="section-12.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-control-of-function-through">Control of Function through Configuration and Policy</xref></t>
              </li>
              <li pn="section-toc.1-1.12.2.3">
                <t indent="0" pn="section-toc.1-1.12.2.3.1"><xref derivedContent="12.3" format="counter" sectionFormat="of" target="section-12.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-information-and-data-models">Information and Data Models</xref></t>
              </li>
              <li pn="section-toc.1-1.12.2.4">
                <t indent="0" pn="section-toc.1-1.12.2.4.1"><xref derivedContent="12.4" format="counter" sectionFormat="of" target="section-12.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-liveness-detection-and-moni">Liveness Detection and Monitoring</xref></t>
              </li>
              <li pn="section-toc.1-1.12.2.5">
                <t indent="0" pn="section-toc.1-1.12.2.5.1"><xref derivedContent="12.5" format="counter" sectionFormat="of" target="section-12.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-verifying-correct-operation">Verifying Correct Operation</xref></t>
              </li>
              <li pn="section-toc.1-1.12.2.6">
                <t indent="0" pn="section-toc.1-1.12.2.6.1"><xref derivedContent="12.6" format="counter" sectionFormat="of" target="section-12.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-for-other-prot">Requirements for Other Protocols and Functional Components</xref></t>
              </li>
              <li pn="section-toc.1-1.12.2.7">
                <t indent="0" pn="section-toc.1-1.12.2.7.1"><xref derivedContent="12.7" format="counter" sectionFormat="of" target="section-12.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-impact-on-network-operation">Impact on Network Operation</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="13" format="counter" sectionFormat="of" target="section-13"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.13.2">
              <li pn="section-toc.1-1.13.2.1">
                <t indent="0" pn="section-toc.1-1.13.2.1.1"><xref derivedContent="13.1" format="counter" sectionFormat="of" target="section-13.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.13.2.2">
                <t indent="0" pn="section-toc.1-1.13.2.2.1"><xref derivedContent="13.2" format="counter" sectionFormat="of" target="section-13.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.14">
            <t indent="0" pn="section-toc.1-1.14.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.15">
            <t indent="0" pn="section-toc.1-1.15.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.16">
            <t indent="0" pn="section-toc.1-1.16.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="Intro" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1"><xref target="RFC4655" format="default" sectionFormat="of" derivedContent="RFC4655"/> defines the Path Computation Element (PCE), a functional component
    capable of computing paths for use in traffic engineering networks.  PCE was originally
    conceived for use in Multiprotocol Label Switching (MPLS) for traffic engineering (TE) networks
    to derive the routes of Label Switched Paths (LSPs).  However, the scope of PCE was quickly
    extended to make it applicable to networks controlled by Generalized MPLS (GMPLS), and more recent work
    has brought other traffic engineering technologies and planning applications into scope (for
    example, Segment Routing (SR) <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/>).</t>
      <t indent="0" pn="section-1-2"><xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> describes the PCE         
Communication Protocol (PCEP).
    PCEP defines the communication between a Path Computation Client (PCC) and a PCE, or between
    PCE and PCE, enabling computation of the path for MPLS-TE LSPs.</t>
      <t indent="0" pn="section-1-3">Stateful PCE <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> specifies a set of extensions to PCEP to enable control of
    TE-LSPs by a PCE that retains state about the LSPs provisioned in the network (a stateful PCE).
    <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/> describes the setup, maintenance, and teardown of LSPs initiated by a
    stateful PCE without the need for local configuration on the PCC, thus allowing for a dynamic
    network that is centrally controlled.  <xref target="RFC8283" format="default" sectionFormat="of" derivedContent="RFC8283"/> introduces the architecture for PCE
    as a central controller and describes how PCE can be viewed as a component that performs computation
    to place "flows" within the network and decide how these flows are routed.</t>
      <t indent="0" pn="section-1-4">The description of traffic flows by the combination of multiple Flow Specification components and
    their dissemination as traffic flow specifications (Flow Specifications) is described for BGP in
    <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/>.  In BGP, a Flow Specification is comprised of traffic
    filtering rules and is associated with actions to perform on the packets that match the Flow
    Specification.  The BGP routers that receive a Flow Specification can classify received packets
    according to the traffic filtering rules and can direct packets based on the associated actions.</t>
      <t indent="0" pn="section-1-5">When a PCE is used to initiate tunnels (such as TE-LSPs or SR paths) using PCEP, it is important
    that the head end of the tunnels understands what traffic to place on each tunnel.  The data flows
    intended for a tunnel can be described using Flow Specification components.  When PCEP is in
    use for tunnel initiation, it makes sense for that same protocol to be used to distribute the Flow
    Specification components that describe what data is to flow on those tunnels.</t>
      <t indent="0" pn="section-1-6">This document specifies a set of extensions to PCEP to support dissemination of Flow Specification
    components.  We term the description of a traffic flow using Flow Specification components as a
    "Flow Specification".  This term is conceptually the same as the term used in
    <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/>; 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
    PCEP context (that is, directing the matching traffic to the identified LSP).</t>
      <t indent="0" pn="section-1-7">The extensions defined in this document include the creation, update, and withdrawal of Flow
    Specifications via PCEP and can be applied to tunnels initiated by the PCE or to tunnels where
    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 allowing the PCE to factor
    this into the path computation.</t>
      <t indent="0" pn="section-1-8">Flow Specifications are carried in TLVs within a new object called the FLOWSPEC object defined
    in this document.  The flow filtering rules indicated by the Flow Specifications are mainly
    defined by BGP Flow Specifications.</t>
      <t indent="0" pn="section-1-9">Note that PCEP-installed Flow Specifications are intended to be installed only at the head end of
    the LSP to which they direct traffic.  It is acceptable (and potentially desirable) that other
    routers in the network have Flow Specifications installed that match the same traffic but direct
    it onto different routes or to different LSPs.  Those other Flow Specifications may be installed
    using the PCEP extensions defined in this document, distributed using BGP per
    <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/>, or configured using manual operations.  Since
    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 noting that changes to the
    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 matching the PCEP Flow Specification
    never reaches the head end of the LSP at which the PCEP Flow Specification has been installed.  This may
    or may not be desirable according to the operator's traffic engineering and routing policies and is
    particularly applicable at LSPs that do not have their head ends at the ingress edge of the network, but
    it is not an effect that this document seeks to address.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <t indent="0" pn="section-2-1">The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
    "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted
    as described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only when,
    they appear in all capitals, as shown here.</t>
      <t indent="0" pn="section-2-2">This document uses the following terms defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>: PCC, PCE, and PCEP Peer.</t>
      <t indent="0" pn="section-2-3">The following term from <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> is used frequently throughout this
    document:
      </t>
      <blockquote pn="section-2-4">A Flow Specification is an n-tuple consisting of several matching criteria that can be
          applied to IP traffic.  A given IP packet is said to match the defined Flow Specification
        if it matches all the specified criteria.</blockquote>
      <t indent="0" pn="section-2-5"><xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> also states that "[a] given Flow Specification may be
    associated with a set of attributes" and that "...attributes can be used to encode a set of
    predetermined actions."  However, in the context of this document, no action is explicitly
    specified as associated with the Flow Specification since the action of forwarding all matching traffic
    onto the associated path is implicit.</t>
      <t indent="0" pn="section-2-6">How an implementation decides to filter traffic that matches a Flow Specification does not form
    part of this specification, but a flag is provided to indicate whether the sender of a PCEP
    message that includes a Flow Specification intends it to be installed as a Longest Prefix Match (LPM) route or as a Flow Specification policy.</t>
      <t indent="0" pn="section-2-7">This document uses the terms "stateful PCE" and "active PCE" as advocated in <xref target="RFC7399" format="default" sectionFormat="of" derivedContent="RFC7399"/>.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-procedures-for-pce-use-of-f">Procedures for PCE Use of Flow Specifications</name>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-context-for-pce-use-of-flow">Context for PCE Use of Flow Specifications</name>
        <t indent="0" pn="section-3.1-1">In the PCE architecture, there are five steps in the setup and use of LSPs:
        </t>
        <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-3.1-2"><li pn="section-3.1-2.1" derivedCounter="1.">Decide which LSPs to set up.  The decision may be made by a user, by a PCC, or by the PCE.
           There can be a number of triggers for this, including user intervention and dynamic response
           to changes in traffic demands.</li>
          <li pn="section-3.1-2.2" derivedCounter="2.">Decide what properties to assign to an LSP.  This can include bandwidth reservations, priorities,
           and the Differentiated Services Code Point (DSCP) (i.e., MPLS Traffic Class field).  This function is also determined by user configuration
           or in response to predicted or observed traffic demands.</li>
          <li pn="section-3.1-2.3" derivedCounter="3.">Decide what traffic to put on the LSP.  This is effectively determining which traffic flows to
           assign to which LSPs; practically, this is closely linked to the first two decisions listed
           above.</li>
          <li pn="section-3.1-2.4" derivedCounter="4.">Cause the LSP to be set up and modified to have the right characteristics.  This will usually
           involve the PCE advising or instructing the PCC at the head end of the LSP, and the PCC will
           then signal the LSP across the network.</li>
          <li pn="section-3.1-2.5" derivedCounter="5.">Tell the head end of the LSP what traffic to put on the LSP.  This may happen after or at the
           same time as the LSP is set up.  This step is the subject of this document.</li>
        </ol>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-elements-of-the-procedure">Elements of the Procedure</name>
        <t indent="0" pn="section-3.2-1">There are three elements in the procedure:

        </t>
        <ol spacing="normal" indent="adaptive" start="1" type="1" pn="section-3.2-2">
          <li pn="section-3.2-2.1" derivedCounter="1.">A PCE and a PCC must be able to indicate whether or not they support the use of Flow
            Specifications.</li>
          <li pn="section-3.2-2.2" derivedCounter="2.">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 each case.  This includes
            whether the use of such information is mandatory, constrained, or optional and how
            overlapping Flow Specifications will be resolved.</li>
          <li pn="section-3.2-2.3" derivedCounter="3.">Flow Specification information/state must be synchronized between PCEP peers so that,
            on recovery, the peers have the same understanding of which Flow Specifications apply
            just as is required in the case of stateful PCE and LSP delegation (see <xref section="5.6" target="RFC8231" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8231#section-5.6" derivedContent="RFC8231"/>).</li>
        </ol>
        <t indent="0" pn="section-3.2-3">The following subsections describe these points.</t>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-3.2.1">
          <name slugifiedName="name-capability-advertisement">Capability Advertisement</name>
          <t indent="0" pn="section-3.2.1-1">As with most PCEP capability advertisements, the ability to support Flow Specifications can be
        indicated in the PCEP Open message or in IGP PCE capability advertisements.</t>
          <section anchor="open" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.1.1">
            <name slugifiedName="name-pcep-open-message">PCEP Open Message</name>
            <t indent="0" pn="section-3.2.1.1-1">During PCEP session establishment, a PCC or PCE that supports the procedures described in
          this document announces this fact by including the PCE FlowSpec Capability TLV (described in
          <xref target="cap" format="default" sectionFormat="of" derivedContent="Section 4"/>) in the OPEN object carried in the PCEP Open message.</t>
            <t indent="0" pn="section-3.2.1.1-2">The presence of the PCE FlowSpec Capability TLV in the OPEN object in a PCE's Open message
          indicates that the PCE can distribute FlowSpecs to PCCs and can receive FlowSpecs in messages
          from PCCs.</t>
            <t indent="0" pn="section-3.2.1.1-3">The presence of the PCE FlowSpec Capability TLV in the OPEN object in a PCC's Open message
          indicates that the PCC supports the FlowSpec functionality described in this document.</t>
            <t indent="0" pn="section-3.2.1.1-4">If either one of a pair of PCEP peers does not include the PCE FlowSpec Capability TLV in the
          OPEN object in its Open message, then the other peer <bcp14>MUST NOT</bcp14> include a FLOWSPEC object in any
          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 containing the FlowSpec as described
          in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>: that is, it will use "Unknown Object" if it does not support this
          specification and "Not supported object" if it supports this specification but has not chosen
          to support FLOWSPEC objects on this PCEP session.</t>
          </section>
          <section numbered="true" toc="include" removeInRFC="false" pn="section-3.2.1.2">
            <name slugifiedName="name-igp-pce-capabilities-advert">IGP PCE Capabilities Advertisement</name>
            <t indent="0" pn="section-3.2.1.2-1">The ability to advertise support for PCEP and PCE features in IGP advertisements is provided
          for OSPF in <xref target="RFC5088" format="default" sectionFormat="of" derivedContent="RFC5088"/> and for IS-IS in <xref target="RFC5089" format="default" sectionFormat="of" derivedContent="RFC5089"/>.  The mechanism
          uses the PCE Discovery TLV, which has a PCE-CAP-FLAGS sub-TLV containing bit flags, each of which
          indicates support for a different feature.</t>
            <t indent="0" pn="section-3.2.1.2-2">This document defines a new PCE-CAP-FLAGS sub-TLV bit, the FlowSpec Capable flag (bit number 16).
          Setting the bit indicates that an advertising PCE supports the procedures defined in this document.</t>
            <t indent="0" pn="section-3.2.1.2-3">Note that while PCE FlowSpec capability may be advertised during discovery, PCEP speakers that wish to
          use Flow Specification in PCEP <bcp14>MUST</bcp14> negotiate PCE FlowSpec capability during PCEP session setup, as
          specified in <xref target="open" format="default" sectionFormat="of" derivedContent="Section 3.2.1.1"/>.  A PCC <bcp14>MAY</bcp14> initiate PCE FlowSpec capability negotiation at PCEP
          session setup even if it did not receive any IGP PCE capability advertisement, and a PCEP peer that
          advertised support for FlowSpec in the IGP is not obliged to support these procedures on any given
          PCEP session.</t>
          </section>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-3.2.2">
          <name slugifiedName="name-dissemination-procedures">Dissemination Procedures</name>
          <t indent="0" pn="section-3.2.2-1">This section describes the procedures to support Flow Specifications in PCEP messages.</t>
          <t indent="0" pn="section-3.2.2-2">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 path).  This means that the
        Flow Specification may be included in:
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.2.2-3">
            <li pn="section-3.2.2-3.1">PCInitiate messages so that an active PCE can indicate the traffic to place on a path at the time
              that the PCE instantiates the path.</li>
            <li pn="section-3.2.2-3.2">PCUpd messages so that an active PCE can indicate or change the traffic to place on a path
              that has already been set up.</li>
            <li pn="section-3.2.2-3.3">PCRpt messages so that a PCC can report the traffic that the PCC will place on the path.</li>
            <li pn="section-3.2.2-3.4">PCReq messages so that a PCC can indicate what traffic it plans to place on a path when it
              requests that the PCE perform a computation in case that information aids the PCE in its work.</li>
            <li pn="section-3.2.2-3.5">PCRep messages so that a PCE that has been asked to compute a path can suggest which traffic
              could be placed on a path that a PCC may be about to set up.</li>
            <li pn="section-3.2.2-3.6">PCErr messages so that issues related to paths and the traffic they carry can be reported to the
              PCE by the PCC and problems with other PCEP messages that carry Flow Specifications can
              be reported.</li>
          </ul>
          <t indent="0" pn="section-3.2.2-4">To carry Flow Specifications in PCEP messages, this document defines a new PCEP object called the
        "PCEP FLOWSPEC object".  The object is <bcp14>OPTIONAL</bcp14> in the messages described above and <bcp14>MAY</bcp14> appear more
        than once in each message.</t>
          <t indent="0" pn="section-3.2.2-5">To describe a traffic flow, the PCEP FLOWSPEC object carries a Flow Filter TLV.</t>
          <t indent="0" pn="section-3.2.2-6">The inclusion of multiple PCEP FLOWSPEC objects allows multiple traffic flows to be placed on a single
        path.</t>
          <t indent="0" pn="section-3.2.2-7">Once a PCE and PCC have established that they can both support the use of Flow Specifications in PCEP
        messages, such information may be exchanged at any time for new or existing paths.</t>
          <t indent="0" pn="section-3.2.2-8">The application and prioritization of Flow Specifications are described in <xref target="priorities" format="default" sectionFormat="of" derivedContent="Section 8.7"/>.</t>
          <t indent="0" pn="section-3.2.2-9">As per <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>, any attributes of the path received from a PCE are subject to the PCC's
        local policy.  This holds true for the Flow Specifications as well.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-3.2.3">
          <name slugifiedName="name-flow-specification-synchron">Flow Specification Synchronization</name>
          <t indent="0" pn="section-3.2.3-1">The Flow Specifications are carried along with the LSP state information as per <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>,
        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.  This may be achieved using normal
        state synchronization procedures as described in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> or enhanced state synchronization
        procedures as defined in <xref target="RFC8232" format="default" sectionFormat="of" derivedContent="RFC8232"/>.</t>
          <t indent="0" pn="section-3.2.3-2">The approach selected will be implementation and deployment specific and will depend on issues such as
        how the databases are constructed and what level of synchronization support is needed.</t>
        </section>
      </section>
    </section>
    <section anchor="cap" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-pce-flowspec-capability-tlv">PCE FlowSpec Capability TLV</name>
      <t indent="0" pn="section-4-1">The PCE-FLOWSPEC-CAPABILITY TLV is an optional TLV that can be carried in the OPEN object
    <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> to exchange the PCE FlowSpec capabilities of the PCEP speakers.</t>
      <t indent="0" pn="section-4-2">The format of the PCE-FLOWSPEC-CAPABILITY TLV follows the format of all PCEP TLVs
    as defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> and is shown in <xref target="capfig" format="default" sectionFormat="of" derivedContent="Figure 1"/>.</t>
      <figure anchor="capfig" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-pce-flowspec-capability-tlv-">PCE-FLOWSPEC-CAPABILITY TLV Format</name>
        <artwork name="" type="" align="left" alt="" pn="section-4-3.1">     
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Type=51               |          Length=2             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Value=0             |          Padding              |
+---------------------------------------------------------------+  
   </artwork>
      </figure>
      <t indent="0" pn="section-4-4">The type of the PCE-FLOWSPEC-CAPABILITY TLV is 51, and it has a fixed length of 2 octets.
    The Value field <bcp14>MUST</bcp14> be set to 0 and <bcp14>MUST</bcp14> be ignored on receipt.  The two bytes of padding
    <bcp14>MUST</bcp14> be set to zero and ignored on receipt.</t>
      <t indent="0" pn="section-4-5">The inclusion of this TLV in an OPEN object indicates that the sender can perform FlowSpec handling
    as defined in this document.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-pcep-flowspec-object">PCEP FLOWSPEC Object</name>
      <t indent="0" pn="section-5-1">The PCEP FLOWSPEC object defined in this document is compliant with the PCEP object format
      defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>.

      It is <bcp14>OPTIONAL</bcp14> in the PCReq, PCRep, PCErr, PCInitiate,
    PCRpt, and PCUpd messages and <bcp14>MAY</bcp14> be present zero, one, or more times.  Each instance of the
    object specifies a separate traffic flow.</t>
      <t indent="0" pn="section-5-2">The PCEP FLOWSPEC object <bcp14>MAY</bcp14> carry a FlowSpec filter rule encoded in a Flow Filter TLV as defined in <xref target="tlv" format="default" sectionFormat="of" derivedContent="Section 6"/>.</t>
      <t indent="0" pn="section-5-3">The FLOWSPEC Object-Class is 43 (to be assigned by IANA).</t>
      <t indent="0" pn="section-5-4">The FLOWSPEC Object-Type is 1.</t>
      <t indent="0" pn="section-5-5">The format of the body of the PCEP FLOWSPEC object is shown in <xref target="FlowSpecFig" format="default" sectionFormat="of" derivedContent="Figure 2"/>.</t>
      <figure anchor="FlowSpecFig" align="left" suppress-title="false" pn="figure-2">
        <name slugifiedName="name-pcep-flowspec-object-body-f">PCEP FLOWSPEC Object Body Format</name>
        <artwork name="" type="" align="left" alt="" pn="section-5-6.1">    
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            FS-ID                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         AFI                   |  Reserved     |   Flags   |L|R|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
//                             TLVs                            //
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    
   </artwork>
      </figure>
      <dl indent="3" newline="false" spacing="normal" pn="section-5-7">
        <dt pn="section-5-7.1">FS-ID (32 bits):</dt>
        <dd pn="section-5-7.2"> 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
    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
    FS-ID.  The values 0 and 0xFFFFFFFF are reserved and <bcp14>MUST NOT</bcp14> be used.  Note
    that <xref target="I-D.gont-numeric-ids-sec-considerations" format="default" sectionFormat="of" derivedContent="NUMERIC-IDS-SEC"/> gives advice on
    assigning transient numeric identifiers such as the FS-ID so as to minimize
    security risks.</dd>
        <dt pn="section-5-7.3">AFI (16 bits):</dt>
        <dd pn="section-5-7.4"> Address Family Identifier as used in BGP <xref target="RFC4760" format="default" sectionFormat="of" derivedContent="RFC4760"/>
    (AFI=1 for IPv4 or VPNv4, AFI=2 for IPv6 and VPNv6 as per
      <xref target="RFC8956" format="default" sectionFormat="of" derivedContent="RFC8956"/>).</dd>
        <dt pn="section-5-7.5">Reserved (8 bits):</dt>
        <dd pn="section-5-7.6">
          <bcp14>MUST</bcp14> be set to zero on transmission and ignored on receipt.</dd>
        <dt pn="section-5-7.7">Flags (8 bits):</dt>
        <dd pn="section-5-7.8">
          <t indent="0" pn="section-5-7.8.1">Two flags are currently assigned: </t>
          <dl indent="3" newline="false" spacing="normal" pn="section-5-7.8.2">
            <dt pn="section-5-7.8.2.1">R bit:</dt>
            <dd pn="section-5-7.8.2.2">The Remove bit is set when a PCEP FLOWSPEC object is included in a PCEP
        message to indicate removal of the Flow Specification from the associated tunnel.
        If the bit is clear, the Flow Specification is being added or modified.</dd>
            <dt pn="section-5-7.8.2.3">L bit:</dt>
            <dd pn="section-5-7.8.2.4">The Longest Prefix Match (LPM) bit is set to indicate that the Flow
        Specification is to be installed as a route subject to LPM
        forwarding.  If the bit is clear, the Flow Specification described by the
        Flow Filter TLV (see <xref target="tlv" format="default" sectionFormat="of" derivedContent="Section 6"/>) is to be installed as a Flow
        Specification.  If the bit is set, only Flow Specifications that describe
        IPv4 or IPv6 destinations are meaningful in the Flow Filter TLV, and others are ignored.

	If the L
        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 subject to
        LPM forwarding, then the PCEP peer <bcp14>MUST</bcp14> respond with a PCErr
        message with Error-Type 30 (FlowSpec Error) and Error-value 5 (Unsupported
        LPM Route).</dd>
          </dl>
        </dd>
      </dl>
      <t indent="0" pn="section-5-8">Unassigned bits <bcp14>MUST</bcp14> be set to zero on transmission and ignored on receipt.
      </t>
      <t indent="0" pn="section-5-9">If the PCEP speaker receives a message with the R bit set in the FLOWSPEC object and the Flow Specification
    identified with an FS-ID does not exist, it <bcp14>MUST</bcp14> generate a PCErr with Error-Type 30 (FlowSpec Error) and Error-value 4 (Unknown FlowSpec). </t>
      <t indent="0" pn="section-5-10">If the PCEP speaker does not understand or support the AFI in the FLOWSPEC message, the PCEP peer
    <bcp14>MUST</bcp14> respond with a PCErr message with Error-Type 30 (FlowSpec Error) and Error-value 2
    (Malformed FlowSpec).</t>
      <t indent="0" pn="section-5-11">The following TLVs can be used in the FLOWSPEC object:
      </t>
      <dl indent="3" newline="false" spacing="normal" pn="section-5-12">
        <dt pn="section-5-12.1">Speaker Entity Identifier TLV:</dt>
        <dd pn="section-5-12.2"> As specified in <xref target="RFC8232" format="default" sectionFormat="of" derivedContent="RFC8232"/>, the SPEAKER-ENTITY-ID TLV
        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 thus is used in conjunction
        with the FS-ID to uniquely identify the FlowSpec information. This TLV <bcp14>MUST</bcp14> be included.  If the TLV
        is missing, the PCEP peer <bcp14>MUST</bcp14> respond with a PCErr message with Error-Type 30 (FlowSpec Error) and
        Error-value 2 (Malformed FlowSpec).  If more than one instance of this TLV is present, the first <bcp14>MUST</bcp14> be
        processed, and subsequent instances <bcp14>MUST</bcp14> be ignored.</dd>
        <dt pn="section-5-12.3">Flow Filter TLV (variable):</dt>
        <dd pn="section-5-12.4"> One TLV <bcp14>MAY</bcp14> be included. The Flow Filter TLV is <bcp14>OPTIONAL</bcp14> when the R bit
        is set.</dd>
      </dl>
      <t indent="0" pn="section-5-13">The Flow Filter TLV <bcp14>MUST</bcp14> be present when the R bit is clear. If the
    TLV is missing when the R bit is clear, the PCEP peer <bcp14>MUST</bcp14> respond with a PCErr message with
      Error-Type 30 (FlowSpec Error) and Error-value 2 (Malformed FlowSpec).</t>
      <t indent="0" pn="section-5-14">Filtering based on the L2 fields is out of scope of this document.</t>
    </section>
    <section anchor="tlv" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-flow-filter-tlv">Flow Filter TLV</name>
      <t indent="0" pn="section-6-1">One new PCEP TLV is defined to convey Flow Specification filtering rules that specify
    what traffic is carried on a path.  The TLV follows the format of all PCEP TLVs as defined
    in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>.  The Type field values come from the code point space for
    PCEP TLVs and has the value 52 for Flow Filter TLV.</t>
      <t indent="0" pn="section-6-2">The Value field of the TLV contains one or more sub-TLVs (the Flow Specification TLVs) as defined in <xref target="subtlv" format="default" sectionFormat="of" derivedContent="Section 7"/>, and they represent the complete
    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
    Specification TLVs in a single instance of a Flow Filter TLV is
    combined to indicate the  specific Flow Specification.  Note that the PCEP FLOWSPEC object can
    include just one Flow Filter TLV.</t>
      <t indent="0" pn="section-6-3">Further Flow Specifications can be included in a PCEP message by including additional
    FLOWSPEC objects.</t>
      <t indent="0" pn="section-6-4"> In the future, there may be a desire to add support for L2 Flow
   Specifications (such as described in <xref target="I-D.ietf-idr-flowspec-l2vpn" format="default" sectionFormat="of" derivedContent="BGP-L2VPN"/>).</t>
    </section>
    <section anchor="subtlv" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-flow-specification-tlvs">Flow Specification TLVs</name>
      <t indent="0" pn="section-7-1">The Flow Filter TLV carries one or more Flow Specification TLVs.  The Flow Specification TLV
    follows the format of all PCEP TLVs as defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>.  However, the Type values
    are selected from a separate IANA registry (see <xref target="iana" format="default" sectionFormat="of" derivedContent="Section 10.3"/>) rather than from the common
    PCEP TLV registry.</t>
      <t indent="0" pn="section-7-2">Type values are chosen so that there can be commonality with Flow Specifications defined for use
    with BGP <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> <xref target="RFC8956" format="default" sectionFormat="of" derivedContent="RFC8956"/>.  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" sectionFormat="of" derivedContent="Table 1"/>.</t>
      <table anchor="fspectlvs" align="center" pn="table-1">
        <name slugifiedName="name-flow-specification-tlv-type">Flow Specification TLV Type Ranges</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Range</th>
            <th align="left" colspan="1" rowspan="1">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">0-255</td>
            <td align="left" colspan="1" rowspan="1">
              <t indent="0" pn="section-7-3.2.1.2.1">Per BGP Flow Spec registry defined by
               <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> and
               <xref target="RFC8956" format="default" sectionFormat="of" derivedContent="RFC8956"/>.</t>
              <t indent="0" pn="section-7-3.2.1.2.2"> Not to be allocated in this registry.</t>
            </td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">256-65535</td>
            <td align="left" colspan="1" rowspan="1">New PCEP Flow Specifications allocated according
               to the registry defined in this document.</td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-7-4"><xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> is the reference for the "Flow Spec Component Types" registry and defines the allocations it contains.  <xref target="RFC8956" format="default" sectionFormat="of" derivedContent="RFC8956"/> requested the creation of the "Flow Spec IPv6 Component Types" registry, as well as its initial allocations.  If the AFI (in the
    FLOWSPEC object) is set to IPv4, the range 0..255 is as per "Flow Spec Component Types"
    <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/>; if the AFI is set to IPv6, the range 0..255 is as per "Flow
    Spec IPv6 Component Types" <xref target="RFC8956" format="default" sectionFormat="of" derivedContent="RFC8956"/>.</t>
      <t indent="0" pn="section-7-5">The content of the Value field in each TLV is specific to the type/AFI and describes 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 target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> and
    <xref target="RFC8956" format="default" sectionFormat="of" derivedContent="RFC8956"/>, but it may also be inherited from future BGP specifications.</t>
      <t indent="0" pn="section-7-6">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 about how this is achieved,
    see <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/>.  As described in <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/>,
    where it says "A given component type <bcp14>MAY</bcp14> (exactly once) be present in the Flow Specification", a Flow
    Filter TLV <bcp14>MUST NOT</bcp14> contain more than one Flow Specification TLV of the same type: an implementation
    that receives a PCEP message with a Flow Filter TLV that contains more than one Flow Specification TLV
    of the same type <bcp14>MUST</bcp14> respond with a PCErr message with Error-Type 30 (FlowSpec Error) and Error-value 2
    (Malformed FlowSpec) and <bcp14>MUST NOT</bcp14> install the Flow Specification.</t>
      <t indent="0" pn="section-7-7">An implementation that receives a PCEP message carrying a Flow Specification TLV with a type value
    that it does not recognize or support <bcp14>MUST</bcp14> respond with a PCErr message with Error-Type 30
    (FlowSpec Error) and Error-value 1 (Unsupported FlowSpec) and <bcp14>MUST NOT</bcp14> install the Flow Specification.</t>
      <t indent="0" pn="section-7-8">When used in other protocols (such as BGP), these Flow Specifications are also associated with actions
    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 traffic onto that path, so
    no encoding of an action is needed.</t>
      <t indent="0" pn="section-7-9"><xref target="priorities" format="default" sectionFormat="of" derivedContent="Section 8.7"/> describes how overlapping Flow Specifications are prioritized and
    handled.</t>
      <t indent="0" pn="section-7-10">All Flow Specification TLVs with Types in the range 0 to 255 have values defined
    for use in BGP (for example, in <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> and
    <xref target="RFC8956" format="default" sectionFormat="of" derivedContent="RFC8956"/>) 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 indent="0" pn="section-7-11">This document defines the following new types:

</t>
      <table align="left" anchor="tlvFigthis" pn="table-2">
        <name slugifiedName="name-flow-specification-tlv-types">Flow Specification TLV Types Defined in this Document</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1"> Type </th>
            <th align="left" colspan="1" rowspan="1"> Description</th>
            <th align="left" colspan="1" rowspan="1"> Value Defined In</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">256</td>
            <td align="left" colspan="1" rowspan="1">Route Distinguisher</td>
            <td align="left" colspan="1" rowspan="1">RFC 9168</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">257</td>
            <td align="left" colspan="1" rowspan="1">IPv4 Multicast Flow</td>
            <td align="left" colspan="1" rowspan="1">RFC 9168</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">258</td>
            <td align="left" colspan="1" rowspan="1">IPv6 Multicast Flow</td>
            <td align="left" colspan="1" rowspan="1">RFC 9168</td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-7-13">To allow identification of a VPN in PCEP via a Route Distinguisher (RD) <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/>,
      a new TLV, ROUTE-DISTINGUISHER TLV, is defined in this document.  A Flow Specification TLV with
      Type 256 (ROUTE-DISTINGUISHER TLV) carries an RD value, which is used to identify that other flow filter
      information (for example, an IPv4 destination prefix) is associated with a specific VPN identified
      by the RD.  See <xref target="vpn-id" format="default" sectionFormat="of" derivedContent="Section 8.6"/> for further discussion of VPN identification.</t>
      <figure anchor="rdtlv" align="left" suppress-title="false" pn="figure-3">
        <name slugifiedName="name-the-format-of-the-route-dis">The Format of the ROUTE-DISTINGUISHER TLV</name>
        <artwork name="" type="" align="left" alt="" pn="section-7-14.1">       
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Type=256            |           Length=8            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Route Distinguisher                       |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+       
      </artwork>
      </figure>
      <t indent="0" pn="section-7-15">The format of the RD is as per <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/>.</t>
      <t indent="0" pn="section-7-16">Although it may be possible to describe a multicast Flow Specification from the
    combination of other Flow Specification TLVs with specific values, it is more convenient
    to use a dedicated Flow Specification TLV.  Flow Specification TLVs with Type
    values 257 and 258 are used to identify a multicast flow for IPv4 and IPv6, respectively.
    The Value field is encoded as shown in <xref target="mcastfig" format="default" sectionFormat="of" derivedContent="Figure 4"/>.</t>
      <figure anchor="mcastfig" align="left" suppress-title="false" pn="figure-4">
        <name slugifiedName="name-multicast-flow-specificatio">Multicast Flow Specification TLV Encoding</name>
        <artwork name="" type="" align="left" alt="" pn="section-7-17.1">     
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Reserved           |S|G|  Src Mask Len | Grp Mask Len  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                        Source Address                         ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                   Group multicast Address                     ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+     
   </artwork>
      </figure>
      <t indent="0" pn="section-7-18">The address fields and address mask lengths of the two Multicast Flow Specification TLVs
    contain source and group prefixes for matching against packet flows. Note that the two address
    fields are 32 bits for an IPv4 Multicast Flow and 128 bits for an IPv6 Multicast Flow.</t>
      <t indent="0" pn="section-7-19">The Reserved field <bcp14>MUST</bcp14> be set to zero and ignored on receipt.</t>
      <t indent="0" pn="section-7-20">Two bit flags (S and G) are defined to describe the multicast wildcarding in use.
    If the S bit is set, then source wildcarding is in use, and the values in the Source Mask Length
    and Source Address fields <bcp14>MUST</bcp14> be ignored.  If the G bit is set, then group wildcarding is in
    use, and the values in the Group Mask Length and Group multicast Address fields <bcp14>MUST</bcp14> be ignored.
    The G bit <bcp14>MUST NOT</bcp14> be set unless the S bit is also set: if a Multicast Flow Specification TLV
    is received with S bit = 0 and G bit = 1, the receiver <bcp14>MUST</bcp14> respond with a PCErr with Error-Type 30 (FlowSpec Error) and Error-value 2 (Malformed FlowSpec).</t>
      <t indent="0" pn="section-7-21">The three multicast mappings may be achieved as follows:
      </t>
      <ul empty="true" bare="false" indent="3" spacing="normal" pn="section-7-22">
        <li pn="section-7-22.1">(S, G) - S bit = 0, G bit = 0, the Source Address and Group multicast Address prefixes are
      both used to define the multicast flow.</li>
        <li pn="section-7-22.2">(*, G) - S bit = 1, G bit = 0, the Group multicast Address prefix is used to define the
      multicast flow, but the Source Address prefix is ignored.</li>
        <li pn="section-7-22.3">(*, *) - S bit = 1, G bit = 1, the Source Address and Group multicast Address prefixes are
      both ignored.</li>
      </ul>
    </section>
    <section anchor="detailed" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-detailed-procedures">Detailed Procedures</name>
      <t indent="0" pn="section-8-1">This section outlines some specific detailed procedures for using the protocol extensions
    defined in this document.</t>
      <section anchor="default" numbered="true" toc="include" removeInRFC="false" pn="section-8.1">
        <name slugifiedName="name-default-behavior-and-backwa">Default Behavior and Backward Compatibility</name>
        <t indent="0" pn="section-8.1-1">The default behavior is that no Flow Specification is applied to a tunnel.  That is,
       the default is that the FLOWSPEC object is not used, as is the case in all systems
       before the implementation of this specification.</t>
        <t indent="0" pn="section-8.1-2">In this case, it is a local matter (such as through configuration) how tunnel head ends
       are instructed in terms of what traffic to place on a tunnel.</t>
        <t indent="0" pn="section-8.1-3"><xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> describes how receivers respond when they see unknown PCEP
       objects.</t>
      </section>
      <section anchor="composite" numbered="true" toc="include" removeInRFC="false" pn="section-8.2">
        <name slugifiedName="name-composite-flow-specificatio">Composite Flow Specifications</name>
        <t indent="0" pn="section-8.2-1">Flow Specifications may be represented by a single Flow Specification TLV or may require a
      more complex description using multiple Flow Specification TLVs.  For example, a flow
      indicated by a source-destination pair of IPv6 addresses would be described by the
      combination of Destination IPv6 Prefix and Source IPv6 Prefix Flow Specification TLVs.</t>
      </section>
      <section anchor="modify" numbered="true" toc="include" removeInRFC="false" pn="section-8.3">
        <name slugifiedName="name-modifying-flow-specificatio">Modifying Flow Specifications</name>
        <t indent="0" pn="section-8.3-1">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 tunnel.</t>
        <t indent="0" pn="section-8.3-2">It is important to identify the specific Flow Specification so it is clear that
      this is a modification of an existing flow and not the addition of a new flow as described
      in <xref target="multiple" format="default" sectionFormat="of" derivedContent="Section 8.4"/>.  The FS-ID field of the PCEP FLOWSPEC object is used to
      identify a specific Flow Specification in the context of the content of the Speaker Entity
      Identifier TLV.</t>
        <t indent="0" pn="section-8.3-3">When modifying a Flow Specification, all Flow Specification TLVs for the intended specification
      of the flow <bcp14>MUST</bcp14> be included in the PCEP FLOWSPEC object. The FS-ID <bcp14>MUST</bcp14> be retained from the
      previous description of the flow, and the same Speaker Entity Identifier TLV <bcp14>MUST</bcp14> be used.</t>
      </section>
      <section anchor="multiple" numbered="true" toc="include" removeInRFC="false" pn="section-8.4">
        <name slugifiedName="name-multiple-flow-specification">Multiple Flow Specifications</name>
        <t indent="0" pn="section-8.4-1">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 widening the scope of a Flow
      Specification TLV: for example, traffic to two destination IPv4 prefixes might be captured by a single
      Flow Specification TLV with type "Destination" with a suitably adjusted prefix.  However, this is
      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>
        <t indent="0" pn="section-8.4-2">The normal procedure, therefore, is to carry each Flow Specification in its own PCEP FLOWSPEC object.
      Multiple objects may be present on a single PCEP message, or multiple PCEP messages may be used.</t>
      </section>
      <section anchor="addremove" numbered="true" toc="include" removeInRFC="false" pn="section-8.5">
        <name slugifiedName="name-adding-and-removing-flow-sp">Adding and Removing Flow Specifications</name>
        <t indent="0" pn="section-8.5-1">The Remove bit in the PCEP FLOWSPEC object is left clear when a Flow Specification is being
       added or modified.</t>
        <t indent="0" pn="section-8.5-2">To remove a Flow Specification, a PCEP FLOWSPEC object is included with the FS-ID matching the
       one being removed, and the R bit is set to indicate removal.  In this case, it is not necessary to
       include any Flow Specification TLVs.</t>
        <t indent="0" pn="section-8.5-3">If the R bit is set and Flow Specification TLVs are present, an implementation <bcp14>MAY</bcp14> ignore them.  If
       the implementation checks the Flow Specification TLVs against those recorded for the FS-ID and Speaker
       Entity Identifier of the Flow Specification being removed and finds a mismatch, the Flow Specification matching the FS-ID
       <bcp14>MUST</bcp14> still be removed, and the implementation <bcp14>SHOULD</bcp14> record a local exception or log.</t>
      </section>
      <section anchor="vpn-id" numbered="true" toc="include" removeInRFC="false" pn="section-8.6">
        <name slugifiedName="name-vpn-identifiers">VPN Identifiers</name>
        <t indent="0" pn="section-8.6-1">VPN instances are identified in BGP using RDs <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/>.  These
      values are not normally considered to have any meaning outside of the network, and they are not encoded
      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 provisioned.</t>
        <t indent="0" pn="section-8.6-2">Thus, the RD provides a useful way to indicate that traffic for a particular VPN should be placed on a
      given tunnel.  The tunnel head end will need to interpret this Flow Specification not as a filter on
      the fields of data packets but rather using the other mechanisms that it already uses to identify VPN traffic.
      These mechanisms could be based on the incoming port (for port-based VPNs) or may leverage knowledge of the VPN Routing and Forwarding (VRF) that
      is in use for the traffic.</t>
      </section>
      <section anchor="priorities" numbered="true" toc="include" removeInRFC="false" pn="section-8.7">
        <name slugifiedName="name-priorities-and-overlapping-">Priorities and Overlapping Flow Specifications</name>
        <t indent="0" pn="section-8.7-1">Flow Specifications can overlap.  For example, two different Flow Specifications 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 packets that match both Flow Specifications.  That is, the PCC must assign a precedence to the Flow Specifications so that it checks
	each incoming packet for a match in a predictable order.</t>
        <t indent="0" pn="section-8.7-2">The processing of BGP Flow Specifications is described in
        <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/>.  Section <xref target="RFC8955" section="5.1" sectionFormat="bare" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8955#section-5.1" derivedContent="RFC8955"/> of
        that document explains the order of traffic filtering rules to
        be executed by an implementation of that specification.</t>
        <t indent="0" pn="section-8.7-3">PCCs <bcp14>MUST</bcp14> apply the same ordering rules as defined in <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/>.</t>
        <t indent="0" pn="section-8.7-4">Furthermore, it is possible that Flow Specifications will be distributed
      by BGP as well as by PCEP as described in this document.  In such
      cases, implementations supporting both approaches <bcp14>MUST</bcp14> apply the
      prioritization and ordering rules as set out in <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/>
      regardless of which protocol distributed the Flow Specifications.
      However, implementations <bcp14>MAY</bcp14> provide a configuration control to
      allow one protocol to take precedence over the other; this may be
      particularly useful if the Flow Specifications make identical matches
      on traffic but have different actions.  It is <bcp14>RECOMMENDED</bcp14> that  a message be
      logged for the operator to understand the behavior when
      two Flow Specifications distributed by different protocols overlap,
      especially when one acts to replace another.</t>
        <t indent="0" pn="section-8.7-5"><xref target="mg-mxfspec" format="default" sectionFormat="of" derivedContent="Section 12.1"/> of this document covers manageability considerations relevant to the
      prioritized ordering of Flow Specifications.</t>
        <t indent="0" pn="section-8.7-6">An implementation that receives a PCEP message carrying a Flow Specification that it cannot resolve
      against other Flow Specifications already installed (for example, because the new Flow Specification has
      irresolvable conflicts with other Flow Specifications that are already installed) <bcp14>MUST</bcp14> respond with a PCErr
      message with Error-Type 30 (FlowSpec Error) and Error-value 3 (Unresolvable Conflict) and <bcp14>MUST NOT</bcp14> install the
      Flow Specification.</t>
      </section>
    </section>
    <section anchor="messages" numbered="true" toc="include" removeInRFC="false" pn="section-9">
      <name slugifiedName="name-pcep-messages">PCEP Messages</name>
      <t indent="0" pn="section-9-1">This section describes the format of messages that contain FLOWSPEC objects.  The
    only difference from previous message formats is the inclusion of that object.</t>
      <t indent="0" pn="section-9-2">The figures in this section use the notation defined in <xref target="RFC5511" format="default" sectionFormat="of" derivedContent="RFC5511"/>.</t>
      <t indent="0" pn="section-9-3">The FLOWSPEC object is <bcp14>OPTIONAL</bcp14> and <bcp14>MAY</bcp14> be carried in the PCEP messages.</t>
      <t indent="0" pn="section-9-4">The PCInitiate message is defined in <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/> and updated
    as below:</t>
      <sourcecode type="rbnf" markers="false" pn="section-9-5">
&lt;PCInitiate Message&gt; ::= &lt;Common Header&gt;
                         &lt;PCE-initiated-lsp-list&gt;

Where:
   &lt;PCE-initiated-lsp-list&gt; ::= &lt;PCE-initiated-lsp-request&gt;
                                [&lt;PCE-initiated-lsp-list&gt;]

   &lt;PCE-initiated-lsp-request&gt; ::=
                                 ( &lt;PCE-initiated-lsp-instantiation&gt;|
                                   &lt;PCE-initiated-lsp-deletion&gt; )

   &lt;PCE-initiated-lsp-instantiation&gt; ::= &lt;SRP&gt;
                                         &lt;LSP&gt;
                                         [&lt;END-POINTS&gt;]
                                         &lt;ERO&gt;
                                         [&lt;attribute-list&gt;]
                                         [&lt;flowspec-list&gt;]

   Where:
      &lt;flowspec-list&gt; ::= &lt;FLOWSPEC&gt; [&lt;flowspec-list&gt;]
</sourcecode>
      <t indent="0" pn="section-9-6">The PCUpd message is defined in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> and
    updated as below:</t>
      <sourcecode type="rbnf" markers="false" pn="section-9-7">
&lt;PCUpd Message&gt; ::= &lt;Common Header&gt;
                    &lt;update-request-list&gt;

Where:
   &lt;update-request-list&gt; ::= &lt;update-request&gt;
                             [&lt;update-request-list&gt;]

   &lt;update-request&gt; ::= &lt;SRP&gt;
                        &lt;LSP&gt;
                        &lt;path&gt;
                        [&lt;flowspec-list&gt;]

   Where:
      &lt;path&gt;::= &lt;intended-path&gt;&lt;intended-attribute-list&gt;

      &lt;flowspec-list&gt; ::= &lt;FLOWSPEC&gt; [&lt;flowspec-list&gt;]
</sourcecode>
      <t indent="0" pn="section-9-8">The PCRpt message is defined in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> and
    updated as below:</t>
      <sourcecode type="rbnf" markers="false" pn="section-9-9">
&lt;PCRpt Message&gt; ::= &lt;Common Header&gt;
                    &lt;state-report-list&gt;

Where:
   &lt;state-report-list&gt; ::= &lt;state-report&gt;[&lt;state-report-list&gt;]

   &lt;state-report&gt; ::= [&lt;SRP&gt;]
                      &lt;LSP&gt;
                      &lt;path&gt;
                      [&lt;flowspec-list&gt;]

    Where:
      &lt;path&gt;::= &lt;intended-path&gt;
                [&lt;actual-attribute-list&gt;&lt;actual-path&gt;]
                &lt;intended-attribute-list&gt;

      &lt;flowspec-list&gt; ::= &lt;FLOWSPEC&gt; [&lt;flowspec-list&gt;]
</sourcecode>
      <t indent="0" pn="section-9-10">The PCReq message is defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> and updated in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>;
    it is further updated below for a Flow Specification:</t>
      <sourcecode type="rbnf" markers="false" pn="section-9-11">
&lt;PCReq Message&gt;::= &lt;Common Header&gt;
                   [&lt;svec-list&gt;]
                   &lt;request-list&gt;

Where:
   &lt;svec-list&gt;::= &lt;SVEC&gt;[&lt;svec-list&gt;]

   &lt;request-list&gt;::= &lt;request&gt;[&lt;request-list&gt;]

   &lt;request&gt;::= &lt;RP&gt;
                &lt;END-POINTS&gt;
                [&lt;LSP&gt;]
                [&lt;LSPA&gt;]
                [&lt;BANDWIDTH&gt;]
                [&lt;metric-list&gt;]
                [&lt;RRO&gt;[&lt;BANDWIDTH&gt;]]
                [&lt;IRO&gt;]
                [&lt;LOAD-BALANCING&gt;]
                [&lt;flowspec-list&gt;]

   Where:
      &lt;flowspec-list&gt; ::= &lt;FLOWSPEC&gt; [&lt;flowspec-list&gt;]
</sourcecode>
      <t indent="0" pn="section-9-12">The PCRep message is defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> and updated in
    <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>; it is further updated below for a Flow
    Specification:</t>
      <sourcecode type="rbnf" markers="false" pn="section-9-13">
&lt;PCRep Message&gt; ::= &lt;Common Header&gt;
                    &lt;response-list&gt;

Where:
   &lt;response-list&gt;::=&lt;response&gt;[&lt;response-list&gt;]

   &lt;response&gt;::=&lt;RP&gt;
               [&lt;LSP&gt;]
               [&lt;NO-PATH&gt;]
               [&lt;attribute-list&gt;]
               [&lt;path-list&gt;]
               [&lt;flowspec-list&gt;]

   Where:
      &lt;flowspec-list&gt; ::= &lt;FLOWSPEC&gt; [&lt;flowspec-list&gt;]
</sourcecode>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-10">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-10-1">This document requests that IANA allocate code points for the protocol elements
    defined in this document.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-10.1">
        <name slugifiedName="name-pcep-objects">PCEP Objects</name>
        <t indent="0" pn="section-10.1-1">IANA maintains a subregistry called "PCEP Objects" within the "Path Computation Element Protocol
   (PCEP) Numbers" registry. Each PCEP object has an Object-Class and an Object-Type, and IANA has allocated new code points in this subregistry as follows:</t>
        <table align="left" pn="table-3">
          <name slugifiedName="name-pcep-objects-subregistry-ad">PCEP Objects Subregistry Additions</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Object-Class Value</th>
              <th align="left" colspan="1" rowspan="1">Name</th>
              <th align="left" colspan="1" rowspan="1">Object-Type</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td rowspan="2" align="left" colspan="1">43</td>
              <td rowspan="2" align="left" colspan="1">FLOWSPEC</td>
              <td align="left" colspan="1" rowspan="1">0: Reserved</td>
              <td align="left" colspan="1" rowspan="1">RFC 9168</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1: Flow Specification</td>
              <td align="left" colspan="1" rowspan="1">RFC 9168</td>
            </tr>
          </tbody>
        </table>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-10.1.1">
          <name slugifiedName="name-pcep-flowspec-object-flag-f">PCEP FLOWSPEC Object Flag Field</name>
          <t indent="0" pn="section-10.1.1-1">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
        object.  New values are to be assigned by Standards Action <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>.
        Each bit should be tracked with the following qualities:

          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-10.1.1-2">
            <li pn="section-10.1.1-2.1">Bit number (counting from bit 0 as the most significant bit)</li>
            <li pn="section-10.1.1-2.2">Capability description</li>
            <li pn="section-10.1.1-2.3">Defining RFC</li>
          </ul>
          <t indent="0" pn="section-10.1.1-3">The initial population of this registry is as follows:</t>
          <table align="left" pn="table-4">
            <name slugifiedName="name-initial-contents-of-the-flo">Initial Contents of the FLOWSPEC Object Flag Field Registry</name>
            <thead>
              <tr>
                <th align="left" colspan="1" rowspan="1">Bit</th>
                <th align="left" colspan="1" rowspan="1">Description</th>
                <th align="left" colspan="1" rowspan="1">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left" colspan="1" rowspan="1">0-5</td>
                <td align="left" colspan="1" rowspan="1">Unassigned</td>
                <td align="left" colspan="1" rowspan="1"/>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">6</td>
                <td align="left" colspan="1" rowspan="1">LPM (L bit)</td>
                <td align="left" colspan="1" rowspan="1">RFC 9168</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">7</td>
                <td align="left" colspan="1" rowspan="1"> Remove (R bit)</td>
                <td align="left" colspan="1" rowspan="1">RFC 9168</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-10.2">
        <name slugifiedName="name-pcep-tlv-type-indicators">PCEP TLV Type Indicators</name>
        <t indent="0" pn="section-10.2-1">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>
        <table align="left" pn="table-5">
          <name slugifiedName="name-pcep-tlv-type-indicators-su">PCEP TLV Type Indicators Subregistry Additions</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
              <th align="left" colspan="1" rowspan="1"> Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">51</td>
              <td align="left" colspan="1" rowspan="1">PCE-FLOWSPEC-CAPABILITY TLV</td>
              <td align="left" colspan="1" rowspan="1">RFC 9168</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">52</td>
              <td align="left" colspan="1" rowspan="1">FLOW FILTER TLV</td>
              <td align="left" colspan="1" rowspan="1">RFC 9168</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="iana" numbered="true" toc="include" removeInRFC="false" pn="section-10.3">
        <name slugifiedName="name-flow-specification-tlv-type-">Flow Specification TLV Type Indicators</name>
        <t indent="0" pn="section-10.3-1">IANA has created a new subregistry called "PCEP Flow Specification TLV Type Indicators" within the "Path Computation Element Protocol (PCEP) Numbers" registry.</t>
        <t indent="0" pn="section-10.3-2">Allocations from this registry are to be made according to the following assignment policies <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>:</t>
        <table align="left" pn="table-6">
          <name slugifiedName="name-registration-procedures-for">Registration Procedures for the PCEP Flow Specification TLV Type Indicators Subregistry</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Range</th>
              <th align="left" colspan="1" rowspan="1">Registration Procedures</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">0-255</td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-10.3-3.2.1.2.1">Reserved - must not be allocated.</t>
                <t indent="0" pn="section-10.3-3.2.1.2.2">Usage mirrors the BGP Flow Spec registry
              <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> <xref target="RFC8956" format="default" sectionFormat="of" derivedContent="RFC8956"/>.</t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">256-64506</td>
              <td align="left" colspan="1" rowspan="1">Specification Required</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">64507-65531</td>
              <td align="left" colspan="1" rowspan="1">First Come First Served</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">65532-65535</td>
              <td align="left" colspan="1" rowspan="1">Experimental Use</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-10.3-4">IANA has populated this registry with values defined in this
      document as follows, taking the new values from the range 256 to 64506:</t>
        <table align="left" pn="table-7">
          <name slugifiedName="name-initial-contents-of-the-pce">Initial Contents of the PCEP Flow Specification TLV Type Indicators Subregistry</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</th>
              <th align="left" colspan="1" rowspan="1">Meaning</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">256</td>
              <td align="left" colspan="1" rowspan="1">Route Distinguisher</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">257</td>
              <td align="left" colspan="1" rowspan="1"> IPv4 Multicast</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">258</td>
              <td align="left" colspan="1" rowspan="1">IPv6 Multicast</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-10.4">
        <name slugifiedName="name-pcep-error-codes">PCEP Error Codes</name>
        <t indent="0" pn="section-10.4-1">IANA maintains a subregistry called "PCEP-ERROR Object Error Types and 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" pn="table-8">
          <name slugifiedName="name-pcep-error-object-error-typ">PCEP-ERROR Object Error Types and Values Subregistry Additions</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Error-Type</th>
              <th align="left" colspan="1" rowspan="1">Meaning</th>
              <th align="left" colspan="1" rowspan="1">Error-value</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td rowspan="7" align="left" colspan="1">30</td>
              <td rowspan="7" align="left" colspan="1">FlowSpec error</td>
              <td align="left" colspan="1" rowspan="1">0: Unassigned</td>
              <td align="left" colspan="1" rowspan="1">RFC 9168</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1: Unsupported FlowSpec</td>
              <td align="left" colspan="1" rowspan="1">RFC 9168</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">2: Malformed FlowSpec</td>
              <td align="left" colspan="1" rowspan="1">RFC 9168</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">3: Unresolvable Conflict</td>
              <td align="left" colspan="1" rowspan="1">RFC 9168</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">4: Unknown FlowSpec</td>
              <td align="left" colspan="1" rowspan="1">RFC 9168</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">5: Unsupported LPM Route</td>
              <td align="left" colspan="1" rowspan="1">RFC 9168</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">6-255: Unassigned</td>
              <td align="left" colspan="1" rowspan="1">RFC 9168</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-10.5">
        <name slugifiedName="name-pce-capability-flag">PCE Capability Flag</name>
        <t indent="0" pn="section-10.5-1">IANA has registered a new capability bit in the OSPF Parameters "Path Computation Element (PCE) Capability Flags" registry as follows:</t>
        <table align="left" pn="table-9">
          <name slugifiedName="name-path-computation-element-pc">Path Computation Element (PCE) Capability Flags Registry Additions</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Bit</th>
              <th align="left" colspan="1" rowspan="1">Capability Description</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">16</td>
              <td align="left" colspan="1" rowspan="1">FlowSpec</td>
              <td align="left" colspan="1" rowspan="1">RFC 9168</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-11">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-11-1">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
    could result in existing paths being modified or torn down.  Such systems, therefore,
    apply security considerations as described in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>,
    <xref target="RFC6952" section="2.5" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6952#section-2.5" derivedContent="RFC6952"/>, <xref target="RFC8253" format="default" sectionFormat="of" derivedContent="RFC8253"/>, and
      <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/>.</t>
      <t indent="0" pn="section-11-2">The description of Flow Specifications associated with paths set up or controlled by a
    PCE adds a further detail that could be attacked without tearing down LSPs or SR paths
    but causes traffic to be misrouted within the network.  Therefore, the use of the security
    mechanisms for PCEP referenced above is important.</t>
      <t indent="0" pn="section-11-3">Visibility into the information carried in PCEP does not have direct privacy concerns for
    end users' data; however, knowledge of how data is routed in a network may make that
    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 endpoints (such as
    multicast receivers or VPN sites) is usually considered private customer information.  Therefore,
    implementations or deployments concerned with protecting privacy <bcp14>MUST</bcp14> apply the mechanisms described
    in the documents referenced above, in particular, to secure the PCEP session using IPsec per Sections
    <xref target="RFC5440" section="10.4" sectionFormat="bare" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5440#section-10.4" derivedContent="RFC5440"/> to <xref target="RFC5440" section="10.6" sectionFormat="bare" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5440#section-10.6" derivedContent="RFC5440"/> of <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> or TLS per <xref target="RFC8253" format="default" sectionFormat="of" derivedContent="RFC8253"/>.  Note that TCP-MD5
    security as originally suggested in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> does not provide sufficient security
    or privacy guarantees and <bcp14>SHOULD NOT</bcp14> be relied upon.</t>
      <t indent="0" pn="section-11-4">Experience with Flow Specifications in BGP systems indicates that they can become complex and
    that the overlap of Flow Specifications installed in different orders can lead to unexpected
    results.  Although this is not directly a security issue per se, the confusion and unexpected
    forwarding behavior may be engineered or exploited by an attacker.  Furthermore, this complexity
    might give rise to a situation where the forwarding behaviors might create gaps in the monitoring
    and inspection of particular traffic or provide a path that avoids expected mitigations.  Therefore,
    implementers and operators <bcp14>SHOULD</bcp14> pay careful attention to the manageability considerations described
    in <xref target="Manage" format="default" sectionFormat="of" derivedContent="Section 12"/> and familiarize themselves with the careful explanations in
    <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/>.</t>
    </section>
    <section anchor="Manage" numbered="true" toc="include" removeInRFC="false" pn="section-12">
      <name slugifiedName="name-manageability-consideration">Manageability Considerations</name>
      <t indent="0" pn="section-12-1">The feature introduced by this document enables operational manageability of networks operated in
     conjunction with a PCE and using PCEP.  In the case of a stateful active
     PCE or with PCE-initiated services, in the absence of this feature, additional manual configuration is needed to tell the head ends
     what traffic to place on the network services (LSPs, SR paths, etc.).</t>
      <t indent="0" pn="section-12-2">This section follows the advice and guidance of <xref target="RFC6123" format="default" sectionFormat="of" derivedContent="RFC6123"/>.</t>
      <section anchor="mg-mxfspec" numbered="true" toc="include" removeInRFC="false" pn="section-12.1">
        <name slugifiedName="name-management-of-multiple-flow">Management of Multiple Flow Specifications</name>
        <t indent="0" pn="section-12.1-1">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, with addresses indicated
       using prefixes and could cause confusion about what traffic should be placed on which path.  Unlike
       the behavior in a distributed routing system, it is not important to the routing stability and consistency
       of the network that each head-end implementation applies the same rules to disambiguate overlapping Flow
       Specifications, but it is important that:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-12.1-2">
          <li pn="section-12.1-2.1">a network operator can easily find out what traffic is being placed on which path and why.  This
            will facilitate analysis of the network and diagnosis of faults.</li>
          <li pn="section-12.1-2.2">a PCE be able to correctly predict the effect of instructions it gives to a PCC.  This will
            ensure that traffic is correctly placed on the network without causing congestion or other
            network inefficiencies and that traffic is correctly delivered.</li>
        </ul>
        <t indent="0" pn="section-12.1-3">To that end, a PCC <bcp14>MUST</bcp14> enable an operator to view the Flow Specifications that it has installed,
       and these <bcp14>MUST</bcp14> be presented in order of precedence such that when two Flow Specifications overlap,
       the one that will be serviced with higher precedence is presented to the operator first.</t>
        <t indent="0" pn="section-12.1-4">A discussion of precedence ordering for Flow Specifications is found in <xref target="priorities" format="default" sectionFormat="of" derivedContent="Section 8.7"/>.</t>
      </section>
      <section anchor="mg-control" numbered="true" toc="include" removeInRFC="false" pn="section-12.2">
        <name slugifiedName="name-control-of-function-through">Control of Function through Configuration and Policy</name>
        <t indent="0" pn="section-12.2-1">Support for the function described in this document implies that a functional element that
       is capable of requesting that a PCE 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
       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
       component (i.e., one not co-implemented with the PCE) is used, a protocol mechanism will be
       required that could be PCEP itself or a data model, such as extensions to the YANG
       model for requesting path computation <xref target="I-D.ietf-teas-yang-path-computation" format="default" sectionFormat="of" derivedContent="TEAS-YANG-PATH"/>.</t>
        <t indent="0" pn="section-12.2-2">Implementations <bcp14>MAY</bcp14> be constructed with a configurable switch to indicate whether they support
       the functions defined in this document.  Otherwise, such implementations <bcp14>MUST</bcp14> indicate
       that they support the function as described in <xref target="cap" format="default" sectionFormat="of" derivedContent="Section 4"/>.  If an implementation
       allows configurable support of this function, that support <bcp14>MAY</bcp14> be configurable per peer or
       once for the whole implementation.</t>
        <t indent="0" pn="section-12.2-3">As mentioned in <xref target="mg-mxfspec" format="default" sectionFormat="of" derivedContent="Section 12.1"/>, a PCE implementation <bcp14>SHOULD</bcp14> provide a mechanism
       to configure variations in the precedence ordering of Flow Specifications per PCC.</t>
      </section>
      <section anchor="mg-model" numbered="true" toc="include" removeInRFC="false" pn="section-12.3">
        <name slugifiedName="name-information-and-data-models">Information and Data Models</name>
        <t indent="0" pn="section-12.3-1">The YANG model in <xref target="I-D.ietf-pce-pcep-yang" format="default" sectionFormat="of" derivedContent="PCE-PCEP-YANG"/> can be used to model and monitor
       PCEP states and messages.  To make that YANG model useful for the extensions described in
       this document, it would need to be augmented to cover the new protocol elements.</t>
        <t indent="0" pn="section-12.3-2">Similarly, as noted in <xref target="mg-control" format="default" sectionFormat="of" derivedContent="Section 12.2"/>, the YANG model defined in
       <xref target="I-D.ietf-teas-yang-path-computation" format="default" sectionFormat="of" derivedContent="TEAS-YANG-PATH"/> could be extended to allow the specification
       of Flow Specifications.</t>
        <t indent="0" pn="section-12.3-3">Finally, as mentioned in <xref target="mg-mxfspec" format="default" sectionFormat="of" derivedContent="Section 12.1"/>, a PCC implementation <bcp14>SHOULD</bcp14> provide
       a mechanism to allow an operator to read the Flow Specifications from a PCC and to
       understand in what order they will be executed.  This could be achieved using a new YANG
       model.</t>
      </section>
      <section anchor="mg-monitor" numbered="true" toc="include" removeInRFC="false" pn="section-12.4">
        <name slugifiedName="name-liveness-detection-and-moni">Liveness Detection and Monitoring</name>
        <t indent="0" pn="section-12.4-1">The extensions defined in this document do not require any additional liveness detection
       and monitoring support.  See <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> and <xref target="RFC5886" format="default" sectionFormat="of" derivedContent="RFC5886"/> for
       more information.</t>
      </section>
      <section anchor="mg-verify" numbered="true" toc="include" removeInRFC="false" pn="section-12.5">
        <name slugifiedName="name-verifying-correct-operation">Verifying Correct Operation</name>
        <t indent="0" pn="section-12.5-1">The chief element of operation that needs to be verified (in addition to the operation
       of the protocol elements as described in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>) is the installation,
       precedence, and correct operation of the Flow Specifications at a PCC.</t>
        <t indent="0" pn="section-12.5-2">In addition to the YANG model, for reading Flow Specifications described in <xref target="mg-model" format="default" sectionFormat="of" derivedContent="Section 12.3"/>,
       tools may be needed to inject Operations and Management (OAM) traffic at the PCC that matches
       specific criteria so that it can be monitored while traveling along the desired path.  Such tools are
       outside the scope of this document.</t>
      </section>
      <section anchor="mg-reqs" numbered="true" toc="include" removeInRFC="false" pn="section-12.6">
        <name slugifiedName="name-requirements-for-other-prot">Requirements for Other Protocols and Functional Components</name>
        <t indent="0" pn="section-12.6-1">This document places no requirements on other protocols or components.</t>
      </section>
      <section anchor="mg-impact" numbered="true" toc="include" removeInRFC="false" pn="section-12.7">
        <name slugifiedName="name-impact-on-network-operation">Impact on Network Operation</name>
        <t indent="0" pn="section-12.7-1">The use of the features described in this document clearly have an important impact
       on network traffic since they cause traffic to be routed on specific paths in the
       network.  However, in practice, these changes make no direct changes to the network
       operation because traffic is already placed on those paths using some pre-existing
       configuration mechanism.  Thus, the significant change is the reduction in mechanisms
       that have to be applied rather than a change to how the traffic is passed through
       the network.</t>
      </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-IDS-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-PATH"/>
    <references pn="section-13">
      <name slugifiedName="name-references">References</name>
      <references pn="section-13.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC4364" target="https://www.rfc-editor.org/info/rfc4364" quoteTitle="true" derivedAnchor="RFC4364">
          <front>
            <title>BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author initials="E." surname="Rosen" fullname="E. Rosen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Rekhter" fullname="Y. Rekhter">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="February"/>
            <abstract>
              <t indent="0">This document describes a method by which a Service Provider may use an IP backbone to provide IP Virtual Private Networks (VPNs) for its customers.  This method uses a "peer model", in which the customers' edge routers (CE routers) send their routes to the Service Provider's edge routers (PE routers); there is no "overlay" visible to the customer's routing algorithm, and CE routers at different sites do not peer with each other.  Data packets are tunneled through the backbone, so that the core routers do not need to know the VPN routes.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4364"/>
          <seriesInfo name="DOI" value="10.17487/RFC4364"/>
        </reference>
        <reference anchor="RFC4760" target="https://www.rfc-editor.org/info/rfc4760" quoteTitle="true" derivedAnchor="RFC4760">
          <front>
            <title>Multiprotocol Extensions for BGP-4</title>
            <author initials="T." surname="Bates" fullname="T. Bates">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Chandra" fullname="R. Chandra">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Katz" fullname="D. Katz">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Rekhter" fullname="Y. Rekhter">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2007" month="January"/>
            <abstract>
              <t indent="0">This document defines extensions to BGP-4 to enable it to carry routing information for multiple Network Layer protocols (e.g., IPv6, IPX, L3VPN, etc.).  The extensions are backward compatible - a router that supports the extensions can interoperate with a router that doesn't support the extensions.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4760"/>
          <seriesInfo name="DOI" value="10.17487/RFC4760"/>
        </reference>
        <reference anchor="RFC5440" target="https://www.rfc-editor.org/info/rfc5440" quoteTitle="true" derivedAnchor="RFC5440">
          <front>
            <title>Path Computation Element (PCE) Communication Protocol (PCEP)</title>
            <author initials="JP." surname="Vasseur" fullname="JP. Vasseur" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="JL." surname="Le Roux" fullname="JL. Le Roux" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="March"/>
            <abstract>
              <t indent="0">This document specifies the Path Computation Element (PCE) Communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a PCE, or between two PCEs.  Such interactions include path computation requests and path computation replies as well as notifications of specific states related to the use of a PCE in the context of Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering.  PCEP is designed to be flexible and extensible so as to easily allow for the addition of further messages and objects, should further requirements be expressed in the future.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5440"/>
          <seriesInfo name="DOI" value="10.17487/RFC5440"/>
        </reference>
        <reference anchor="RFC5511" target="https://www.rfc-editor.org/info/rfc5511" quoteTitle="true" derivedAnchor="RFC5511">
          <front>
            <title>Routing Backus-Naur Form (RBNF): A Syntax Used to Form Encoding Rules in Various Routing Protocol Specifications</title>
            <author initials="A." surname="Farrel" fullname="A. Farrel">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="April"/>
            <abstract>
              <t indent="0">Several protocols have been specified in the Routing Area of the IETF using a common variant of the Backus-Naur Form (BNF) of representing message syntax.  However, there is no formal definition of this version of BNF.</t>
              <t indent="0">There is value in using the same variant of BNF for the set of protocols that are commonly used together.  This reduces confusion and simplifies implementation.</t>
              <t indent="0">Updating existing documents to use some other variant of BNF that is already formally documented would be a substantial piece of work.</t>
              <t indent="0">This document provides a formal definition of the variant of BNF that has been used (that we call Routing BNF) and makes it available for use by new protocols.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5511"/>
          <seriesInfo name="DOI" value="10.17487/RFC5511"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8231" target="https://www.rfc-editor.org/info/rfc8231" quoteTitle="true" derivedAnchor="RFC8231">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE</title>
            <author initials="E." surname="Crabbe" fullname="E. Crabbe">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="I." surname="Minei" fullname="I. Minei">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Medved" fullname="J. Medved">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Varga" fullname="R. Varga">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="September"/>
            <abstract>
              <t indent="0">The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
              <t indent="0">Although PCEP explicitly makes no assumptions regarding the information available to the PCE, it also makes no provisions for PCE control of timing and sequence of path computations within and across PCEP sessions.  This document describes a set of extensions to PCEP to enable stateful control of MPLS-TE and GMPLS Label Switched Paths (LSPs) via PCEP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8231"/>
          <seriesInfo name="DOI" value="10.17487/RFC8231"/>
        </reference>
        <reference anchor="RFC8232" target="https://www.rfc-editor.org/info/rfc8232" quoteTitle="true" derivedAnchor="RFC8232">
          <front>
            <title>Optimizations of Label Switched Path State Synchronization Procedures for a Stateful PCE</title>
            <author initials="E." surname="Crabbe" fullname="E. Crabbe">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="I." surname="Minei" fullname="I. Minei">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Medved" fullname="J. Medved">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Varga" fullname="R. Varga">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="X." surname="Zhang" fullname="X. Zhang">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Dhody" fullname="D. Dhody">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="September"/>
            <abstract>
              <t indent="0">A stateful Path Computation Element (PCE) has access to not only the information disseminated by the network's Interior Gateway Protocol (IGP) but also the set of active paths and their reserved resources for its computation.  The additional Label Switched Path (LSP) state information allows the PCE to compute constrained paths while considering individual LSPs and their interactions.  This requires a State Synchronization mechanism between the PCE and the network, the PCE and Path Computation Clients (PCCs), and cooperating PCEs.  The basic mechanism for State Synchronization is part of the stateful PCE specification.  This document presents motivations for optimizations to the base State Synchronization procedure and specifies the required Path Computation Element Communication Protocol (PCEP) extensions.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8232"/>
          <seriesInfo name="DOI" value="10.17487/RFC8232"/>
        </reference>
        <reference anchor="RFC8253" target="https://www.rfc-editor.org/info/rfc8253" quoteTitle="true" derivedAnchor="RFC8253">
          <front>
            <title>PCEPS: Usage of TLS to Provide a Secure Transport for the Path Computation Element Communication Protocol (PCEP)</title>
            <author initials="D." surname="Lopez" fullname="D. Lopez">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="O." surname="Gonzalez de Dios" fullname="O. Gonzalez de Dios">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Q." surname="Wu" fullname="Q. Wu">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Dhody" fullname="D. Dhody">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="October"/>
            <abstract>
              <t indent="0">The Path Computation Element Communication Protocol (PCEP) defines the mechanisms for the communication between a Path Computation Client (PCC) and a Path Computation Element (PCE), or among PCEs. This document describes PCEPS -- the usage of Transport Layer Security (TLS) to provide a secure transport for PCEP.  The additional security mechanisms are provided by the transport protocol supporting PCEP; therefore, they do not affect the flexibility and extensibility of PCEP.</t>
              <t indent="0">This document updates RFC 5440 in regards to the PCEP initialization phase procedures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8253"/>
          <seriesInfo name="DOI" value="10.17487/RFC8253"/>
        </reference>
        <reference anchor="RFC8281" target="https://www.rfc-editor.org/info/rfc8281" quoteTitle="true" derivedAnchor="RFC8281">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for PCE-Initiated LSP Setup in a Stateful PCE Model</title>
            <author initials="E." surname="Crabbe" fullname="E. Crabbe">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="I." surname="Minei" fullname="I. Minei">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Sivabalan" fullname="S. Sivabalan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Varga" fullname="R. Varga">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="December"/>
            <abstract>
              <t indent="0">The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
              <t indent="0">The extensions for stateful PCE provide active control of Multiprotocol Label Switching (MPLS) Traffic Engineering Label Switched Paths (TE LSPs) via PCEP, for a model where the PCC delegates control over one or more locally configured LSPs to the PCE.  This document describes the creation and deletion of PCE-initiated LSPs under the stateful PCE model.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8281"/>
          <seriesInfo name="DOI" value="10.17487/RFC8281"/>
        </reference>
        <reference anchor="RFC8955" target="https://www.rfc-editor.org/info/rfc8955" quoteTitle="true" derivedAnchor="RFC8955">
          <front>
            <title>Dissemination of Flow Specification Rules</title>
            <author initials="C." surname="Loibl" fullname="C. Loibl">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Hares" fullname="S. Hares">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Raszuk" fullname="R. Raszuk">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="McPherson" fullname="D. McPherson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Bacher" fullname="M. Bacher">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2020" month="December"/>
            <abstract>
              <t indent="0">This document defines a Border Gateway Protocol Network Layer Reachability Information (BGP NLRI) encoding format that can be used to distribute (intra-domain and inter-domain) traffic Flow Specifications for IPv4 unicast and IPv4 BGP/MPLS VPN services. This allows the routing system to propagate information regarding more specific components of the traffic aggregate defined by an IP destination prefix. </t>
              <t indent="0">It also specifies BGP Extended Community encoding formats, which can be used to propagate Traffic Filtering Actions along with the Flow Specification NLRI.  Those Traffic Filtering Actions encode actions a routing system can take if the packet matches the Flow Specification.</t>
              <t indent="0"> This document obsoletes both RFC 5575 and RFC 7674.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8955"/>
          <seriesInfo name="DOI" value="10.17487/RFC8955"/>
        </reference>
        <reference anchor="RFC8956" target="https://www.rfc-editor.org/info/rfc8956" quoteTitle="true" derivedAnchor="RFC8956">
          <front>
            <title>Dissemination of Flow Specification Rules for IPv6</title>
            <author initials="C." surname="Loibl" fullname="C. Loibl" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Raszuk" fullname="R. Raszuk" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Hares" fullname="S. Hares" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2020" month="December"/>
            <abstract>
              <t indent="0">"Dissemination of Flow Specification Rules" (RFC 8955) provides a Border Gateway Protocol (BGP) extension for the propagation of traffic flow information for the purpose of rate limiting or filtering IPv4 protocol data packets. </t>
              <t indent="0">This document extends RFC 8955 with IPv6 functionality. It also updates RFC 8955 by changing the IANA Flow Spec Component Types registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8956"/>
          <seriesInfo name="DOI" value="10.17487/RFC8956"/>
        </reference>
      </references>
      <references pn="section-13.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.ietf-idr-flowspec-l2vpn" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-idr-flowspec-l2vpn-18" derivedAnchor="BGP-L2VPN">
          <front>
            <title>BGP Dissemination of L2 Flow Specification Rules</title>
            <author fullname="Weiguo Hao">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Donald E. Eastlake">
              <organization showOnFrontPage="true">Futurewei Technologies</organization>
            </author>
            <author fullname="Stephane Litkowski">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author fullname="Shunwan Zhuang">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <date month="October" day="24" year="2021"/>
            <abstract>
              <t indent="0">   This document defines a Border Gateway Protocol (BGP) Flow
   Specification (flowspec) extension to disseminate Ethernet Layer 2
   (L2) and Layer 2 Virtual Private Network (L2VPN) traffic filtering
   rules either by themselves or in conjunction with L3 flowspecs.
   AFI/SAFI 6/133 and 25/134 are used for these purposes.  New component
   types and two extended communities are also defined.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-flowspec-l2vpn-18"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-idr-flowspec-l2vpn-18.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.gont-numeric-ids-sec-considerations" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-gont-numeric-ids-sec-considerations-06" derivedAnchor="NUMERIC-IDS-SEC">
          <front>
            <title>Security Considerations for Transient Numeric Identifiers Employed in Network Protocols</title>
            <author fullname="Fernando Gont">
              <organization showOnFrontPage="true">SI6 Networks</organization>
            </author>
            <author fullname="Ivan Arce">
              <organization showOnFrontPage="true">Quarkslab</organization>
            </author>
            <date month="December" day="5" year="2020"/>
            <abstract>
              <t indent="0">   Poor selection of transient numerical identifiers in protocols such
   as the TCP/IP suite has historically led to a number of attacks on
   implementations, ranging from Denial of Service (DoS) to data
   injection and information leakage that can be exploited by pervasive
   monitoring.  To prevent such flaws in future protocols and
   implementations, this document updates RFC 3552, requiring future
   RFCs to contain analysis of the security and privacy properties of
   any transient numeric identifiers specified by the protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-gont-numeric-ids-sec-considerations-06"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-gont-numeric-ids-sec-considerations-06.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-pce-pcep-yang" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-pce-pcep-yang-17" derivedAnchor="PCE-PCEP-YANG">
          <front>
            <title>A YANG Data Model for Path Computation Element Communications Protocol (PCEP)</title>
            <author fullname="Dhruv Dhody">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Jonathan Hardwick">
              <organization showOnFrontPage="true">Metaswitch</organization>
            </author>
            <author fullname="Vishnu Pavan Beeram">
              <organization showOnFrontPage="true">Juniper Networks</organization>
            </author>
            <author fullname="Jeff Tantsura">
              <organization showOnFrontPage="true">Apstra, Inc.</organization>
            </author>
            <date month="October" day="23" year="2021"/>
            <abstract>
              <t indent="0">   This document defines a YANG data model for the management of Path
   Computation Element communications Protocol (PCEP) for communications
   between a Path Computation Client (PCC) and a Path Computation
   Element (PCE), or between two PCEs.  The data model includes
   configuration and state data.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-pcep-yang-17"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-pce-pcep-yang-17.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC4655" target="https://www.rfc-editor.org/info/rfc4655" quoteTitle="true" derivedAnchor="RFC4655">
          <front>
            <title>A Path Computation Element (PCE)-Based Architecture</title>
            <author initials="A." surname="Farrel" fullname="A. Farrel">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J.-P." surname="Vasseur" fullname="J.-P. Vasseur">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Ash" fullname="J. Ash">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="August"/>
            <abstract>
              <t indent="0">Constraint-based path computation is a fundamental building block for traffic engineering systems such as Multiprotocol Label Switching (MPLS) and Generalized Multiprotocol Label Switching (GMPLS) networks.  Path computation in large, multi-domain, multi-region, or multi-layer networks is complex and may require special computational components and cooperation between the different network domains.</t>
              <t indent="0">This document specifies the architecture for a Path Computation Element (PCE)-based model to address this problem space.  This document does not attempt to provide a detailed description of all the architectural components, but rather it describes a set of building blocks for the PCE architecture from which solutions may be constructed.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4655"/>
          <seriesInfo name="DOI" value="10.17487/RFC4655"/>
        </reference>
        <reference anchor="RFC5088" target="https://www.rfc-editor.org/info/rfc5088" quoteTitle="true" derivedAnchor="RFC5088">
          <front>
            <title>OSPF Protocol Extensions for Path Computation Element (PCE) Discovery</title>
            <author initials="JL." surname="Le Roux" fullname="JL. Le Roux" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="JP." surname="Vasseur" fullname="JP. Vasseur" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Ikejiri" fullname="Y. Ikejiri">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Zhang" fullname="R. Zhang">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2008" month="January"/>
            <abstract>
              <t indent="0">There are various circumstances where it is highly desirable for a Path Computation Client (PCC) to be able to dynamically and automatically discover a set of Path Computation Elements (PCEs), along with information that can be used by the PCC for PCE selection. When the PCE is a Label Switching Router (LSR) participating in the Interior Gateway Protocol (IGP), or even a server participating passively in the IGP, a simple and efficient way to announce PCEs consists of using IGP flooding.  For that purpose, this document defines extensions to the Open Shortest Path First (OSPF) routing protocol for the advertisement of PCE Discovery information within an OSPF area or within the entire OSPF routing domain.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5088"/>
          <seriesInfo name="DOI" value="10.17487/RFC5088"/>
        </reference>
        <reference anchor="RFC5089" target="https://www.rfc-editor.org/info/rfc5089" quoteTitle="true" derivedAnchor="RFC5089">
          <front>
            <title>IS-IS Protocol Extensions for Path Computation Element (PCE) Discovery</title>
            <author initials="JL." surname="Le Roux" fullname="JL. Le Roux" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="JP." surname="Vasseur" fullname="JP. Vasseur" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Ikejiri" fullname="Y. Ikejiri">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Zhang" fullname="R. Zhang">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2008" month="January"/>
            <abstract>
              <t indent="0">There are various circumstances where it is highly desirable for a Path Computation Client (PCC) to be able to dynamically and automatically discover a set of Path Computation Elements (PCEs), along with information that can be used by the PCC for PCE selection. When the PCE is a Label Switching Router (LSR) participating in the Interior Gateway Protocol (IGP), or even a server participating passively in the IGP, a simple and efficient way to announce PCEs consists of using IGP flooding.  For that purpose, this document defines extensions to the Intermediate System to Intermediate System (IS-IS) routing protocol for the advertisement of PCE Discovery information within an IS-IS area or within the entire IS-IS routing domain.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5089"/>
          <seriesInfo name="DOI" value="10.17487/RFC5089"/>
        </reference>
        <reference anchor="RFC5886" target="https://www.rfc-editor.org/info/rfc5886" quoteTitle="true" derivedAnchor="RFC5886">
          <front>
            <title>A Set of Monitoring Tools for Path Computation Element (PCE)-Based Architecture</title>
            <author initials="JP." surname="Vasseur" fullname="JP. Vasseur" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="JL." surname="Le Roux" fullname="JL. Le Roux">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Ikejiri" fullname="Y. Ikejiri">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2010" month="June"/>
            <abstract>
              <t indent="0">A Path Computation Element (PCE)-based architecture has been specified for the computation of Traffic Engineering (TE) Label Switched Paths (LSPs) in Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) networks in the context of single or multiple domains (where a domain refers to a collection of network elements within a common sphere of address management or path computational responsibility such as Interior Gateway Protocol (IGP) areas and Autonomous Systems).  Path Computation Clients (PCCs) send computation requests to PCEs, and these may forward the requests to and cooperate with other PCEs forming a "path computation chain".</t>
              <t indent="0">In PCE-based environments, it is thus critical to monitor the state of the path computation chain for troubleshooting and performance monitoring purposes: liveness of each element (PCE) involved in the PCE chain and detection of potential resource contention states and statistics in terms of path computation times are examples of such metrics of interest.  This document specifies procedures and extensions to the Path Computation Element Protocol (PCEP) in order to gather such information.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5886"/>
          <seriesInfo name="DOI" value="10.17487/RFC5886"/>
        </reference>
        <reference anchor="RFC6123" target="https://www.rfc-editor.org/info/rfc6123" quoteTitle="true" derivedAnchor="RFC6123">
          <front>
            <title>Inclusion of Manageability Sections in Path Computation Element (PCE) Working Group Drafts</title>
            <author initials="A." surname="Farrel" fullname="A. Farrel">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2011" month="February"/>
            <abstract>
              <t indent="0">It has often been the case that manageability considerations have been retrofitted to protocols after they have been specified, standardized, implemented, or deployed.  This is sub-optimal. Similarly, new protocols or protocol extensions are frequently designed without due consideration of manageability requirements.</t>
              <t indent="0">The Operations Area has developed "Guidelines for Considering Operations and Management of New Protocols and Protocol Extensions" (RFC 5706), and those guidelines have been adopted by the Path Computation Element (PCE) Working Group.</t>
              <t indent="0">Previously, the PCE Working Group used the recommendations contained in this document to guide authors of Internet-Drafts on the contents of "Manageability Considerations" sections in their work.  This document is retained for historic reference.  This document  defines a Historic Document for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6123"/>
          <seriesInfo name="DOI" value="10.17487/RFC6123"/>
        </reference>
        <reference anchor="RFC6952" target="https://www.rfc-editor.org/info/rfc6952" quoteTitle="true" derivedAnchor="RFC6952">
          <front>
            <title>Analysis of BGP, LDP, PCEP, and MSDP Issues According to the Keying and Authentication for Routing Protocols (KARP) Design Guide</title>
            <author initials="M." surname="Jethanandani" fullname="M. Jethanandani">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Patel" fullname="K. Patel">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Zheng" fullname="L. Zheng">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2013" month="May"/>
            <abstract>
              <t indent="0">This document analyzes TCP-based routing protocols, the Border Gateway Protocol (BGP), the Label Distribution Protocol (LDP), the Path Computation Element Communication Protocol (PCEP), and the Multicast Source Distribution Protocol (MSDP), according to guidelines set forth in Section 4.2 of "Keying and Authentication for            Routing Protocols Design Guidelines", RFC 6518.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6952"/>
          <seriesInfo name="DOI" value="10.17487/RFC6952"/>
        </reference>
        <reference anchor="RFC7399" target="https://www.rfc-editor.org/info/rfc7399" quoteTitle="true" derivedAnchor="RFC7399">
          <front>
            <title>Unanswered Questions in the Path Computation Element Architecture</title>
            <author initials="A." surname="Farrel" fullname="A. Farrel">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="King" fullname="D. King">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="October"/>
            <abstract>
              <t indent="0">The Path Computation Element (PCE) architecture is set out in RFC 4655.  The architecture is extended for multi-layer networking with the introduction of the Virtual Network Topology Manager (VNTM) in RFC 5623 and generalized to Hierarchical PCE (H-PCE) in RFC 6805.</t>
              <t indent="0">These three architectural views of PCE deliberately leave some key questions unanswered, especially with respect to the interactions between architectural components.  This document draws out those questions and discusses them in an architectural context with reference to other architectural components, existing protocols, and recent IETF efforts.</t>
              <t indent="0">This document does not update the architecture documents and does not define how protocols or components must be used.  It does, however, suggest how the architectural components might be combined to provide advanced PCE function.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7399"/>
          <seriesInfo name="DOI" value="10.17487/RFC7399"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true" derivedAnchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author initials="M." surname="Cotton" fullname="M. Cotton">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Narten" fullname="T. Narten">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="June"/>
            <abstract>
              <t indent="0">Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t indent="0">To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t indent="0">This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8283" target="https://www.rfc-editor.org/info/rfc8283" quoteTitle="true" derivedAnchor="RFC8283">
          <front>
            <title>An Architecture for Use of PCE and the PCE Communication Protocol (PCEP) in a Network with Central Control</title>
            <author initials="A." surname="Farrel" fullname="A. Farrel" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Q." surname="Zhao" fullname="Q. Zhao" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Z." surname="Li" fullname="Z. Li">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Zhou" fullname="C. Zhou">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="December"/>
            <abstract>
              <t indent="0">The Path Computation Element (PCE) is a core component of Software- Defined Networking (SDN) systems.  It can compute optimal paths for traffic across a network and can also update the paths to reflect changes in the network or traffic demands.</t>
              <t indent="0">PCE was developed to derive paths for MPLS Label Switched Paths (LSPs), which are supplied to the head end of the LSP using the Path Computation Element Communication Protocol (PCEP).</t>
              <t indent="0">SDN has a broader applicability than signaled MPLS traffic-engineered (TE) networks, and the PCE may be used to determine paths in a range of use cases including static LSPs, segment routing, Service Function Chaining (SFC), and most forms of a routed or switched network.  It is, therefore, reasonable to consider PCEP as a control protocol for use in these environments to allow the PCE to be fully enabled as a central controller.</t>
              <t indent="0">This document briefly introduces the architecture for PCE as a central controller, examines the motivations and applicability for PCEP as a control protocol in this environment, and introduces the implications for the protocol.  A PCE-based central controller can simplify the processing of a distributed control plane by blending it with elements of SDN and without necessarily completely replacing it.</t>
              <t indent="0">This document does not describe use cases in detail and does not define protocol extensions: that work is left for other documents.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8283"/>
          <seriesInfo name="DOI" value="10.17487/RFC8283"/>
        </reference>
        <reference anchor="RFC8664" target="https://www.rfc-editor.org/info/rfc8664" quoteTitle="true" derivedAnchor="RFC8664">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing</title>
            <author initials="S." surname="Sivabalan" fullname="S. Sivabalan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Tantsura" fullname="J. Tantsura">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="W." surname="Henderickx" fullname="W. Henderickx">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Hardwick" fullname="J. Hardwick">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="December"/>
            <abstract>
              <t indent="0">Segment Routing (SR) enables any head-end node to select any path without relying on a hop-by-hop signaling technique (e.g., LDP or RSVP-TE). It depends only on "segments" that are advertised by link-state Interior Gateway Protocols (IGPs). An SR path can be derived from a variety of mechanisms, including an IGP Shortest Path Tree (SPT), an explicit configuration, or a Path Computation Element (PCE). This document specifies extensions to the Path Computation Element Communication Protocol (PCEP) that allow a stateful PCE to compute and initiate Traffic-Engineering (TE) paths, as well as a Path Computation Client (PCC) to request a path subject to certain constraints and optimization criteria in SR networks.</t>
              <t indent="0">This document updates RFC 8408.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8664"/>
          <seriesInfo name="DOI" value="10.17487/RFC8664"/>
        </reference>
        <reference anchor="I-D.ietf-teas-yang-path-computation" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-teas-yang-path-computation-16" derivedAnchor="TEAS-YANG-PATH">
          <front>
            <title>YANG Data Model for requesting Path Computation</title>
            <author fullname="Italo Busi">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <author fullname="Sergio Belotti">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <author fullname="Victor Lopez">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <author fullname="Anurag Sharma">
              <organization showOnFrontPage="true">Google</organization>
            </author>
            <author fullname="Yan Shi">
              <organization showOnFrontPage="true">China Unicom</organization>
            </author>
            <date month="September" day="6" year="2021"/>
            <abstract>
              <t indent="0">   There are scenarios, typically in a hierarchical Software-Defined
   Networking (SDN) context, where the topology information provided by
   a Traffic Engineering (TE) network provider may be insufficient for
   its client to perform end-to-end path computation. In these cases the
   client would need to request the provider to calculate some (partial)
   feasible paths.

   This document defines a YANG data model for a Remote Procedure Call
   (RPC) to request path computation. This model complements the
   solution, defined in RFC YYYY, to configure a TE tunnel path in
   "compute-only" mode.

   [RFC EDITOR NOTE: Please replace RFC YYYY with the RFC number of
   draft-ietf-teas-yang-te once it has been published.

   Moreover this document describes some use cases where a path
   computation request, via YANG-based protocols (e.g., NETCONF or
   RESTCONF), can be needed.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-yang-path-computation-16"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-teas-yang-path-computation-16.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
      </references>
    </references>
    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">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"/>, <contact fullname="Roman Danyliw"/>, and <contact fullname="Alvaro Retana"/> for useful discussions and
     comments.</t>
    </section>
    <section toc="include" numbered="false" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors</name>
      <contact fullname="Shankara">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <street>Divyashree Techno Park, Whitefield</street>
            <extaddr/>
            <city>Bangalore</city>
            <region>Karnataka</region>
            <code>560066</code>
            <country>India</country>
          </postal>
          <email>shankara@huawei.com</email>
        </address>
      </contact>
      <contact fullname="Qiandeng Liang">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <street>101 Software Avenue,</street>
            <extaddr>Yuhuatai District</extaddr>
            <region>Nanjing</region>
            <code>210012</code>
            <country>China</country>
          </postal>
          <email>liangqiandeng@huawei.com</email>
        </address>
      </contact>
      <contact fullname="Cyril Margaria">
        <organization showOnFrontPage="true">Juniper Networks</organization>
        <address>
          <postal>
            <street>200 Somerset Corporate Boulevard, Suite 4001</street>
            <region>Bridgewater, NJ</region>
            <code>08807</code>
            <country>USA</country>
          </postal>
          <email>cmargaria@juniper.net</email>
        </address>
      </contact>
      <contact fullname="Colby Barth">
        <organization showOnFrontPage="true">Juniper Networks</organization>
        <address>
          <postal>
            <street>200 Somerset Corporate Boulevard, Suite 4001</street>
            <region>Bridgewater, NJ</region>
            <code>08807</code>
            <country>USA</country>
          </postal>
          <email>cbarth@juniper.net</email>
        </address>
      </contact>
      <contact fullname="Xia Chen">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <street>Huawei Bld., No. 156 Beiqing Rd.</street>
            <region>Beijing</region>
            <code>100095</code>
            <country>China</country>
          </postal>
          <email>jescia.chenxia@huawei.com</email>
        </address>
      </contact>
      <contact fullname="Shunwan Zhuang">
        <organization showOnFrontPage="true">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>
        </address>
      </contact>
      <contact fullname="Cheng Li">
        <organization showOnFrontPage="true">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>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author surname="Dhody" initials="D." fullname="Dhruv Dhody">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <street>Divyashree Techno Park, Whitefield</street>
            <city>Bangalore</city>
            <region>Karnataka</region>
            <code>560066</code>
            <country>India</country>
          </postal>
          <email>dhruv.ietf@gmail.com</email>
        </address>
      </author>
      <author surname="Farrel" initials="A." fullname="Adrian Farrel">
        <organization showOnFrontPage="true">Old Dog Consulting</organization>
        <address>
          <email>adrian@olddog.co.uk</email>
        </address>
      </author>
      <author surname="Li" initials="Z." fullname="Zhenbin Li">
        <organization showOnFrontPage="true">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>
    </section>
  </back>
</rfc>
