<?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-idr-bgp-flowspec-oid-15" indexInclude="true" ipr="trust200902" number="9117" prepTime="2021-08-23T22:28:11" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="4" tocInclude="true" updates="8955" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-idr-bgp-flowspec-oid-15" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9117" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Revised Flowspec Validation Procedure">Revised Validation Procedure for BGP Flow Specifications</title>
    <seriesInfo name="RFC" value="9117" stream="IETF"/>
    <author fullname="James Uttaro" initials="J" surname="Uttaro">
      <organization showOnFrontPage="true">AT&amp;T</organization>
      <address>
        <postal>
          <street>200 S. Laurel Ave</street>
          <city>Middletown</city>
          <region>NJ</region>
          <code>07748</code>
          <country>United States of America</country>
        </postal>
        <email>ju1738@att.com</email>
      </address>
    </author>
    <author fullname="Juan Alcaide" initials="J" surname="Alcaide">
      <organization showOnFrontPage="true">Cisco</organization>
      <address>
        <postal>
          <street>7100 Kit Creek Road</street>
          <extaddr>Research Triangle Park</extaddr>
          <city>Morrisville</city>
          <region>NC</region>
          <code>27709</code>
          <country>United States of America</country>
        </postal>
        <email>jalcaide@cisco.com</email>
      </address>
    </author>
    <author fullname="Clarence Filsfils" initials="C" surname="Filsfils">
      <organization showOnFrontPage="true">Cisco</organization>
      <address>
        <email>cf@cisco.com</email>
      </address>
    </author>
    <author fullname="David Smith" initials="D" surname="Smith">
      <organization showOnFrontPage="true">Cisco</organization>
      <address>
        <postal>
          <street>111 Wood Ave South</street>
          <city>Iselin</city>
          <region>NJ</region>
          <code>08830</code>
          <country>United States of America</country>
        </postal>
        <email>djsmith@cisco.com</email>
      </address>
    </author>
    <author fullname="Pradosh Mohapatra" initials="P" surname="Mohapatra">
      <organization showOnFrontPage="true">Sproute Networks</organization>
      <address>
        <email>mpradosh@yahoo.com</email>
      </address>
    </author>
    <date month="08" year="2021"/>
    <area>Routing</area>
    <workgroup>IDR</workgroup>
    <keyword>BGP flowspec</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">
   This document describes a modification to the validation procedure defined
   for the dissemination of BGP Flow Specifications.  The dissemination of BGP
   Flow Specifications as specified in RFC 8955 requires that the originator
   of the Flow Specification match the originator of the best-match unicast
   route for the destination prefix embedded in the Flow Specification. For an
   Internal Border Gateway Protocol (iBGP) received route, the originator is
   typically a border router within the same autonomous system (AS).  The
   objective is to allow only BGP speakers within the data forwarding path to
   originate BGP Flow Specifications.  Sometimes it is desirable to originate
   the BGP Flow Specification from any place within the autonomous system
   itself, for example, from a centralized BGP route controller.  However, the
   validation procedure described in RFC 8955 will fail in this scenario.  The modification
   proposed herein relaxes the validation rule to enable Flow Specifications
   to be originated within the same autonomous system as the BGP speaker
   performing the validation.  Additionally, this document revises the AS_PATH
   validation rules so Flow Specifications received from an External Border
   Gateway Protocol (eBGP) peer can be validated when such a peer is a BGP
   route server.

      </t>
      <t indent="0" pn="section-abstract-2">
	 This document updates the validation procedure in RFC 8955.
      </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/rfc9117" 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) 2021 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 Simplified BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Simplified 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-definitions-of-terms-used-i">Definitions of Terms Used in This Memo</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" 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-motivation">Motivation</xref></t>
          </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-revised-validation-procedur">Revised Validation Procedure</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-revision-of-route-feasibili">Revision of Route Feasibility</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-revision-of-as_path-validat">Revision of AS_PATH Validation</xref></t>
              </li>
            </ul>
          </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-topology-considerations">Topology Considerations</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-iana-considerations">IANA Considerations</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-security-considerations">Security Considerations</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-references">References</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-normative-references">Normative References</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-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.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.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">
	 <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> defines BGP Network Layer
	 Reachability Information (NLRI) <xref target="RFC4760" format="default" sectionFormat="of" derivedContent="RFC4760"/> that can be used to distribute traffic Flow
	 Specifications amongst BGP speakers in support of traffic
	 filtering. The primary intention of <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> is to enable downstream autonomous systems to
	 signal traffic filtering policies to upstream autonomous systems.  In
	 this way, traffic is filtered closer to the source and the upstream
	 autonomous systems avoid carrying the traffic to the downstream
	 autonomous systems only to be discarded.  <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> also enables more granular traffic filtering based
	 upon upper-layer protocol information (e.g., protocol or port
	 numbers) as opposed to coarse IP destination prefix-based filtering.
	 Flow Specification NLRIs received from a BGP peer is subject to
	 validity checks before being considered feasible and subsequently
	 installed within the respective Adj-RIB-In.
      </t>
      <t indent="0" pn="section-1-2">
	  The validation procedure defined within <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> requires that the originator of the Flow
	  Specification NLRI match the originator of the best-match unicast
	  route for the destination prefix embedded in the Flow Specification.
	  The aim is to make sure that only speakers on the forwarding path
	  can originate the Flow Specification.  Let's consider the particular
	  case where the Flow Specification is originated in any location
	  within the same Local Domain as the speaker performing the
	  validation (for example, by a centralized BGP route controller), and
	  the best-match unicast route is originated in another Local Domain.
	  In order for the validation to succeed for a Flow Specification
	  received from an iBGP peer, it would be necessary to disseminate
	  such Flow Specification NLRI directly from the specific border
	  router (within the Local Domain) that is advertising the
	  corresponding best-match unicast route to the Local Domain.  Those
	  border routers would be acting as de facto route controllers.  This
	  approach would be, however, operationally cumbersome in a Local
	  Domain with numerous border routers having complex BGP policies.
      </t>
      <t indent="0" pn="section-1-3">
	   <xref target="fig_1" format="default" sectionFormat="of" derivedContent="Figure 1"/> illustrates this principle.  R1 (the upstream router) and
	   RR (a route reflector) need to validate the Flow Specification
	   whose embedded destination prefix has a best-match unicast route
	   (dest-route) originated by ASBR2.  ASBR2 could originate the Flow
	   Specification, and it would be validated when received by RR and R1
	   (from their point of view, the originator of both the Flow
	   Specification and the best-match unicast route will be ASBR1).
	   Sometimes the Flow Specification needs to be originated within AS1.
	   ASBR1 could originate it, and the Flow Specification would still be
	   validated.  In both cases, the Flow Specification is originated by
	   a router in the same forwarding path as the dest-route.  For the
	   case where AS1 has thousands of ASBRs, it becomes impractical to
	   originate different Flow Specification rules on each ASBR in AS1
	   based on which ASBR each dest-route is learned from.  To make the
	   situation more tenable, the objective is to advertise all the Flow
	   Specifications from the same route controller.
      </t>
      <figure anchor="fig_1" align="left" suppress-title="false" pn="figure-1">
        <artwork align="left" name="" type="" alt="" pn="section-1-4.1">
        R1(AS1) --- RR(AS1) --- ASBR1(AS1) --- ASBR2(AS2)
                     |
             route controller(AS1)
	 </artwork>
      </figure>
      <t indent="0" pn="section-1-5"> This document describes a modification to the validation procedure described in <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/>, by allowing Flow Specification
      NLRIs to be originated from a centralized BGP route controller located
      within the Local Domain and not necessarily in the data-forwarding path.
      While the proposed modification cannot be used for inter-domain
      coordination of traffic filtering, it greatly simplifies distribution of
      intra-domain traffic filtering policies within a Local Domain that has
      numerous border routers having complex BGP policies.  By relaxing the
      validation procedure for iBGP, the proposed modification allows Flow
      Specifications to be distributed in a standard and scalable manner
      throughout the Local Domain.
      </t>
      <t indent="0" pn="section-1-6">

		Throughout this document, some references are made to
		AS_CONFED_SEQUENCE segments; see Sections <xref target="REV_ROUTE" format="counter" sectionFormat="of" derivedContent="4.1"/> and <xref target="topology" format="counter" sectionFormat="of" derivedContent="5"/>.  If AS_CONFED_SET
		segments are also present in the AS_PATH, the same
		considerations apply to them.  Note, however, that the use of
		AS_CONFED_SET segments is not recommended <xref target="RFC6472" format="default" sectionFormat="of" derivedContent="RFC6472"/>.  Refer to <xref target="I-D.ietf-idr-deprecate-as-set-confed-set" format="default" sectionFormat="of" derivedContent="CONFED-SET"/> as well.
      </t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-definitions-of-terms-used-i">Definitions of Terms Used in This Memo</name>
      <dl indent="3" newline="false" spacing="normal" pn="section-2-1">
        <dt pn="section-2-1.1">Local Domain:
</dt>
        <dd pn="section-2-1.2">the local AS or the local confederation of ASes <xref target="RFC5065" format="default" sectionFormat="of" derivedContent="RFC5065"/>.
</dd>
        <dt pn="section-2-1.3">eBGP:
</dt>
        <dd pn="section-2-1.4">BGP peering to a router not within the Local Domain.</dd>
        <dt pn="section-2-1.5">iBGP:
</dt>
        <dd pn="section-2-1.6">Both classic iBGP and any form of eBGP peering with a router within the
same confederation (i.e., iBGP peering is a peering that is not eBGP as
defined above).
</dd>
      </dl>
      <t indent="0" pn="section-2-2">
    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>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-motivation">Motivation</name>
      <t indent="0" pn="section-3-1">Step (b) of the validation procedure in <xref sectionFormat="of" section="6" target="RFC8955" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8955#section-6" derivedContent="RFC8955"/> is defined with the
      underlying assumption that the Flow Specification NLRI traverses the
      same path, in the inter-domain and intra-domain route distribution
      graph, as that of the longest-match unicast route for the destination
      prefix embedded in the Flow Specification.
      </t>
      <t indent="0" pn="section-3-2">
     In the case of inter-domain traffic filtering, the Flow Specification
     originator at the egress border routers of an AS (e.g., RTR-D and RTR-E
     of AS1 in <xref target="fig_2" format="default" sectionFormat="of" derivedContent="Figure 2"/>) matches the eBGP neighbor that
     advertised the longest match destination prefix (see RTR-F and RTR-G,
     respectively, in <xref target="fig_2" format="default" sectionFormat="of" derivedContent="Figure 2"/>).
      </t>
      <t indent="0" pn="section-3-3">
	 Similarly, at the upstream routers of an AS (see RTR-A and RTR-B of
	 AS1 in <xref target="fig_2" format="default" sectionFormat="of" derivedContent="Figure 2"/>), the Flow Specification originator
	 matches the egress iBGP border routers that had advertised the
	 unicast route for the best-match destination prefix (see RTR-D and
	 RTR-E, respectively, in <xref target="fig_2" format="default" sectionFormat="of" derivedContent="Figure 2"/>).  This is true even
	 when upstream routers select paths from different egress border
	 routers as the best route based upon IGP distance.  For example, in <xref target="fig_2" format="default" sectionFormat="of" derivedContent="Figure 2"/>:
      </t>
      <ul empty="true" spacing="normal" bare="false" indent="3" pn="section-3-4">
        <li pn="section-3-4.1">RTR-A chooses RTR-D as the best route
	 </li>
        <li pn="section-3-4.2">RTR-B chooses RTR-E as the best route
	 </li>
      </ul>
      <figure anchor="fig_2" align="left" suppress-title="false" pn="figure-2">
        <artwork align="left" name="" type="" alt="" pn="section-3-5.1">
                  / - - - - - - - - - - - - -  -
                  |            AS1              |
                    +-------+        +-------+
                  | |       |        |       |  |
                    | RTR-A |        | RTR-B |
                  | |       |        |       |  |
                    +-------+        +-------+
                  |       \           /         |
                     iBGP  \         / iBGP
                  |         \       /           |
                            +-------+
                  |         |       |           |
                            | RTR-C |
                  |         |  RC   |           |
                            +-------+
                  |           /   \             |
                             /     \
                  |   iBGP  /       \ iBGP      |
                    +-------+        +-------+
                  | | RTR-D |        | RTR-E |  |
                    |       |        |       |
                  | |       |        |       |  |
                    +-------+        +-------+
                  |     |                 |     |
                   - - -|- - - - - - - - -|- - -/
                        | eBGP       eBGP |
                   - - -|- - - - - - - - -|- - -/
                  |     |                 |     |
                    +-------+        +-------+
                  | |       |        |       |  |
                    | RTR-F |        | RTR-G |
                  | |       |        |       |  |
                    +-------+        +-------+
                  |            AS2              |
                  / - - - - - - - - - - - - -  -
	 </artwork>
      </figure>
      <t indent="0" pn="section-3-6">It is highly desirable that mechanisms exist to protect each AS independently 
   from network security attacks using the BGP Flow Specification NLRI for 
   intra-AS purposes only. Network operators often deploy a dedicated 
   Security Operations Center (SOC) within their AS to monitor and detect such security attacks. 
   To mitigate attacks within an AS, operators require 
   the ability to originate intra-AS Flow Specification NLRIs from a 
   central BGP route controller that is not within the data forwarding plane. 
   In this way, operators can direct border routers within their AS with 
   specific attack-mitigation actions (drop the traffic, forward to a pipe-cleaning location, etc.).  
      </t>
      <t indent="0" pn="section-3-7">
   In addition, an operator may extend the requirements above for a group of
   ASes via policy.  This is described in <xref target="REV_ROUTE" format="default" sectionFormat="of" derivedContent="Section 4.1"/> (<xref target="b.2.3" format="none" sectionFormat="of" derivedContent="">b.2.3</xref>) of the validation procedure.
      </t>
      <t indent="0" pn="section-3-8">
   A central BGP route controller that originates Flow Specification
   NLRI should be able to avoid the complexity of having to determine
   the egress border router whose path was chosen as the best for each
   of its neighbors.

   When a central BGP route controller originates Flow Specification NLRI, the rest of the speakers
   within the AS will see the BGP route controller as the originator of the Flow Specification in terms
   of the validation procedure rules. Thus, it is necessary to modify step (b) of the validation procedure described in <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> 
   such that an iBGP peer that is not within the data forwarding plane
   may originate Flow Specification NLRIs.
      </t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-revised-validation-procedur">Revised Validation Procedure</name>
      <section anchor="REV_ROUTE" numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-revision-of-route-feasibili">Revision of Route Feasibility</name>
        <t indent="0" pn="section-4.1-1">Step (b) of the validation procedure specified in <xref target="RFC8955" sectionFormat="of" section="6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8955#section-6" derivedContent="RFC8955"/> is
        redefined as follows:
        </t>
        <blockquote pn="section-4.1-2">
          <dl newline="false" spacing="normal" indent="3" pn="section-4.1-2.1">
            <dt pn="section-4.1-2.1.1">b)</dt>
            <dd pn="section-4.1-2.1.2">
              <t indent="0" pn="section-4.1-2.1.2.1">One of the following conditions <bcp14>MUST</bcp14> hold true:
              </t>
              <ol anchor="step_b" spacing="normal" type="1" indent="adaptive" start="1" pn="section-4.1-2.1.2.2">
	      <li anchor="b.1" pn="section-4.1-2.1.2.2.1" derivedCounter="1.">The originator of the Flow Specification matches the
	      originator of the best-match unicast route for the destination
	      prefix embedded in the Flow Specification (this is the unicast
	      route with the longest possible prefix length covering the
	      destination prefix embedded in the Flow Specification).
			</li>
                <li anchor="b.2" pn="section-4.1-2.1.2.2.2" derivedCounter="2.">
                  <t indent="0" pn="section-4.1-2.1.2.2.2.1">The AS_PATH attribute of the Flow Specification is empty or
                contains only an AS_CONFED_SEQUENCE segment <xref target="RFC5065" format="default" sectionFormat="of" derivedContent="RFC5065"/>.
                  </t>
                  <ol spacing="normal" indent="adaptive" start="1" type="1" pn="section-4.1-2.1.2.2.2.2">
		  <li anchor="b.1.1" pn="section-4.1-2.1.2.2.2.2.1" derivedCounter="1.">This condition <bcp14>SHOULD</bcp14> be
		  enabled by default.
			 </li>
                    <li anchor="b.2.2" pn="section-4.1-2.1.2.2.2.2.2" derivedCounter="2.">This condition <bcp14>MAY</bcp14> be disabled by
                  explicit configuration on a BGP speaker.
			 </li>
                    <li anchor="b.2.3" pn="section-4.1-2.1.2.2.2.2.3" derivedCounter="3.">As an extension to this rule, a given non-empty AS_PATH
                  (besides AS_CONFED_SEQUENCE segments) <bcp14>MAY</bcp14> be
                  permitted by policy.
			</li>
                  </ol>
                </li>
              </ol>
            </dd>
          </dl>
        </blockquote>
        <t indent="0" pn="section-4.1-3">Explanation:
</t>
        <ul empty="true" spacing="normal" bare="false" indent="3" pn="section-4.1-4">
          <li pn="section-4.1-4.1">
Receiving either an empty AS_PATH or one
with only an AS_CONFED_SEQUENCE segment indicates that the Flow Specification was
originated inside the Local Domain.
</li>
          <li pn="section-4.1-4.2">
With the above modification to the <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> validation procedure, a BGP peer within the Local Domain
that is not within the data-forwarding path can originate a Flow Specification. 
</li>
          <li pn="section-4.1-4.3">
Disabling the new condition above (see <xref target="b.2.2" format="none" sectionFormat="of" derivedContent="">step
b.2.2</xref> in <xref target="REV_ROUTE" format="default" sectionFormat="of" derivedContent="Section 4.1"/>) could be a good practice if the
operator knew with certainty that a Flow Specification would not be originated
inside the Local Domain. An additional case would be if it was known for a
fact that only the right egress border routers (i.e., those that were also
egress border routers for the best routes) were originating Flow Specification
NLRI.
</li>
          <li pn="section-4.1-4.4">
Also, policy may be useful to permit a specific set of non-empty AS_PATHs (see
<xref target="b.2.3" format="none" sectionFormat="of" derivedContent="">step b.2.3</xref> in <xref target="REV_ROUTE" format="default" sectionFormat="of" derivedContent="Section 4.1"/>). For example, it could validate a Flow Specification
whose AS_PATH contained only an AS_SEQUENCE segment with ASes that were all
known to belong to the same administrative domain.
</li>
        </ul>
      </section>
      <section anchor="AS_PATH" numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-revision-of-as_path-validat">Revision of AS_PATH Validation</name>
        <t indent="0" pn="section-4.2-1">
<xref target="RFC8955" sectionFormat="of" section="6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8955#section-6" derivedContent="RFC8955"/>
states:
</t>
        <ul empty="true" spacing="normal" bare="false" indent="3" pn="section-4.2-2">
          <li pn="section-4.2-2.1">
            <blockquote pn="section-4.2-2.1.1">
BGP implementations <bcp14>MUST</bcp14> also enforce that the
AS_PATH attribute of a route received via the External Border Gateway Protocol (eBGP) 
contains the neighboring AS in the left-most position of the AS_PATH attribute. While this rule is optional in the BGP specification, it
   becomes necessary to enforce it here for security reasons.
</blockquote>
          </li>
        </ul>
        <t indent="0" pn="section-4.2-3">
This rule prevents the exchange of BGP Flow Specification NLRIs at Internet
exchanges with BGP route servers, which by design don't insert their own AS
number into the AS_PATH (<xref target="RFC7947" sectionFormat="of" section="2.2.2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7947#section-2.2.2.1" derivedContent="RFC7947"/>).  Therefore, this document also
redefines the <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> AS_PATH validation
procedure referenced above as follows:
</t>
        <ul empty="true" spacing="normal" bare="false" indent="3" pn="section-4.2-4">
          <li pn="section-4.2-4.1">
            <blockquote pn="section-4.2-4.1.1">
BGP Flow Specification implementations <bcp14>MUST</bcp14> enforce that the AS in the left-most position of the AS_PATH attribute of a Flow Specification route
received via the External Border Gateway Protocol (eBGP) matches the AS in the left-most position of the AS_PATH attribute of the best-match unicast route for the destination prefix 
embedded in the Flow Specification NLRI.
</blockquote>
          </li>
        </ul>
        <t indent="0" pn="section-4.2-5">
Explanation:
</t>
        <ul empty="true" spacing="normal" bare="false" indent="3" pn="section-4.2-6">
          <li pn="section-4.2-6.1">For clarity, the AS in the left-most position of the AS_PATH means the AS that was last added to an AS_SEQUENCE.
</li>
          <li pn="section-4.2-6.2">This proposed modification enables the exchange of 
BGP Flow Specification NLRIs at Internet exchanges with 
BGP route servers while at the same time, for security reasons, 
prevents an eBGP peer from advertising an inter-domain 
Flow Specification for a destination prefix that it does 
not provide reachability information for. 
</li>
          <li pn="section-4.2-6.3">
Comparing only the left-most AS in the AS-PATH for eBGP-learned Flow Specification NLRIs is 
roughly equivalent to checking the neighboring AS. 
If the peer is a route server, security is necessarily weakened for the Flow Specification NLRI, as it is for any unicast route advertised from a route server. An example is discussed in the <xref target="Security" format="none" sectionFormat="of" derivedContent="">Security Considerations</xref> section.
</li>
          <li pn="section-4.2-6.4">
Redefinition of this AS_PATH validation rule for a Flow Specification does not
mean that the original rule in <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/>
cannot be enforced as well.  Its enforcement remains optional per <xref target="RFC4271" sectionFormat="of" section="6.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4271#section-6.3" derivedContent="RFC4271"/>.  That
is, a BGP speaker can enforce the first AS in the AS_PATH to be the same as
the neighbor AS for a route belonging to any Address Family (including Flow
Specification Address Family).  If the BGP speaker peer is not a route server,
when enforcing this optional rule, the security characteristics are exactly
equivalent to those specified in <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/>.
</li>
          <li pn="section-4.2-6.5">
Alternatively, enforcing this optional rule for unicast routes (even if not enforced on Flow Specification NLRIs) achieves exactly the same security characteristics.
The reason is that, after all validations, the neighboring AS will be the same as the left-most AS in the AS-PATH for the unicast route, and the left-most AS in the AS_PATH for the unicast route 
will be the same as the left-most AS in the AS_PATH for the Flow Specification NLRI. Therefore, the neighboring AS will be the same as the left-most AS in the AS_PATH for the Flow Specification NLRI (as the original
AS_PATH validation rule in <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> states).
</li>
          <li pn="section-4.2-6.6">
Note, however, that not checking the full AS_PATH allows any rogue or
misconfigured AS the ability to originate undesired Flow Specifications. This
is a BGP security threat, already present in <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/>, but out of the scope of this document.
</li>
          <li pn="section-4.2-6.7">
Using the new rule to validate a Flow Specification route received from a peer belonging to the same Local Domain 
is out of the scope of this document. Note that although it's possible, its utility is dubious. 
Although it is conceivable that a router in the same Local Domain could send a rogue update, only eBGP risk is considered within this document
(in the same spirit as the aforementioned AS_PATH validation in <xref target="RFC4271" format="default" sectionFormat="of" derivedContent="RFC4271"/>).
</li>
        </ul>
      </section>
    </section>
    <section numbered="true" toc="include" anchor="topology" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-topology-considerations">Topology Considerations</name>
      <t indent="0" pn="section-5-1">
<xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> indicates that the originator may
refer to the originator path attribute (ORIGINATOR_ID) or (if the attribute is
not present) the transport address of the peer from which the BGP speaker
received the update.  If the latter applies, a network should be designed so
it has a congruent topology amongst unicast routes and Flow Specification
routes.  By congruent topology, it is understood that the two routes (i.e.,
the Flow Specification route and its best-match unicast route) are learned
from the same peer across the AS.  That would likely not be true, for
instance, if some peers only negotiated one Address Family or if each Address
Family peering had a different set of policies. Failing to have a congruent
topology would result in step (<xref format="none" target="b.1" sectionFormat="of" derivedContent="">b.1</xref>) of the
validation procedure to fail.
</t>
      <t indent="0" pn="section-5-2">
With the additional second condition (<xref target="b.2" format="none" sectionFormat="of" derivedContent="">b.2</xref>) in the validation procedure, non-congruent topologies are supported within the Local Domain if the Flow Specification
is originated within the Local Domain.
</t>
      <t indent="0" pn="section-5-3">
Explanation:
</t>
      <ul empty="true" bare="false" indent="3" spacing="normal" pn="section-5-4">
        <li pn="section-5-4.1">
          <t indent="0" pn="section-5-4.1.1">Consider the following scenarios of a non-congruent topology without the second condition (<xref target="b.2" format="none" sectionFormat="of" derivedContent="">b.2</xref>) being added to the validation procedure:</t>
          <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-5-4.1.2"><li pn="section-5-4.1.2.1" derivedCounter="1.">Consider a topology with two BGP
          speakers with two iBGP peering sessions between them, one for
          unicast and one for Flow Specification. This is a non-congruent
          topology. Let's assume that the ORIGINATOR_ID attribute was not
          received (e.g., a route reflector receiving routes from its
          clients). In this case, the Flow Specification validation procedure
          will fail because of the first condition (<xref target="b.1" format="none" sectionFormat="of" derivedContent="">b.1</xref>).
</li>
            <li pn="section-5-4.1.2.2" derivedCounter="2.">Consider a confederation of ASes with local AS X and local AS Y (both belonging to the same Local Domain), and a given BGP speaker X1 inside local AS X. 
The ORIGINATOR_ID attribute is not advertised when propagating routes across local ASes.
Let's assume the Flow Specification route is received from peer Y1 and the best-match unicast route
is received from peer Y2. Both peers belong to local AS Y.
The Flow Specification validation procedure will also fail because of the first condition (<xref target="b.1" format="none" sectionFormat="of" derivedContent="">b.1</xref>).
</li>
          </ol>
        </li>
        <li pn="section-5-4.2">
Consider now that the second condition (<xref target="b.2" format="none" sectionFormat="of" derivedContent="">b.2</xref>) is
added to the validation procedure. In the scenarios above, if Flow
Specifications are originated in the same Local Domain, the AS_PATH will be
empty or contain only an AS_CONFED_SEQUENCE segment.  Condition (<xref target="b.2" format="none" sectionFormat="of" derivedContent="">b.2</xref>) will evaluate to true. Therefore, using the second
condition (<xref target="b.2" format="none" sectionFormat="of" derivedContent="">b.2</xref>), as defined by this document,
guarantees that the overall validation procedure will pass.  Thus,
non-congruent topologies are supported if the Flow Specification is originated
in the same Local Domain.
</li>
        <li pn="section-5-4.3">
Flow Specifications originated in a different Local Domain sill need a
congruent topology. The reason is that in a non-congruent topology, the second
condition (<xref target="b.2" format="none" sectionFormat="of" derivedContent="">b.2</xref>) evaluates to false and
only the first condition (<xref target="b.1" format="none" sectionFormat="of" derivedContent="">b.1</xref>) is
evaluated.
</li>
      </ul>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-6-1">This document has no IANA actions.</t>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-7-1">
    This document updates the route feasibility validation procedures for Flow
    Specifications learned from iBGP peers and through route servers.  This
    change is in line with the procedures described in <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> and, thus, security characteristics remain essentially
    equivalent to the existing security properties of BGP unicast routing,
    except as detailed below.
      </t>
      <t indent="0" pn="section-7-2">
    The security considerations discussed in <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> apply to this
    specification as well.
      </t>
      <t indent="0" pn="section-7-3">
   This document makes the original AS_PATH validation rule (<xref target="RFC4271" sectionFormat="of" section="6.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4271#section-6.3" derivedContent="RFC4271"/>) again
   <bcp14>OPTIONAL</bcp14> (<xref target="AS_PATH" format="default" sectionFormat="of" derivedContent="Section 4.2"/>) for Flow Specification Address Family (the rule is no longer
   mandatory as had been specified by <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/>).  If that original rule is
   not enforced for Flow Specification, it may introduce some new security
   risks.  A speaker in AS X peering with a route server could advertise a
   rogue Flow Specification route whose first AS in AS_PATH was Y. Assume Y is
   the first AS in the AS_PATH of the best-match unicast route.  When the
   route server advertises the Flow Specification to a speaker in AS Z, it
   will be validated by that speaker.  This risk is impossible to prevent if
   the Flow Specification route is received from a route server peer.  If
   configuration (or other means beyond the scope of this document) indicates
   that the peer is not a route server, that optional rule
   <bcp14>SHOULD</bcp14> be enforced for unicast and/or for Flow
   Specification routes (as discussed in the <xref target="AS_PATH" format="none" sectionFormat="of" derivedContent="">Revision of AS_PATH Validation</xref> section, just
   enforcing it in one of those Address Families is enough).  If the indication
   is that the peer is not a route server or there is no conclusive
   indication, that optional rule <bcp14>SHOULD NOT</bcp14> be enforced.
      </t>
      <t indent="0" pn="section-7-4">
   A route server itself may be in a good position to enforce the AS_PATH validation rule described
   in the previous paragraph. If it is known that a route server is not peering with any other route server,
   it can enforce the AS_PATH validation rule across all its peers.
</t>
      <t indent="0" pn="section-7-5">
	BGP updates learned from iBGP peers are considered 
    trusted, so the Traffic Flow Specifications contained in BGP updates
    are also considered trusted.  Therefore, it is not required to
    validate that the originator of an intra-domain Traffic Flow
    Specification matches the originator of the best-match unicast route
	for the destination prefix embedded in that Flow Specification.  Note that this trustworthiness consideration is not
    absolute and the new possibility that an iBGP speaker could send a rogue Flow Specification is introduced.
      </t>
      <t indent="0" pn="section-7-6">
	 The changes in <xref target="REV_ROUTE" format="default" sectionFormat="of" derivedContent="Section 4.1"/> don't affect the validation
	 procedures for eBGP-learned routes.
      </t>
      <t indent="0" pn="section-7-7">
	It's worth mentioning that allowing (or making operationally feasible)
	Flow Specifications to originate within the Local Domain makes
	the network overall more secure. Flow Specifications can be originated
	more readily during attacks and improve the stability and security of
	the network.
      </t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-idr-deprecate-as-set-confed-set" to="CONFED-SET"/>
    <references pn="section-8">
      <name slugifiedName="name-references">References</name>
      <references pn="section-8.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="RFC4271" target="https://www.rfc-editor.org/info/rfc4271" quoteTitle="true" derivedAnchor="RFC4271">
          <front>
            <title>A Border Gateway Protocol 4 (BGP-4)</title>
            <author initials="Y." surname="Rekhter" fullname="Y. Rekhter" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Li" fullname="T. Li" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Hares" fullname="S. Hares" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="January"/>
            <abstract>
              <t indent="0">This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
              <t indent="0">The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems.  This network reachability information includes information on the list of Autonomous Systems (ASes) that reachability information traverses. This information is sufficient for constructing a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.</t>
              <t indent="0">BGP-4 provides a set of mechanisms for supporting Classless Inter-Domain Routing (CIDR).  These mechanisms include support for advertising a set of destinations as an IP prefix, and eliminating the concept of network "class" within BGP.  BGP-4 also introduces mechanisms that allow aggregation of routes, including aggregation of AS paths.</t>
              <t indent="0">This document obsoletes RFC 1771.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4271"/>
          <seriesInfo name="DOI" value="10.17487/RFC4271"/>
        </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="RFC5065" target="https://www.rfc-editor.org/info/rfc5065" quoteTitle="true" derivedAnchor="RFC5065">
          <front>
            <title>Autonomous System Confederations for BGP</title>
            <author initials="P." surname="Traina" fullname="P. Traina">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="McPherson" fullname="D. McPherson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Scudder" fullname="J. Scudder">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2007" month="August"/>
            <abstract>
              <t indent="0">The Border Gateway Protocol (BGP) is an inter-autonomous system routing protocol designed for Transmission Control Protocol/Internet Protocol (TCP/IP) networks.  BGP requires that all BGP speakers within a single autonomous system (AS) must be fully meshed.  This represents a serious scaling problem that has been well documented in a number of proposals.</t>
              <t indent="0">This document describes an extension to BGP that may be used to create a confederation of autonomous systems that is represented as a single autonomous system to BGP peers external to the confederation, thereby removing the "full mesh" requirement.  The intention of this extension is to aid in policy administration and reduce the management complexity of maintaining a large autonomous system.</t>
              <t indent="0">This document obsoletes RFC 3065.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5065"/>
          <seriesInfo name="DOI" value="10.17487/RFC5065"/>
        </reference>
        <reference anchor="RFC7947" target="https://www.rfc-editor.org/info/rfc7947" quoteTitle="true" derivedAnchor="RFC7947">
          <front>
            <title>Internet Exchange BGP Route Server</title>
            <author initials="E." surname="Jasinska" fullname="E. Jasinska">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Hilliard" fullname="N. Hilliard">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Raszuk" fullname="R. Raszuk">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Bakker" fullname="N. Bakker">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2016" month="September"/>
            <abstract>
              <t indent="0">This document outlines a specification for multilateral interconnections at Internet Exchange Points (IXPs).  Multilateral interconnection is a method of exchanging routing information among three or more External BGP (EBGP) speakers using a single intermediate broker system, referred to as a route server.  Route servers are typically used on shared access media networks, such as IXPs, to facilitate simplified interconnection among multiple Internet routers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7947"/>
          <seriesInfo name="DOI" value="10.17487/RFC7947"/>
        </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="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>
      </references>
      <references pn="section-8.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.ietf-idr-deprecate-as-set-confed-set" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-idr-deprecate-as-set-confed-set-05" derivedAnchor="CONFED-SET">
          <front>
            <title>Deprecation of AS_SET and AS_CONFED_SET in BGP</title>
            <author fullname="Warren Kumari">
              <organization showOnFrontPage="true">Google, Inc.</organization>
            </author>
            <author fullname="Kotikalapudi Sriram">
              <organization showOnFrontPage="true">USA NIST</organization>
            </author>
            <author fullname="Lilia Hannachi">
              <organization showOnFrontPage="true">USA NIST</organization>
            </author>
            <author fullname="Jeffrey Haas">
              <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
            </author>
            <date month="March" day="12" year="2021"/>
            <abstract>
              <t indent="0">   BCP 172 (i.e., RFC 6472) recommends not using AS_SET and
   AS_CONFED_SET in the Border Gateway Protocol.  This document advances
   this recommendation to a standards requirement in BGP; it proscribes
   the use of the AS_SET and AS_CONFED_SET types of path segments in the
   AS_PATH.  This is done to simplify the design and implementation of
   BGP and to make the semantics of the originator of a route clearer.
   This will also simplify the design, implementation, and deployment of
   various BGP security mechanisms.  This document (if approved) updates
   RFC 4271 and RFC 5065 by eliminating AS_SET and AS_CONFED_SET types,
   and obsoletes RFC 6472.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-deprecate-as-set-confed-set-05"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-idr-deprecate-as-set-confed-set-05.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC6472" target="https://www.rfc-editor.org/info/rfc6472" quoteTitle="true" derivedAnchor="RFC6472">
          <front>
            <title>Recommendation for Not Using AS_SET and AS_CONFED_SET in BGP</title>
            <author initials="W." surname="Kumari" fullname="W. Kumari">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Sriram" fullname="K. Sriram">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2011" month="December"/>
            <abstract>
              <t indent="0">This document recommends against the use of the AS_SET and AS_CONFED_SET types of the AS_PATH in BGPv4.  This is done to simplify the design and implementation of BGP and to make the semantics of the originator of a route more clear.  This will also simplify the design, implementation, and deployment of ongoing work in the Secure Inter-Domain Routing Working Group.  This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="172"/>
          <seriesInfo name="RFC" value="6472"/>
          <seriesInfo name="DOI" value="10.17487/RFC6472"/>
        </reference>
      </references>
    </references>
    <section anchor="Acknowledgements" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">The authors would like to thank <contact fullname="Han Nguyen"/> for
      his direction on this work as well as <contact fullname="Waqas Alam"/>,
      <contact fullname="Keyur Patel"/>, <contact fullname="Robert Raszuk"/>,
      <contact fullname="Eric Rosen"/>, <contact fullname="Shyam Sethuram"/>,
      <contact fullname="Susan Hares"/>, <contact fullname="Alvaro Retana"/>,
      and <contact fullname="John Scudder"/> for their review and comments.
      </t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="James Uttaro" initials="J" surname="Uttaro">
        <organization showOnFrontPage="true">AT&amp;T</organization>
        <address>
          <postal>
            <street>200 S. Laurel Ave</street>
            <city>Middletown</city>
            <region>NJ</region>
            <code>07748</code>
            <country>United States of America</country>
          </postal>
          <email>ju1738@att.com</email>
        </address>
      </author>
      <author fullname="Juan Alcaide" initials="J" surname="Alcaide">
        <organization showOnFrontPage="true">Cisco</organization>
        <address>
          <postal>
            <street>7100 Kit Creek Road</street>
            <extaddr>Research Triangle Park</extaddr>
            <city>Morrisville</city>
            <region>NC</region>
            <code>27709</code>
            <country>United States of America</country>
          </postal>
          <email>jalcaide@cisco.com</email>
        </address>
      </author>
      <author fullname="Clarence Filsfils" initials="C" surname="Filsfils">
        <organization showOnFrontPage="true">Cisco</organization>
        <address>
          <email>cf@cisco.com</email>
        </address>
      </author>
      <author fullname="David Smith" initials="D" surname="Smith">
        <organization showOnFrontPage="true">Cisco</organization>
        <address>
          <postal>
            <street>111 Wood Ave South</street>
            <city>Iselin</city>
            <region>NJ</region>
            <code>08830</code>
            <country>United States of America</country>
          </postal>
          <email>djsmith@cisco.com</email>
        </address>
      </author>
      <author fullname="Pradosh Mohapatra" initials="P" surname="Mohapatra">
        <organization showOnFrontPage="true">Sproute Networks</organization>
        <address>
          <email>mpradosh@yahoo.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
