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


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC8402 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml">
<!ENTITY RFC8754 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8754.xml">
<!ENTITY RFC8986 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8986.xml">
<!ENTITY RFC6437 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6437.xml">
<!ENTITY RFC6438 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6438.xml">
<!ENTITY I-D.ietf-teas-ietf-network-slices SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-teas-ietf-network-slices.xml">
<!ENTITY I-D.bestbar-teas-ns-packet SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.bestbar-teas-ns-packet.xml">
]>


<rfc ipr="trust200902" docName="draft-filsfils-spring-srv6-stateless-slice-id-10" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="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>
          <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>
          <country>France</country>
        </postal>
        <email>fclad.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="P." surname="Camarillo" fullname="Pablo Camarillo">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <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>
          <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>
          <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>
          <country>Canada</country>
        </postal>
        <email>rrokui@ciena.com</email>
      </address>
    </author>

    <date year="2024" month="July" day="22"/>

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

    <abstract>


<?line 67?>

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



    </abstract>



  </front>

  <middle>


<?line 71?>

<section anchor="introduction"><name>Introduction</name>

<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"><name>Slice Identifier</name>

<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"><name>SLID Presence Indicator</name>

<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"><name>Ingress PE SLID Assignment</name>

<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"><name>Per-Slice Forwarding</name>

<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"><name>Bandwidth-Allocation Slice</name>

<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"><name>Backward Compatibility</name>

<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"><name>Acknowledgements</name>

<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' anchor="sec-normative-references">

&RFC8402;
&RFC8754;
&RFC8986;


    </references>

    <references title='Informative References' anchor="sec-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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

-->

</rfc>

