<?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.5.11 -->

<!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 RFC8986 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8986.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">
<!ENTITY I-D.ietf-teas-ietf-network-slices SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-teas-ietf-network-slices.xml">
<!ENTITY I-D.bestbar-teas-ns-packet SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.bestbar-teas-ns-packet.xml">
]>

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

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

  <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>
    <author initials="D." surname="Voyer" fullname="Daniel Voyer">
      <organization>Bell Canada</organization>
      <address>
        <postal>
          <street></street>
          <country>Canada</country>
        </postal>
        <email>daniel.voyer@bell.ca</email>
      </address>
    </author>
    <author initials="R." surname="Rokui" fullname="Reza Rokui">
      <organization>Ciena</organization>
      <address>
        <postal>
          <street></street>
          <country>Canada</country>
        </postal>
        <email>rrokui@ciena.com</email>
      </address>
    </author>

    <date year="2022" month="January" day="30"/>

    <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="RFC8986"/> 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>

<t>The definition of network slicing in the context of networks built from IETF technologies is specified in <xref target="I-D.ietf-teas-ietf-network-slices"/>.  It defines the term “IETF Network Slice” and establishes the general principles of network slicing in the IETF context. It also discusses the general framework for requesting and operating IETF Network Slices, the characteristics of an IETF Network Slice, the necessary system components and interfaces, and how abstract requests can be mapped to more specific technologies. The document also discusses related considerations with monitoring and security.</t>

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

<t>The Slice Identifier (SLID) is a value encoded within the IPv6 packet that allows transit routers to process the packet according to network slice-based policy. An example of slice-based policy that can be enforced using the SLID is described in <xref target="sec-bandwidth"/>.</t>

<t>The SLID may identify a unique IETF network slice or a group of slices that share the same policy. For example, a SLID may identify a slice aggregate <xref target="I-D.bestbar-teas-ns-packet"/>.</t>

<t>This document proposes to encode the SLID in a portion of the IPv6 Flow Label.</t>

<t>The precise SLID location within the IPv6 Flow Label and the number of bits used to encode it are governed by local policy and uniform within the SR domain.</t>

</section>
<section anchor="sec-spi" title="SLID Presence Indicator">

<t>The SLID Presence Indicator (SPI) is set by a SLID-capable IPv6 source node to inform transit routers that a SLID is encoded in the packet.</t>

<t>The SPI is encoded as a specific bit or range of values in the Traffic Class field of the IPv6 header.</t>

<t>The encoding of the SPI in the IPv6 header is governed by local policy and uniform within the SR domain.</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 in the outer IPv6 header.</t>
  <t>Write the SLID in the outer IPv6 header.</t>
</list></t>

<t>The slice classification method 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 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, Aman Manot, and David Melman for their insightful feedback on this document.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>

&RFC8402;
&RFC8754;
&RFC8986;


    </references>

    <references title='Informative References'>

&RFC6437;
&RFC6438;
&I-D.ietf-teas-ietf-network-slices;
&I-D.bestbar-teas-ns-packet;


    </references>



  </back>

<!-- ##markdown-source:
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
xKrDvReCQjwRzp737n8Bu3azh8cXAAA=

-->

</rfc>

