<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- A set of on-line citation libraries are maintained on the xml2rfc web site.
     The next line defines an entity named RFC2629, which contains the necessary XML
     for the reference element, and is used much later in the file.  This XML contains an
     anchor (also RFC2629) which can be used to cross-reference this item in the text.
     You can also use local file names instead of a URI.  The environment variable
     XML_LIBRARY provides a search path of directories to look at to locate a
     relative path name for the file. There has to be one entity for each item to be
     referenced. -->
<!ENTITY RFC2234 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2234.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC4234 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4234.xml">
<!ENTITY RFC8955 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8955.xml">
<!-- There is also a library of current Internet Draft citations.  It isn't a good idea to
     actually use one for the template because it might have disappeared when you come to test
     this template.  This is the form of the entity definition
     &lt;!ENTITY I-D.mrose-writing-rfcs SYSTEM
     "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.mrose-writing-rfcs.xml">
     corresponding to a draft filename draft-mrose-writing-rfcs-nn.txt. The citation will be
     to the most recent draft in the sequence, and is updated roughly hourly on the web site.
     For working group drafts, the same principle applies: file name starts draft-ietf-wgname-..
     and entity file is reference.I-D.ietf-wgname-...  The corresponding entity name is
     I-D.ietf-wgname-... (I-D.mrose-writing-rfcs for the other example).  Of course this doesn't
     change when the draft version changes.
     -->
<!-- Fudge for XMLmind which doesn't have this built in -->
<!ENTITY nbsp "&#160;">
]>
<!-- Extra statement used by XSLT processors to control the output style. -->
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- Processing Instructions can be placed here but if you are editing
     with XMLmind (and maybe other XML editors) they are better placed
     after the rfc element start tag as shown below. -->
<!-- Information about the document.
     category values: std, bcp, info, exp, and historic
     For Internet-Drafts, specify attribute "ipr".
     (ipr values are: full3667, noModification3667, noDerivatives3667),
     Also for Internet-Drafts, can specify values for
     attributes "docName" and, if relevant, "iprExtract".  Note
     that the value for iprExtract is the anchor attribute
     value of a section (such as a MIB specification) that can be
     extracted for separate publication, and is only
     useful whenhe value of "ipr" is not "full3667". -->
<!-- TODO: verify which attributes are specified only
               by the RFC editor.  It appears that attributes
               "number", "obsoletes", "updates", and "seriesNo"
               are specified by the RFC editor (and not by
               the document author). -->
<rfc category="std" docName="draft-ietf0-idr-srv6-flowspec-path-redirect-15"
     ipr="trust200902">
  <!-- Processing Instructions- PIs (for a complete list and description,
          see file http://xml.resource.org/authoring/README.html and below... -->

  <!-- Some of the more generally applicable PIs that most I-Ds might want to use -->

  <!-- Try to enforce the ID-nits conventions and DTD validity -->

  <?rfc strict="yes" ?>

  <!-- Items used when reviewing the document -->

  <?rfc comments="no" ?>

  <!-- Controls display of <cref> elements -->

  <?rfc inline="no" ?>

  <!-- When no, put comments at end in comments section,
                                 otherwise, put inline -->

  <?rfc editing="no" ?>

  <!-- When yes, insert editing marks: editing marks consist of a
                                 string such as <29> printed in the blank line at the
                                 beginning of each paragraph of text. -->

  <!-- Create Table of Contents (ToC) and set some options for it.
         Note the ToC may be omitted for very short documents,but idnits insists on a ToC
         if the document has more than 15 pages. -->

  <?rfc toc="yes"?>

  <?rfc tocompact="yes"?>

  <!-- If "yes" eliminates blank lines before main section entries. -->

  <?rfc tocdepth="3"?>

  <!-- Sets the number of levels of sections/subsections... in ToC -->

  <!-- Choose the options for the references.
         Some like symbolic tags in the references (and citations) and others prefer
         numbers. The RFC Editor always uses symbolic tags.
         The tags used are the anchor attributes of the references. -->

  <?rfc symrefs="no"?>

  <?rfc sortrefs="yes" ?>

  <!-- If "yes", causes the references to be sorted in order of tags.
                                 This doesn't have any effect unless symrefs is "yes" also. -->

  <!-- These two save paper: Just setting compact to "yes" makes savings by not starting each
         main section on a new page but does not omit the blank lines between list items.
         If subcompact is also "yes" the blank lines between list items are also omitted. -->

  <?rfc compact="yes" ?>

  <?rfc subcompact="no" ?>

  <!-- end of list of popular I-D processing instructions -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the
         full title is longer than 42 characters -->

    <title abbrev="Indirection-id Redirect for SRv6">Flowspec Indirection-id
    Redirect for SRv6</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

    <author fullname="Gunter Van de Velde" initials="G."
            surname="Van de Velde">
      <!-- abbrev not needed but can be used for the header
             if the full organization name is too long -->

      <organization abbrev="Nokia">Nokia</organization>

      <address>
        <postal>
          <!-- I've omitted my street address here -->

          <street/>

          <city>Antwerp</city>

          <country>BE</country>
        </postal>

        <email>gunter.van_de_velde@nokia.com</email>
      </address>
    </author>

    <!-- Another author who claims to be an editor -->

    <author fullname="Keyur Patel" initials="K." surname="Patel">
      <organization>Arrcus</organization>

      <address>
        <postal>
          <street/>

          <!-- Reorder these if your country does things differently -->

          <city/>

          <region/>

          <code/>

          <country>USA</country>
        </postal>

        <phone/>

        <email>keyur@arrcus.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <author fullname="Zhenbin Li" initials="Z." surname="Li">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>Huawei Bld., No. 156 Beiquing Rd</street>

          <!-- Reorder these if your country does things differently -->

          <city>Beijing</city>

          <region/>

          <code>100095</code>

          <country>China</country>
        </postal>

        <phone/>

        <email>robinli314@163.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <author fullname="Shunwan Zhuang" initials="S." surname="Zhuang">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>Huawei Bld., No. 156 Beiquing Rd</street>

          <!-- Reorder these if your country does things differently -->

          <city>Beijing</city>

          <region/>

          <code>100095</code>

          <country>China</country>
        </postal>

        <phone/>

        <email>zhuangshunwan@huawei.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <author fullname="Huaimo Chen" initials="H" surname="Chen">
      <organization>Futurewei</organization>

      <address>
        <postal>
          <street/>

          <city>Boston, MA</city>

          <region/>

          <code/>

          <country>USA</country>
        </postal>

        <email>Huaimo.chen@futurewei.com</email>
      </address>
    </author>

    <date month="March" year="2026"/>

    <!-- month="March" is no longer necessary
                                           note also, day="30" is optional -->

    <!-- WARNING: If the month and year are the current ones, xml2rfc will fill in the day for
         you. If only the year is specified, xml2rfc will fill in the current day and month
         irrespective of the day.  This silliness should be fixed in v1.31. -->

    <!-- Meta-data Declarations -->

    <!-- Notice the use of &amp; as an escape for & which would otherwise
         start an entity declaration, whereas we want a literal &. -->

    <area>Routing</area>

    <!-- WG name at the upperleft corner of the doc,
         IETF fine for individual submissions.  You can also
         omit this element in which case in defaults to "Network Working Group" -
         a hangover from the ancient history of the IETF! -->

    <workgroup>IDR Working Group</workgroup>

    <!-- The DTD allows multiple area and workgroup elements but only the first one has any
         effect on output.  -->

    <!-- You can add <keyword/> elements here.  They will be incorporated into HTML output
         files in a meta tag but they have no effect on text or nroff output. -->

    <abstract>
      <t>This document defines extensions to "FlowSpec Redirect to
      indirection-id Extended Community" for SRv6. This extended community can
      trigger advanced redirection capabilities to flowspec clients for SRv6.
      When activated, this flowspec extended community is used by a flowspec
      client to retrieve the corresponding next-hop and encoding information
      within a localised indirection-id mapping table.</t>

      <t>The functionality detailed in this document allows a network
      controller to decouple the BGP flowspec redirection instruction from the
      operation of the available paths.</t>
    </abstract>

    <note title="Requirements Language">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in <xref
      target="RFC2119">RFC 2119</xref>.</t>

      <t/>
    </note>
  </front>

  <middle>
    <section title="Introduction">
      <t>"FlowSpec Redirect to indirection-id Extended Community" for IPv4 is
      defined in <xref target="I-D.ietf-idr-flowspec-path-redirect">
      ietf-idr-flowspec-path-redirect</xref>. This draft specifies extensions
      to this community for SRv6.</t>
    </section>

    <section title="Redirect to indirection-id Community">
      <t>This document defines a new sub-type value for SRv6 in "FlowSpec
      Redirect to indirection-id Extended Community". The format of this
      extended community with the new sub-type value is show below:</t>

      <t><figure>
          <artwork><![CDATA[
 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          |Sub-Type (TBD) | Flags(1 octet)|    ID-Type    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            Generalized indirection_id (16 octets)             |
~                                                               ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        ]]></artwork>
        </figure></t>

      <t>Where</t>

      <t>Type: 1 octet, defined in <xref
      target="I-D.ietf-idr-flowspec-path-redirect">
      ietf-idr-flowspec-path-redirect</xref>.</t>

      <t>Sub-Type: 1 octet, its value (TBD) will be assigned by IANA.</t>

      <t>Flags: Same as that defined in <xref
      target="I-D.ietf-idr-flowspec-path-redirect">
      ietf-idr-flowspec-path-redirect</xref>.</t>

      <t>ID-Type: 1 octet value. This draft defines following Context Types:
      <list style="ID-Types">
          <t>0 - Localised ID (The flowspec client uses the received
          indirection-id to lookup forwarding information within the localised
          indirection-id table. The allocation and programming of the
          localised indirection-id table is outside scope of the document)</t>

          <t>1 - Node ID with SID/index in MPLS-based Segment Routing (This
          means the indirection-id is mapped to an MPLS label using the index
          as a global offset in the SID/label space)</t>

          <t>2 - Node ID with SID/label in MPLS-based Segment Routing (This
          means the indirection-id is mapped to an MPLS label using the
          indirection-id as global label)</t>

          <t>3 - Binding Segment ID with SID/index in MPLS-based Segment
          Routing (This means the indirection-id is mapped to an MPLS binding
          label using the indirection-id as index for global offset in the
          SID/label space).</t>

          <t>4 - Binding Segment ID with SID/label in MPLS-based Segment
          Routing (This means indirection-id is mapped to an MPLS binding
          label using the indirection-id as global label).</t>

          <t>5 - Tunnel ID (Tunnel ID is within a single administrative domain
          a globally unique tunnel identifier. The allocation and programming
          of the Tunnel ID within the localised indirection-id table is
          outside scope of the document)</t>

          <t>6 - Node ID with SID/index in SRv6 (This means the indirection-id
          is mapped to an SRv6 SID using the indirection-id as global SRv6 SID
          or index)</t>

          <t>7 - Binding Segment ID with SID/index in SRv6 (This means the
          indirection-id is mapped to an SRv6 binding SID using the
          indirection-id as index for global offset in the SID space).</t>

          <t>8 - Binding Segment ID with SID/index in SRv6 (This means
          indirection-id is mapped to an SRv6 binding SID using the
          indirection-id as global SRv6 SID).</t>
        </list></t>

      <t>Generalized indirection_id: 128-bit identifier used as
      indirection_id</t>
    </section>

    <section title="Security Considerations">
      <t>A system using "Redirect to indirection-id" extended community can
      cause during the redirect mitigation of a DDoS attack overflow of
      traffic received by the mitigation infrastructure.</t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>This document received valuable comments and input from IDR working
      group including Adam Simpson, Mustapha Aissaoui, Jan Mertens, Robert
      Raszuk, Jeff Haas, Susan Hares and Lucy Yong.</t>
    </section>

    <section title="Contributor Addresses">
      <t>Below is a list of other contributing authors in alphabetical
      order:</t>

      <t><figure>
          <artwork align="left"><![CDATA[
Arjun Sreekantiah
Cisco Systems
170 W. Tasman Drive
San Jose, CA  95134
USA

Email: asreekan@cisco.com

Nan Wu
Huawei Technologies
Huawei Bld., No. 156 Beiquing Rd
Beijing  100095
China

Email: eric.wu@huawei.com

Shunwan Zhuang
Huawei Technologies
Huawei Bld., No. 156 Beiquing Rd
Beijing  100095
China

Email: zhuangshunwan@huawei.com]]></artwork>
        </figure></t>

      <t><figure>
          <artwork align="left"><![CDATA[
Wim Henderickx
Nokia
Antwerp
BE

Email: wim.henderickx@nokia.com]]></artwork>
        </figure></t>
    </section>

    <!-- Possibly a 'Contributors' section ... -->

    <section anchor="IANA" title="IANA Considerations">
      <t>This document requests a new sub-type value under "FlowSpec Redirect
      to indirection-id Extended Community Sub-Type" registery.</t>

      <t><figure>
          <artwork align="left"><![CDATA[
	  
 Value   Code                                            Reference
 0x01    Flowspec Redirect to 128-bit Path-id for SRv6   [RFC-To-Be]
      
        ]]></artwork>
        </figure></t>
    </section>
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <!-- References split to informative and normative -->

    <references title="Normative References">
      <?rfc include='reference.I-D.ietf-idr-flowspec-path-redirect'?>

      <!-- A *really* full, totally OTT reference - Note, the "target" attribute of the
	     "reference": if you want a URI printed in the reference, this is where it goes. -->

      <reference anchor="RFC2119"
                 target="http://xml.resource.org/public/rfc/html/rfc2119.html">
        <front>
          <title abbrev="RFC Key Words">Key words for use in RFCs to Indicate
          Requirement Levels</title>

          <author fullname="Scott Bradner" initials="S." surname="Bradner">
            <organization>Harvard University</organization>

            <address>
              <postal>
                <street>1350 Mass. Ave.</street>

                <street>Cambridge</street>

                <street>MA 02138</street>
              </postal>

              <phone>- +1 617 495 3864</phone>

              <email>sob@harvard.edu</email>
            </address>
          </author>

          <date month="March" year="1997"/>

          <area>General</area>

          <keyword>keyword</keyword>

          <abstract>
            <t>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. Authors who follow these
            guidelines should incorporate this phrase near the beginning of
            their document: <list>
                <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
                "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
                "OPTIONAL" in this document are to be interpreted as described
                in RFC 2119.</t>
              </list></t>

            <t>Note that the force of these words is modified by the
            requirement level of the document in which they are used.</t>
          </abstract>
        </front>

        <seriesInfo name="BCP" value="14"/>

        <seriesInfo name="RFC" value="2119"/>

        <format octets="4723" target="ftp://ftp.isi.edu/in-notes/rfc2119.txt"
                type="TXT"/>

        <format octets="14486"
                target="http://xml.resource.org/public/rfc/html/rfc2119.html"
                type="HTML"/>

        <format octets="5661"
                target="http://xml.resource.org/public/rfc/xml/rfc2119.xml"
                type="XML"/>
      </reference>

      <!-- Right back at the beginning we defined an entity which (we asserted) would contain
             XML needed for a reference... this is where we use it. -->
    </references>

    <references title="Informative References">
      <!-- A reference written by by an organization not a persoN. -->

      <reference anchor="VALIDATE">
        <front>
          <title>Revised Validation Procedure for BGP Flow
          Specifications</title>

          <author initials="J." surname="Uttaro"/>

          <author initials="C." surname="Filsfils"/>

          <author initials="J." surname="Alcaide"/>

          <author initials="P." surname="Mohapatra"/>

          <date month="January" year="2014"/>
        </front>
      </reference>

      <reference anchor="EPE">
        <front>
          <title>Segment Routing Centralized Egress Peer Engineering</title>

          <author initials="C." surname="Filsfils"/>

          <author initials="S." surname="Previdi"/>

          <author initials="E." surname="Aries"/>

          <author initials="D." surname="Ginsburg"/>

          <author initials="D." surname="Afanasiev"/>

          <date month="October" year="2015"/>
        </front>
      </reference>

      <reference anchor="SR-TE">
        <front>
          <title>Segment Routing Traffic Engineering Policy using BGP</title>

          <author initials="A." surname="Sreekantiah"/>

          <author initials="C." surname="Filsfils"/>

          <author initials="S." surname="Previdi"/>

          <author initials="S." surname="Sivabalan"/>

          <author initials="P." surname="Mattes"/>

          <author initials="S." surname="Lin"/>

          <date month="October" year="2015"/>
        </front>
      </reference>

      <reference anchor="SR">
        <front>
          <title>Segment Routing Architecture</title>

          <author initials="C." surname="Filsfils"/>

          <author initials="S." surname="Previdi"/>

          <author initials="B." surname="Decraene"/>

          <author initials="S." surname="Litkowski"/>

          <author initials="R." surname="Shakir"/>

          <author initials="A." surname="Bashandy"/>

          <author initials="M." surname="Horneffer"/>

          <author initials="W." surname="Henderickx"/>

          <author initials="J." surname="Tantsura"/>

          <author initials="E." surname="Crabbe"/>

          <author initials="I." surname="Milojevic"/>

          <author initials="S." surname="Ytti"/>

          <date month="December" year="2015"/>
        </front>
      </reference>

      <reference anchor="SR-PCE">
        <front>
          <title>PCEP Extensions for Segment Routing</title>

          <author initials="S." surname="Sivabalan"/>

          <author initials="M." surname="Medved"/>

          <author initials="C." surname="Filsfils"/>

          <author initials="S." surname="Litkowski"/>

          <author initials="R." surname="Raszuk"/>

          <author initials="A." surname="Bashandy"/>

          <author initials="V." surname="Lopez"/>

          <author initials="J." surname="Tantsura"/>

          <author initials="W." surname="Henderickx"/>

          <author initials="J." surname="Hardwick"/>

          <author initials="I." surname="Milojevic"/>

          <author initials="S." surname="Ytti"/>

          <date month="December" year="2015"/>
        </front>
      </reference>
    </references>
  </back>
</rfc>
