<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.3.3 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC8402 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml">
<!ENTITY RFC8754 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8754.xml">
<!ENTITY I-D.ietf-spring-srv6-network-programming SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-spring-srv6-network-programming.xml">
<!ENTITY RFC6437 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6437.xml">
<!ENTITY RFC6438 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6438.xml">
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-filsfils-spring-srv6-stateless-slice-id-02" category="std">

  <front>
    <title abbrev="SRv6 Stateless Slice Identification">Stateless and Scalable Network Slice Identification for SRv6</title>

    <author initials="C." surname="Filsfils" fullname="Clarence Filsfils" role="editor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <country>Belgium</country>
        </postal>
        <email>cf@cisco.com</email>
      </address>
    </author>
    <author initials="F." surname="Clad" fullname="Francois Clad" role="editor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <country>France</country>
        </postal>
        <email>fclad@cisco.com</email>
      </address>
    </author>
    <author initials="P." surname="Camarillo" fullname="Pablo Camarillo">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <country>Spain</country>
        </postal>
        <email>pcamaril@cisco.com</email>
      </address>
    </author>
    <author initials="K." surname="Raza" fullname="Kamran Raza">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <country>Canada</country>
        </postal>
        <email>skraza@cisco.com</email>
      </address>
    </author>

    <date year="2021" month="January" day="13"/>

    <area>General</area>
    <workgroup>SPRING</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document defines a stateless and scalable solution to achieve network slicing with SRv6.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>SRv6 Network Programming<xref target="I-D.ietf-spring-srv6-network-programming"/> enables the creation of overlays with underlay optimization to be deployed in an SR domain<xref target="RFC8402"/>.</t>

<t>As defined in <xref target="RFC8754"/>, all inter-domain packets are encapsulated for the part of the packet journey that is within the SR domain. The outer IPv6 header is originated by a node of the SR domain and is destined to a node of the SR domain.</t>

<t>This document describes a stateless encoding of slice identification in the outer IPv6 header of an SR domain. The slice identification is independent of topology and the QoS/DiffServ policy of the network, thus enabling scalable network slicing for SRv6 overlays.</t>

</section>
<section anchor="sec-slid" title="Slice Identifier">

<t>Each network slice in an SR domain is uniquely identified by an 8-bit Slice Identifier (SLID).</t>

</section>
<section anchor="sec-ingress" title="Ingress PE SLID Assignment">

<t>When an ingress PE receives a packet that traverses the SR domain, it encapsulates the packet in an outer IPv6 header and optional SRH as defined in <xref target="RFC8754"/>. The ingress PE MAY also classify the packet into a slice and set the slice identifier as follows:</t>

<t><list style="symbols">
  <t>Set the SPI bit (SLID Presence Indicator) in the Traffic Class field of the outer IPv6 header.</t>
  <t>Write this SLID in the 8 most significant bits of the Flow Label field of the outer IPv6 header. The remaining 12 bits of the Flow Label field were set as described in section 5.5 of <xref target="RFC8754"/> for inter-domain packets.</t>
</list></t>

<t>The slice classification method is outside the scope of this document.</t>

<t>The choice of the SPI bit from within the IPv6 Traffic Class field is a domain-wide configuration and is outside the scope of this document.</t>

</section>
<section anchor="sec-forwarding" title="Per-Slice Forwarding">

<t>Any router within the SR domain that forwards a packet with SPI bit set uses the SLID to select a slice and apply per-slice policies.</t>

<t>There are many different policies that could define a slice for a particular application or service. The most basic of these is bandwidth-allocation, an implementation complying with this specification SHOULD support the bandwidth-allocation slice as defined in the next section.</t>

</section>
<section anchor="sec-bandwidth" title="Bandwidth-Allocation Slice">

<t>A per-slice policy is configured at each interface of each router in the SR domain, with one traffic shaper per SLID. The bitrate of each shaper is configured to reflect the bandwidth allocation of the per-slice policy.</t>

<t>If shapers are not available, or desirable, an implementation MAY configure one scheduling queue per SLID with a guaranteed bandwidth equal to the bandwidth-allocation for the slice. This option allows a slice to consume more bandwidth than its allocation when available.</t>

<t>Per-slice shapers or queues effectively provides a virtual port per slice. This solution MAY be complemented with a per-virtual-port hierarchical DiffServ policy. Within the context of one specific slice, packets are further classified into children DiffServ queues which hang from the virtual port. The DSCP value in the IPv6 header SHOULD be used for queue selection.</t>

</section>
<section anchor="sec-backward-compatibility" title="Backward Compatibility">

<t>The Flow Label usage described in this document is consistent with <xref target="RFC6437"/> and <xref target="RFC6438"/>.</t>

<t>PE routers that do not set the SPI bit do not enable the SLID semantic of the Flow Label bits. Hence, SLID-aware routers would not attempt to classify these packets into a slice.</t>

<t>Any router that does not process the SPI nor the SLID forwards packets as usual.</t>

</section>
<section anchor="acknowledgements" title="Acknowledgements">

<t>The authors would like to thank Darren Dukes, Ketan Talaulikar, Jisu Bhattacharya, John Bettink, and Aman Manot for their insightful feedback on this document.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>

&RFC8402;
&RFC8754;
&I-D.ietf-spring-srv6-network-programming;


    </references>

    <references title='Informative References'>

&RFC6437;
&RFC6438;


    </references>



  </back>

<!-- ##markdown-source:
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
nNi/ATTvlQ5dEgAA

-->

</rfc>

